[PATCH V2 12/12] ARM: ux500: Create TPIU device

Rickard Andersson rickard.andersson at stericsson.com
Thu Mar 28 12:11:38 EDT 2013


Add platform device for the ux500 TPIU driver. TPIU
is Trace Port Interface Unit. Also add the device
to the generic power domain APE.

Signed-off-by: Rickard Andersson <rickard.andersson at stericsson.com>
---
 arch/arm/boot/dts/dbx5x0.dtsi        |  5 +++++
 arch/arm/mach-ux500/board-mop500.c   |  1 +
 arch/arm/mach-ux500/cpu-db8500.c     |  1 +
 arch/arm/mach-ux500/devices-common.c | 16 ++++++++++++++++
 arch/arm/mach-ux500/devices-common.h |  1 +
 5 files changed, 24 insertions(+)

diff --git a/arch/arm/boot/dts/dbx5x0.dtsi b/arch/arm/boot/dts/dbx5x0.dtsi
index ef98422..9e5fce5 100644
--- a/arch/arm/boot/dts/dbx5x0.dtsi
+++ b/arch/arm/boot/dts/dbx5x0.dtsi
@@ -671,6 +671,11 @@
 		    reg = <0x81000000 0x2000>;
 		};
 
+		tpiu {
+		    compatible = "stericsson,dbx500-tpiu";
+		    reg = <0x80190000 0x1000>;
+		};
+
 		external-bus at 50000000 {
 			compatible = "simple-bus";
 			reg = <0x50000000 0x4000000>;
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index 76bace3..f1c08a9 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -661,6 +661,7 @@ static void __init init_pm_domains(void)
 
 	add_platform_device_to_genpd(&db8500_clk_device, &ape_domain);
 	add_platform_device_to_genpd(&dbx500_icn_device, &ape_domain);
+	add_platform_device_to_genpd(&dbx500_tpiu_device, &ape_domain);
 }
 
 static void __init mop500_init_machine(void)
diff --git a/arch/arm/mach-ux500/cpu-db8500.c b/arch/arm/mach-ux500/cpu-db8500.c
index d849986..7096462 100644
--- a/arch/arm/mach-ux500/cpu-db8500.c
+++ b/arch/arm/mach-ux500/cpu-db8500.c
@@ -144,6 +144,7 @@ static struct platform_device db8500_prcmu_device = {
 static struct platform_device *platform_devs[] __initdata = {
 	&db8500_clk_device,
 	&dbx500_icn_device,
+	&dbx500_tpiu_device,
 	&u8500_dma40_device,
 	&db8500_pmu_device,
 	&db8500_prcmu_device,
diff --git a/arch/arm/mach-ux500/devices-common.c b/arch/arm/mach-ux500/devices-common.c
index 74c7a76..a0f87ae 100644
--- a/arch/arm/mach-ux500/devices-common.c
+++ b/arch/arm/mach-ux500/devices-common.c
@@ -34,6 +34,22 @@ struct platform_device dbx500_icn_device = {
 	.resource = icn_resources
 };
 
+static struct resource tpiu_resources[] = {
+	[0] = {
+		.start = U8500_TPIU_BASE,
+		.end   = U8500_TPIU_BASE + SZ_4K - 1,
+		.flags = IORESOURCE_MEM,
+		.name  = "base",
+	},
+};
+
+struct platform_device dbx500_tpiu_device = {
+	.name = "dbx500-tpiu",
+	.id = -1,
+	.num_resources = ARRAY_SIZE(tpiu_resources),
+	.resource = tpiu_resources
+};
+
 static struct platform_device *
 dbx500_add_gpio(struct device *parent, int id, resource_size_t addr, int irq,
 		struct nmk_gpio_platform_data *pdata)
diff --git a/arch/arm/mach-ux500/devices-common.h b/arch/arm/mach-ux500/devices-common.h
index adbf524..3106b13 100644
--- a/arch/arm/mach-ux500/devices-common.h
+++ b/arch/arm/mach-ux500/devices-common.h
@@ -17,6 +17,7 @@
 
 struct spi_master_cntlr;
 extern struct platform_device dbx500_icn_device;
+extern struct platform_device dbx500_tpiu_device;
 
 static inline struct amba_device *
 dbx500_add_msp_spi(struct device *parent, const char *name,
-- 
1.8.2




More information about the linux-arm-kernel mailing list