aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]> Cc: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]> Cc: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]> Cc: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]> Cc: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-11-16ARM: dts: Configure RTC powerdomain for am4Tony Lindgren1-0/+1
For genpd we need the RTC powerdomain configured. Cc: Dave Gerlach <[email protected]> Cc: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]> Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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: [email protected] Cc: Michael Turquette <[email protected]> Cc: Stephen Boyd <[email protected]> Cc: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]> Cc: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]> Cc: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]>
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 <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]> Cc: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]> Cc: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-11-16ARM: dts: Configure RTC powerdomain for am3Tony Lindgren1-0/+1
For genpd we need the RTC powerdomain configured. Cc: Dave Gerlach <[email protected]> Cc: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]> [[email protected]: fixed a typo for #power-domain-cells] Signed-off-by: Tony Lindgren <[email protected]>
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: [email protected] Cc: Bjorn Andersson <[email protected]> Cc: Dave Gerlach <[email protected]> Cc: Philipp Zabel <[email protected]> Cc: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]> Cc: Santosh Shilimkar <[email protected]> Cc: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]> Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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: [email protected] Cc: Michael Turquette <[email protected]> Cc: Stephen Boyd <[email protected]> Cc: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
2020-10-26bus: ti-sysc: Fix bogus resetdone warning on enable for cpswTony Lindgren1-0/+3
Bail out early from sysc_wait_softreset() just like we do in sysc_reset() if there's no sysstatus srst_shift to fix a bogus resetdone warning on enable as suggested by Grygorii Strashko <[email protected]>. We do not currently handle resets for modules that need writing to the sysstatus register. If we at some point add that, we also need to add SYSS_QUIRK_RESETDONE_INVERTED flag for cpsw as the sysstatus bit is low when reset is done as described in the am335x TRM "Table 14-202 SOFT_RESET Register Field Descriptions" Fixes: d46f9fbec719 ("bus: ti-sysc: Use optional clocks on for enable and wait for softreset bit") Suggested-by: Grygorii Strashko <[email protected]> Acked-by: Grygorii Strashko <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-10-26bus: ti-sysc: Fix reset status check for modules with quirksTony Lindgren2-9/+16
Commit d46f9fbec719 ("bus: ti-sysc: Use optional clocks on for enable and wait for softreset bit") started showing a "OCP softreset timed out" warning on enable if the interconnect target module is not out of reset. This caused the warning to be often triggered for i2c and hdq while the devices are working properly. Turns out that some interconnect target modules seem to have an unusable reset status bits unless the module specific reset quirks are activated. Let's just skip the reset status check for those modules as we only want to activate the reset quirks when doing a reset, and not on enable. This way we don't see the bogus "OCP softreset timed out" warnings during boot. Fixes: d46f9fbec719 ("bus: ti-sysc: Use optional clocks on for enable and wait for softreset bit") Signed-off-by: Tony Lindgren <[email protected]>
2020-10-26ARM: OMAP2+: Fix missing select PM_GENERIC_DOMAINS_OFTony Lindgren1-0/+1
We should select also PM_GENERIC_DOMAINS_OF in addition to PM_GENERIC_DOMAINS to have device tree based PM domain providers enabled. Fixes: 58cbff023bfa ("soc: ti: omap-prm: Add basic power domain support") Signed-off-by: Tony Lindgren <[email protected]>
2020-10-26ARM: OMAP2+: Fix location for select PM_GENERIC_DOMAINSTony Lindgren1-1/+1
I accidentally misplaced select PM_GENERIC_DOMAINS, it should be selected for all the SoCs instead. Fixes: 58cbff023bfa ("soc: ti: omap-prm: Add basic power domain support") Signed-off-by: Tony Lindgren <[email protected]>
2020-10-25Linux 5.10-rc1Linus Torvalds1-2/+2
2020-10-25treewide: Convert macro and uses of __section(foo) to __section("foo")Joe Perches117-196/+196
Use a more generic form for __section that requires quotes to avoid complications with clang and gcc differences. Remove the quote operator # from compiler_attributes.h __section macro. Convert all unquoted __section(foo) uses to quoted __section("foo"). Also convert __attribute__((section("foo"))) uses to __section("foo") even if the __attribute__ has multiple list entry forms. Conversion done using the script at: https://lore.kernel.org/lkml/[email protected]/2-convert_section.pl Signed-off-by: Joe Perches <[email protected]> Reviewed-by: Nick Desaulniers <[email protected]> Reviewed-by: Miguel Ojeda <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2020-10-25kernel/sys.c: fix prototype of prctl_get_tid_address()Rasmus Villemoes1-3/+3
tid_addr is not a "pointer to (pointer to int in userspace)"; it is in fact a "pointer to (pointer to int in userspace) in userspace". So sparse rightfully complains about passing a kernel pointer to put_user(). Reported-by: kernel test robot <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2020-10-25mm: remove kzfree() compatibility definitionEric Biggers6-8/+6
Commit 453431a54934 ("mm, treewide: rename kzfree() to kfree_sensitive()") renamed kzfree() to kfree_sensitive(), but it left a compatibility definition of kzfree() to avoid being too disruptive. Since then a few more instances of kzfree() have slipped in. Just get rid of them and remove the compatibility definition once and for all. Signed-off-by: Eric Biggers <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>