Skip to contentSkip to conversation

Driver changes for omaps for genpd support

GIT PULL Applied Tony Lindgren 2 participants 6 messages Mar 29, 2021 – Apr 1, 2021

lore
Share & tools
lore
#0 lore raw

From: "Tony Lindgren" <[email protected]>

The following changes since commit 4c9f4865f4604744d4f1a43db22ac6ec9dc8e587:

Merge branch 'fixes-rc2' into fixes (2021-03-08 11:34:12 +0200)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v5.13/ti-sysc-signed

for you to fetch changes up to d995d3d025bbd2d89abf12418f20d19bc0cb0130:

bus: ti-sysc: Use kzalloc for allocating only one thing (2021-03-24 13:44:04 +0200)

----------------------------------------------------------------
Driver changes for omaps for genpd support for v5.13

In order to move omap4/5 and dra7 to probe with devicetree data and genpd, we need to patch the related drivers to prepare.

These are mostly ti-sysc interconnect target module driver changes and soc init changes. However, there are minor changes to other drivers too. There are changes for pci-dra7xx probe, omap-prm idle configuration, and a omap5 clock change:

- ti-sysc needs iorange check improved when the interconnect target module has no control registers listed

- ti-sysc needs to probe l4_wkup and l4_cfg interconnects first to avoid issues with missing resources and unnecessary deferred probe

- ti-sysc debug option can now detect more devices

- ti-sysc now warns if an old incomplete devicetree data is found as we now rely on it being complete for am3 and 4

- soc init code needs to check for prcm and prm nodes for omap4/5 and dra7

- omap-prm driver needs to enable autoidle retention support for omap4

- omap5 clocks are missing gpmc and ocmc clock registers

- pci-dra7xx now needs to use builtin_platform_driver instead of using builtin_platform_driver_probe for deferred probe to work

There are also few minor non-urgent fixes:

- soc init code pdata_quirks_init_clocks should be static

- ti-sysc has few unneeded semiconon typos

- ti-sysc can use kzalloc instead of kcalloc for a single element

----------------------------------------------------------------
Tony Lindgren (8):
bus: ti-sysc: Fix initializing module_pa for modules without sysc register
bus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first
bus: ti-sysc: Detect more modules for debugging
bus: ti-sysc: Check for old incomplete dtb
ARM: OMAP2+: Init both prm and prcm nodes early for clocks
soc: ti: omap-prm: Allow hardware supported retention when idle
clk: ti: omap5: Add missing gpmc and ocmc clkctrl
PCI: pci-dra7xx: Prepare for deferred probe with module_platform_driver

Wei Yongjun (1):
ARM: OMAP2+: Make symbol 'pdata_quirks_init_clocks' static

Yang Li (1):
bus: ti-sysc: remove unneeded semicolon

Zheng Yongjun (1):
bus: ti-sysc: Use kzalloc for allocating only one thing

 arch/arm/mach-omap2/pdata-quirks.c      | 29 ++++++++----
 drivers/bus/ti-sysc.c                   | 84 ++++++++++++++++++++++++++++++---
 drivers/clk/ti/clk-54xx.c               |  2 +
 drivers/pci/controller/dwc/pci-dra7xx.c | 13 ++---
 drivers/soc/ti/omap_prm.c               | 16 +++++--
 include/dt-bindings/clock/omap5.h       |  2 +
 6 files changed, 122 insertions(+), 24 deletions(-)
#1 lore raw

[GIT PULL 2/3] Devicetree changes for omaps for genpd support

From: "Tony Lindgren" <[email protected]>

The following changes since commit e259c2926c016dd815e5547412356d378fc1f589:

PCI: pci-dra7xx: Prepare for deferred probe with module_platform_driver (2021-03-10 14:01:00 +0200)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v5.13/dts-genpd-signed

for you to fetch changes up to 083516ad540a1104a0ae5ae7e83f2a2d8e39d2bc:

Merge tags 'genpd-dts-dra7', 'genpd-dts-omap4' and 'genpd-dts-omap5' into omap-for-v5.13/dts-genpd (2021-03-10 14:16:34 +0200)

----------------------------------------------------------------
Devicetree changes for omaps for genpd support for v5.13

In order to move omap4/5 and dra7 to probe with devicetree data and genpd, we need to add the missing interconnect target module configuration for the drivers that do not still have it. This is similar to what we have already done earlier for am3 and 4 earlier.

These patches are very much similar for all the three SoCs here. The dra7 changes were already available for v5.12 merge window, but were considered too late to add for v5.12. The patches for omap4 and 5 follow the same pattern, except for PCIe that is available only on dra7.

We do the changes one driver at a time, and still keep the legacy property for "ti,hwmods" mostly around, except for cases when already not needed. We will be dropping the custom property and related legacy data in a follow-up series.

----------------------------------------------------------------
Tony Lindgren (38):
ARM: dts: Update pcie ranges for dra7
ARM: dts: Configure interconnect target module for dra7 pcie
ARM: dts: Properly configure dra7 edma sysconfig registers
ARM: dts: Move dra7 l3 noc to a separate node
ARM: dts: Configure interconnect target module for dra7 qspi
ARM: dts: Configure interconnect target module for dra7 sata
ARM: dts: Configure interconnect target module for dra7 mpu
ARM: dts: Configure interconnect target module for dra7 dmm
ARM: dts: Configure simple-pm-bus for dra7 l4_wkup
ARM: dts: Configure simple-pm-bus for dra7 l4_per1
ARM: dts: Configure simple-pm-bus for dra7 l4_per2
ARM: dts: Configure simple-pm-bus for dra7 l4_per3
ARM: dts: Configure simple-pm-bus for dra7 l4_cfg
ARM: dts: Configure simple-pm-bus for dra7 l3
ARM: dts: Configure power-domain for omap4 gfx
ARM: dts: Configure power-domain for omap4 dts iss
ARM: dts: Configure interconnect target module for omap4 dmm
ARM: dts: Configure interconnect target module for omap4 emif
ARM: dts: Configure interconnect target module for omap4 debugss
ARM: dts: Configure interconnect target module for omap4 mpu
ARM: dts: Move omap4 mmio-sram out of l3 interconnect
ARM: dts: Move omap4 l3-noc to a separate node
ARM: dts: Configure simple-pm-bus for omap4 l4_wkup
ARM: dts: Configure simple-pm-bus for omap4 l4_per
ARM: dts: Configure simple-pm-bus for omap4 l4_cfg
ARM: dts: Prepare for simple-pm-bus for omap4 l3
ARM: dts: Configure interconnect target module for omap5 dmm
ARM: dts: Configure interconnect target module for omap5 emif
ARM: dts: Configure interconnect target module for omap5 mpu
ARM: dts: Configure interconnect target module for omap5 gpmc
ARM: dts: Configure interconnect target module for omap5 sata
ARM: dts: Move omap5 mmio-sram out of l3 interconnect
ARM: dts: Move omap5 l3-noc to a separate node
ARM: dts: Configure simple-pm-bus for omap5 l4_wkup
ARM: dts: Configure simple-pm-bus for omap5 l4_per
ARM: dts: Configure simple-pm-bus for omap5 l4_cfg
ARM: dts: Configure simple-pm-bus for omap5 l3
Merge tags 'genpd-dts-dra7', 'genpd-dts-omap4' and 'genpd-dts-omap5' into omap-for-v5.13/dts-genpd

 arch/arm/boot/dts/dra7-l4.dtsi  |  76 ++++++++++----
 arch/arm/boot/dts/dra7.dtsi     | 215 +++++++++++++++++++++++++++-------------
 arch/arm/boot/dts/omap4-l4.dtsi |  39 +++++---
 arch/arm/boot/dts/omap4.dtsi    | 165 ++++++++++++++++++++----------
 arch/arm/boot/dts/omap4460.dtsi |  13 ++-
 arch/arm/boot/dts/omap5-l4.dtsi |  67 +++++++++----
 arch/arm/boot/dts/omap5.dtsi    | 204 ++++++++++++++++++++++++--------------
 7 files changed, 526 insertions(+), 253 deletions(-)
#2 lore raw

Re: [GIT PULL 2/3] Devicetree changes for omaps for genpd support

From: Arnd Bergmann <[email protected]>

Quoted 9 lines · Tony Lindgren

The following changes since commit e259c2926c016dd815e5547412356d378fc1f589:

PCI: pci-dra7xx: Prepare for deferred probe with module_platform_driver (2021-03-10 14:01:00 +0200)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v5.13/dts-genpd-signed

[...]

Merged into arm/dt, thanks!

merge commit: e49936d2154724213b5ec8a8aae89b2c2ebc3af1

Arnd

#3 lore raw

[GIT PULL 3/3] Drop legacy data for dra7 and omap4/5 and clean-up

In reply to Tony Lindgren

From: "Tony Lindgren" <[email protected]>

The following changes since commit 083516ad540a1104a0ae5ae7e83f2a2d8e39d2bc:

Merge tags 'genpd-dts-dra7', 'genpd-dts-omap4' and 'genpd-dts-omap5' into omap-for-v5.13/dts-genpd (2021-03-10 14:16:34 +0200)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v5.13/genpd-cleanup-signed

for you to fetch changes up to 4adcf4c28f6dc191187359bfceee5ab5fe91a50e:

bus: ti-sysc: Warn about old dtb for dra7 and omap4/5 (2021-03-12 10:23:48 +0200)

----------------------------------------------------------------
Drop legacy data for dra7 and omap4/5 for genpd support for v5.13

Similar to what we have already done for am3 and 4, we can now boot dra7, omap4, and omap5 with devicetree data and genpd without legacy SoC specific built-in data.

Let's drop the legacy data for these SoCs, and the related "ti,hwmods" custom devicetree property. As with these changes we now expect to have complete devicetree data, let's also warn in the case if an old devicetree data is noticed. And with the warning provided, there should not be any need to delay dropping the legacy data as it just unnecessarily complicates things.

The main reasons for dropping the legacy data is to avoid the burden of maintaining a mixed boot process where both legacy built-in data and devicetree data are needed. And we can now use standard reset driver, genpd, and simple-pm-bus features.

These patches are based on the related devicetree changes to add the missing interconnect target module configuration for these SoCs.

----------------------------------------------------------------
Tony Lindgren (35):
ARM: OMAP2+: Drop legacy platform data for dra7 pcie
ARM: OMAP2+: Drop legacy platform data for dra7 qspi
ARM: OMAP2+: Drop legacy platform data for dra7 sata
ARM: OMAP2+: Drop legacy platform data for dra7 mpu
ARM: OMAP2+: Drop legacy platform data for dra7 dmm
ARM: OMAP2+: Drop legacy platform data for dra7 l4_wkup
ARM: OMAP2+: Drop legacy platform data for dra7 l4_per1
ARM: OMAP2+: Drop legacy platform data for dra7 l4_per2
ARM: OMAP2+: Drop legacy platform data for dra7 l4_per3
ARM: OMAP2+: Drop legacy platform data for dra7 l4_cfg
ARM: OMAP2+: Drop legacy platform data for dra7 l3
ARM: OMAP2+: Drop legacy platform data for dra7 hwmod
ARM: OMAP2+: Drop legacy platform data for omap4 iss
ARM: OMAP2+: Drop legacy platform data for omap4 control modules
ARM: OMAP2+: Drop legacy platform data for omap4 dmm
ARM: OMAP2+: Drop legacy platform data for omap4 emif
ARM: OMAP2+: Drop legacy platform data for omap4 debugss
ARM: OMAP2+: Drop legacy platform data for omap4 mpu
ARM: OMAP2+: Drop legacy platform data for omap4 l4_wkup
ARM: OMAP2+: Drop legacy platform data for omap4 l4_per
ARM: OMAP2+: Drop legacy platform data for omap4 l4_cfg
ARM: OMAP2+: Drop legacy platform data for omap4 l3
ARM: OMAP2+: Drop legacy platform data for omap4 hwmod
ARM: OMAP2+: Drop legacy platform data for omap5 dmm
ARM: OMAP2+: Drop legacy platform data for omap5 emif
ARM: OMAP2+: Drop legacy platform data for omap5 mpu
ARM: OMAP2+: Drop legacy platform data for omap5 sata
ARM: OMAP2+: Drop legacy platform data for omap5 l4_wkup
ARM: OMAP2+: Drop legacy platform data for omap5 l4_per
ARM: OMAP2+: Drop legacy platform data for omap5 l4_cfg
ARM: OMAP2+: Drop legacy platform data for omap5 l3
ARM: OMAP2+: Drop legacy platform data for omap5 hwmod
Merge branches 'omap-for-v5.13/genpd-dra7', 'omap-for-v5.13/genpd-omap4' and 'omap-for-v5.13/genpd-omap5' into omap-for-v5.13/genpd-drop-legacy
ARM: OMAP2+: Stop building legacy code for dra7 and omap4/5
bus: ti-sysc: Warn about old dtb for dra7 and omap4/5

 arch/arm/boot/dts/dra7-l4.dtsi             |   1 -
 arch/arm/boot/dts/dra7.dtsi                |   5 -
 arch/arm/boot/dts/omap4-l4.dtsi            |   4 -
 arch/arm/boot/dts/omap4.dtsi               |   8 +-
 arch/arm/boot/dts/omap5.dtsi               |   4 -
 arch/arm/mach-omap2/Kconfig                |   3 -
 arch/arm/mach-omap2/Makefile               |  11 +-
 arch/arm/mach-omap2/common.h               |   9 -
 arch/arm/mach-omap2/io.c                   |  12 +-
 arch/arm/mach-omap2/omap_hwmod.c           |   8 -
 arch/arm/mach-omap2/omap_hwmod.h           |  14 +-
 arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 877 -----------------------------
 arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 467 ---------------
 arch/arm/mach-omap2/omap_hwmod_7xx_data.c  | 719 -----------------------
 arch/arm/mach-omap2/pdata-quirks.c         |   2 +-
 arch/arm/mach-omap2/sr_device.c            |   7 +
 drivers/bus/ti-sysc.c                      |   3 +
 17 files changed, 35 insertions(+), 2119 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/omap_hwmod_44xx_data.c
 delete mode 100644 arch/arm/mach-omap2/omap_hwmod_54xx_data.c
 delete mode 100644 arch/arm/mach-omap2/omap_hwmod_7xx_data.c
#4 lore raw

Re: [GIT PULL 3/3] Drop legacy data for dra7 and omap4/5 and clean-up

From: Arnd Bergmann <[email protected]>

Quoted 9 lines · Tony Lindgren

The following changes since commit 083516ad540a1104a0ae5ae7e83f2a2d8e39d2bc:

Merge tags 'genpd-dts-dra7', 'genpd-dts-omap4' and 'genpd-dts-omap5' into omap-for-v5.13/dts-genpd (2021-03-10 14:16:34 +0200)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v5.13/genpd-cleanup-signed

[...]

Merged into arm/soc, thanks!

merge commit: 3e26eccd40f9d4ff43fbd05edaccb96abfab04e8

Arnd

#5 lore raw
In reply to Tony Lindgren

From: Arnd Bergmann <[email protected]>

Quoted 9 lines · Tony Lindgren

The following changes since commit 4c9f4865f4604744d4f1a43db22ac6ec9dc8e587:

Merge branch 'fixes-rc2' into fixes (2021-03-08 11:34:12 +0200)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap tags/omap-for-v5.13/ti-sysc-signed

[...]

Merged into arm/drivers, thanks!

merge commit: 1d79dca631e8e7fe886f44f49b1e0a16e1ac1dfc

Arnd