All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lubomir Rintel <lkundrak@v3.sk>
To: Olof Johansson <olof@lixom.net>
Cc: Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jason Cooper <jason@lakedaemon.net>,
	Marc Zyngier <maz@kernel.org>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Russell King <linux@armlinux.org.uk>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org,
	Lubomir Rintel <lkundrak@v3.sk>
Subject: [PATCH v2 12/20] ARM: mmp: map the PGU as well
Date: Thu, 22 Aug 2019 11:26:35 +0200	[thread overview]
Message-ID: <20190822092643.593488-13-lkundrak@v3.sk> (raw)
In-Reply-To: <20190822092643.593488-1-lkundrak@v3.sk>

The MMP2 and later includes a system control unit in this area. We'll need
that to initialize the secondary core on MMP3.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 arch/arm/mach-mmp/addr-map.h |  7 +++++++
 arch/arm/mach-mmp/common.c   | 15 +++++++++++++++
 arch/arm/mach-mmp/common.h   |  1 +
 arch/arm/mach-mmp/mmp2-dt.c  |  2 +-
 4 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-mmp/addr-map.h b/arch/arm/mach-mmp/addr-map.h
index 25edf6a92276e..3dc2f0b0ecba5 100644
--- a/arch/arm/mach-mmp/addr-map.h
+++ b/arch/arm/mach-mmp/addr-map.h
@@ -20,6 +20,10 @@
 #define AXI_VIRT_BASE		IOMEM(0xfe200000)
 #define AXI_PHYS_SIZE		0x00200000
 
+#define PGU_PHYS_BASE		0xe0000000
+#define PGU_VIRT_BASE		IOMEM(0xfe400000)
+#define PGU_PHYS_SIZE		0x00100000
+
 /* Static Memory Controller - Chip Select 0 and 1 */
 #define SMC_CS0_PHYS_BASE	0x80000000
 #define SMC_CS0_PHYS_SIZE	0x10000000
@@ -38,4 +42,7 @@
 #define CIU_VIRT_BASE		(AXI_VIRT_BASE + 0x82c00)
 #define CIU_REG(x)		(CIU_VIRT_BASE + (x))
 
+#define SCU_VIRT_BASE		(PGU_VIRT_BASE)
+#define SCU_REG(x)		(SCU_VIRT_BASE + (x))
+
 #endif /* __ASM_MACH_ADDR_MAP_H */
diff --git a/arch/arm/mach-mmp/common.c b/arch/arm/mach-mmp/common.c
index 6684abc7708bd..2ee08c78e8bc9 100644
--- a/arch/arm/mach-mmp/common.c
+++ b/arch/arm/mach-mmp/common.c
@@ -36,6 +36,15 @@ static struct map_desc standard_io_desc[] __initdata = {
 	},
 };
 
+static struct map_desc mmp2_io_desc[] __initdata = {
+	{
+		.pfn		= __phys_to_pfn(PGU_PHYS_BASE),
+		.virtual	= (unsigned long)PGU_VIRT_BASE,
+		.length		= PGU_PHYS_SIZE,
+		.type		= MT_DEVICE,
+	},
+};
+
 void __init mmp_map_io(void)
 {
 	iotable_init(standard_io_desc, ARRAY_SIZE(standard_io_desc));
@@ -44,6 +53,12 @@ void __init mmp_map_io(void)
 	mmp_chip_id = __raw_readl(MMP_CHIPID);
 }
 
+void __init mmp2_map_io(void)
+{
+	mmp_map_io();
+	iotable_init(mmp2_io_desc, ARRAY_SIZE(mmp2_io_desc));
+}
+
 void mmp_restart(enum reboot_mode mode, const char *cmd)
 {
 	soft_restart(0);
diff --git a/arch/arm/mach-mmp/common.h b/arch/arm/mach-mmp/common.h
index 483b8b6d3005a..ed56b3f15b45e 100644
--- a/arch/arm/mach-mmp/common.h
+++ b/arch/arm/mach-mmp/common.h
@@ -5,4 +5,5 @@
 extern void mmp_timer_init(int irq, unsigned long rate);
 
 extern void __init mmp_map_io(void);
+extern void __init mmp2_map_io(void);
 extern void mmp_restart(enum reboot_mode, const char *);
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index 305a9daba6d68..8eec881191f4b 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -33,7 +33,7 @@ static const char *const mmp2_dt_board_compat[] __initconst = {
 };
 
 DT_MACHINE_START(MMP2_DT, "Marvell MMP2 (Device Tree Support)")
-	.map_io		= mmp_map_io,
+	.map_io		= mmp2_map_io,
 	.init_time	= mmp_init_time,
 	.dt_compat	= mmp2_dt_board_compat,
 MACHINE_END
-- 
2.21.0


WARNING: multiple messages have this Message-ID (diff)
From: Lubomir Rintel <lkundrak@v3.sk>
To: Olof Johansson <olof@lixom.net>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org, Jason Cooper <jason@lakedaemon.net>,
	Stephen Boyd <sboyd@kernel.org>, Marc Zyngier <maz@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Russell King <linux@armlinux.org.uk>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Lubomir Rintel <lkundrak@v3.sk>, Rob Herring <robh+dt@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	Thomas Gleixner <tglx@linutronix.de>,
	linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v2 12/20] ARM: mmp: map the PGU as well
Date: Thu, 22 Aug 2019 11:26:35 +0200	[thread overview]
Message-ID: <20190822092643.593488-13-lkundrak@v3.sk> (raw)
In-Reply-To: <20190822092643.593488-1-lkundrak@v3.sk>

The MMP2 and later includes a system control unit in this area. We'll need
that to initialize the secondary core on MMP3.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 arch/arm/mach-mmp/addr-map.h |  7 +++++++
 arch/arm/mach-mmp/common.c   | 15 +++++++++++++++
 arch/arm/mach-mmp/common.h   |  1 +
 arch/arm/mach-mmp/mmp2-dt.c  |  2 +-
 4 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-mmp/addr-map.h b/arch/arm/mach-mmp/addr-map.h
index 25edf6a92276e..3dc2f0b0ecba5 100644
--- a/arch/arm/mach-mmp/addr-map.h
+++ b/arch/arm/mach-mmp/addr-map.h
@@ -20,6 +20,10 @@
 #define AXI_VIRT_BASE		IOMEM(0xfe200000)
 #define AXI_PHYS_SIZE		0x00200000
 
+#define PGU_PHYS_BASE		0xe0000000
+#define PGU_VIRT_BASE		IOMEM(0xfe400000)
+#define PGU_PHYS_SIZE		0x00100000
+
 /* Static Memory Controller - Chip Select 0 and 1 */
 #define SMC_CS0_PHYS_BASE	0x80000000
 #define SMC_CS0_PHYS_SIZE	0x10000000
@@ -38,4 +42,7 @@
 #define CIU_VIRT_BASE		(AXI_VIRT_BASE + 0x82c00)
 #define CIU_REG(x)		(CIU_VIRT_BASE + (x))
 
+#define SCU_VIRT_BASE		(PGU_VIRT_BASE)
+#define SCU_REG(x)		(SCU_VIRT_BASE + (x))
+
 #endif /* __ASM_MACH_ADDR_MAP_H */
diff --git a/arch/arm/mach-mmp/common.c b/arch/arm/mach-mmp/common.c
index 6684abc7708bd..2ee08c78e8bc9 100644
--- a/arch/arm/mach-mmp/common.c
+++ b/arch/arm/mach-mmp/common.c
@@ -36,6 +36,15 @@ static struct map_desc standard_io_desc[] __initdata = {
 	},
 };
 
+static struct map_desc mmp2_io_desc[] __initdata = {
+	{
+		.pfn		= __phys_to_pfn(PGU_PHYS_BASE),
+		.virtual	= (unsigned long)PGU_VIRT_BASE,
+		.length		= PGU_PHYS_SIZE,
+		.type		= MT_DEVICE,
+	},
+};
+
 void __init mmp_map_io(void)
 {
 	iotable_init(standard_io_desc, ARRAY_SIZE(standard_io_desc));
@@ -44,6 +53,12 @@ void __init mmp_map_io(void)
 	mmp_chip_id = __raw_readl(MMP_CHIPID);
 }
 
+void __init mmp2_map_io(void)
+{
+	mmp_map_io();
+	iotable_init(mmp2_io_desc, ARRAY_SIZE(mmp2_io_desc));
+}
+
 void mmp_restart(enum reboot_mode mode, const char *cmd)
 {
 	soft_restart(0);
diff --git a/arch/arm/mach-mmp/common.h b/arch/arm/mach-mmp/common.h
index 483b8b6d3005a..ed56b3f15b45e 100644
--- a/arch/arm/mach-mmp/common.h
+++ b/arch/arm/mach-mmp/common.h
@@ -5,4 +5,5 @@
 extern void mmp_timer_init(int irq, unsigned long rate);
 
 extern void __init mmp_map_io(void);
+extern void __init mmp2_map_io(void);
 extern void mmp_restart(enum reboot_mode, const char *);
diff --git a/arch/arm/mach-mmp/mmp2-dt.c b/arch/arm/mach-mmp/mmp2-dt.c
index 305a9daba6d68..8eec881191f4b 100644
--- a/arch/arm/mach-mmp/mmp2-dt.c
+++ b/arch/arm/mach-mmp/mmp2-dt.c
@@ -33,7 +33,7 @@ static const char *const mmp2_dt_board_compat[] __initconst = {
 };
 
 DT_MACHINE_START(MMP2_DT, "Marvell MMP2 (Device Tree Support)")
-	.map_io		= mmp_map_io,
+	.map_io		= mmp2_map_io,
 	.init_time	= mmp_init_time,
 	.dt_compat	= mmp2_dt_board_compat,
 MACHINE_END
-- 
2.21.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-08-22  9:33 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-22  9:26 [PATCH v2 00/20] Initial support for Marvell MMP3 SoC Lubomir Rintel
2019-08-22  9:26 ` Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 01/20] dt-bindings: arm: cpu: Add Marvell MMP3 SMP enable method Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 02/20] dt-bindings: arm: Convert Marvell MMP board/soc bindings to json-schema Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-27 11:59   ` Rob Herring
2019-08-27 11:59     ` Rob Herring
2019-08-27 11:59     ` Rob Herring
2019-08-27 13:23     ` Lubomir Rintel
2019-08-27 13:23       ` Lubomir Rintel
2019-08-27 13:23       ` Lubomir Rintel
2019-08-27 13:36       ` Rob Herring
2019-08-27 13:36         ` Rob Herring
2019-08-27 13:36         ` Rob Herring
2019-08-22  9:26 ` [PATCH v2 03/20] dt-bindings: arm: mrvl: Document MMP3 compatible string Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-27 12:00   ` Rob Herring
2019-08-27 12:00     ` Rob Herring
2019-08-27 12:00     ` Rob Herring
2019-08-22  9:26 ` [PATCH v2 04/20] dt-bindings: mrvl,intc: Add a MMP3 interrupt controller Lubomir Rintel
2019-08-22  9:26   ` [PATCH v2 04/20] dt-bindings: mrvl, intc: " Lubomir Rintel
2019-08-27 22:23   ` [PATCH v2 04/20] dt-bindings: mrvl,intc: " Rob Herring
2019-08-27 22:23     ` Rob Herring
2019-08-27 22:23     ` Rob Herring
2019-08-22  9:26 ` [PATCH v2 05/20] dt-bindings: phy-mmp3-usb: Add bindings Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-27 22:24   ` Rob Herring
2019-08-27 22:24     ` Rob Herring
2019-08-27 22:24     ` Rob Herring
2019-08-22  9:26 ` [PATCH v2 06/20] irqchip/mmp: do not use of_address_to_resource() to get mux regs Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-09-06 11:08   ` [tip: irq/core] irqchip/mmp: Do " tip-bot2 for Lubomir Rintel
2020-03-09 16:25   ` [PATCH v2 06/20] irqchip/mmp: do " Rob Herring
2020-03-09 16:25     ` Rob Herring
2020-03-09 16:28     ` Rob Herring
2020-03-09 16:28       ` Rob Herring
2019-08-22  9:26 ` [PATCH v2 07/20] irqchip/mmp: add missing chained_irq_{enter,exit}() Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-09-06 11:08   ` [tip: irq/core] irqchip/mmp: Add " tip-bot2 for Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 08/20] irqchip/mmp: mask off interrupts from other cores Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-09-06 11:08   ` [tip: irq/core] irqchip/mmp: Mask " tip-bot2 for Andres Salomon
2019-08-22  9:26 ` [PATCH v2 09/20] irqchip/mmp: coexist with GIC root IRQ controller Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-09-06 11:08   ` [tip: irq/core] irqchip/mmp: Coexist " tip-bot2 for Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 10/20] ARM: l2c: add definition for FWA in PL310 aux register Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 11/20] ARM: mmp: don't select CACHE_TAUROS2 on all ARCH_MMP Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-22  9:26 ` Lubomir Rintel [this message]
2019-08-22  9:26   ` [PATCH v2 12/20] ARM: mmp: map the PGU as well Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 13/20] ARM: mmp: DT: convert timer driver to use TIMER_OF_DECLARE Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 14/20] ARM: mmp: define MMP_CHIPID by the means of CIU_REG() Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 15/20] ARM: mmp: add support for MMP3 SoC Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 16/20] ARM: mmp: add SMP support Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-22 16:36   ` Florian Fainelli
2019-08-22 16:36     ` Florian Fainelli
2019-08-23  7:13     ` Lubomir Rintel
2019-08-23  7:13       ` Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 17/20] ARM: mmp: move cputype.h to include/linux/soc/ Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 18/20] ARM: mmp: remove MMP3 USB PHY registers from regs-usb.h Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 19/20] phy: phy-mmp3-usb: add a new driver Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-22  9:26 ` [PATCH v2 20/20] ARM: dts: mmp3: Add MMP3 SoC dts file Lubomir Rintel
2019-08-22  9:26   ` Lubomir Rintel
2019-08-22 10:31 ` [PATCH v2 00/20] Initial support for Marvell MMP3 SoC Marc Zyngier
2019-08-22 10:31   ` Marc Zyngier
2019-08-22 16:23   ` Olof Johansson
2019-08-22 16:23     ` Olof Johansson
2019-08-23  7:21   ` Lubomir Rintel
2019-08-23  7:21     ` Lubomir Rintel
2019-08-23  9:42     ` Marc Zyngier
2019-08-23  9:42       ` Marc Zyngier
2019-08-26 11:59       ` Lubomir Rintel
2019-08-26 11:59         ` Lubomir Rintel
2019-08-30 14:26         ` Marc Zyngier
2019-08-30 14:26           ` Marc Zyngier
2019-08-30 14:26           ` Marc Zyngier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190822092643.593488-13-lkundrak@v3.sk \
    --to=lkundrak@v3.sk \
    --cc=devicetree@vger.kernel.org \
    --cc=jason@lakedaemon.net \
    --cc=kishon@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=olof@lixom.net \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.