From patchwork Thu Apr 17 11:56:16 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Taras Kondratiuk X-Patchwork-Id: 28559 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-pa0-f71.google.com (mail-pa0-f71.google.com [209.85.220.71]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 1526720674 for ; Thu, 17 Apr 2014 11:57:31 +0000 (UTC) Received: by mail-pa0-f71.google.com with SMTP id kq14sf1144446pab.6 for ; Thu, 17 Apr 2014 04:57:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:from:to:date:message-id:in-reply-to :references:cc:subject:precedence:list-id:list-unsubscribe :list-archive:list-post:list-help:list-subscribe:mime-version :errors-to:sender:x-original-sender :x-original-authentication-results:mailing-list:content-type :content-transfer-encoding; bh=WZ7uHmRst0xHQGIXeip4gS/FvohxtFuRWfFdgUV8Q70=; b=AWzALCncXl8UO0ktUXPRH1OzwOSY+TIujujnumo+xyNAgtrzV6STAlQosXTEWVHlKm iJ6pP5DgpMT4DgBWWrcGVZDUqvcFFCj+HrDpdbrttlPnQfhwlYSnIwAZP5L6LFtJMeOV 4Vlye2PkVtTxiv5CuVhMYW3wDiPlrujfRHBDFyT706b/qV+L7vHiyk0g56H/eav0e5kW x6LVr1Q8z0nOcFEnAFBDCpIY8M8sdRe/Q4eHchqv8pkGoGF8J1yW9OwJ+/0z+VrGMnGn rN3t/+y+dKvjkoqE1lGKm8veR6yKLVmlXrY7UVhJQB4OGEpxYNFBAqrphk+xK3oLRCpO bKow== X-Gm-Message-State: ALoCoQkg0LDevDKZCek9KFbZqOxGVnP2XvKyM/CS8G8ZuKEvpXXBgw0SonGOyzhoFe/6KXpi7xBq X-Received: by 10.68.253.66 with SMTP id zy2mr7011629pbc.1.1397735851241; Thu, 17 Apr 2014 04:57:31 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.140.108.197 with SMTP id j63ls1047351qgf.89.gmail; Thu, 17 Apr 2014 04:57:31 -0700 (PDT) X-Received: by 10.52.138.112 with SMTP id qp16mr181989vdb.40.1397735851103; Thu, 17 Apr 2014 04:57:31 -0700 (PDT) Received: from mail-vc0-f179.google.com (mail-vc0-f179.google.com [209.85.220.179]) by mx.google.com with ESMTPS id rl1si4411057vcb.74.2014.04.17.04.57.31 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 17 Apr 2014 04:57:31 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.220.179 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=209.85.220.179; Received: by mail-vc0-f179.google.com with SMTP id ij19so352057vcb.38 for ; Thu, 17 Apr 2014 04:57:31 -0700 (PDT) X-Received: by 10.58.96.36 with SMTP id dp4mr7435933veb.21.1397735851018; Thu, 17 Apr 2014 04:57:31 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.220.221.72 with SMTP id ib8csp29012vcb; Thu, 17 Apr 2014 04:57:30 -0700 (PDT) X-Received: by 10.224.89.73 with SMTP id d9mr11808396qam.43.1397735850527; Thu, 17 Apr 2014 04:57:30 -0700 (PDT) Received: from ip-10-141-164-156.ec2.internal (lists.linaro.org. [54.225.227.206]) by mx.google.com with ESMTPS id r70si10527728qga.42.2014.04.17.04.57.29 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Thu, 17 Apr 2014 04:57:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of lng-odp-bounces@lists.linaro.org designates 54.225.227.206 as permitted sender) client-ip=54.225.227.206; Received: from localhost ([127.0.0.1] helo=ip-10-141-164-156.ec2.internal) by ip-10-141-164-156.ec2.internal with esmtp (Exim 4.76) (envelope-from ) id 1WakwP-00066t-H2; Thu, 17 Apr 2014 11:57:17 +0000 Received: from mail-ee0-f42.google.com ([74.125.83.42]) by ip-10-141-164-156.ec2.internal with esmtp (Exim 4.76) (envelope-from ) id 1Wakvk-00064S-BG for lng-odp@lists.linaro.org; Thu, 17 Apr 2014 11:56:36 +0000 Received: by mail-ee0-f42.google.com with SMTP id d17so578305eek.15 for ; Thu, 17 Apr 2014 04:56:42 -0700 (PDT) X-Received: by 10.15.54.6 with SMTP id s6mr13544799eew.4.1397735802545; Thu, 17 Apr 2014 04:56:42 -0700 (PDT) Received: from uglx0153363.synapse.com ([195.238.92.128]) by mx.google.com with ESMTPSA id z48sm66742553eel.27.2014.04.17.04.56.41 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 17 Apr 2014 04:56:41 -0700 (PDT) From: Taras Kondratiuk To: lng-odp@lists.linaro.org Date: Thu, 17 Apr 2014 14:56:16 +0300 Message-Id: <1397735782-31924-6-git-send-email-taras.kondratiuk@linaro.org> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1397735782-31924-1-git-send-email-taras.kondratiuk@linaro.org> References: <1397735782-31924-1-git-send-email-taras.kondratiuk@linaro.org> Cc: Filip Moerman Subject: [lng-odp] [PATCH v2 05/11] Keystone2: Add platform config headers X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: , List-Help: , List-Subscribe: , MIME-Version: 1.0 Errors-To: lng-odp-bounces@lists.linaro.org Sender: lng-odp-bounces@lists.linaro.org X-Removed-Original-Auth: Dkim didn't pass. X-Original-Sender: taras.kondratiuk@linaro.org X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.220.179 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org X-Google-Group-Id: 836684582541 Add configuration headers for C6638. Signed-off-by: Taras Kondratiuk --- .../include/configs/odp_config_platform.h | 57 ++++++++++++ .../include/configs/odp_config_platform_c6638.h | 95 ++++++++++++++++++++ 2 files changed, 152 insertions(+) create mode 100644 platform/linux-keystone2/include/configs/odp_config_platform.h create mode 100644 platform/linux-keystone2/include/configs/odp_config_platform_c6638.h diff --git a/platform/linux-keystone2/include/configs/odp_config_platform.h b/platform/linux-keystone2/include/configs/odp_config_platform.h new file mode 100644 index 0000000..bcad278 --- /dev/null +++ b/platform/linux-keystone2/include/configs/odp_config_platform.h @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2012, Texas Instruments Incorporated - http://www.ti.com/ + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Texas Instruments Incorporated nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +#ifndef ODP_CONFIG_PLATFORM_H_ +#define ODP_CONFIG_PLATFORM_H_ + +/* #include */ +#if defined(TI_EM_C6678) +#include +#elif defined(TI_EM_C6614) +#include +#elif defined(TI_EM_C6638) +#include +#else +#error "platform not defined or unsupported!" +#endif + +#define TI_ODP_PUBLIC_DESC_SIZE (64u) +#define TI_ODP_PUBLIC_DESC_NUM (4096u) +#define TI_ODP_REGION_NUM (2) /* local regions are not used on Linux */ + +#define MY_EM_DEVICE_ID (0) +#define MY_EM_PROCESS_ID (0) + +/* + * Queue, pool and event definitions + */ +#define MY_EM_PROC_QUEUE_NUM (32) +#define MY_EM_PROC_QUEUE_TYPE (EM_QUEUE_TYPE_PARALLEL) +#define MY_EM_PROC_EVENT_TYPE (TI_EM_EVENT_TYPE_PRELOAD_OFF) + +#endif /* ODP_CONFIG_PLATFORM_H_ */ diff --git a/platform/linux-keystone2/include/configs/odp_config_platform_c6638.h b/platform/linux-keystone2/include/configs/odp_config_platform_c6638.h new file mode 100644 index 0000000..1b05ebf --- /dev/null +++ b/platform/linux-keystone2/include/configs/odp_config_platform_c6638.h @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2012, Texas Instruments Incorporated - http://www.ti.com/ + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Texas Instruments Incorporated nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +/* + * This is the typical configuration for TCI6638 (KeyStone 2, Linux ARM A15) + * + * Descriptors and PDSP communications memory must reside in contiguous and coherent DDR + * (using CMA). + * + * On KeyStone2 QMSS regions do not need to be ordered. + */ +#ifndef ODP_CONFIG_PLATFORM_C6638_H_ +#define ODP_CONFIG_PLATFORM_C6638_H_ + +/* Cores are here "EM cores" that are not necessarily tied to real "CPU cores" */ +#define MY_EM_CORE_NUM (4) /* number of cores used by OpenEM */ +#define MY_EM_INIT_CORE_IDX (0) /* core on which the init will be started */ + +/* Index of the QMSS PDSP that will be used by OpenEM, Linux use QMSS PDSP0 for accumulator */ +#define MY_EM_SCHED_PDSP_IDX (2) + +/* Define if we are polling or waiting on event interrupts when dispatching events */ +#define MY_EM_DISPATCH_MODE (TI_EM_RH_POLL_MODE) + +/* + * Coherent contiguous memory used for PDSP <-> CPU communication + * We use one page per slot and CORE_NUM + 2 slots + */ +#ifdef TI_EM_USE_MSM +#define MY_EM_PDSP_COMM_MEM_BASE (0x0c000000) /* MSM */ +#else +#define MY_EM_PDSP_COMM_MEM_BASE (0x0) /* use DDR from CMA (contiguous & coherent)*/ +#endif +#define MY_EM_PDSP_COMM_MEM_VBASE (0x0) /* dynamic mapping */ +#define MY_EM_PDSP_COMM_MEM_SIZE (0x00010000) /* allowing 16 slots */ +#define MY_EM_PDSP_COMM_MEM_OFFSET (0x0) /* no offset */ + +/* + * Base physical address for event descriptors. + * In the future in will be managed by Linux or platform resource manager. + */ +#ifdef TI_EM_USE_MSM +#define TI_ODP_PUBLIC_DESC_BASE (0x0c100000) /* MSM */ +#define TI_ODP_PUBLIC_DESC_VBASE (0x0) /* dynamic mapping */ +#define TI_ODP_PUBLIC_DESC_OFFSET (0x0) /* no offset, QMSS/PDSP mapping equal to CPU mapping */ +#else /* TI_EM_USE_MSM */ +#define TI_ODP_PUBLIC_DESC_BASE (0x0) /* use DDR from CMA (contiguous & coherent)*/ +#define TI_ODP_PUBLIC_DESC_VBASE (0x0) /* dynamic mapping */ +#define TI_ODP_PUBLIC_DESC_OFFSET (0x0) /* no offset, QMSS/PDSP mapping equal to CPU mapping */ +#endif /* TI_EM_USE_MSM */ + +#define TI_ODP_PUBLIC_REGION_IDX (1) /* Linux uses 12 & 13 on ARM, set in DTS */ +#define TI_ODP_PRIVATE_REGION_IDX (2) +#define TI_ODP_PUBLIC_START_DESC_IDX (0) /* start index for desc (Linux starts at 0x4000, set in DTS) */ +#define TI_ODP_PRIVATE_START_DESC_IDX (-1) /* Automatically computed */ + +#define TI_ODP_PRIVATE_DESC_BASE (TI_EM_PDSPSH_DRAM) /* use PDSP data RAM */ +#define TI_ODP_PRIVATE_DESC_OFFSET (TI_EM_PDSP_DRAM_OFFSET) /* offset between CPU and QMSS/PDSP mapping */ +#define TI_ODP_PRIVATE_DESC_VBASE (0x0) /* dynamic mapping */ + +/* + * For the time being, free queues that can be used from user application are + * harcoded here. In the future it will be provided by platform resource manager. + */ +#define TI_ODP_PUBLIC_QUEUE_BASE_IDX (QMSS_GENERAL_PURPOSE_USER_QUEUE_BASE) +#define TI_ODP_FREE_QUEUE_BASE_IDX (TI_ODP_PUBLIC_QUEUE_BASE_IDX + ODP_CONFIG_QUEUES) +#define MY_EM_PRIVATE_FREE_QUEUE_IDX (TI_ODP_FREE_QUEUE_BASE_IDX + ODP_CONFIG_BUFFER_POOLS) +#define MY_EM_SCHED_QUEUE_IDX (MY_EM_PRIVATE_FREE_QUEUE_IDX + 2) + +#endif /* ODP_CONFIG_PLATFORM_C6638_H_ */