Skip to content

Commit

Permalink
Merge tag 'omap-for-v5.11/genpd-am335x-signed' of git://git.kernel.or…
Browse files Browse the repository at this point in the history
…g/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/omap-genpd

Update am335x to boot without platform data

With the driver updates done for genpd support, we can now update
am335x dts files to boot with genpd and simple-pm-bus, and drop
the related platform data.

To do that, we need to do the following changes for am335x:

- Add the remaining power domain and reset controller instances

- Configure interconnect clocks for system timers as those are
  now managed separately by the drivers/clocksource drivers

- Update control module, RTC, gpmc, debugss, emif, ocmcram,
  instr, and mpuss for device tree data and drop the legacy
  platform data

- Update the interconnect instances to boot with gendp and
  simple-pm-bus

- Drop the remaining platform data for am335x

- Add kconfig option for OMAP_HWMOD to build it only for the
  SoCs that need it

* tag 'omap-for-v5.11/genpd-am335x-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Build hwmod related code as needed
  ARM: OMAP2+: Drop legacy remaining legacy platform data for am3
  ARM: dts: Use simple-pm-bus for genpd for am3 l3
  ARM: dts: Use simple-pm-bus for genpd for am3 l4_per
  ARM: dts: Use simple-pm-bus for genpd for am3 l4_fast
  ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
  ARM: OMAP2+: Drop legacy platform data for am3 mpuss
  ARM: OMAP2+: Drop legacy platform data for am3 instr
  ARM: OMAP2+: Drop legacy platform data for am3 ocmcram
  ARM: OMAP2+: Drop legacy platform data for am3 emif
  ARM: OMAP2+: Drop legacy platform data for am3 debugss
  ARM: OMAP2+: Drop legacy platform data for am3 and am4 gpmc
  ARM: OMAP2+: Drop legacy platform data for am3 wkup_m3
  ARM: dts: Configure interconnect target module for am3 wkup_m3
  ARM: dts: Configure RTC powerdomain for am3
  ARM: OMAP2+: Drop legacy platform data for am3 control module
  ARM: dts: Configure also interconnect clocks for am4 system timer
  ARM: dts: am33xx: add remaining PRM instances

Link: https://lore.kernel.org/r/pull-1606806458-694517@atomide.com-2
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
  • Loading branch information
Arnd Bergmann committed Dec 9, 2020
2 parents 80c2500 + 133ad7a commit 07dd966
Show file tree
Hide file tree
Showing 13 changed files with 236 additions and 452 deletions.
1 change: 0 additions & 1 deletion arch/arm/boot/dts/am335x-nano.dts
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,6 @@

&gpmc {
compatible = "ti,am3352-gpmc";
ti,hwmods = "gpmc";
status = "okay";
gpmc,num-waitpins = <2>;
pinctrl-names = "default";
Expand Down
75 changes: 55 additions & 20 deletions arch/arm/boot/dts/am33xx-l4.dtsi
Original file line number Diff line number Diff line change
@@ -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>,
Expand All @@ -12,7 +15,7 @@
<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 */
Expand All @@ -22,7 +25,7 @@
};

segment@100000 { /* 0x44d00000 */
compatible = "simple-bus";
compatible = "simple-pm-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x00000000 0x00100000 0x004000>, /* ap 4 */
Expand All @@ -34,23 +37,27 @@
compatible = "ti,sysc-omap4", "ti,sysc";
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";
};
};
};

segment@200000 { /* 0x44e00000 */
compatible = "simple-bus";
compatible = "simple-pm-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x00000000 0x00200000 0x002000>, /* ap 8 */
Expand Down Expand Up @@ -274,6 +281,9 @@
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>,
Expand Down Expand Up @@ -433,6 +443,7 @@
<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>;
Expand Down Expand Up @@ -658,7 +669,10 @@
};

&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>;
Expand All @@ -668,7 +682,7 @@
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 */
Expand Down Expand Up @@ -837,7 +851,10 @@
};

&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>,
Expand All @@ -855,7 +872,7 @@
<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 */
Expand Down Expand Up @@ -1466,7 +1483,7 @@
};

segment@100000 { /* 0x48100000 */
compatible = "simple-bus";
compatible = "simple-pm-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0008c000 0x0018c000 0x001000>, /* ap 42 */
Expand Down Expand Up @@ -1850,13 +1867,31 @@
};

segment@200000 { /* 0x48200000 */
compatible = "simple-bus";
compatible = "simple-pm-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 */
compatible = "simple-bus";
compatible = "simple-pm-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x00000000 0x00300000 0x001000>, /* ap 66 */
Expand Down
Loading

0 comments on commit 07dd966

Please sign in to comment.