Commit Graph

996239 Commits

Author SHA1 Message Date
Arnd Bergmann
e49936d215 Merge tag 'omap-for-v5.13/dts-genpd-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt
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.

* tag 'omap-for-v5.13/dts-genpd-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (53 commits)
  ARM: dts: Configure simple-pm-bus for omap5 l3
  ARM: dts: Configure simple-pm-bus for omap5 l4_cfg
  ARM: dts: Configure simple-pm-bus for omap5 l4_per
  ARM: dts: Configure simple-pm-bus for omap5 l4_wkup
  ARM: dts: Move omap5 l3-noc to a separate node
  ARM: dts: Move omap5 mmio-sram out of l3 interconnect
  ARM: dts: Configure interconnect target module for omap5 sata
  ARM: dts: Configure interconnect target module for omap5 gpmc
  ARM: dts: Configure interconnect target module for omap5 mpu
  ARM: dts: Configure interconnect target module for omap5 emif
  ARM: dts: Configure interconnect target module for omap5 dmm
  ARM: dts: Prepare for simple-pm-bus for omap4 l3
  ARM: dts: Configure simple-pm-bus for omap4 l4_cfg
  ARM: dts: Configure simple-pm-bus for omap4 l4_per
  ARM: dts: Configure simple-pm-bus for omap4 l4_wkup
  ARM: dts: Move omap4 l3-noc to a separate node
  ARM: dts: Move omap4 mmio-sram out of l3 interconnect
  ARM: dts: Configure interconnect target module for omap4 mpu
  ARM: dts: Configure interconnect target module for omap4 debugss
  ARM: dts: Configure interconnect target module for omap4 emif
  ...

Link: https://lore.kernel.org/r/pull-1617004205-537424@atomide.com-2
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 21:26:03 +02:00
Daniel Palmer
f374f25aab ARM: mstar: Add mpll to base dtsi
All of the currently known MStar/SigmaStar ARMv7 SoCs have at least
one MPLL and it seems to always be at the same place so add it to
the base dtsi.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20210301123542.2800643-4-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 12:40:55 +02:00
Daniel Palmer
a93cf651df ARM: mstar: Add the external clocks to the base dsti
All of the currently known MStar/SigmaStar ARMv7 SoCs have an "xtal"
clock input that is usually 24MHz and an "RTC xtal" that is usually 32KHz.

The xtal input has to be connected to something so it's enabled by default.

The MSC313 and MSC313E do not bring the RTC clock input out to the pins
so it's impossible to connect it. The SSC8336 does bring the input
out to the pins but it's not always actually connected to something.

The RTC node needs to always be present because in the future the nodes
for the clock muxes will refer to it even if it's not usable.

The RTC node is disabled by default and should be enabled at the board
level if the RTC input is wired up.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20210301123542.2800643-3-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 12:40:55 +02:00
Daniel Palmer
de73b5a97b ARM: mstar: Select MSTAR_MSC313_MPLL
All of the ARCH_MSTARV7 chips have an MPLL as the source for
peripheral clocks so select MSTAR_MSC313_MPLL.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20210301123542.2800643-2-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-04-01 12:40:55 +02:00
Arnd Bergmann
f38dc82b56 Merge tag 'renesas-arm-dt-for-v5.13-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt
Renesas ARM DT updates for v5.13

  - OV7725 camera support for the iWave RainboW Qseven board (G21D), and
    its camera expansion board,
  - Add mmc aliases to fix /dev/mmcblkN order,
  - HDMI Display support for the R-Car Starter Kit Pro with R-Car M3-W+,
  - Support for running upstream kernels on the RZA2MEVB board, using
    the SDRAM present on the sub-board,
  - I2C EEPROM support for the Falcon development board,
  - Timer, thermal sensor, and CAN support for the R-Car V3U SoC.
  - Miscellaneous fixes and improvements.

* tag 'renesas-arm-dt-for-v5.13-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: r8a77980: Fix vin4-7 endpoint binding
  arm64: dts: renesas: r8a77961: Add CAN nodes
  arm64: dts: renesas: r8a779a0: Add CMT support
  arm64: dts: renesas: r8a779a0: Add thermal support
  arm64: dts: renesas: r8a779a0: Add TMU support
  arm64: dts: renesas: falcon: Add Ethernet sub-board
  arm64: dts: renesas: falcon: Add CSI/DSI sub-board
  arm64: dts: renesas: falcon: Add I2C EEPROM nodes
  ARM: dts: rza2mevb: Upstream Linux requires SDRAM
  arm64: dts: renesas: Consolidate Salvator-X(S) HDMI0 handling
  arm64: dts: renesas: Add mmc aliases into board dts files
  arm64: dts: renesas: r8a77961-ulcb: add HDMI Display support
  ARM: dts: renesas: Add mmc aliases into R-Car Gen2 board dts files
  arm64: dts: renesas: Group tuples in pin control properties
  arm64: dts: renesas: Group tuples in playback and capture properties
  ARM: dts: renesas: Group tuples in pin control properties
  ARM: dts: renesas: Group tuples in playback and capture properties
  ARM: dts: renesas: Group tuples in APMU cpus properties
  ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Add support for 8-bit ov7725 sensors
  ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Separate out ov5640 nodes

Link: https://lore.kernel.org/r/20210319085146.2709844-3-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2021-03-23 18:24:31 +01:00
Vladimir Barinov
c8aebc1346 arm64: dts: renesas: r8a77980: Fix vin4-7 endpoint binding
This fixes the bindings in media framework:
The CSI40 is endpoint number 2
The CSI41 is endpoint number 3

Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Link: https://lore.kernel.org/r/20210312174735.2118212-1-niklas.soderlund+renesas@ragnatech.se
Fixes: 3182aa4e0b ("arm64: dts: renesas: r8a77980: add CSI2/VIN support")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2021-03-16 09:58:00 +01:00
Yoshihiro Shimoda
92c406ed0a arm64: dts: renesas: r8a77961: Add CAN nodes
Add the device nodes for all CAN nodes on R-Car M3-W+.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tested-by: Yusuke Goda <yusuke.goda.sx@renesas.com>
Link: https://lore.kernel.org/r/20210312025420.529339-3-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2021-03-12 09:31:43 +01:00
Phong Hoang
7e2a95d953 arm64: dts: renesas: r8a779a0: Add CMT support
This patch adds CMT{0|1|2|3} device nodes for R-Car V3U (r8a779a0) SoC.

Signed-off-by: Phong Hoang <phong.hoang.wz@renesas.com>
[wsa: rebased, double checked values, corrected sorting]
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20210311092939.3129-3-wsa+renesas@sang-engineering.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2021-03-12 09:31:43 +01:00
Niklas Söderlund
a6d354b52d arm64: dts: renesas: r8a779a0: Add thermal support
Add support for thermal.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Link: https://lore.kernel.org/r/20210310110951.3299524-1-niklas.soderlund+renesas@ragnatech.se
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2021-03-12 09:31:43 +01:00
Tony Lindgren
083516ad54 Merge tags 'genpd-dts-dra7', 'genpd-dts-omap4' and 'genpd-dts-omap5' into omap-for-v5.13/dts-genpd
Merge together genpd related dts changes to provide base for dropping the
legacy data to prevent merge conflicts and to send dts changes separately.
2021-03-10 14:16:34 +02:00
Tony Lindgren
e180887946 ARM: dts: Configure simple-pm-bus for omap5 l3
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:58 +02:00
Tony Lindgren
abd1d31d82 ARM: dts: Configure simple-pm-bus for omap5 l4_cfg
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:58 +02:00
Tony Lindgren
6fe4ff9016 ARM: dts: Configure simple-pm-bus for omap5 l4_per
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:58 +02:00
Tony Lindgren
689919e6e2 ARM: dts: Configure simple-pm-bus for omap5 l4_wkup
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:57 +02:00
Tony Lindgren
d1d16959fe ARM: dts: Move omap5 l3-noc to a separate node
In preparation for probing l3 with simple-pm-bus and genpd, we must move
l3 noc to a separate node. This is to prevent omap_l3_noc.c driver from
claiming the whole l3 instance before simple-pm-bus has a chance to probe.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:57 +02:00
Tony Lindgren
a571cc3941 ARM: dts: Move omap5 mmio-sram out of l3 interconnect
We need mmio-sram early for omap4_sram_init() for IO barrier init, and
will be moving l3 interconnect to probe with simple-pm-bus that probes
at module_init() time. So let's move mmio-sram out of l3 to prepare for
that.

Otherwise we will get the following after probing the interconnects with
simple-pm-bus:

omap4_sram_init:Unable to get sram pool needed to handle errata I688

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:57 +02:00
Tony Lindgren
41ccb66237 ARM: dts: Configure interconnect target module for omap5 sata
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" peroperty to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Note that the old sysc register offset is wrong, the real offset is at
0x1100 as listed in TRM for SATA_SYSCONFIG register. Looks like we've been
happily using sata on the bootloader configured sysconfig register and
nobody noticed. Also the old register range for SATAMAC_wrapper registers
is wrong at 7 while it should be 8. But that too seems harmless.

There is also an L3 parent interconnect range that we don't seem to be
using. That can be added as needed later on.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:56 +02:00
Tony Lindgren
5f89cdc103 ARM: dts: Configure interconnect target module for omap5 gpmc
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" property to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:56 +02:00
Tony Lindgren
0e666eb531 ARM: dts: Configure interconnect target module for omap5 mpu
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:55 +02:00
Tony Lindgren
9921f0b9d0 ARM: dts: Configure interconnect target module for omap5 emif
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" property to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:55 +02:00
Tony Lindgren
84864f8d2c ARM: dts: Configure interconnect target module for omap5 dmm
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" property to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:54 +02:00
Tony Lindgren
e1d4a11d68 ARM: dts: Prepare for simple-pm-bus for omap4 l3
Let's configure omap4 l3 for power-domain and clocks in preparation for
starting to use simple-pm-bus. We will flip over to using simple-pm-bus
later on after dropping the legacy data for all the devices on l3
interconnect.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:33 +02:00
Tony Lindgren
9a1d0c2837 ARM: dts: Configure simple-pm-bus for omap4 l4_cfg
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:32 +02:00
Tony Lindgren
67dcfdc4a6 ARM: dts: Configure simple-pm-bus for omap4 l4_per
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:32 +02:00
Tony Lindgren
d978b69fa7 ARM: dts: Configure simple-pm-bus for omap4 l4_wkup
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:31 +02:00
Tony Lindgren
bacc83e5ee ARM: dts: Move omap4 l3-noc to a separate node
In preparation for probing l3 with simple-pm-bus and genpd, we must move
l3 noc to a separate node. This is to prevent omap_l3_noc.c driver from
claiming the whole l3 instance before simple-pm-bus has a chance to probe.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:31 +02:00
Tony Lindgren
fbe8285d65 ARM: dts: Move omap4 mmio-sram out of l3 interconnect
We need mmio-sram early for omap4_sram_init() for IO barrier init, and
will be moving l3 interconnect to probe with simple-pm-bus that probes
at module_init() time. So let's move mmio-sram out of l3 to prepare for
that.

Otherwise we will get the following after probing the interconnects with
simple-pm-bus:

omap4_sram_init:Unable to get sram pool needed to handle errata I688

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:31 +02:00
Tony Lindgren
e55cc3f040 ARM: dts: Configure interconnect target module for omap4 mpu
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:30 +02:00
Tony Lindgren
932ddde183 ARM: dts: Configure interconnect target module for omap4 debugss
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" property to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:30 +02:00
Tony Lindgren
0600dabe34 ARM: dts: Configure interconnect target module for omap4 emif
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" property to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:29 +02:00
Tony Lindgren
fe85baacd7 ARM: dts: Configure interconnect target module for omap4 dmm
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" property to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Let's also use GIC_SPI and IRQ_TYPE_LEVEL_HIGH defines while at it.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:29 +02:00
Tony Lindgren
398c66ed22 ARM: dts: Configure power-domain for omap4 dts iss
Configure power-domain for omap4 dts iss in preparation to
probing devices with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:29 +02:00
Tony Lindgren
345ac6b17b ARM: dts: Configure power-domain for omap4 gfx
Configure power-domain for omap4 dts gfx in preparation to
probing devices with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:28 +02:00
Tony Lindgren
ecb4c5c096 ARM: dts: Configure simple-pm-bus for dra7 l3
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
e93e4104a2 ARM: dts: Configure simple-pm-bus for dra7 l4_cfg
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
bdfafc8e2b ARM: dts: Configure simple-pm-bus for dra7 l4_per3
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
26c36e16d4 ARM: dts: Configure simple-pm-bus for dra7 l4_per2
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
f483a3e123 ARM: dts: Configure simple-pm-bus for dra7 l4_per1
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
9a75368b64 ARM: dts: Configure simple-pm-bus for dra7 l4_wkup
We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
27559a8bd4 ARM: dts: Configure interconnect target module for dra7 dmm
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" peroperty to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
f5d0aba7c1 ARM: dts: Configure interconnect target module for dra7 mpu
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
8af15365a3 ARM: dts: Configure interconnect target module for dra7 sata
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" peroperty to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Note that the old sysc register offset is wrong, the real offset is at
0x1100 as listed in TRM for SATA_SYSCONFIG register. Looks like we've been
happily using sata on the bootloader configured sysconfig register and
nobody noticed. Also the old register range for SATAMAC_wrapper registers
is wrong at 7 while it should be 8. But that too seems harmless.

There is also an L3 parent interconnect range that we don't seem to be
using. That can be added as needed later on.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
e2d637b069 ARM: dts: Configure interconnect target module for dra7 qspi
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" peroperty to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Cc: Vignesh Raghavendra <vigneshr@ti.com>
Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
7f2659ce65 ARM: dts: Move dra7 l3 noc to a separate node
In order to prepare for probing l3 with genpd, we need to move l3 noc
into a separate node for l3 interconnect to have it's own regs, and
to avoid it claiming more than it needs for the io regions.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
075249bc55 ARM: dts: Properly configure dra7 edma sysconfig registers
Looks like the TRM is not listing the sysconfig for edma, let's add it
based on am437x TRM edma registers as listed in sections "Table 10-26.
EDMA3CC Registers" and "Table 10-99. EDMA3TC Registers".

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
785d943c76 ARM: dts: Configure interconnect target module for dra7 pcie
We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" peroperty to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
c761028ef5 ARM: dts: Update pcie ranges for dra7
In order to update pcie to probe with ti-sysc and genpd, let's update the
pcie ranges to not use address 0 for 0x20000000 and 0x30000000. The range
for 0 is typically used for child devices as the offset from the module
base. In the following patches, we will update pcie to probe with ti-sysc,
and the patches become a bit confusing to read compared to other similar
modules unless we update the ranges first. So let's just use the full
addresses for ranges for the 0x20000000 and 0x30000000 ranges.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:04:07 +02:00
Tony Lindgren
e259c2926c PCI: pci-dra7xx: Prepare for deferred probe with module_platform_driver
After updating pci-dra7xx driver to probe with ti-sysc and genpd, I
noticed that dra7xx_pcie_probe() would not run if a power-domains property
was configured for the interconnect target module.

Turns out that module_platform_driver_probe uses platform_driver_probe(),
while builtin_platform_driver uses platform_driver_register().

Only platform_driver_register() works for deferred probe as noted in the
comments for __platform_driver_probe() in drivers/base/platform.c with a
line saying "Note that this is incompatible with deferred probing".

With module_platform_driver_probe, we have platform_driver_probe() produce
-ENODEV error at device_initcall() level, and no further attempts are done.
Let's fix this by using module_platform_driver instead.

Note this is not an issue currently as we probe devices with simple-bus,
and only is needed as we start probing the device with ti-sysc, or when
probed with simple-pm-bus.

Note that we must now also remove __init for probe related functions to
avoid a section mismatch warning.

Cc: linux-pci@vger.kernel.org
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 14:01:00 +02:00
Tony Lindgren
7f7acef857 clk: ti: omap5: Add missing gpmc and ocmc clkctrl
The gpmc clock is needed to update omap5 to boot with genpd with the
related devicetree patches. The ocmc clock is currently not used but
let's add it so we have all the clocks for the l3main2 defined.

Cc: Stephen Boyd <sboyd@kernel.org>
Cc: Tero Kristo <kristo@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 13:59:18 +02:00
Tony Lindgren
bc0b964da3 soc: ti: omap-prm: Allow hardware supported retention when idle
When moving the l4 interconnect instances to probe with simple-pm-bus and
genpd, we will have l4per and core domains stop idling unless we configure
the domain bits to allow retention when idle.

As the TI SoCs have hardware autoidle capabilities, this is safe to do.
The domains will only enter retention on WFI when none of the devices on
the domain block autoidle in the hardware. This follows what we are
already currently doing.

Cc: Santosh Shilimkar <ssantosh@kernel.org>
Cc: Tero Kristo <kristo@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2021-03-10 13:59:17 +02:00