summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-11-19ARM: dts: Configure power domain for omap4 dssTony Lindgren1-0/+7
This allows shutting down dss domain when the screen blanks. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19ARM: dts: omap4: add remaining PRM instancesTero Kristo1-0/+63
Add remaining PRM instances for the omap4 SoC. Additionally enable the genpd support for them. Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19soc: ti: omap-prm: omap4: add genpd support for remaining PRM instancesTero Kristo1-4/+67
Add genpd support for mpu, tesla, always_on_core, core, ivahd, cam, dss, gfx, l3init, l4per, cefuse, wkup and emu instances. Cc: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-19clk: ti: omap4: Drop idlest polling from IVA clkctrl clocksTony Lindgren1-1/+1
Similar to what we've done for IPU and DSP let's ignore the status bit for the IVA clkctrl register. The clkctrl status won't change unless the related rstctrl is deasserted, and the rstctrl status won't change unless the clkctrl is enabled. Cc: linux-clk@vger.kernel.org Cc: Michael Turquette <mturquette@baylibre.com> Cc: Stephen Boyd <sboyd@kernel.org> Cc: Suman Anna <s-anna@ti.com> Cc: Tero Kristo <t-kristo@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16ARM: OMAP2+: Drop legacy remaining legacy platform data for am4Tony Lindgren7-382/+1
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>
2020-11-16ARM: dts: Use simple-pm-bus for genpd for am4 l3Tony Lindgren1-2/+4
We can now enable simple-pm-bus to use genpd. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16ARM: dts: Move am4 l3 noc to a separate nodeTony Lindgren1-4/+8
In preparation for probing l3 with simple-pm-bus and genpd, we must move l3 noc to a separate node 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>
2020-11-16ARM: dts: Use simple-pm-bus for genpd for am4 l4_perTony Lindgren1-5/+8
We can now enable simple-pm-bus to use genpd. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16ARM: dts: Use simple-pm-bus for genpd for am4 l4_fastTony Lindgren1-2/+5
We can now enable simple-pm-bus to use genpd. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16ARM: dts: Use simple-pm-bus for genpd for am4 l4_wkupTony Lindgren1-4/+7
We can now enable simple-pm-bus to use genpd. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am4 mpussTony Lindgren6-48/+18
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>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am4 ocmcramTony Lindgren4-40/+23
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>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am4 emifTony Lindgren3-43/+17
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>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am4 wkup_m3Tony Lindgren3-48/+0
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>
2020-11-16ARM: dts: Configure interconnect target module for am4 wkup_m3Tony Lindgren2-18/+17
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>
2020-11-16ARM: dts: Configure RTC powerdomain for am4Tony Lindgren1-0/+1
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>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am4 control moduleTony Lindgren3-29/+3
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>
2020-11-16ARM: dts: Configure also interconnect clocks for am4 system timerTony Lindgren1-0/+6
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>
2020-11-16ARM: dts: am43xx: add remaining PRM instancesTero Kristo1-0/+26
Add remaining PRM instances for the am43xx SoC. Additionally enable the genpd support for them. Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16soc: ti: omap-prm: am4: add genpd support for remaining PRM instancesTero Kristo1-3/+33
Add genpd support for mpu, rtc, tamper, cefuse, per and wkup instances. Cc: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16clk: ti: am437x: Keep am4 l3 main clock always on for genpdTony Lindgren1-0/+8
In order for suspend and resume to work with genpd on am4, we must keep l3 main clock always on. Otherwise prm_omap driver will shut down the l3 main clock on suspend when simple-pm-bus and GENPD_FLAG_PM_CLK are used. Note that we already keep the l3 main clock always on with the legacy platform code. Later on we may want to start managing the l3 main clock with a dedicated interconnect driver instead of using simple-pm-bus and GENPD_FLAG_PM_CLK. Cc: linux-clk@vger.kernel.org Cc: Michael Turquette <mturquette@baylibre.com> Cc: Stephen Boyd <sboyd@kernel.org> Cc: Tero Kristo <t-kristo@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16ARM: OMAP2+: Build hwmod related code as neededTony Lindgren3-12/+22
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>
2020-11-16ARM: OMAP2+: Drop legacy remaining legacy platform data for am3Tony Lindgren3-164/+0
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>
2020-11-16ARM: dts: Use simple-pm-bus for genpd for am3 l3Tony Lindgren1-2/+4
We can now enable simple-pm-bus to use genpd. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16ARM: dts: Use simple-pm-bus for genpd for am3 l4_perTony Lindgren1-5/+8
We can now enable simple-pm-bus to use genpd. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16ARM: dts: Use simple-pm-bus for genpd for am3 l4_fastTony Lindgren1-2/+5
We can now enable simple-pm-bus to use genpd. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkupTony Lindgren1-4/+7
We can now enable simple-pm-bus to use genpd. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am3 mpussTony Lindgren4-9/+18
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>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am3 instrTony Lindgren3-8/+14
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>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am3 ocmcramTony Lindgren3-15/+23
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>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am3 emifTony Lindgren2-31/+17
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>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am3 debugssTony Lindgren2-42/+14
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>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am3 and am4 gpmcTony Lindgren8-78/+65
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>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am3 wkup_m3Tony Lindgren2-44/+0
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>
2020-11-16ARM: dts: Configure interconnect target module for am3 wkup_m3Tony Lindgren2-17/+14
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>
2020-11-16ARM: dts: Configure RTC powerdomain for am3Tony Lindgren1-0/+1
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>
2020-11-16ARM: OMAP2+: Drop legacy platform data for am3 control moduleTony Lindgren2-24/+3
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>
2020-11-16ARM: dts: Configure also interconnect clocks for am4 system timerTony Lindgren1-0/+6
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>
2020-11-16ARM: dts: am33xx: add remaining PRM instancesTero Kristo1-0/+20
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>
2020-11-16remoteproc/wkup_m3: Use reset control driver if availableTony Lindgren1-13/+28
In order to move wkup_m3 to probe without platform data, let's add support for using optional reset control driver if configured in the dts. With this change and the related dts change, we can start dropping the platform data for am335x. And once wkup_m3 no longer needs platform data, we can simply drop the related legacy reset platform data callbacks from wkup_m3 driver later on after also am437x no longer depends on it. Cc: linux-remoteproc@vger.kernel.org Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Cc: Dave Gerlach <d-gerlach@ti.com> Cc: Philipp Zabel <p.zabel@pengutronix.de> Cc: Suman Anna <s-anna@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16soc: ti: pm33xx: Enable basic PM runtime support for genpdTony Lindgren1-2/+15
To prepare for moving to use genpd, let's enable basic PM runtime support. Cc: Dave Gerlach <d-gerlach@ti.com> Cc: Santosh Shilimkar <ssantosh@kernel.org> Cc: Suman Anna <s-anna@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16soc: ti: omap-prm: am3: add genpd support for remaining PRM instancesTero Kristo1-3/+33
Add genpd support for per, wkup, mpu, rtc and cefuse instances. Cc: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16soc: ti: omap-prm: Add pm_clk for genpdTony Lindgren1-0/+44
In order to probe l3 and l4 interconnects with simple-pm-bus, we want genpd to manage the clocks for the interconnects. For interconnect target modules, we already have ti-sysc manage the clocks so let's skipe managing clocks for ti-sysc modules. Cc: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16clk: ti: am33xx: Keep am3 l3 main clock always on for genpdTony Lindgren1-0/+2
In order for suspend and resume to work with genpd on am3, we must keep l3 main clock always on. Otherwise prm_omap driver will shut down the l3 main clock on suspend when simple-pm-bus and GENPD_FLAG_PM_CLK are used. Note that we already keep the l3 main clock always on with the legacy platform code. Later on we may want to start managing the l3 main clock with a dedicated interconnect driver instead of using simple-pm-bus and GENPD_FLAG_PM_CLK. Cc: linux-clk@vger.kernel.org Cc: Michael Turquette <mturquette@baylibre.com> Cc: Stephen Boyd <sboyd@kernel.org> Cc: Tero Kristo <t-kristo@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16bus: ti-sysc: Implement GPMC debug quirk to drop platform dataTony Lindgren2-0/+11
We need to enable no-reset-on-init quirk for GPMC if the config option for CONFIG_OMAP_GPMC_DEBUG is set. Otherwise the GPMC driver code is unable to show the bootloader configured timings. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16bus: ti-sysc: Support modules without control registersTony Lindgren1-0/+7
Some modules like MPU have a powerdomain and functional clock but not necessarily any control registers. Let's allow configuring interconnect target modules with no control registers. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16ARM: OMAP2+: Probe PRCM first to probe l4_wkup with simple-pm-busTony Lindgren1-0/+11
In preparation for probing the interconnects with simple-pm-bus to make use of genpd, we need to probe the always-on PRCM first for the clocks needed by l4_wkup instance. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16ARM: OMAP2+: Check for inited flagTony Lindgren1-0/+6
If we have no hwmods configured and omap_hwmod_init() is not called, we don't want to call omap_hwmod_setup_all() as it will fail with checks for configured MPU at least. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-16bus: ti-sysc: Assert reset only after disabling clocksTony Lindgren1-11/+13
The rstctrl reset must be asserted after gating the module clock as described in the TRM at least for IVA. Otherwise the rstctrl reset done with module clock enabled can hang the system. Note that this issue is has been only seen with related IVA changes that we do not currently have merged. So probably no need to apply this patch as a fix. Signed-off-by: Tony Lindgren <tony@atomide.com>
2020-11-13soc: ti: omap-prm: Do not check rstst bit on deassert if already deassertedTony Lindgren1-0/+4
If a rstctrl reset bit is already deasserted, we can just bail out early not wait for rstst to clear. Otherwise we can have deassert fail for already deasserted resets. Fixes: c5117a78dd88 ("soc: ti: omap-prm: poll for reset complete during de-assert") Signed-off-by: Tony Lindgren <tony@atomide.com>