From patchwork Fri Aug 28 23:07:43 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adrian Alonso X-Patchwork-Id: 512087 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id EE73B1401CD for ; Sat, 29 Aug 2015 09:09:27 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 6A0984B70D; Sat, 29 Aug 2015 01:09:26 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8VPoUM1ykLLr; Sat, 29 Aug 2015 01:09:26 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id E36034B6FC; Sat, 29 Aug 2015 01:09:25 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id DD0324B6FC for ; Sat, 29 Aug 2015 01:09:22 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rs9-ARhFj6GW for ; Sat, 29 Aug 2015 01:09:22 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from na01-by2-obe.outbound.protection.outlook.com (mail-by2on0141.outbound.protection.outlook.com [207.46.100.141]) by theia.denx.de (Postfix) with ESMTPS id 0A44B4B622 for ; Sat, 29 Aug 2015 01:09:18 +0200 (CEST) Received: from CO2PR03CA0033.namprd03.prod.outlook.com (10.141.194.160) by BY1PR0301MB1221.namprd03.prod.outlook.com (10.161.203.17) with Microsoft SMTP Server (TLS) id 15.1.243.23; Fri, 28 Aug 2015 23:09:15 +0000 Received: from BN1BFFO11FD037.protection.gbl (2a01:111:f400:7c10::1:128) by CO2PR03CA0033.outlook.office365.com (2a01:111:e400:1414::32) with Microsoft SMTP Server (TLS) id 15.1.262.13 via Frontend Transport; Fri, 28 Aug 2015 23:09:14 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; Received-SPF: Fail (protection.outlook.com: domain of freescale.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD037.mail.protection.outlook.com (10.58.144.100) with Microsoft SMTP Server (TLS) id 15.1.256.10 via Frontend Transport; Fri, 28 Aug 2015 23:09:13 +0000 Received: from bluefly.am.freescale.net (bluefly.am.freescale.net [10.81.17.130]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id t7SN9Drc015911; Fri, 28 Aug 2015 16:09:13 -0700 From: Adrian Alonso To: , Date: Fri, 28 Aug 2015 18:07:43 -0500 Message-ID: <1440803263-11771-1-git-send-email-aalonso@freescale.com> X-Mailer: git-send-email 2.1.4 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD037; 1:JAgM0jhD83lWYYVCleCIOrMhA1MCzsGc5tn69jIdy/byin8dVdTErOld+i8lw5ZXIfIXg3BNlu4f6MVVRGg6Ftw6jtionPmEOQnsbC2ILU3v8zzRlEhC3gMCyHwE9B42Hqt/UJB86pjnCKp4KXtJQx4837XdzwzAPhWhOP0NtJQ9whG5GrqPaENhDpYCyhgu903G1TvUzcZgihvwmsyVoXihU5gNkwVFM9eIUcIitZgXpEV/QvktmbJfN3j51frBhJjPoEJodEgSymm9TmfJKnX0txUDcqON9dDT6kED+zsuluZc4wKJuiNQd/VQh+LVeVkvKjcavMWqgDvBpPU5IOfqzhLEolBiNTGwJUdnGGpdpxAfdThSfhQKbWmzD3QGona+DMr8Gjqq5S9ZhG2G9Q== X-Forefront-Antispam-Report: CIP:192.88.168.50; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(3050300001)(339900001)(189002)(199003)(92566002)(50466002)(62966003)(77096005)(85426001)(48376002)(64706001)(5001770100001)(86362001)(77156002)(68736005)(5007970100001)(87936001)(47776003)(4001540100001)(104016003)(19580405001)(97736004)(36756003)(5001830100001)(5001960100002)(81156007)(50226001)(5003940100001)(46102003)(189998001)(5001860100001)(229853001)(107886002)(50986999)(6806004)(33646002)(106466001)(105606002)(19580395003)(4001430100001); DIR:OUT; SFP:1102; SCL:1; SRVR:BY1PR0301MB1221; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1221; 2:BCU57szx0oScjCp/qqfpnEp5x5+yawWWRfDqkVm77Ah4mw3vKN26CwxrqghEy+V6RV1bmWy7bm0mL9eXKs/cECY6EzghhXAxAPk5/lbwcATSJBr8qTGnh8QV5pLobFUHVb4w4n00gZwthNuqgz7M/tV4bbUUBkBfQfXz6G9HPjM=; 3:7ZqKuMMD7RTRnW7EfDaElCKkXGqlycwwFXvOYosw6lPEJPzTVD7lhWbed9e4Wheea22elwJ+txEkH4NZFuLT1LdkCyQmT3n2AV5m2dDdumSvK7hgqZn5xR3E9BS2LQYMM1ARtxqsC+9Z2CoBay7C/xsVka9bCK7ZDwDp0cxZjTXs2+Jj4/TqVRVQPJDtVhbNXxVc/w4oS5yg3+pReF7/VGdCeIocAiO5zE0o5QJirQg=; 25:teStqVgHt6w8/pTU9huMVRBx5ApCzYOlkGBnIzaSdNRPlbXHQHxXGRlSZpwTow0p+VHqo2HaHmDaHDS8F60iBZGwsQ29mnYlQvrLGp4YfcAOTtA5dsSxmERVcKsTkhRRUBlrXDUsvQNUvNXbgNTixF75EINQIVZom8u1XAyiTWWY3ChTORbaug27nz3ajPSmKhkd3bkf3Pybj8IwtYNz6wDZ4e9eG2G2WZOewPl+Pur8JNVCNFnsG7BtmfD9Ckak/ucZbtoz09WvcyWsN/LrxA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0301MB1221; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1221; 20:CmkrzpjQ9PboON2sNNU2MF+38W/orcb2S+WwdA+4bulC5SVNly8p/7W0RIIK1ctbk2H5X8kjRHdoY4YdhtLZ1x37nTx4qUdU+qoyMHuZ3WYYmEewNpy4OnbKaJXkZ3bZR8gUi8YmeLz4RrZRFHrmYBv8vKImcX4/w0qaTHnr/0S0Zs1mBAFO1AdbWH391owuq+jxLMek9qVLnhKhPT1qFceD0RnvMaB92qrNFWNcklrZt+Q6MGA4EovEMbAMRubE14HqfRrL3OjKqP904usjYF/B94GJEhZhO/s/5hR4dQOgr9NTA03P43KeVS0LoySFZH88JhFTAuMH7kxOkdjDa1GH+MJcLsPVq+8JA2K839U=; 4:Y4ZKJnfuZngllF2IhvhnPyH4JFDHZi1ypHw47f5EABhPLAkpe3E6aHZIL8w1jfD0B+p3yajCSaN1Y418EYEWGXPkSJMH+jLU9hV2OlgE0MR0k9TSsWPRt9DWhB7Zyz+nN3WfYLHjPr/HrJv09CaKzQr7OF2cp5kVguaeaPmKtm/NR1nFzDqP+CULvwsF6fWxgBlrwIF39Ao5FgOCriV+++GgpHGXhKA1uulnVNRxMiTWAzenpAzzhDqQRIlwTT7CU3jygvUS36Vj8a5LNk6eUPt6Vo4fbGCcGPQ1uQZcSv4Gx8gClzzQEEE2Po7bu+ZB X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(8121501046)(5005006)(3002001); SRVR:BY1PR0301MB1221; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0301MB1221; X-Forefront-PRVS: 0682FC00E8 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0301MB1221; 23:4EQo+Mf+S1Kdx8SYsW8PDVESjb3f8waBS8qwe8l?= =?us-ascii?Q?7Ksp9853uUBH6TqKjNCFwbxUMEzoGf+cfJrS9W8vEN06JS/fkQuQvd/2QR2y?= =?us-ascii?Q?mmcyEex3wN5l/WKmCbNEVAHRgWdVw9GfaCma4h/ZkceS4Mf1xQH8rnaf+B8D?= =?us-ascii?Q?bDF65x5W7Wzm9Z5FVjLz5td8BPQPG18uE9rurXRLFW3B5HQqtsLzQN/Oc+dg?= =?us-ascii?Q?vq2xHKNwEiKmY0r1mMUsLoIvVcEGwZQdpJLr6bSrEQt76lkye/Y+tfDCPWz/?= =?us-ascii?Q?5lITuAKtiGvE+9oRBO3FV+LfveEoQGH8RqRloPF393Rf8mcuzrylcJCF9xjf?= =?us-ascii?Q?O3E4GbW5egpIgYDNYZbYTD9SJ9UJ+vxpQd917IcXpOGcDvO5nUPITPEV4Fgj?= =?us-ascii?Q?l69/n/PgXJ22Azhs7fRZhPbyTIG4UekWfDjzxHu0yRQnjRnK8cK9OmXhHlNQ?= =?us-ascii?Q?89KUHyjjCA/GuB4C00dlAOHdcfE8mWkpLDHKev9AMEp2D0IjRB4xv9ySwnOd?= =?us-ascii?Q?+YwoLQHBJIy2XaW+PGaXOvi8alH6qd3D9oEchTfUUXjMAVoYXyZwMgsZGrm0?= =?us-ascii?Q?4v6gknoqboi2WRudvj1PyN4xiBCj5O86csl4e1KXHBVX3Mw4kqrrmQvAGhtp?= =?us-ascii?Q?L+JMmka2e9AMbWT5su212rkbzpL2KjPfXh7WbQQFznuwSS+pQFxlBV/ZMX4L?= =?us-ascii?Q?/S+6zDbyK2ZL2BmXxSCo6sfoL5bcJuSz1Llao7KhuXf9zgDd5oIZmvrbQKNI?= =?us-ascii?Q?ZWDtHpDm6EJZLSJbDvB6LjXGygZLjI9eylZZkMK3pUgMqWAv/p8hf+GASLTG?= =?us-ascii?Q?7mY2noi0pYz2JVUy9IudhG+o7VZN5g4i/uBcp3myQdIJLIh0DbTBTXHm+lI0?= =?us-ascii?Q?hydKa6bQCPIXDJLlFuKICRWNqFBtirSYeL0UMa9AIrxonzoiU4Fv5YPB1Qsa?= =?us-ascii?Q?wh31K54JcdYuAn1Nn1zI41jFWqLyJakMTZSpjMYKnHkEyDfd+gIrA9QPZewW?= =?us-ascii?Q?bHeKR1iI5oILEC54yQOLWU++rM48MKE9Agn2N59zWAfFFx5DI16WmjZUclN4?= =?us-ascii?Q?/gAf7otdPSd0E2MshPyEfCLGHaCeUsOgzgA1b9hNbW+swKJXGZWqhIpPe9IQ?= =?us-ascii?Q?cAMdSLOXgHQP55B7xdcG+r5lcx3WtDH/lZzYWCeCSS5XOudA+R/RCMQ=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1221; 5:OyVL6m3QeYrHoLQAQ7/wAUycSyHLNTW+QEaSwIZByjkgFVLKghMzSYJTjPtXnI6U52P1agW3Kv21IdstHONlqpoiDh1xj+IABNg2mXv73tFnaU8wMDv3TpT39aJUTpQqMm4xKdcBgSgX8fnSSIjKdA==; 24:x/PU/Tlz3yIJMJYYX6QYWwvMPDLpZZnYKLFCApW52f5/DzREmDnkPuNnAucnn+WKGs64kvQmMIiT9GZC8mCdDVSd45XZSI4Ap/zbgK0agho=; 20:Yc0SIh+ufl5EX19LLyyWqa458ibtBLkof792CnitPKUza2u1FL96yr6F7Hu7VnDgJtwrWC3AmhX8gN+HfaAuZQ== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Aug 2015 23:09:13.7377 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0301MB1221 Cc: Fabio.Estevam@freescale.com, otavio@ossystems.com.br Subject: [U-Boot] [PATCH][v6] imx: imx7d: add imx-common cpu support for imx7d X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Add imx-common cpu support for imx7d SoC - Update reset_cause for imx7d - Enable watchdog driver built for imx7d Signed-off-by: Adrian Alonso Signed-off-by: Peng Fan Signed-off-by: Ye.Li --- Changes for V2: Split patch to easier review process - Add system arch register definitions Changes for V3: Resend Changes for V4: Resend Changes for V5: Resend Changes for V6: - Rework imx-common Makefile mx7 build options - Remove mx6 CONFIG_GPT_TIMER as is the default option arch/arm/Makefile | 4 ++-- arch/arm/cpu/armv7/Makefile | 3 ++- arch/arm/cpu/armv7/mx7/Makefile | 8 ++++++++ arch/arm/imx-common/Makefile | 10 ++++++++-- arch/arm/imx-common/cpu.c | 17 +++++++++++++++++ drivers/watchdog/Makefile | 2 +- 6 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 arch/arm/cpu/armv7/mx7/Makefile diff --git a/arch/arm/Makefile b/arch/arm/Makefile index e84d6d3..b8bc77a 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -79,11 +79,11 @@ libs-y += arch/arm/cpu/ libs-y += arch/arm/lib/ ifeq ($(CONFIG_SPL_BUILD),y) -ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35)) +ifneq (,$(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_MX35)$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx31 mx35)) libs-y += arch/arm/imx-common/ endif else -ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35 mxs vf610)) +ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx7 mx31 mx35 mxs vf610)) libs-y += arch/arm/imx-common/ endif endif diff --git a/arch/arm/cpu/armv7/Makefile b/arch/arm/cpu/armv7/Makefile index 6769d8f..79a38df 100644 --- a/arch/arm/cpu/armv7/Makefile +++ b/arch/arm/cpu/armv7/Makefile @@ -12,7 +12,7 @@ obj-y += cache_v7.o obj-y += cpu.o cp15.o obj-y += syslib.o -ifneq ($(CONFIG_AM43XX)$(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA)$(CONFIG_MX6)$(CONFIG_TI81XX)$(CONFIG_AT91FAMILY)$(CONFIG_SUNXI)$(CONFIG_ARCH_SOCFPGA),) +ifneq ($(CONFIG_AM43XX)$(CONFIG_AM33XX)$(CONFIG_OMAP44XX)$(CONFIG_OMAP54XX)$(CONFIG_TEGRA)$(CONFIG_MX6)$(CONFIG_MX7)$(CONFIG_TI81XX)$(CONFIG_AT91FAMILY)$(CONFIG_SUNXI)$(CONFIG_ARCH_SOCFPGA),) ifneq ($(CONFIG_SKIP_LOWLEVEL_INIT),y) obj-y += lowlevel_init.o endif @@ -44,6 +44,7 @@ obj-$(if $(filter bcmnsp,$(SOC)),y) += bcmnsp/ obj-$(if $(filter ls102xa,$(SOC)),y) += ls102xa/ obj-$(if $(filter mx5,$(SOC)),y) += mx5/ obj-$(CONFIG_MX6) += mx6/ +obj-$(CONFIG_MX7) += mx7/ obj-$(CONFIG_OMAP34XX) += omap3/ obj-$(CONFIG_OMAP44XX) += omap4/ obj-$(CONFIG_OMAP54XX) += omap5/ diff --git a/arch/arm/cpu/armv7/mx7/Makefile b/arch/arm/cpu/armv7/mx7/Makefile new file mode 100644 index 0000000..e6ecef0 --- /dev/null +++ b/arch/arm/cpu/armv7/mx7/Makefile @@ -0,0 +1,8 @@ +# +# (C) Copyright 2015 Freescale Semiconductor, Inc. +# +# SPDX-License-Identifier: GPL-2.0+ +# +# + +obj-y := soc.o clock.o clock_slice.o diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile index d77a236..2a3b8c1 100644 --- a/arch/arm/imx-common/Makefile +++ b/arch/arm/imx-common/Makefile @@ -7,7 +7,7 @@ # SPDX-License-Identifier: GPL-2.0+ # -ifeq ($(SOC),$(filter $(SOC),mx25 mx35 mx5 mx6 vf610)) +ifeq ($(SOC),$(filter $(SOC),mx25 mx35 mx5 mx6 mx7 vf610)) obj-y = iomux-v3.o endif ifeq ($(SOC),$(filter $(SOC),mx5 mx6)) @@ -18,7 +18,13 @@ ifeq ($(SOC),$(filter $(SOC),mx6 mxs)) obj-y += misc.o obj-$(CONFIG_SPL_BUILD) += spl.o endif -ifeq ($(SOC),$(filter $(SOC),mx6)) +ifeq ($(SOC),$(filter $(SOC),mx7)) +obj-y += cpu.o +obj-$(CONFIG_SYS_I2C_MXC) += i2c-mxv7.o +obj-$(CONFIG_GPT_TIMER) += timer.o +obj-$(CONFIG_SYSCOUNTER_TIMER) += syscounter.o +endif +ifeq ($(SOC),$(filter $(SOC),mx6 mx7)) obj-y += cache.o init.o obj-$(CONFIG_CMD_SATA) += sata.o obj-$(CONFIG_IMX_VIDEO_SKIP) += video.o diff --git a/arch/arm/imx-common/cpu.c b/arch/arm/imx-common/cpu.c index a5efbd5..1f9a50d 100644 --- a/arch/arm/imx-common/cpu.c +++ b/arch/arm/imx-common/cpu.c @@ -46,13 +46,26 @@ static char *get_reset_cause(void) case 0x00008: return "IPP USER"; case 0x00010: +#ifdef CONFIG_MX7 + return "WDOG1"; +#else return "WDOG"; +#endif case 0x00020: return "JTAG HIGH-Z"; case 0x00040: return "JTAG SW"; +#ifdef CONFIG_MX7 + case 0x00080: + return "WDOG3"; + case 0x00100: + return "WDOG4"; + case 0x00200: + return "TEMPSENSE"; +#else case 0x10000: return "WARM BOOT"; +#endif default: return "unknown reset"; } @@ -122,6 +135,8 @@ unsigned imx_ddr_size(void) const char *get_imx_type(u32 imxtype) { switch (imxtype) { + case MXC_CPU_MX7D: + return "7D"; /* Dual-core version of the mx7 */ case MXC_CPU_MX6QP: return "6QP"; /* Quad-Plus version of the mx6 */ case MXC_CPU_MX6DP: @@ -237,6 +252,7 @@ int cpu_mmc_init(bd_t *bis) } #endif +#ifndef CONFIG_MX7 u32 get_ahb_clk(void) { struct mxc_ccm_reg *imx_ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR; @@ -248,6 +264,7 @@ u32 get_ahb_clk(void) return get_periph_clk() / (ahb_podf + 1); } +#endif void arch_preboot_os(void) { diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile index 482a4bd..9e9cb55 100644 --- a/drivers/watchdog/Makefile +++ b/drivers/watchdog/Makefile @@ -7,7 +7,7 @@ obj-$(CONFIG_AT91SAM9_WATCHDOG) += at91sam9_wdt.o obj-$(CONFIG_FTWDT010_WATCHDOG) += ftwdt010_wdt.o -ifneq (,$(filter $(SOC), mx31 mx35 mx5 mx6 vf610 ls102xa)) +ifneq (,$(filter $(SOC), mx31 mx35 mx5 mx6 mx7 vf610 ls102xa)) obj-y += imx_watchdog.o endif obj-$(CONFIG_S5P) += s5p_wdt.o