linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/18] Drop remaining pdata for am335x and use genpd
@ 2020-10-26 11:22 Tony Lindgren
  2020-10-26 11:22 ` [PATCH 01/18] ARM: dts: am33xx: add remaining PRM instances Tony Lindgren
                   ` (18 more replies)
  0 siblings, 19 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

Hi all,

With the related driver changes, we can now drop the remaining platform
data for am335x for v5.11 merge window and probe using device tree data
and genpd instead.

Regards,

Tony

[1] https://lore.kernel.org/linux-omap/20201026105812.38418-1-tony@atomide.com/T/#t
[2] https://lore.kernel.org/linux-omap/20201026111049.54835-1-tony@atomide.com/T/#t

Tero Kristo (1):
  ARM: dts: am33xx: add remaining PRM instances

Tony Lindgren (17):
  ARM: dts: Configure also interconnect clocks for am3 system timers
  ARM: OMAP2+: Drop legacy platform data for am3 control module
  ARM: dts: Configure RTC powerdomain for am3
  ARM: dts: Configure interconnect target module for am3 wkup_m3
  ARM: OMAP2+: Drop legacy platform data for am3 wkup_m3
  ARM: OMAP2+: Drop legacy platform data for am3 and am4 gpmc
  ARM: OMAP2+: Drop legacy platform data for am3 debugss
  ARM: OMAP2+: Drop legacy platform data for am3 emif
  ARM: OMAP2+: Drop legacy platform data for am3 ocmcram
  ARM: OMAP2+: Drop legacy platform data for am3 instr
  ARM: OMAP2+: Drop legacy platform data for am3 mpuss
  ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
  ARM: dts: Use simple-pm-bus for genpd for am3 l4_fast
  ARM: dts: Use simple-pm-bus for genpd for am3 l4_per
  ARM: dts: Use simple-pm-bus for genpd for am3 l3
  ARM: OMAP2+: Drop legacy remaining legacy platform data for am3
  ARM: OMAP2+: Build hwmod related code as needed

 arch/arm/boot/dts/am335x-nano.dts             |   1 -
 arch/arm/boot/dts/am33xx-l4.dtsi              |  75 +++--
 arch/arm/boot/dts/am33xx.dtsi                 | 185 +++++++----
 arch/arm/boot/dts/am4372.dtsi                 |  49 ++-
 arch/arm/mach-omap2/Kconfig                   |   9 +
 arch/arm/mach-omap2/Makefile                  |  14 +-
 arch/arm/mach-omap2/io.c                      |   2 -
 .../omap_hwmod_33xx_43xx_common_data.h        |   2 -
 .../omap_hwmod_33xx_43xx_interconnect_data.c  |   8 -
 .../omap_hwmod_33xx_43xx_ipblock_data.c       |  36 ---
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c    | 294 ------------------
 arch/arm/mach-omap2/omap_hwmod_43xx_data.c    |   1 -
 arch/arm/mach-omap2/pdata-quirks.c            |  12 +-
 13 files changed, 236 insertions(+), 452 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/omap_hwmod_33xx_data.c

-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 01/18] ARM: dts: am33xx: add remaining PRM instances
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 02/18] ARM: dts: Configure also interconnect clocks for am3 system timers Tony Lindgren
                   ` (17 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Tero Kristo, Dave Gerlach,
	Roger Quadros, Suman Anna

From: Tero Kristo <t-kristo@ti.com>

Add remaining PRM instances for the am33xx SoC. Additionally, enable the
genpd support for them.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
[tony@atomide.com: fixed a typo for #power-domain-cells]
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx.dtsi | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -601,12 +601,20 @@ prm_per: prm@c00 {
 		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
 		reg = <0xc00 0x100>;
 		#reset-cells = <1>;
+		#power-domain-cells = <0>;
 	};
 
 	prm_wkup: prm@d00 {
 		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
 		reg = <0xd00 0x100>;
 		#reset-cells = <1>;
+		#power-domain-cells = <0>;
+	};
+
+	prm_mpu: prm@e00 {
+		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
+		reg = <0xe00 0x100>;
+		#power-domain-cells = <0>;
 	};
 
 	prm_device: prm@f00 {
@@ -615,12 +623,24 @@ prm_device: prm@f00 {
 		#reset-cells = <1>;
 	};
 
+	prm_rtc: prm@1000 {
+		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
+		reg = <0x1000 0x100>;
+		#power-domain-cells = <0>;
+	};
+
 	prm_gfx: prm@1100 {
 		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
 		reg = <0x1100 0x100>;
 		#power-domain-cells = <0>;
 		#reset-cells = <1>;
 	};
+
+	prm_cefuse: prm@1200 {
+		compatible = "ti,am3-prm-inst", "ti,omap-prm-inst";
+		reg = <0x1200 0x100>;
+		#power-domain-cells = <0>;
+	};
 };
 
 /* Preferred always-on timer for clocksource */
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 02/18] ARM: dts: Configure also interconnect clocks for am3 system timers
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
  2020-10-26 11:22 ` [PATCH 01/18] ARM: dts: am33xx: add remaining PRM instances Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 03/18] ARM: OMAP2+: Drop legacy platform data for am3 control module Tony Lindgren
                   ` (16 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

We now manage clocksource and clockevent clocks directly with
timer-ti-dm-systimer. In order to use genpd with prm_omap,
GENPD_FLAG_PM_CLK and simple-pm-bus, we need to keep the system
timer related interconnect clocks enabled until clocksource suspend
is done.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx.dtsi | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -645,6 +645,9 @@ prm_cefuse: prm@1200 {
 
 /* Preferred always-on timer for clocksource */
 &timer1_target {
+	clocks = <&l4_wkup_clkctrl AM3_L4_WKUP_TIMER1_CLKCTRL 0>,
+		 <&l4_wkup_clkctrl AM3_L4_WKUP_L4_WKUP_CLKCTRL 0>;
+	clock-names = "fck", "ick";
 	ti,no-reset-on-init;
 	ti,no-idle;
 	timer@0 {
@@ -655,6 +658,9 @@ timer@0 {
 
 /* Preferred timer for clockevent */
 &timer2_target {
+	clocks = <&l4ls_clkctrl AM3_L4LS_TIMER2_CLKCTRL 0>,
+		 <&l4ls_clkctrl AM3_L4LS_L4_LS_CLKCTRL 0>;
+	clock-names = "fck", "ick";
 	ti,no-reset-on-init;
 	ti,no-idle;
 	timer@0 {
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 03/18] ARM: OMAP2+: Drop legacy platform data for am3 control module
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
  2020-10-26 11:22 ` [PATCH 01/18] ARM: dts: am33xx: add remaining PRM instances Tony Lindgren
  2020-10-26 11:22 ` [PATCH 02/18] ARM: dts: Configure also interconnect clocks for am3 system timers Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 04/18] ARM: dts: Configure RTC powerdomain for am3 Tony Lindgren
                   ` (15 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

To drop the legacy platform data for am3 control module, we need
to configure the missing functional clock and tag the module to
not idle as platform data also had it configured with
HWMOD_INIT_NO_IDLE.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx-l4.dtsi           |  3 +++
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 24 ----------------------
 2 files changed, 3 insertions(+), 24 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi
--- a/arch/arm/boot/dts/am33xx-l4.dtsi
+++ b/arch/arm/boot/dts/am33xx-l4.dtsi
@@ -274,6 +274,9 @@ target-module@10000 {			/* 0x44e10000, ap 22 0c.0 */
 			compatible = "ti,sysc-omap4", "ti,sysc";
 			reg = <0x10000 0x4>;
 			reg-names = "rev";
+			clocks = <&l4_wkup_clkctrl AM3_L4_WKUP_CONTROL_CLKCTRL 0>;
+			clock-names = "fck";
+			ti,no-idle;
 			#address-cells = <1>;
 			#size-cells = <1>;
 			ranges = <0x00000000 0x00010000 0x00010000>,
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -182,21 +182,6 @@ static struct omap_hwmod am33xx_debugss_hwmod = {
 	.opt_clks_cnt	= ARRAY_SIZE(debugss_opt_clks),
 };
 
-static struct omap_hwmod am33xx_control_hwmod = {
-	.name		= "control",
-	.class		= &am33xx_control_hwmod_class,
-	.clkdm_name	= "l4_wkup_clkdm",
-	.flags		= HWMOD_INIT_NO_IDLE,
-	.main_clk	= "dpll_core_m4_div2_ck",
-	.prcm		= {
-		.omap4	= {
-			.clkctrl_offs	= AM33XX_CM_WKUP_CONTROL_CLKCTRL_OFFSET,
-			.modulemode	= MODULEMODE_SWCTRL,
-		},
-	},
-};
-
-
 /*
  * Interfaces
  */
@@ -257,14 +242,6 @@ static struct omap_hwmod_ocp_if am33xx_l4_wkup__smartreflex1 = {
 	.user		= OCP_USER_MPU,
 };
 
-/* l4 wkup -> control */
-static struct omap_hwmod_ocp_if am33xx_l4_wkup__control = {
-	.master		= &am33xx_l4_wkup_hwmod,
-	.slave		= &am33xx_control_hwmod,
-	.clk		= "dpll_core_m4_div2_ck",
-	.user		= OCP_USER_MPU,
-};
-
 static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
 	&am33xx_l3_main__emif,
 	&am33xx_mpu__l3_main,
@@ -278,7 +255,6 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
 	&am33xx_wkup_m3__l4_wkup,
 	&am33xx_l3_main__debugss,
 	&am33xx_l4_wkup__wkup_m3,
-	&am33xx_l4_wkup__control,
 	&am33xx_l4_wkup__smartreflex0,
 	&am33xx_l4_wkup__smartreflex1,
 	&am33xx_l3_s__gpmc,
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 04/18] ARM: dts: Configure RTC powerdomain for am3
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (2 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 03/18] ARM: OMAP2+: Drop legacy platform data for am3 control module Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 05/18] ARM: dts: Configure interconnect target module for am3 wkup_m3 Tony Lindgren
                   ` (14 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Suman Anna,
	Roger Quadros, Tero Kristo

For genpd we need the RTC powerdomain configured.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx-l4.dtsi | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi
--- a/arch/arm/boot/dts/am33xx-l4.dtsi
+++ b/arch/arm/boot/dts/am33xx-l4.dtsi
@@ -436,6 +436,7 @@ target-module@3e000 {			/* 0x44e3e000, ap 35 60.0 */
 					<SYSC_IDLE_SMART>,
 					<SYSC_IDLE_SMART_WKUP>;
 			/* Domains (P, C): rtc_pwrdm, l4_rtc_clkdm */
+			power-domains = <&prm_rtc>;
 			clocks = <&l4_rtc_clkctrl AM3_L4_RTC_RTC_CLKCTRL 0>;
 			clock-names = "fck";
 			#address-cells = <1>;
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 05/18] ARM: dts: Configure interconnect target module for am3 wkup_m3
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (3 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 04/18] ARM: dts: Configure RTC powerdomain for am3 Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 06/18] ARM: OMAP2+: Drop legacy platform data " Tony Lindgren
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Suman Anna,
	Roger Quadros, Tero Kristo

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver.

Note that we no longer need ti,no-reset-on-init as the rstctrl resets
are properly handled by the reset driver and claimed by the RTC driver.
And we need to squash together the module ranges for driver compability.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx-l4.dtsi | 23 ++++++++++++++---------
 arch/arm/boot/dts/am33xx.dtsi    |  8 --------
 2 files changed, 14 insertions(+), 17 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi
--- a/arch/arm/boot/dts/am33xx-l4.dtsi
+++ b/arch/arm/boot/dts/am33xx-l4.dtsi
@@ -32,20 +32,25 @@ segment@100000 {					/* 0x44d00000 */
 
 		target-module@0 {			/* 0x44d00000, ap 4 28.0 */
 			compatible = "ti,sysc-omap4", "ti,sysc";
+			ti,hwmods = "wkup_m3";
 			reg = <0x0 0x4>;
 			reg-names = "rev";
+			clocks = <&l4_wkup_aon_clkctrl AM3_L4_WKUP_AON_WKUP_M3_CLKCTRL 0>;
+			clock-names = "fck";
 			#address-cells = <1>;
 			#size-cells = <1>;
-			ranges = <0x0 0x0 0x4000>;
-			status = "disabled";
-		};
+			ranges = <0x00000000 0x00000000 0x4000>,
+				 <0x00080000 0x00080000 0x2000>;
 
-		target-module@80000 {			/* 0x44d80000, ap 6 10.0 */
-			compatible = "ti,sysc";
-			status = "disabled";
-			#address-cells = <1>;
-			#size-cells = <1>;
-			ranges = <0x0 0x80000 0x2000>;
+			wkup_m3: cpu@0 {
+				compatible = "ti,am3352-wkup-m3";
+				reg = <0x00000000 0x4000>,
+				      <0x00080000 0x2000>;
+				reg-names = "umem", "dmem";
+				resets = <&prm_wkup 3>;
+				reset-names = "rstctrl";
+				ti,pm-firmware = "am335x-pm-firmware.elf";
+			};
 		};
 	};
 
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -180,14 +180,6 @@ ocp: ocp {
 		ti,hwmods = "l3_main";
 
 		l4_wkup: interconnect@44c00000 {
-			wkup_m3: wkup_m3@100000 {
-				compatible = "ti,am3352-wkup-m3";
-				reg = <0x100000 0x4000>,
-				      <0x180000 0x2000>;
-				reg-names = "umem", "dmem";
-				ti,hwmods = "wkup_m3";
-				ti,pm-firmware = "am335x-pm-firmware.elf";
-			};
 		};
 		l4_per: interconnect@48000000 {
 		};
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 06/18] ARM: OMAP2+: Drop legacy platform data for am3 wkup_m3
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (4 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 05/18] ARM: dts: Configure interconnect target module for am3 wkup_m3 Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 07/18] ARM: OMAP2+: Drop legacy platform data for am3 and am4 gpmc Tony Lindgren
                   ` (12 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Suman Anna,
	Roger Quadros, Tero Kristo

We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

As we're just dropping data, and the early platform data init
is based on the custom ti,hwmods property, we want to drop both
the platform data and ti,hwmods property in a single patch.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx-l4.dtsi           |  1 -
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 43 ----------------------
 2 files changed, 44 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi
--- a/arch/arm/boot/dts/am33xx-l4.dtsi
+++ b/arch/arm/boot/dts/am33xx-l4.dtsi
@@ -32,7 +32,6 @@ segment@100000 {					/* 0x44d00000 */
 
 		target-module@0 {			/* 0x44d00000, ap 4 28.0 */
 			compatible = "ti,sysc-omap4", "ti,sysc";
-			ti,hwmods = "wkup_m3";
 			reg = <0x0 0x4>;
 			reg-names = "rev";
 			clocks = <&l4_wkup_aon_clkctrl AM3_L4_WKUP_AON_WKUP_M3_CLKCTRL 0>;
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -57,31 +57,6 @@ static struct omap_hwmod am33xx_l4_hs_hwmod = {
 	},
 };
 
-static struct omap_hwmod_rst_info am33xx_wkup_m3_resets[] = {
-	{ .name = "wkup_m3", .rst_shift = 3, .st_shift = 5 },
-};
-
-/* wkup_m3  */
-static struct omap_hwmod am33xx_wkup_m3_hwmod = {
-	.name		= "wkup_m3",
-	.class		= &am33xx_wkup_m3_hwmod_class,
-	.clkdm_name	= "l4_wkup_aon_clkdm",
-	/* Keep hardreset asserted */
-	.flags		= HWMOD_INIT_NO_RESET | HWMOD_NO_IDLEST,
-	.main_clk	= "dpll_core_m4_div2_ck",
-	.prcm		= {
-		.omap4	= {
-			.clkctrl_offs	= AM33XX_CM_WKUP_WKUP_M3_CLKCTRL_OFFSET,
-			.rstctrl_offs	= AM33XX_RM_WKUP_RSTCTRL_OFFSET,
-			.rstst_offs	= AM33XX_RM_WKUP_RSTST_OFFSET,
-			.modulemode	= MODULEMODE_SWCTRL,
-		},
-	},
-	.rst_lines	= am33xx_wkup_m3_resets,
-	.rst_lines_cnt	= ARRAY_SIZE(am33xx_wkup_m3_resets),
-};
-
-
 /*
  * Modules omap_hwmod structures
  *
@@ -202,22 +177,6 @@ static struct omap_hwmod_ocp_if am33xx_l3_main__l4_hs = {
 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
 };
 
-/* wkup m3 -> l4 wkup */
-static struct omap_hwmod_ocp_if am33xx_wkup_m3__l4_wkup = {
-	.master		= &am33xx_wkup_m3_hwmod,
-	.slave		= &am33xx_l4_wkup_hwmod,
-	.clk		= "dpll_core_m4_div2_ck",
-	.user		= OCP_USER_MPU | OCP_USER_SDMA,
-};
-
-/* l4 wkup -> wkup m3 */
-static struct omap_hwmod_ocp_if am33xx_l4_wkup__wkup_m3 = {
-	.master		= &am33xx_l4_wkup_hwmod,
-	.slave		= &am33xx_wkup_m3_hwmod,
-	.clk		= "dpll_core_m4_div2_ck",
-	.user		= OCP_USER_MPU | OCP_USER_SDMA,
-};
-
 /* l3_main -> debugss */
 static struct omap_hwmod_ocp_if am33xx_l3_main__debugss = {
 	.master		= &am33xx_l3_main_hwmod,
@@ -252,9 +211,7 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
 	&am33xx_l3_main__l3_s,
 	&am33xx_l3_main__l3_instr,
 	&am33xx_l3_s__l3_main,
-	&am33xx_wkup_m3__l4_wkup,
 	&am33xx_l3_main__debugss,
-	&am33xx_l4_wkup__wkup_m3,
 	&am33xx_l4_wkup__smartreflex0,
 	&am33xx_l4_wkup__smartreflex1,
 	&am33xx_l3_s__gpmc,
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 07/18] ARM: OMAP2+: Drop legacy platform data for am3 and am4 gpmc
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (5 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 06/18] ARM: OMAP2+: Drop legacy platform data " Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 08/18] ARM: OMAP2+: Drop legacy platform data for am3 debugss Tony Lindgren
                   ` (11 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Roger Quadros, Dave Gerlach,
	Suman Anna, Tero Kristo

We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

As we're just dropping data, and the early platform data init
is based on the custom ti,hwmods property, we want to drop both
the platform data and ti,hwmods property in a single patch.

Cc: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am335x-nano.dts             |  1 -
 arch/arm/boot/dts/am33xx.dtsi                 | 48 ++++++++++++------
 arch/arm/boot/dts/am4372.dtsi                 | 49 +++++++++++++------
 .../omap_hwmod_33xx_43xx_common_data.h        |  2 -
 .../omap_hwmod_33xx_43xx_interconnect_data.c  |  8 ---
 .../omap_hwmod_33xx_43xx_ipblock_data.c       | 33 -------------
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c    |  1 -
 arch/arm/mach-omap2/omap_hwmod_43xx_data.c    |  1 -
 8 files changed, 65 insertions(+), 78 deletions(-)

diff --git a/arch/arm/boot/dts/am335x-nano.dts b/arch/arm/boot/dts/am335x-nano.dts
--- a/arch/arm/boot/dts/am335x-nano.dts
+++ b/arch/arm/boot/dts/am335x-nano.dts
@@ -238,7 +238,6 @@ &elm {
 
 &gpmc {
 	compatible = "ti,am3352-gpmc";
-	ti,hwmods = "gpmc";
 	status = "okay";
 	gpmc,num-waitpins = <2>;
 	pinctrl-names = "default";
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -480,23 +480,39 @@ emif: emif@4c000000 {
 			ti,no-idle;
 		};
 
-		gpmc: gpmc@50000000 {
-			compatible = "ti,am3352-gpmc";
-			ti,hwmods = "gpmc";
-			ti,no-idle-on-init;
-			reg = <0x50000000 0x2000>;
-			interrupts = <100>;
-			dmas = <&edma 52 0>;
-			dma-names = "rxtx";
-			gpmc,num-cs = <7>;
-			gpmc,num-waitpins = <2>;
-			#address-cells = <2>;
+		target-module@50000000 {
+			compatible = "ti,sysc-omap2", "ti,sysc";
+			reg = <0x50000000 4>,
+			      <0x50000010 4>,
+			      <0x50000014 4>;
+			reg-names = "rev", "sysc", "syss";
+			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+					<SYSC_IDLE_NO>,
+					<SYSC_IDLE_SMART>;
+			ti,syss-mask = <1>;
+			clocks = <&l3s_clkctrl AM3_L3S_GPMC_CLKCTRL 0>;
+			clock-names = "fck";
+			#address-cells = <1>;
 			#size-cells = <1>;
-			interrupt-controller;
-			#interrupt-cells = <2>;
-			gpio-controller;
-			#gpio-cells = <2>;
-			status = "disabled";
+			ranges = <0x50000000 0x50000000 0x00001000>, /* regs */
+				 <0x00000000 0x00000000 0x40000000>; /* data */
+
+			gpmc: gpmc@50000000 {
+				compatible = "ti,am3352-gpmc";
+				reg = <0x50000000 0x2000>;
+				interrupts = <100>;
+				dmas = <&edma 52 0>;
+				dma-names = "rxtx";
+				gpmc,num-cs = <7>;
+				gpmc,num-waitpins = <2>;
+				#address-cells = <2>;
+				#size-cells = <1>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				gpio-controller;
+				#gpio-cells = <2>;
+				status = "disabled";
+			};
 		};
 
 		sham_target: target-module@53100000 {
diff --git a/arch/arm/boot/dts/am4372.dtsi b/arch/arm/boot/dts/am4372.dtsi
--- a/arch/arm/boot/dts/am4372.dtsi
+++ b/arch/arm/boot/dts/am4372.dtsi
@@ -434,24 +434,41 @@ pruss_tm: target-module@54400000 {
 			ranges = <0x0 0x54400000 0x80000>;
 		};
 
-		gpmc: gpmc@50000000 {
-			compatible = "ti,am3352-gpmc";
-			ti,hwmods = "gpmc";
-			dmas = <&edma 52 0>;
-			dma-names = "rxtx";
-			clocks = <&l3s_gclk>;
+		target-module@50000000 {
+			compatible = "ti,sysc-omap2", "ti,sysc";
+			reg = <0x50000000 4>,
+			      <0x50000010 4>,
+			      <0x50000014 4>;
+			reg-names = "rev", "sysc", "syss";
+			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
+					<SYSC_IDLE_NO>,
+					<SYSC_IDLE_SMART>;
+			ti,syss-mask = <1>;
+			clocks = <&l3s_clkctrl AM4_L3S_GPMC_CLKCTRL 0>;
 			clock-names = "fck";
-			reg = <0x50000000 0x2000>;
-			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
-			gpmc,num-cs = <7>;
-			gpmc,num-waitpins = <2>;
-			#address-cells = <2>;
+			#address-cells = <1>;
 			#size-cells = <1>;
-			interrupt-controller;
-			#interrupt-cells = <2>;
-			gpio-controller;
-			#gpio-cells = <2>;
-			status = "disabled";
+			ranges = <0x50000000 0x50000000 0x00001000>, /* regs */
+				 <0x00000000 0x00000000 0x40000000>; /* data */
+
+			gpmc: gpmc@50000000 {
+				compatible = "ti,am3352-gpmc";
+				dmas = <&edma 52 0>;
+				dma-names = "rxtx";
+				clocks = <&l3s_gclk>;
+				clock-names = "fck";
+				reg = <0x50000000 0x2000>;
+				interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
+				gpmc,num-cs = <7>;
+				gpmc,num-waitpins = <2>;
+				#address-cells = <2>;
+				#size-cells = <1>;
+				interrupt-controller;
+				#interrupt-cells = <2>;
+				gpio-controller;
+				#gpio-cells = <2>;
+				status = "disabled";
+			};
 		};
 
 		target-module@47900000 {
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_common_data.h
@@ -26,7 +26,6 @@ extern struct omap_hwmod_ocp_if am33xx_mpu__prcm;
 extern struct omap_hwmod_ocp_if am33xx_l3_s__l3_main;
 extern struct omap_hwmod_ocp_if am33xx_gfx__l3_main;
 extern struct omap_hwmod_ocp_if am33xx_l3_main__gfx;
-extern struct omap_hwmod_ocp_if am33xx_l3_s__gpmc;
 extern struct omap_hwmod_ocp_if am33xx_l4_ls__timer2;
 extern struct omap_hwmod_ocp_if am33xx_l3_main__ocmc;
 
@@ -41,7 +40,6 @@ extern struct omap_hwmod am33xx_prcm_hwmod;
 extern struct omap_hwmod am33xx_ocmcram_hwmod;
 extern struct omap_hwmod am33xx_smartreflex0_hwmod;
 extern struct omap_hwmod am33xx_smartreflex1_hwmod;
-extern struct omap_hwmod am33xx_gpmc_hwmod;
 
 extern struct omap_hwmod_class am33xx_emif_hwmod_class;
 extern struct omap_hwmod_class am33xx_l4_hwmod_class;
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_interconnect_data.c
@@ -74,14 +74,6 @@ struct omap_hwmod_ocp_if am33xx_l3_s__l3_main = {
 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
 };
 
-/* l3s cfg -> gpmc */
-struct omap_hwmod_ocp_if am33xx_l3_s__gpmc = {
-	.master		= &am33xx_l3_s_hwmod,
-	.slave		= &am33xx_gpmc_hwmod,
-	.clk		= "l3s_gclk",
-	.user		= OCP_USER_MPU,
-};
-
 /* l3 main -> ocmc */
 struct omap_hwmod_ocp_if am33xx_l3_main__ocmc = {
 	.master		= &am33xx_l3_main_hwmod,
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
@@ -218,44 +218,12 @@ struct omap_hwmod_class am33xx_control_hwmod_class = {
 	.name		= "control",
 };
 
-
-/* gpmc */
-static struct omap_hwmod_class_sysconfig gpmc_sysc = {
-	.rev_offs	= 0x0,
-	.sysc_offs	= 0x10,
-	.syss_offs	= 0x14,
-	.sysc_flags	= (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE |
-			SYSC_HAS_SOFTRESET | SYSS_HAS_RESET_STATUS),
-	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
-	.sysc_fields	= &omap_hwmod_sysc_type1,
-};
-
-static struct omap_hwmod_class am33xx_gpmc_hwmod_class = {
-	.name		= "gpmc",
-	.sysc		= &gpmc_sysc,
-};
-
-struct omap_hwmod am33xx_gpmc_hwmod = {
-	.name		= "gpmc",
-	.class		= &am33xx_gpmc_hwmod_class,
-	.clkdm_name	= "l3s_clkdm",
-	/* Skip reset for CONFIG_OMAP_GPMC_DEBUG for bootloader timings */
-	.flags		= DEBUG_OMAP_GPMC_HWMOD_FLAGS,
-	.main_clk	= "l3s_gclk",
-	.prcm		= {
-		.omap4	= {
-			.modulemode	= MODULEMODE_SWCTRL,
-		},
-	},
-};
-
 static void omap_hwmod_am33xx_clkctrl(void)
 {
 	CLKCTRL(am33xx_smartreflex0_hwmod,
 		AM33XX_CM_WKUP_SMARTREFLEX0_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_smartreflex1_hwmod,
 		AM33XX_CM_WKUP_SMARTREFLEX1_CLKCTRL_OFFSET);
-	CLKCTRL(am33xx_gpmc_hwmod, AM33XX_CM_PER_GPMC_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_l4_ls_hwmod, AM33XX_CM_PER_L4LS_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_l4_wkup_hwmod, AM33XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_l3_main_hwmod, AM33XX_CM_PER_L3_CLKCTRL_OFFSET);
@@ -275,7 +243,6 @@ static void omap_hwmod_am43xx_clkctrl(void)
 		AM43XX_CM_WKUP_SMARTREFLEX0_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_smartreflex1_hwmod,
 		AM43XX_CM_WKUP_SMARTREFLEX1_CLKCTRL_OFFSET);
-	CLKCTRL(am33xx_gpmc_hwmod, AM43XX_CM_PER_GPMC_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_l4_ls_hwmod, AM43XX_CM_PER_L4LS_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_l4_wkup_hwmod, AM43XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_l3_main_hwmod, AM43XX_CM_PER_L3_CLKCTRL_OFFSET);
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -214,7 +214,6 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
 	&am33xx_l3_main__debugss,
 	&am33xx_l4_wkup__smartreflex0,
 	&am33xx_l4_wkup__smartreflex1,
-	&am33xx_l3_s__gpmc,
 	&am33xx_l3_main__ocmc,
 	NULL,
 };
diff --git a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_43xx_data.c
@@ -150,7 +150,6 @@ static struct omap_hwmod_ocp_if *am43xx_hwmod_ocp_ifs[] __initdata = {
 	&am43xx_l4_wkup__control,
 	&am43xx_l4_wkup__smartreflex0,
 	&am43xx_l4_wkup__smartreflex1,
-	&am33xx_l3_s__gpmc,
 	&am33xx_l3_main__ocmc,
 	NULL,
 };
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 08/18] ARM: OMAP2+: Drop legacy platform data for am3 debugss
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (6 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 07/18] ARM: OMAP2+: Drop legacy platform data for am3 and am4 gpmc Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 09/18] ARM: OMAP2+: Drop legacy platform data for am3 emif Tony Lindgren
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx.dtsi              | 19 ++++++++---
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 37 ----------------------
 2 files changed, 14 insertions(+), 42 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -144,11 +144,20 @@ oppnitro-1000000000 {
 		};
 	};
 
-	pmu@4b000000 {
-		compatible = "arm,cortex-a8-pmu";
-		interrupts = <3>;
-		reg = <0x4b000000 0x1000000>;
-		ti,hwmods = "debugss";
+	target-module@4b000000 {
+		compatible = "ti,sysc-omap4-simple", "ti,sysc";
+		clocks = <&l3_aon_clkctrl AM3_L3_AON_DEBUGSS_CLKCTRL 0>;
+		clock-names = "fck";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0x0 0x4b000000 0x1000000>;
+
+		pmu@0 {
+			compatible = "arm,cortex-a8-pmu";
+			interrupts = <3>;
+			reg = <0 0x1000000>;
+			ti,hwmods = "debugss";
+		};
 	};
 
 	/*
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -129,34 +129,6 @@ static struct omap_hwmod am33xx_ocpwp_hwmod = {
 };
 #endif
 
-/*
- * 'debugss' class
- * debug sub system
- */
-static struct omap_hwmod_opt_clk debugss_opt_clks[] = {
-	{ .role = "dbg_sysclk", .clk = "dbg_sysclk_ck" },
-	{ .role = "dbg_clka", .clk = "dbg_clka_ck" },
-};
-
-static struct omap_hwmod_class am33xx_debugss_hwmod_class = {
-	.name		= "debugss",
-};
-
-static struct omap_hwmod am33xx_debugss_hwmod = {
-	.name		= "debugss",
-	.class		= &am33xx_debugss_hwmod_class,
-	.clkdm_name	= "l3_aon_clkdm",
-	.main_clk	= "trace_clk_div_ck",
-	.prcm		= {
-		.omap4	= {
-			.clkctrl_offs	= AM33XX_CM_WKUP_DEBUGSS_CLKCTRL_OFFSET,
-			.modulemode	= MODULEMODE_SWCTRL,
-		},
-	},
-	.opt_clks	= debugss_opt_clks,
-	.opt_clks_cnt	= ARRAY_SIZE(debugss_opt_clks),
-};
-
 /*
  * Interfaces
  */
@@ -177,14 +149,6 @@ static struct omap_hwmod_ocp_if am33xx_l3_main__l4_hs = {
 	.user		= OCP_USER_MPU | OCP_USER_SDMA,
 };
 
-/* l3_main -> debugss */
-static struct omap_hwmod_ocp_if am33xx_l3_main__debugss = {
-	.master		= &am33xx_l3_main_hwmod,
-	.slave		= &am33xx_debugss_hwmod,
-	.clk		= "dpll_core_m4_ck",
-	.user		= OCP_USER_MPU,
-};
-
 /* l4 wkup -> smartreflex0 */
 static struct omap_hwmod_ocp_if am33xx_l4_wkup__smartreflex0 = {
 	.master		= &am33xx_l4_wkup_hwmod,
@@ -211,7 +175,6 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
 	&am33xx_l3_main__l3_s,
 	&am33xx_l3_main__l3_instr,
 	&am33xx_l3_s__l3_main,
-	&am33xx_l3_main__debugss,
 	&am33xx_l4_wkup__smartreflex0,
 	&am33xx_l4_wkup__smartreflex1,
 	&am33xx_l3_main__ocmc,
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 09/18] ARM: OMAP2+: Drop legacy platform data for am3 emif
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (7 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 08/18] ARM: OMAP2+: Drop legacy platform data for am3 debugss Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 10/18] ARM: OMAP2+: Drop legacy platform data for am3 ocmcram Tony Lindgren
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Suman Anna,
	Roger Quadros, Tero Kristo

We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx.dtsi              | 24 +++++++++++++++-------
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 24 ----------------------
 2 files changed, 17 insertions(+), 31 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -479,14 +479,24 @@ pm_sram_data: pm-data-sram@1000 {
 			};
 		};
 
-		emif: emif@4c000000 {
-			compatible = "ti,emif-am3352";
-			reg = <0x4c000000 0x1000000>;
-			ti,hwmods = "emif";
-			interrupts = <101>;
-			sram = <&pm_sram_code
-				&pm_sram_data>;
+		target-module@4c000000 {
+			compatible = "ti,sysc-omap4-simple", "ti,sysc";
+			reg = <0x4c000000 0x4>;
+			reg-names = "rev";
+			clocks = <&l3_clkctrl AM3_L3_EMIF_CLKCTRL 0>;
+			clock-names = "fck";
 			ti,no-idle;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0x0 0x4c000000 0x1000000>;
+
+			emif: emif@0 {
+				compatible = "ti,emif-am3352";
+				reg = <0 0x1000000>;
+				interrupts = <101>;
+				sram = <&pm_sram_code
+					&pm_sram_data>;
+			};
 		};
 
 		target-module@50000000 {
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -27,21 +27,6 @@
  * IP blocks
  */
 
-/* emif */
-static struct omap_hwmod am33xx_emif_hwmod = {
-	.name		= "emif",
-	.class		= &am33xx_emif_hwmod_class,
-	.clkdm_name	= "l3_clkdm",
-	.flags		= HWMOD_INIT_NO_IDLE,
-	.main_clk	= "dpll_ddr_m2_div2_ck",
-	.prcm		= {
-		.omap4	= {
-			.clkctrl_offs	= AM33XX_CM_PER_EMIF_CLKCTRL_OFFSET,
-			.modulemode	= MODULEMODE_SWCTRL,
-		},
-	},
-};
-
 /* l4_hs */
 static struct omap_hwmod am33xx_l4_hs_hwmod = {
 	.name		= "l4_hs",
@@ -133,14 +118,6 @@ static struct omap_hwmod am33xx_ocpwp_hwmod = {
  * Interfaces
  */
 
-/* l3 main -> emif */
-static struct omap_hwmod_ocp_if am33xx_l3_main__emif = {
-	.master		= &am33xx_l3_main_hwmod,
-	.slave		= &am33xx_emif_hwmod,
-	.clk		= "dpll_core_m4_ck",
-	.user		= OCP_USER_MPU | OCP_USER_SDMA,
-};
-
 /* l3 main -> l4 hs */
 static struct omap_hwmod_ocp_if am33xx_l3_main__l4_hs = {
 	.master		= &am33xx_l3_main_hwmod,
@@ -166,7 +143,6 @@ static struct omap_hwmod_ocp_if am33xx_l4_wkup__smartreflex1 = {
 };
 
 static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
-	&am33xx_l3_main__emif,
 	&am33xx_mpu__l3_main,
 	&am33xx_mpu__prcm,
 	&am33xx_l3_s__l4_ls,
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 10/18] ARM: OMAP2+: Drop legacy platform data for am3 ocmcram
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (8 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 09/18] ARM: OMAP2+: Drop legacy platform data for am3 emif Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 11/18] ARM: OMAP2+: Drop legacy platform data for am3 instr Tony Lindgren
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Suman Anna,
	Roger Quadros, Tero Kristo

We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Note that we need to use "ti,no-idle" here.

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Suman Anna <s-anna@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx.dtsi                 | 36 ++++++++++++-------
 .../omap_hwmod_33xx_43xx_ipblock_data.c       |  1 -
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c    |  1 -
 3 files changed, 23 insertions(+), 15 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -459,23 +459,33 @@ cppi41dma: dma-controller@2000 {
 			};
 		};
 
-		ocmcram: sram@40300000 {
-			compatible = "mmio-sram";
-			reg = <0x40300000 0x10000>; /* 64k */
-			ranges = <0x0 0x40300000 0x10000>;
+		target-module@40300000 {
+			compatible = "ti,sysc-omap4-simple", "ti,sysc";
+			clocks = <&l3_clkctrl AM3_L3_OCMCRAM_CLKCTRL 0>;
+			clock-names = "fck";
+			ti,no-idle;
 			#address-cells = <1>;
 			#size-cells = <1>;
+			ranges = <0 0x40300000 0x10000>;
 
-			pm_sram_code: pm-code-sram@0 {
-				compatible = "ti,sram";
-				reg = <0x0 0x1000>;
-				protect-exec;
-			};
+			ocmcram: sram@0 {
+				compatible = "mmio-sram";
+				reg = <0 0x10000>; /* 64k */
+				ranges = <0 0 0x10000>;
+				#address-cells = <1>;
+				#size-cells = <1>;
 
-			pm_sram_data: pm-data-sram@1000 {
-				compatible = "ti,sram";
-				reg = <0x1000 0x1000>;
-				pool;
+				pm_sram_code: pm-code-sram@0 {
+					compatible = "ti,sram";
+					reg = <0x0 0x1000>;
+					protect-exec;
+				};
+
+				pm_sram_data: pm-data-sram@1000 {
+					compatible = "ti,sram";
+					reg = <0x1000 0x1000>;
+					pool;
+				};
 			};
 		};
 
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
@@ -229,7 +229,6 @@ static void omap_hwmod_am33xx_clkctrl(void)
 	CLKCTRL(am33xx_l3_main_hwmod, AM33XX_CM_PER_L3_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_mpu_hwmod , AM33XX_CM_MPU_MPU_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_l3_instr_hwmod , AM33XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET);
-	CLKCTRL(am33xx_ocmcram_hwmod , AM33XX_CM_PER_OCMCRAM_CLKCTRL_OFFSET);
 }
 
 void omap_hwmod_am33xx_reg(void)
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -153,7 +153,6 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
 	&am33xx_l3_s__l3_main,
 	&am33xx_l4_wkup__smartreflex0,
 	&am33xx_l4_wkup__smartreflex1,
-	&am33xx_l3_main__ocmc,
 	NULL,
 };
 
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 11/18] ARM: OMAP2+: Drop legacy platform data for am3 instr
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (9 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 10/18] ARM: OMAP2+: Drop legacy platform data for am3 ocmcram Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 12/18] ARM: OMAP2+: Drop legacy platform data for am3 mpuss Tony Lindgren
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx.dtsi                 | 20 +++++++++++++------
 .../omap_hwmod_33xx_43xx_ipblock_data.c       |  1 -
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c    |  1 -
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -146,17 +146,25 @@ oppnitro-1000000000 {
 
 	target-module@4b000000 {
 		compatible = "ti,sysc-omap4-simple", "ti,sysc";
-		clocks = <&l3_aon_clkctrl AM3_L3_AON_DEBUGSS_CLKCTRL 0>;
+		clocks = <&l3_clkctrl AM3_L3_L3_INSTR_CLKCTRL 0>;
 		clock-names = "fck";
+		ti,no-idle;
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x0 0x4b000000 0x1000000>;
 
-		pmu@0 {
-			compatible = "arm,cortex-a8-pmu";
-			interrupts = <3>;
-			reg = <0 0x1000000>;
-			ti,hwmods = "debugss";
+		target-module@140000 {
+			compatible = "ti,sysc-omap4-simple", "ti,sysc";
+			clocks = <&l3_aon_clkctrl AM3_L3_AON_DEBUGSS_CLKCTRL 0>;
+			clock-names = "fck";
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0x0 0x140000 0xec0000>;
+
+			pmu@0 {
+				compatible = "arm,cortex-a8-pmu";
+				interrupts = <3>;
+			};
 		};
 	};
 
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
@@ -246,7 +246,6 @@ static void omap_hwmod_am43xx_clkctrl(void)
 	CLKCTRL(am33xx_l4_wkup_hwmod, AM43XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_l3_main_hwmod, AM43XX_CM_PER_L3_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_mpu_hwmod , AM43XX_CM_MPU_MPU_CLKCTRL_OFFSET);
-	CLKCTRL(am33xx_l3_instr_hwmod , AM43XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_ocmcram_hwmod , AM43XX_CM_PER_OCMCRAM_CLKCTRL_OFFSET);
 }
 
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -149,7 +149,6 @@ static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
 	&am33xx_l3_s__l4_wkup,
 	&am33xx_l3_main__l4_hs,
 	&am33xx_l3_main__l3_s,
-	&am33xx_l3_main__l3_instr,
 	&am33xx_l3_s__l3_main,
 	&am33xx_l4_wkup__smartreflex0,
 	&am33xx_l4_wkup__smartreflex1,
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 12/18] ARM: OMAP2+: Drop legacy platform data for am3 mpuss
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (10 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 11/18] ARM: OMAP2+: Drop legacy platform data for am3 instr Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup Tony Lindgren
                   ` (6 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

As we're just dropping data, and the early platform data init
is based on the custom ti,hwmods property, we want to drop both
the platform data and ti,hwmods property in a single patch.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx-l4.dtsi               | 18 ++++++++++++++++++
 arch/arm/boot/dts/am33xx.dtsi                  |  6 ------
 .../omap_hwmod_33xx_43xx_ipblock_data.c        |  1 -
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c     |  2 --
 4 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi
--- a/arch/arm/boot/dts/am33xx-l4.dtsi
+++ b/arch/arm/boot/dts/am33xx-l4.dtsi
@@ -1861,6 +1861,24 @@ segment@200000 {					/* 0x48200000 */
 		compatible = "simple-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
+		ranges = <0x00000000 0x00200000 0x010000>;
+
+		target-module@0 {
+			compatible = "ti,sysc-omap4-simple", "ti,sysc";
+			power-domains = <&prm_mpu>;
+			clocks = <&mpu_clkctrl AM3_MPU_MPU_CLKCTRL 0>;
+			clock-names = "fck";
+			ti,no-idle;
+			#address-cells = <1>;
+			#size-cells = <1>;
+			ranges = <0 0 0x10000>;
+
+			mpu@0 {
+				compatible = "ti,omap3-mpu";
+				pm-sram = <&pm_sram_code
+					   &pm_sram_data>;
+			};
+		};
 	};
 
 	segment@300000 {					/* 0x48300000 */
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -174,12 +174,6 @@ pmu@0 {
 	 */
 	soc {
 		compatible = "ti,omap-infra";
-		mpu {
-			compatible = "ti,omap3-mpu";
-			ti,hwmods = "mpu";
-			pm-sram = <&pm_sram_code
-				   &pm_sram_data>;
-		};
 	};
 
 	/*
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_43xx_ipblock_data.c
@@ -227,7 +227,6 @@ static void omap_hwmod_am33xx_clkctrl(void)
 	CLKCTRL(am33xx_l4_ls_hwmod, AM33XX_CM_PER_L4LS_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_l4_wkup_hwmod, AM33XX_CM_WKUP_L4WKUP_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_l3_main_hwmod, AM33XX_CM_PER_L3_CLKCTRL_OFFSET);
-	CLKCTRL(am33xx_mpu_hwmod , AM33XX_CM_MPU_MPU_CLKCTRL_OFFSET);
 	CLKCTRL(am33xx_l3_instr_hwmod , AM33XX_CM_PER_L3_INSTR_CLKCTRL_OFFSET);
 }
 
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -143,8 +143,6 @@ static struct omap_hwmod_ocp_if am33xx_l4_wkup__smartreflex1 = {
 };
 
 static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
-	&am33xx_mpu__l3_main,
-	&am33xx_mpu__prcm,
 	&am33xx_l3_s__l4_ls,
 	&am33xx_l3_s__l4_wkup,
 	&am33xx_l3_main__l4_hs,
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (11 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 12/18] ARM: OMAP2+: Drop legacy platform data for am3 mpuss Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
       [not found]   ` <CAMuHMdWribr=eg1LkKce=Hamm+JwSz5UFEXLKUmKkqqz1RpL_w@mail.gmail.com>
  2020-10-26 11:22 ` [PATCH 14/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_fast Tony Lindgren
                   ` (5 subsequent siblings)
  18 siblings, 1 reply; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

We can now enable simple-pm-bus to use genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx-l4.dtsi | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi
--- a/arch/arm/boot/dts/am33xx-l4.dtsi
+++ b/arch/arm/boot/dts/am33xx-l4.dtsi
@@ -1,5 +1,8 @@
 &l4_wkup {						/* 0x44c00000 */
-	compatible = "ti,am33xx-l4-wkup", "simple-bus";
+	compatible = "ti,am33xx-l4-wkup", "simple-pm-bus";
+	power-domains = <&prm_wkup>;
+	clocks = <&l4_wkup_clkctrl AM3_L4_WKUP_L4_WKUP_CLKCTRL 0>;
+	clock-names = "fck";
 	reg = <0x44c00000 0x800>,
 	      <0x44c00800 0x800>,
 	      <0x44c01000 0x400>,
@@ -12,7 +15,7 @@ &l4_wkup {						/* 0x44c00000 */
 		 <0x00200000 0x44e00000 0x100000>;	/* segment 2 */
 
 	segment@0 {					/* 0x44c00000 */
-		compatible = "simple-bus";
+		compatible = "simple-pm-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
@@ -22,7 +25,7 @@ segment@0 {					/* 0x44c00000 */
 	};
 
 	segment@100000 {					/* 0x44d00000 */
-		compatible = "simple-bus";
+		compatible = "simple-pm-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x00000000 0x00100000 0x004000>,	/* ap 4 */
@@ -54,7 +57,7 @@ wkup_m3: cpu@0 {
 	};
 
 	segment@200000 {					/* 0x44e00000 */
-		compatible = "simple-bus";
+		compatible = "simple-pm-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x00000000 0x00200000 0x002000>,	/* ap 8 */
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 14/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_fast
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (12 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 15/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_per Tony Lindgren
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

We can now enable simple-pm-bus to use genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx-l4.dtsi | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi
--- a/arch/arm/boot/dts/am33xx-l4.dtsi
+++ b/arch/arm/boot/dts/am33xx-l4.dtsi
@@ -669,7 +669,10 @@ target-module@46000 {			/* 0x47c46000, ap 25 2c.0 */
 };
 
 &l4_fast {					/* 0x4a000000 */
-	compatible = "ti,am33xx-l4-fast", "simple-bus";
+	compatible = "ti,am33xx-l4-fast", "simple-pm-bus";
+	power-domains = <&prm_per>;
+	clocks = <&l4hs_clkctrl AM3_L4HS_L4_HS_CLKCTRL 0>;
+	clock-names = "fck";
 	reg = <0x4a000000 0x800>,
 	      <0x4a000800 0x800>,
 	      <0x4a001000 0x400>;
@@ -679,7 +682,7 @@ &l4_fast {					/* 0x4a000000 */
 	ranges = <0x00000000 0x4a000000 0x1000000>;	/* segment 0 */
 
 	segment@0 {					/* 0x4a000000 */
-		compatible = "simple-bus";
+		compatible = "simple-pm-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 15/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_per
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (13 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 14/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_fast Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 16/18] ARM: dts: Use simple-pm-bus for genpd for am3 l3 Tony Lindgren
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

We can now enable simple-pm-bus to use genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx-l4.dtsi | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx-l4.dtsi b/arch/arm/boot/dts/am33xx-l4.dtsi
--- a/arch/arm/boot/dts/am33xx-l4.dtsi
+++ b/arch/arm/boot/dts/am33xx-l4.dtsi
@@ -851,7 +851,10 @@ target-module@3000 {			/* 0x4b143000, ap 6 04.0 */
 };
 
 &l4_per {						/* 0x48000000 */
-	compatible = "ti,am33xx-l4-per", "simple-bus";
+	compatible = "ti,am33xx-l4-per", "simple-pm-bus";
+	power-domains = <&prm_per>;
+	clocks = <&l4ls_clkctrl AM3_L4LS_L4_LS_CLKCTRL 0>;
+	clock-names = "fck";
 	reg = <0x48000000 0x800>,
 	      <0x48000800 0x800>,
 	      <0x48001000 0x400>,
@@ -869,7 +872,7 @@ &l4_per {						/* 0x48000000 */
 		 <0x46400000 0x46400000 0x400000>;	/* l3 data port */
 
 	segment@0 {					/* 0x48000000 */
-		compatible = "simple-bus";
+		compatible = "simple-pm-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x00000000 0x00000000 0x000800>,	/* ap 0 */
@@ -1480,7 +1483,7 @@ target-module@cc000 {			/* 0x480cc000, ap 89 0e.0 */
 	};
 
 	segment@100000 {					/* 0x48100000 */
-		compatible = "simple-bus";
+		compatible = "simple-pm-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x0008c000 0x0018c000 0x001000>,	/* ap 42 */
@@ -1864,7 +1867,7 @@ mmc2: mmc@0 {
 	};
 
 	segment@200000 {					/* 0x48200000 */
-		compatible = "simple-bus";
+		compatible = "simple-pm-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x00000000 0x00200000 0x010000>;
@@ -1888,7 +1891,7 @@ mpu@0 {
 	};
 
 	segment@300000 {					/* 0x48300000 */
-		compatible = "simple-bus";
+		compatible = "simple-pm-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges = <0x00000000 0x00300000 0x001000>,	/* ap 66 */
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 16/18] ARM: dts: Use simple-pm-bus for genpd for am3 l3
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (14 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 15/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_per Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 17/18] ARM: OMAP2+: Drop legacy remaining legacy platform data for am3 Tony Lindgren
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

We can now enable simple-pm-bus to use genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/boot/dts/am33xx.dtsi | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -184,11 +184,13 @@ soc {
 	 * the whole bus hierarchy.
 	 */
 	ocp: ocp {
-		compatible = "simple-bus";
+		compatible = "simple-pm-bus";
+		power-domains = <&prm_per>;
+		clocks = <&l3_clkctrl AM3_L3_L3_MAIN_CLKCTRL 0>;
+		clock-names = "fck";
 		#address-cells = <1>;
 		#size-cells = <1>;
 		ranges;
-		ti,hwmods = "l3_main";
 
 		l4_wkup: interconnect@44c00000 {
 		};
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 17/18] ARM: OMAP2+: Drop legacy remaining legacy platform data for am3
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (15 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 16/18] ARM: dts: Use simple-pm-bus for genpd for am3 l3 Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 11:22 ` [PATCH 18/18] ARM: OMAP2+: Build hwmod related code as needed Tony Lindgren
  2020-10-26 13:10 ` [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

We can now drop the remaining legacy platform data as we are
probing devices with device tree data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/Makefile               |   1 -
 arch/arm/mach-omap2/io.c                   |   2 -
 arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 161 ---------------------
 3 files changed, 164 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/omap_hwmod_33xx_data.c

diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -205,7 +205,6 @@ obj-$(CONFIG_SOC_OMAP2430)		+= omap_hwmod_2xxx_interconnect_data.o
 obj-$(CONFIG_SOC_OMAP2430)		+= omap_hwmod_2430_data.o
 obj-$(CONFIG_ARCH_OMAP3)		+= omap_hwmod_2xxx_3xxx_ipblock_data.o
 obj-$(CONFIG_ARCH_OMAP3)		+= omap_hwmod_3xxx_data.o
-obj-$(CONFIG_SOC_AM33XX)		+= omap_hwmod_33xx_data.o
 obj-$(CONFIG_SOC_AM33XX)		+= omap_hwmod_33xx_43xx_interconnect_data.o
 obj-$(CONFIG_SOC_AM33XX)		+= omap_hwmod_33xx_43xx_ipblock_data.o
 obj-$(CONFIG_SOC_AM43XX)		+= omap_hwmod_43xx_data.o
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -567,8 +567,6 @@ void __init am33xx_init_early(void)
 	omap2_prcm_base_init();
 	am33xx_powerdomains_init();
 	am33xx_clockdomains_init();
-	am33xx_hwmod_init();
-	omap_hwmod_init_postsetup();
 	omap_clk_soc_init = am33xx_dt_clk_init;
 	omap_secure_init();
 }
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
deleted file mode 100644
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * omap_hwmod_33xx_data.c: Hardware modules present on the AM33XX chips
- *
- * Copyright (C) {2012} Texas Instruments Incorporated - https://www.ti.com/
- *
- * This file is automatically generated from the AM33XX hardware databases.
- * 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 version 2.
- *
- * This program is distributed "as is" WITHOUT ANY WARRANTY of any
- * kind, whether express or implied; without even the implied warranty
- * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#include "omap_hwmod.h"
-#include "omap_hwmod_common_data.h"
-
-#include "control.h"
-#include "cm33xx.h"
-#include "prm33xx.h"
-#include "prm-regbits-33xx.h"
-#include "omap_hwmod_33xx_43xx_common_data.h"
-
-/*
- * IP blocks
- */
-
-/* l4_hs */
-static struct omap_hwmod am33xx_l4_hs_hwmod = {
-	.name		= "l4_hs",
-	.class		= &am33xx_l4_hwmod_class,
-	.clkdm_name	= "l4hs_clkdm",
-	.flags		= HWMOD_INIT_NO_IDLE,
-	.main_clk	= "l4hs_gclk",
-	.prcm		= {
-		.omap4	= {
-			.clkctrl_offs	= AM33XX_CM_PER_L4HS_CLKCTRL_OFFSET,
-			.modulemode	= MODULEMODE_SWCTRL,
-		},
-	},
-};
-
-/*
- * Modules omap_hwmod structures
- *
- * The following IPs are excluded for the moment because:
- * - They do not need an explicit SW control using omap_hwmod API.
- * - They still need to be validated with the driver
- *   properly adapted to omap_hwmod / omap_device
- *
- *    - cEFUSE (doesn't fall under any ocp_if)
- *    - clkdiv32k
- *    - ocp watch point
- */
-#if 0
-/*
- * 'cefuse' class
- */
-static struct omap_hwmod_class am33xx_cefuse_hwmod_class = {
-	.name		= "cefuse",
-};
-
-static struct omap_hwmod am33xx_cefuse_hwmod = {
-	.name		= "cefuse",
-	.class		= &am33xx_cefuse_hwmod_class,
-	.clkdm_name	= "l4_cefuse_clkdm",
-	.main_clk	= "cefuse_fck",
-	.prcm		= {
-		.omap4	= {
-			.clkctrl_offs	= AM33XX_CM_CEFUSE_CEFUSE_CLKCTRL_OFFSET,
-			.modulemode	= MODULEMODE_SWCTRL,
-		},
-	},
-};
-
-/*
- * 'clkdiv32k' class
- */
-static struct omap_hwmod_class am33xx_clkdiv32k_hwmod_class = {
-	.name		= "clkdiv32k",
-};
-
-static struct omap_hwmod am33xx_clkdiv32k_hwmod = {
-	.name		= "clkdiv32k",
-	.class		= &am33xx_clkdiv32k_hwmod_class,
-	.clkdm_name	= "clk_24mhz_clkdm",
-	.main_clk	= "clkdiv32k_ick",
-	.prcm		= {
-		.omap4	= {
-			.clkctrl_offs	= AM33XX_CM_PER_CLKDIV32K_CLKCTRL_OFFSET,
-			.modulemode	= MODULEMODE_SWCTRL,
-		},
-	},
-};
-
-/* ocpwp */
-static struct omap_hwmod_class am33xx_ocpwp_hwmod_class = {
-	.name		= "ocpwp",
-};
-
-static struct omap_hwmod am33xx_ocpwp_hwmod = {
-	.name		= "ocpwp",
-	.class		= &am33xx_ocpwp_hwmod_class,
-	.clkdm_name	= "l4ls_clkdm",
-	.main_clk	= "l4ls_gclk",
-	.prcm		= {
-		.omap4	= {
-			.clkctrl_offs	= AM33XX_CM_PER_OCPWP_CLKCTRL_OFFSET,
-			.modulemode	= MODULEMODE_SWCTRL,
-		},
-	},
-};
-#endif
-
-/*
- * Interfaces
- */
-
-/* l3 main -> l4 hs */
-static struct omap_hwmod_ocp_if am33xx_l3_main__l4_hs = {
-	.master		= &am33xx_l3_main_hwmod,
-	.slave		= &am33xx_l4_hs_hwmod,
-	.clk		= "l3s_gclk",
-	.user		= OCP_USER_MPU | OCP_USER_SDMA,
-};
-
-/* l4 wkup -> smartreflex0 */
-static struct omap_hwmod_ocp_if am33xx_l4_wkup__smartreflex0 = {
-	.master		= &am33xx_l4_wkup_hwmod,
-	.slave		= &am33xx_smartreflex0_hwmod,
-	.clk		= "dpll_core_m4_div2_ck",
-	.user		= OCP_USER_MPU,
-};
-
-/* l4 wkup -> smartreflex1 */
-static struct omap_hwmod_ocp_if am33xx_l4_wkup__smartreflex1 = {
-	.master		= &am33xx_l4_wkup_hwmod,
-	.slave		= &am33xx_smartreflex1_hwmod,
-	.clk		= "dpll_core_m4_div2_ck",
-	.user		= OCP_USER_MPU,
-};
-
-static struct omap_hwmod_ocp_if *am33xx_hwmod_ocp_ifs[] __initdata = {
-	&am33xx_l3_s__l4_ls,
-	&am33xx_l3_s__l4_wkup,
-	&am33xx_l3_main__l4_hs,
-	&am33xx_l3_main__l3_s,
-	&am33xx_l3_s__l3_main,
-	&am33xx_l4_wkup__smartreflex0,
-	&am33xx_l4_wkup__smartreflex1,
-	NULL,
-};
-
-int __init am33xx_hwmod_init(void)
-{
-	omap_hwmod_am33xx_reg();
-	omap_hwmod_init();
-	return omap_hwmod_register_links(am33xx_hwmod_ocp_ifs);
-}
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH 18/18] ARM: OMAP2+: Build hwmod related code as needed
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (16 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 17/18] ARM: OMAP2+: Drop legacy remaining legacy platform data for am3 Tony Lindgren
@ 2020-10-26 11:22 ` Tony Lindgren
  2020-10-26 13:10 ` [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 11:22 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

If we have only am3 selected, there's no need to build the
hwmod related code as we are probing devices with device tree
data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/Kconfig        |  9 +++++++++
 arch/arm/mach-omap2/Makefile       | 13 ++++++-------
 arch/arm/mach-omap2/pdata-quirks.c | 12 +++++++-----
 3 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -2,11 +2,15 @@
 menu "TI OMAP/AM/DM/DRA Family"
 	depends on ARCH_MULTI_V6 || ARCH_MULTI_V7
 
+config OMAP_HWMOD
+	bool
+
 config ARCH_OMAP2
 	bool "TI OMAP2"
 	depends on ARCH_MULTI_V6
 	select ARCH_OMAP2PLUS
 	select CPU_V6
+	select OMAP_HWMOD
 	select SOC_HAS_OMAP2_SDRC
 
 config ARCH_OMAP3
@@ -14,6 +18,7 @@ config ARCH_OMAP3
 	depends on ARCH_MULTI_V7
 	select ARCH_OMAP2PLUS
 	select ARM_CPU_SUSPEND if PM
+	select OMAP_HWMOD
 	select OMAP_INTERCONNECT
 	select PM_OPP if PM
 	select PM if CPU_IDLE
@@ -30,6 +35,7 @@ config ARCH_OMAP4
 	select ARM_GIC
 	select HAVE_ARM_SCU if SMP
 	select HAVE_ARM_TWD if SMP
+	select OMAP_HWMOD
 	select OMAP_INTERCONNECT
 	select OMAP_INTERCONNECT_BARRIER
 	select PL310_ERRATA_588369 if CACHE_L2X0
@@ -49,6 +55,7 @@ config SOC_OMAP5
 	select HAVE_ARM_SCU if SMP
 	select HAVE_ARM_ARCH_TIMER
 	select ARM_ERRATA_798181 if SMP
+	select OMAP_HWMOD
 	select OMAP_INTERCONNECT
 	select OMAP_INTERCONNECT_BARRIER
 	select PM_OPP if PM
@@ -71,6 +78,7 @@ config SOC_AM43XX
 	select HAVE_ARM_TWD
 	select ARM_ERRATA_754322
 	select ARM_ERRATA_775420
+	select OMAP_HWMOD
 	select OMAP_INTERCONNECT
 	select ARM_CPU_SUSPEND if PM
 
@@ -84,6 +92,7 @@ config SOC_DRA7XX
 	select HAVE_ARM_ARCH_TIMER
 	select IRQ_CROSSBAR
 	select ARM_ERRATA_798181 if SMP
+	select OMAP_HWMOD
 	select OMAP_INTERCONNECT
 	select OMAP_INTERCONNECT_BARRIER
 	select PM_OPP if PM
diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
@@ -8,18 +8,20 @@ ccflags-y := -I$(srctree)/$(src)/include \
 
 # Common support
 obj-y := id.o io.o control.o devices.o fb.o pm.o \
-	 common.o dma.o wd_timer.o display.o i2c.o hdq1w.o omap_hwmod.o \
-	 omap_device.o omap-headsmp.o sram.o
+	 common.o dma.o omap-headsmp.o sram.o
 
 hwmod-common				= omap_hwmod.o omap_hwmod_reset.o \
-					  omap_hwmod_common_data.o
+					  omap_hwmod_common_data.o \
+					  omap_hwmod_common_ipblock_data.o \
+					  omap_device.o display.o hdq1w.o \
+					  i2c.o wd_timer.o
 clock-common				= clock.o
 secure-common				= omap-smc.o omap-secure.o
 
 obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common)
 obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) $(secure-common)
 obj-$(CONFIG_ARCH_OMAP4) += $(hwmod-common) $(secure-common)
-obj-$(CONFIG_SOC_AM33XX) += $(hwmod-common) $(secure-common)
+obj-$(CONFIG_SOC_AM33XX) += $(secure-common)
 obj-$(CONFIG_SOC_OMAP5)  += $(hwmod-common) $(secure-common)
 obj-$(CONFIG_SOC_AM43XX) += $(hwmod-common) $(secure-common)
 obj-$(CONFIG_SOC_DRA7XX) += $(hwmod-common) $(secure-common)
@@ -194,7 +196,6 @@ obj-$(CONFIG_SOC_OMAP2420)		+= opp2420_data.o
 obj-$(CONFIG_SOC_OMAP2430)		+= opp2430_data.o
 
 # hwmod data
-obj-y					+= omap_hwmod_common_ipblock_data.o
 obj-$(CONFIG_SOC_OMAP2420)		+= omap_hwmod_2xxx_ipblock_data.o
 obj-$(CONFIG_SOC_OMAP2420)		+= omap_hwmod_2xxx_3xxx_ipblock_data.o
 obj-$(CONFIG_SOC_OMAP2420)		+= omap_hwmod_2xxx_interconnect_data.o
@@ -205,8 +206,6 @@ obj-$(CONFIG_SOC_OMAP2430)		+= omap_hwmod_2xxx_interconnect_data.o
 obj-$(CONFIG_SOC_OMAP2430)		+= omap_hwmod_2430_data.o
 obj-$(CONFIG_ARCH_OMAP3)		+= omap_hwmod_2xxx_3xxx_ipblock_data.o
 obj-$(CONFIG_ARCH_OMAP3)		+= omap_hwmod_3xxx_data.o
-obj-$(CONFIG_SOC_AM33XX)		+= omap_hwmod_33xx_43xx_interconnect_data.o
-obj-$(CONFIG_SOC_AM33XX)		+= omap_hwmod_33xx_43xx_ipblock_data.o
 obj-$(CONFIG_SOC_AM43XX)		+= omap_hwmod_43xx_data.o
 obj-$(CONFIG_SOC_AM43XX)		+= omap_hwmod_33xx_43xx_interconnect_data.o
 obj-$(CONFIG_SOC_AM43XX)		+= omap_hwmod_33xx_43xx_ipblock_data.o
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -94,6 +94,7 @@ static void __init hsmmc2_internal_input_clk(void)
 	omap_ctrl_writel(reg, OMAP343X_CONTROL_DEVCONF1);
 }
 
+#ifdef CONFIG_OMAP_HWMOD
 static struct iommu_platform_data omap3_iommu_pdata = {
 	.reset_name = "mmu",
 	.assert_reset = omap_device_assert_hardreset,
@@ -106,6 +107,7 @@ static struct iommu_platform_data omap3_iommu_isp_pdata = {
 	.device_enable = omap_device_enable,
 	.device_idle = omap_device_idle,
 };
+#endif
 
 static int omap3_sbc_t3730_twl_callback(struct device *dev,
 					   unsigned gpio,
@@ -272,7 +274,7 @@ static void __init omap3_pandora_legacy_init(void)
 }
 #endif /* CONFIG_ARCH_OMAP3 */
 
-#if defined(CONFIG_SOC_AM33XX) || defined(CONFIG_SOC_AM43XX)
+#if defined(CONFIG_SOC_AM43XX)
 static struct wkup_m3_platform_data wkup_m3_data = {
 	.reset_name = "wkup_m3",
 	.assert_reset = omap_device_assert_hardreset,
@@ -370,6 +372,7 @@ static void ti_sysc_clkdm_allow_idle(struct device *dev,
 		clkdm_allow_idle(cookie->clkdm);
 }
 
+#ifdef CONFIG_OMAP_HWMOD
 static int ti_sysc_enable_module(struct device *dev,
 				 const struct ti_sysc_cookie *cookie)
 {
@@ -396,6 +399,7 @@ static int ti_sysc_shutdown_module(struct device *dev,
 
 	return omap_hwmod_shutdown(cookie->data);
 }
+#endif	/* CONFIG_OMAP_HWMOD */
 
 static bool ti_sysc_soc_type_gp(void)
 {
@@ -410,10 +414,12 @@ static struct ti_sysc_platform_data ti_sysc_pdata = {
 	.init_clockdomain = ti_sysc_clkdm_init,
 	.clkdm_deny_idle = ti_sysc_clkdm_deny_idle,
 	.clkdm_allow_idle = ti_sysc_clkdm_allow_idle,
+#ifdef CONFIG_OMAP_HWMOD
 	.init_module = omap_hwmod_init_module,
 	.enable_module = ti_sysc_enable_module,
 	.idle_module = ti_sysc_idle_module,
 	.shutdown_module = ti_sysc_shutdown_module,
+#endif
 };
 
 static struct pcs_pdata pcs_pdata;
@@ -501,10 +507,6 @@ static struct of_dev_auxdata omap_auxdata_lookup[] = {
 	OF_DEV_AUXDATA("ti,omap3-mcbsp", 0x49024000, "49024000.mcbsp", &mcbsp_pdata),
 #endif
 #endif
-#ifdef CONFIG_SOC_AM33XX
-	OF_DEV_AUXDATA("ti,am3352-wkup-m3", 0x44d00000, "44d00000.wkup_m3",
-		       &wkup_m3_data),
-#endif
 #ifdef CONFIG_SOC_AM43XX
 	OF_DEV_AUXDATA("ti,am4372-wkup-m3", 0x44d00000, "44d00000.wkup_m3",
 		       &wkup_m3_data),
-- 
2.29.1

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 00/18] Drop remaining pdata for am335x and use genpd
  2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
                   ` (17 preceding siblings ...)
  2020-10-26 11:22 ` [PATCH 18/18] ARM: OMAP2+: Build hwmod related code as needed Tony Lindgren
@ 2020-10-26 13:10 ` Tony Lindgren
  18 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2020-10-26 13:10 UTC (permalink / raw)
  To: linux-omap
  Cc: Benoît Cousson, devicetree, Dave Gerlach, Roger Quadros,
	Suman Anna, Tero Kristo

* Tony Lindgren <tony@atomide.com> [201026 11:22]:
> With the related driver changes, we can now drop the remaining platform
> data for am335x for v5.11 merge window and probe using device tree data
> and genpd instead.

FYI, I've also pushed an initial branch for testing with all the patches
applied to [3] below.

Regards,

Tony

> [1] https://lore.kernel.org/linux-omap/20201026105812.38418-1-tony@atomide.com/T/#t
> [2] https://lore.kernel.org/linux-omap/20201026111049.54835-1-tony@atomide.com/T/#t
[3] https://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git/log/?h=omap-for-v5.11/genpd

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
       [not found]   ` <CAMuHMdWribr=eg1LkKce=Hamm+JwSz5UFEXLKUmKkqqz1RpL_w@mail.gmail.com>
@ 2021-01-13 16:23     ` Tony Lindgren
  2021-01-13 16:41       ` Geert Uytterhoeven
  0 siblings, 1 reply; 30+ messages in thread
From: Tony Lindgren @ 2021-01-13 16:23 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: open list:TI ETHERNET SWITCH DRIVER (CPSW),
	Benoît Cousson,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Dave Gerlach, Roger Quadros, Suman Anna, Tero Kristo,
	Matti Vaittinen

Hi,

* Geert Uytterhoeven <geert@linux-m68k.org> [210113 16:09]:
> Hi Tony,
> 
> On Mon, Oct 26, 2020 at 1:57 PM Tony Lindgren <tony@atomide.com> wrote:
> > We can now enable simple-pm-bus to use genpd.
> >
> > Signed-off-by: Tony Lindgren <tony@atomide.com>
> 
> Thanks for your patch, which is now commit 5a230524f87926f2 ("ARM:
> dts: Use simple-pm-bus for genpd for am3 l4_wkup") in v5.11-rc1.
> 
> I have bisected a boot failure on BeagleBone Black to this commit.
> Reverting this commit on top of a v5.11-rc3-based tree does not help.
> 
> With "earlycon keep_bootcon", I do get some output, the last line is
> 
>     l4-wkup-clkctrl:00d4:0: failed to disable
> 
> I have attached the kernel output of the previous (good) commit,
> and the failing one.
> 
> Do you have a clue?

Strange, bbb has been working for me with NFSroot, that's with
omap2plus_defconfig. Care to send your .config so I can give it a
try tomorrow?

Regards,

Tony

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
  2021-01-13 16:23     ` Tony Lindgren
@ 2021-01-13 16:41       ` Geert Uytterhoeven
  2021-01-13 16:47         ` Tony Lindgren
  0 siblings, 1 reply; 30+ messages in thread
From: Geert Uytterhoeven @ 2021-01-13 16:41 UTC (permalink / raw)
  To: Tony Lindgren
  Cc: open list:TI ETHERNET SWITCH DRIVER (CPSW),
	Benoît Cousson,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Dave Gerlach, Roger Quadros, Suman Anna, Tero Kristo,
	Matti Vaittinen

Hi Tony,

On Wed, Jan 13, 2021 at 5:23 PM Tony Lindgren <tony@atomide.com> wrote:
> * Geert Uytterhoeven <geert@linux-m68k.org> [210113 16:09]:
> > On Mon, Oct 26, 2020 at 1:57 PM Tony Lindgren <tony@atomide.com> wrote:
> > > We can now enable simple-pm-bus to use genpd.
> > >
> > > Signed-off-by: Tony Lindgren <tony@atomide.com>
> >
> > Thanks for your patch, which is now commit 5a230524f87926f2 ("ARM:
> > dts: Use simple-pm-bus for genpd for am3 l4_wkup") in v5.11-rc1.
> >
> > I have bisected a boot failure on BeagleBone Black to this commit.
> > Reverting this commit on top of a v5.11-rc3-based tree does not help.
> >
> > With "earlycon keep_bootcon", I do get some output, the last line is
> >
> >     l4-wkup-clkctrl:00d4:0: failed to disable
> >
> > I have attached the kernel output of the previous (good) commit,
> > and the failing one.
> >
> > Do you have a clue?
>
> Strange, bbb has been working for me with NFSroot, that's with
> omap2plus_defconfig. Care to send your .config so I can give it a
> try tomorrow?

Sent by private email.

Just tried omap2plus_defconfig, and it also hangs during boot.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
  2021-01-13 16:41       ` Geert Uytterhoeven
@ 2021-01-13 16:47         ` Tony Lindgren
  2021-01-13 17:28           ` Tony Lindgren
  0 siblings, 1 reply; 30+ messages in thread
From: Tony Lindgren @ 2021-01-13 16:47 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: open list:TI ETHERNET SWITCH DRIVER (CPSW),
	Benoît Cousson,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Dave Gerlach, Roger Quadros, Suman Anna, Tero Kristo,
	Matti Vaittinen

* Geert Uytterhoeven <geert@linux-m68k.org> [210113 16:42]:
> On Wed, Jan 13, 2021 at 5:23 PM Tony Lindgren <tony@atomide.com> wrote:
> > Strange, bbb has been working for me with NFSroot, that's with
> > omap2plus_defconfig. Care to send your .config so I can give it a
> > try tomorrow?
> 
> Sent by private email.

OK thanks.

> Just tried omap2plus_defconfig, and it also hangs during boot.

Hmm OK. Will give it a try tomorrow.

Reegards,

Tony

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
  2021-01-13 16:47         ` Tony Lindgren
@ 2021-01-13 17:28           ` Tony Lindgren
  2021-01-14  7:20             ` Tony Lindgren
  0 siblings, 1 reply; 30+ messages in thread
From: Tony Lindgren @ 2021-01-13 17:28 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: open list:TI ETHERNET SWITCH DRIVER (CPSW),
	Benoît Cousson,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Dave Gerlach, Roger Quadros, Suman Anna, Tero Kristo,
	Matti Vaittinen

* Tony Lindgren <tony@atomide.com> [210113 16:48]:
> * Geert Uytterhoeven <geert@linux-m68k.org> [210113 16:42]:
> > On Wed, Jan 13, 2021 at 5:23 PM Tony Lindgren <tony@atomide.com> wrote:
> > > Strange, bbb has been working for me with NFSroot, that's with
> > > omap2plus_defconfig. Care to send your .config so I can give it a
> > > try tomorrow?
> > 
> > Sent by private email.
> 
> OK thanks.
> 
> > Just tried omap2plus_defconfig, and it also hangs during boot.

Hmm and I just tried and bbb still boots NFSroot for me at commit
5a230524f879 ("ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup").

> Hmm OK. Will give it a try tomorrow.

Later,

Tony

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
  2021-01-13 17:28           ` Tony Lindgren
@ 2021-01-14  7:20             ` Tony Lindgren
  2021-01-14  7:58               ` Vaittinen, Matti
  0 siblings, 1 reply; 30+ messages in thread
From: Tony Lindgren @ 2021-01-14  7:20 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: open list:TI ETHERNET SWITCH DRIVER (CPSW),
	Benoît Cousson,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	Dave Gerlach, Roger Quadros, Suman Anna, Tero Kristo,
	Matti Vaittinen

* Tony Lindgren <tony@atomide.com> [210113 17:30]:
> * Tony Lindgren <tony@atomide.com> [210113 16:48]:
> > * Geert Uytterhoeven <geert@linux-m68k.org> [210113 16:42]:
> > > On Wed, Jan 13, 2021 at 5:23 PM Tony Lindgren <tony@atomide.com> wrote:
> > > > Strange, bbb has been working for me with NFSroot, that's with
> > > > omap2plus_defconfig. Care to send your .config so I can give it a
> > > > try tomorrow?
> > > 
> > > Sent by private email.
> > 
> > OK thanks.
> > 
> > > Just tried omap2plus_defconfig, and it also hangs during boot.
> 
> Hmm and I just tried and bbb still boots NFSroot for me at commit
> 5a230524f879 ("ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup").
> 
> > Hmm OK. Will give it a try tomorrow.

Not sure why your bbb would produce all the deferred probe while mine
won't.

However, I've noticed that we need the following patch on omap4/5 and
dra7 when playing with updating them to use genpd.

Maybe this also fixes your boot issue if you can give it a try?

Regards,

Tony

8< -------------------
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -642,6 +642,51 @@ static int sysc_parse_and_check_child_range(struct sysc *ddata)
 	return 0;
 }
 
+/* Interconnect instances to probe before l4_per instances */
+static struct resource early_bus_ranges[] = {
+	/* am3/4 l4_wkup */
+	{ .start = 0x44c00000, .end = 0x44c00000 + 0x300000, },
+	/* omap4/5 and dra7 l4_cfg */
+	{ .start = 0x4a000000, .end = 0x4a000000 + 0x300000, },
+	/* omap4 l4_wkup */
+	{ .start = 0x4a300000, .end = 0x4a300000 + 0x30000,  },
+	/* omap5 and dra7 l4_wkup without dra7 dcan segment */
+	{ .start = 0x4ae00000, .end = 0x4ae00000 + 0x30000,  },
+};
+
+static atomic_t sysc_defer = ATOMIC_INIT(10);
+
+/**
+ * sysc_defer_non_critical - defer non_critical interconnect probing
+ * @ddata: device driver data
+ *
+ * We want to probe l4_cfg and l4_wkup interconnect instances before any
+ * l4_per instances as l4_per instances depend on resources on l4_cfg and
+ * l4_wkup interconnects.
+ */
+static int sysc_defer_non_critical(struct sysc *ddata)
+{
+	struct resource *res;
+	int i;
+
+	if (!atomic_read(&sysc_defer))
+		return 0;
+
+	for (i = 0; i < ARRAY_SIZE(early_bus_ranges); i++) {
+		res = &early_bus_ranges[i];
+		if (ddata->module_pa >= res->start &&
+		    ddata->module_pa <= res->end) {
+			atomic_set(&sysc_defer, 0);
+
+			return 0;
+		}
+	}
+
+	atomic_dec_if_positive(&sysc_defer);
+
+	return -EPROBE_DEFER;
+}
+
 static struct device_node *stdout_path;
 
 static void sysc_init_stdout_path(struct sysc *ddata)
@@ -870,6 +915,10 @@ static int sysc_map_and_check_registers(struct sysc *ddata)
 	if (error)
 		return error;
 
+	error = sysc_defer_non_critical(ddata);
+	if (error)
+		return error;
+
 	sysc_check_children(ddata);
 
 	error = sysc_parse_registers(ddata);
-- 
2.30.0

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
  2021-01-14  7:20             ` Tony Lindgren
@ 2021-01-14  7:58               ` Vaittinen, Matti
  2021-01-14  8:08                 ` Tony Lindgren
  0 siblings, 1 reply; 30+ messages in thread
From: Vaittinen, Matti @ 2021-01-14  7:58 UTC (permalink / raw)
  To: tony, geert
  Cc: rogerq, s-anna, bcousson, devicetree, d-gerlach, linux-omap, t-kristo

Morning Tony & All,

On Thu, 2021-01-14 at 09:20 +0200, Tony Lindgren wrote:
> * Tony Lindgren <tony@atomide.com> [210113 17:30]:
> > * Tony Lindgren <tony@atomide.com> [210113 16:48]:
> > > * Geert Uytterhoeven <geert@linux-m68k.org> [210113 16:42]:
> > > > On Wed, Jan 13, 2021 at 5:23 PM Tony Lindgren <tony@atomide.com
> > > > > wrote:
> > > > > Strange, bbb has been working for me with NFSroot, that's
> > > > > with
> > > > > omap2plus_defconfig. Care to send your .config so I can give
> > > > > it a
> > > > > try tomorrow?
> > > > 
> > > > Sent by private email.
> > > 
> > > OK thanks.
> > > 
> > > > Just tried omap2plus_defconfig, and it also hangs during boot.
> > 
> > Hmm and I just tried and bbb still boots NFSroot for me at commit
> > 5a230524f879 ("ARM: dts: Use simple-pm-bus for genpd for am3
> > l4_wkup").
> > 
> > > Hmm OK. Will give it a try tomorrow.
> 
> Not sure why your bbb would produce all the deferred probe while mine
> won't.
> 
> However, I've noticed that we need the following patch on omap4/5 and
> dra7 when playing with updating them to use genpd.
> 
> Maybe this also fixes your boot issue if you can give it a try?
> 

I do also experience the boot problem described by Geert.

Head being:
b0625afe305253d0831af9289b37c906c18a781b
ARM: OMAP2+: Drop legacy platform data for am3 mpuss

=> BBB boots Ok.

Head being:
5a230524f87926f24d637fe62fd689f7f86f5036
ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup

=> BBB boot fails. (I don't have any debug parameters => last thing I
see in UART is from uBoot:

Bytes transferred = 89849 (15ef9 hex)
Kernel image @ 0x81000000 [ 0x000000 - 0x928200 ]
## Flattened Device Tree blob at 82000000
   Booting using the fdt blob at 0x82000000
   Using Device Tree in place at 82000000, end 82018ef8

Starting kernel ...

Head being 

5a230524f87926f24d637fe62fd689f7f86f5036 + this patch 
ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup (+ patch)
Boot still fails for me.

Please note - my environment takes the intermediate build result file:
arch/arm/boot/dts/.am335x-boneblack.dtb.dts.tmp

and compiles this with '-@' to allow further overlays.

Best Regards
	Matti Vaittinen


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
  2021-01-14  7:58               ` Vaittinen, Matti
@ 2021-01-14  8:08                 ` Tony Lindgren
  2021-01-14  8:32                   ` Matti Vaittinen
  2021-01-14  8:52                   ` Geert Uytterhoeven
  0 siblings, 2 replies; 30+ messages in thread
From: Tony Lindgren @ 2021-01-14  8:08 UTC (permalink / raw)
  To: Vaittinen, Matti
  Cc: geert, rogerq, s-anna, bcousson, devicetree, d-gerlach,
	linux-omap, t-kristo

* Vaittinen, Matti <Matti.Vaittinen@fi.rohmeurope.com> [210114 07:58]:
> I do also experience the boot problem described by Geert.
> 
> Head being:
> b0625afe305253d0831af9289b37c906c18a781b
> ARM: OMAP2+: Drop legacy platform data for am3 mpuss
> 
> => BBB boots Ok.
> 
> Head being:
> 5a230524f87926f24d637fe62fd689f7f86f5036
> ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
> 
> => BBB boot fails. (I don't have any debug parameters => last thing I
> see in UART is from uBoot:

Looking at the .config Geert sent me, at least CONFIG_SIMPLE_PM_BUS=y
is now needed, and probably should be selected or default y for omaps.

Adding that removes the -512 errors at least that I started seeing with
Geert's config too.

Can you guys check if adding CONFIG_SIMPLE_PM_BUS=y fixes the problem?

Regards,

Tony

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
  2021-01-14  8:08                 ` Tony Lindgren
@ 2021-01-14  8:32                   ` Matti Vaittinen
  2021-01-14  8:52                   ` Geert Uytterhoeven
  1 sibling, 0 replies; 30+ messages in thread
From: Matti Vaittinen @ 2021-01-14  8:32 UTC (permalink / raw)
  To: Tony Lindgren
  Cc: geert, rogerq, s-anna, bcousson, devicetree, d-gerlach,
	linux-omap, t-kristo

Thanks Tony,

On Thu, 2021-01-14 at 10:08 +0200, Tony Lindgren wrote:
> * Vaittinen, Matti <Matti.Vaittinen@fi.rohmeurope.com> [210114
> 07:58]:
> > I do also experience the boot problem described by Geert.
> > 
> > Head being:
> > b0625afe305253d0831af9289b37c906c18a781b
> > ARM: OMAP2+: Drop legacy platform data for am3 mpuss
> > 
> > => BBB boots Ok.
> > 
> > Head being:
> > 5a230524f87926f24d637fe62fd689f7f86f5036
> > ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
> > 
> > => BBB boot fails. (I don't have any debug parameters => last thing
> > I
> > see in UART is from uBoot:
> 
> Looking at the .config Geert sent me, at least CONFIG_SIMPLE_PM_BUS=y
> is now needed, and probably should be selected or default y for
> omaps.
> 
> Adding that removes the -512 errors at least that I started seeing
> with
> Geert's config too.
> 
> Can you guys check if adding CONFIG_SIMPLE_PM_BUS=y fixes the
> problem?

After enabling CONFIG_SIMPLE_PM_BUS
5a230524f87926f24d637fe62fd689f7f86f5036
ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup


boots Ok :) Sounds like it should be enabled on BBB by default.

Best Regards
	Matti Vaittinen


^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
  2021-01-14  8:08                 ` Tony Lindgren
  2021-01-14  8:32                   ` Matti Vaittinen
@ 2021-01-14  8:52                   ` Geert Uytterhoeven
  2021-01-15  8:12                     ` Tony Lindgren
  1 sibling, 1 reply; 30+ messages in thread
From: Geert Uytterhoeven @ 2021-01-14  8:52 UTC (permalink / raw)
  To: Tony Lindgren
  Cc: Vaittinen, Matti, rogerq, s-anna, bcousson, devicetree,
	d-gerlach, linux-omap, t-kristo

Hi Tony,

On Thu, Jan 14, 2021 at 9:08 AM Tony Lindgren <tony@atomide.com> wrote:
> * Vaittinen, Matti <Matti.Vaittinen@fi.rohmeurope.com> [210114 07:58]:
> > I do also experience the boot problem described by Geert.
> >
> > Head being:
> > b0625afe305253d0831af9289b37c906c18a781b
> > ARM: OMAP2+: Drop legacy platform data for am3 mpuss
> >
> > => BBB boots Ok.
> >
> > Head being:
> > 5a230524f87926f24d637fe62fd689f7f86f5036
> > ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
> >
> > => BBB boot fails. (I don't have any debug parameters => last thing I
> > see in UART is from uBoot:
>
> Looking at the .config Geert sent me, at least CONFIG_SIMPLE_PM_BUS=y
> is now needed, and probably should be selected or default y for omaps.
>
> Adding that removes the -512 errors at least that I started seeing with
> Geert's config too.
>
> Can you guys check if adding CONFIG_SIMPLE_PM_BUS=y fixes the problem?

Thanks, that did the trick!
Sorry for not realizing that myself.

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
  2021-01-14  8:52                   ` Geert Uytterhoeven
@ 2021-01-15  8:12                     ` Tony Lindgren
  0 siblings, 0 replies; 30+ messages in thread
From: Tony Lindgren @ 2021-01-15  8:12 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Vaittinen, Matti, rogerq, s-anna, bcousson, devicetree,
	d-gerlach, linux-omap, t-kristo

* Geert Uytterhoeven <geert@linux-m68k.org> [210114 08:52]:
> On Thu, Jan 14, 2021 at 9:08 AM Tony Lindgren <tony@atomide.com> wrote:
> > Can you guys check if adding CONFIG_SIMPLE_PM_BUS=y fixes the problem?
> 
> Thanks, that did the trick!
> Sorry for not realizing that myself.

OK thanks for testing, will send out a patch soon with both of you
in Cc.

Regards,

Tony

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2021-01-15  8:14 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-26 11:22 [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren
2020-10-26 11:22 ` [PATCH 01/18] ARM: dts: am33xx: add remaining PRM instances Tony Lindgren
2020-10-26 11:22 ` [PATCH 02/18] ARM: dts: Configure also interconnect clocks for am3 system timers Tony Lindgren
2020-10-26 11:22 ` [PATCH 03/18] ARM: OMAP2+: Drop legacy platform data for am3 control module Tony Lindgren
2020-10-26 11:22 ` [PATCH 04/18] ARM: dts: Configure RTC powerdomain for am3 Tony Lindgren
2020-10-26 11:22 ` [PATCH 05/18] ARM: dts: Configure interconnect target module for am3 wkup_m3 Tony Lindgren
2020-10-26 11:22 ` [PATCH 06/18] ARM: OMAP2+: Drop legacy platform data " Tony Lindgren
2020-10-26 11:22 ` [PATCH 07/18] ARM: OMAP2+: Drop legacy platform data for am3 and am4 gpmc Tony Lindgren
2020-10-26 11:22 ` [PATCH 08/18] ARM: OMAP2+: Drop legacy platform data for am3 debugss Tony Lindgren
2020-10-26 11:22 ` [PATCH 09/18] ARM: OMAP2+: Drop legacy platform data for am3 emif Tony Lindgren
2020-10-26 11:22 ` [PATCH 10/18] ARM: OMAP2+: Drop legacy platform data for am3 ocmcram Tony Lindgren
2020-10-26 11:22 ` [PATCH 11/18] ARM: OMAP2+: Drop legacy platform data for am3 instr Tony Lindgren
2020-10-26 11:22 ` [PATCH 12/18] ARM: OMAP2+: Drop legacy platform data for am3 mpuss Tony Lindgren
2020-10-26 11:22 ` [PATCH 13/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup Tony Lindgren
     [not found]   ` <CAMuHMdWribr=eg1LkKce=Hamm+JwSz5UFEXLKUmKkqqz1RpL_w@mail.gmail.com>
2021-01-13 16:23     ` Tony Lindgren
2021-01-13 16:41       ` Geert Uytterhoeven
2021-01-13 16:47         ` Tony Lindgren
2021-01-13 17:28           ` Tony Lindgren
2021-01-14  7:20             ` Tony Lindgren
2021-01-14  7:58               ` Vaittinen, Matti
2021-01-14  8:08                 ` Tony Lindgren
2021-01-14  8:32                   ` Matti Vaittinen
2021-01-14  8:52                   ` Geert Uytterhoeven
2021-01-15  8:12                     ` Tony Lindgren
2020-10-26 11:22 ` [PATCH 14/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_fast Tony Lindgren
2020-10-26 11:22 ` [PATCH 15/18] ARM: dts: Use simple-pm-bus for genpd for am3 l4_per Tony Lindgren
2020-10-26 11:22 ` [PATCH 16/18] ARM: dts: Use simple-pm-bus for genpd for am3 l3 Tony Lindgren
2020-10-26 11:22 ` [PATCH 17/18] ARM: OMAP2+: Drop legacy remaining legacy platform data for am3 Tony Lindgren
2020-10-26 11:22 ` [PATCH 18/18] ARM: OMAP2+: Build hwmod related code as needed Tony Lindgren
2020-10-26 13:10 ` [PATCH 00/18] Drop remaining pdata for am335x and use genpd Tony Lindgren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).