From patchwork Fri Mar 13 13:31:55 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Estevam X-Patchwork-Id: 6005081 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 5C4B89F318 for ; Fri, 13 Mar 2015 13:38:23 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 37D6E20218 for ; Fri, 13 Mar 2015 13:38:22 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 306A62020F for ; Fri, 13 Mar 2015 13:38:20 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1YWPkb-0006bs-BB; Fri, 13 Mar 2015 13:35:41 +0000 Received: from mail-qg0-x22f.google.com ([2607:f8b0:400d:c04::22f]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1YWPiS-0003xT-0b for linux-arm-kernel@lists.infradead.org; Fri, 13 Mar 2015 13:33:31 +0000 Received: by qgdz107 with SMTP id z107so25777966qgd.3 for ; Fri, 13 Mar 2015 06:33:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=eJy5/Ql5hrv/TAVcWJCIoogcVzFuE0tvVAljIdwPlN8=; b=dj8/OtSo9uz/DaZ7ll70ubZG5FasN+HIieoT60ndNKu4qfMRIqzNylbzqjCupF4/W+ 9ZyrQ4ZGqzs2RtwIiF/3oL41Lx1UXPHQl/qsaj5hg93mPPqDVRU63c7MxrGXBTPmfwDN 5ujy0lohGOJ6lA7oo0/tq6KQ3YSThIa2kGQcKWRoDaz2g8/bRY/Qt0wE8Kkc7ZqxeP7c Si7+uSBky99s9tBzvWDjCqCbLwtxWWxktv2NRdidtbRuV7k2edsToLaE95u3AUZL4zU/ LW5GXsUlWcMGA4QSqFZ5HeUjm8098h7i2FbCejBH8gSGTy6US8luwiBuq8QYq85OI4jn Xwjw== X-Received: by 10.55.16.166 with SMTP id 38mr24559610qkq.52.1426253583964; Fri, 13 Mar 2015 06:33:03 -0700 (PDT) Received: from localhost.localdomain ([177.194.98.53]) by mx.google.com with ESMTPSA id b52sm1385270qgb.16.2015.03.13.06.33.01 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 13 Mar 2015 06:33:02 -0700 (PDT) From: Fabio Estevam To: shawn.guo@linaro.org Subject: [PATCH v3 3/6] ARM: mx25: Remove static memory mapping Date: Fri, 13 Mar 2015 10:31:55 -0300 Message-Id: <1426253518-3076-3-git-send-email-festevam@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1426253518-3076-1-git-send-email-festevam@gmail.com> References: <1426253518-3076-1-git-send-email-festevam@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20150313_063328_293980_0C7BDDC5 X-CRM114-Status: GOOD ( 15.18 ) X-Spam-Score: -0.8 (/) Cc: Fabio Estevam , linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Fabio Estevam We use dynamic memory mapping when using dt, so remove all the static mappings. Signed-off-by: Fabio Estevam --- Changes since v2: - Remove the static mappings in one single patch arch/arm/mach-imx/Makefile | 2 +- arch/arm/mach-imx/common.h | 4 -- arch/arm/mach-imx/mach-imx25.c | 20 +++++++++- arch/arm/mach-imx/mm-imx25.c | 89 ------------------------------------------ 4 files changed, 19 insertions(+), 96 deletions(-) delete mode 100644 arch/arm/mach-imx/mm-imx25.c diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index 86c6470..3244cf1 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@ -3,7 +3,7 @@ obj-y := time.o cpu.o system.o irq-common.o obj-$(CONFIG_SOC_IMX1) += clk-imx1.o mm-imx1.o obj-$(CONFIG_SOC_IMX21) += clk-imx21.o mm-imx21.o -obj-$(CONFIG_SOC_IMX25) += clk-imx25.o mm-imx25.o cpu-imx25.o mach-imx25.o +obj-$(CONFIG_SOC_IMX25) += clk-imx25.o cpu-imx25.o mach-imx25.o obj-$(CONFIG_SOC_IMX27) += cpu-imx27.o pm-imx27.o obj-$(CONFIG_SOC_IMX27) += clk-imx27.o mm-imx27.o ehci-imx27.o diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h index a12b52d..771ecfe 100644 --- a/arch/arm/mach-imx/common.h +++ b/arch/arm/mach-imx/common.h @@ -23,13 +23,11 @@ struct of_device_id; void mx1_map_io(void); void mx21_map_io(void); -void mx25_map_io(void); void mx27_map_io(void); void mx31_map_io(void); void mx35_map_io(void); void imx1_init_early(void); void imx21_init_early(void); -void imx25_init_early(void); void imx27_init_early(void); void imx31_init_early(void); void imx35_init_early(void); @@ -37,13 +35,11 @@ void mxc_init_irq(void __iomem *); void tzic_init_irq(void); void mx1_init_irq(void); void mx21_init_irq(void); -void mx25_init_irq(void); void mx27_init_irq(void); void mx31_init_irq(void); void mx35_init_irq(void); void imx1_soc_init(void); void imx21_soc_init(void); -void imx25_soc_init(void); void imx27_soc_init(void); void imx31_soc_init(void); void imx35_soc_init(void); diff --git a/arch/arm/mach-imx/mach-imx25.c b/arch/arm/mach-imx/mach-imx25.c index 25defbd..91b36ec 100644 --- a/arch/arm/mach-imx/mach-imx25.c +++ b/arch/arm/mach-imx/mach-imx25.c @@ -10,12 +10,29 @@ */ #include +#include #include #include #include #include #include "common.h" -#include "mx25.h" +#include "hardware.h" + +void static __init imx25_init_early(void) +{ + mxc_set_cpu_type(MXC_CPU_MX25); +} + +void static __init mx25_init_irq(void) +{ + struct device_node *np; + void __iomem *avic_base; + + np = of_find_compatible_node(NULL, NULL, "fsl,avic"); + avic_base = of_iomap(np, 0); + BUG_ON(!avic_base); + mxc_init_irq(avic_base); +} static const char * const imx25_dt_board_compat[] __initconst = { "fsl,imx25", @@ -23,7 +40,6 @@ static const char * const imx25_dt_board_compat[] __initconst = { }; DT_MACHINE_START(IMX25_DT, "Freescale i.MX25 (Device Tree Support)") - .map_io = mx25_map_io, .init_early = imx25_init_early, .init_irq = mx25_init_irq, .dt_compat = imx25_dt_board_compat, diff --git a/arch/arm/mach-imx/mm-imx25.c b/arch/arm/mach-imx/mm-imx25.c deleted file mode 100644 index 5211f62..0000000 --- a/arch/arm/mach-imx/mm-imx25.c +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (C) 1999,2000 Arm Limited - * Copyright (C) 2000 Deep Blue Solutions Ltd - * Copyright (C) 2002 Shane Nay (shane@minirl.com) - * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * - add MX31 specific definitions - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include -#include -#include -#include - -#include -#include - -#include "common.h" -#include "devices/devices-common.h" -#include "hardware.h" -#include "iomux-v3.h" -#include "mx25.h" - -/* - * This table defines static virtual address mappings for I/O regions. - * These are the mappings common across all MX25 boards. - */ -static struct map_desc mx25_io_desc[] __initdata = { - imx_map_entry(MX25, AVIC, MT_DEVICE_NONSHARED), - imx_map_entry(MX25, AIPS1, MT_DEVICE_NONSHARED), - imx_map_entry(MX25, AIPS2, MT_DEVICE_NONSHARED), -}; - -/* - * This function initializes the memory map. It is called during the - * system startup to create static physical to virtual memory mappings - * for the IO modules. - */ -void __init mx25_map_io(void) -{ - iotable_init(mx25_io_desc, ARRAY_SIZE(mx25_io_desc)); -} - -void __init imx25_init_early(void) -{ - mxc_set_cpu_type(MXC_CPU_MX25); - mxc_iomux_v3_init(MX25_IO_ADDRESS(MX25_IOMUXC_BASE_ADDR)); -} - -void __init mx25_init_irq(void) -{ - mxc_init_irq(MX25_IO_ADDRESS(MX25_AVIC_BASE_ADDR)); -} - -static struct sdma_platform_data imx25_sdma_pdata __initdata = { - .fw_name = "sdma-imx25.bin", -}; - -static const struct resource imx25_audmux_res[] __initconst = { - DEFINE_RES_MEM(MX25_AUDMUX_BASE_ADDR, SZ_16K), -}; - -void __init imx25_soc_init(void) -{ - mxc_arch_reset_init(MX25_IO_ADDRESS(MX25_WDOG_BASE_ADDR)); - mxc_device_init(); - - /* i.mx25 has the i.mx35 type gpio */ - mxc_register_gpio("imx35-gpio", 0, MX25_GPIO1_BASE_ADDR, SZ_16K, MX25_INT_GPIO1, 0); - mxc_register_gpio("imx35-gpio", 1, MX25_GPIO2_BASE_ADDR, SZ_16K, MX25_INT_GPIO2, 0); - mxc_register_gpio("imx35-gpio", 2, MX25_GPIO3_BASE_ADDR, SZ_16K, MX25_INT_GPIO3, 0); - mxc_register_gpio("imx35-gpio", 3, MX25_GPIO4_BASE_ADDR, SZ_16K, MX25_INT_GPIO4, 0); - - pinctrl_provide_dummies(); - /* i.mx25 has the i.mx35 type sdma */ - imx_add_imx_sdma("imx35-sdma", MX25_SDMA_BASE_ADDR, MX25_INT_SDMA, &imx25_sdma_pdata); - /* i.mx25 has the i.mx31 type audmux */ - platform_device_register_simple("imx31-audmux", 0, imx25_audmux_res, - ARRAY_SIZE(imx25_audmux_res)); -}