aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2
AgeCommit message (Collapse)AuthorFilesLines
2020-03-25Merge tag 'omap-for-v5.7/pm33xx-signed' of ↵Arnd Bergmann1-6/+131
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc PM changes for am335x and am437x for v5.7 merge window A series of changes from Dave Gerlach to enable basic cpuidle support for am335x and am437x based on generic cpuidle-arm driver. * tag 'omap-for-v5.7/pm33xx-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: omap2plus_defconfig: Add CONFIG_ARM_CPUIDLE soc: ti: pm33xx: Add base cpuidle support ARM: OMAP2+: pm33xx-core: Extend platform_data ops for cpuidle ARM: OMAP2+: pm33xx-core: Add cpuidle_ops for am335x/am437x dt-bindings: arm: cpu: Add TI AM335x and AM437x enable method Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnd Bergmann <[email protected]>
2020-03-25.gitignore: add SPDX License IdentifierMasahiro Yamada1-0/+1
Add SPDX License Identifier to all .gitignore files. Signed-off-by: Masahiro Yamada <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2020-03-17ARM: OMAP2+: Drop legacy platform data for ti81xx edmaTony Lindgren1-173/+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: Brian Hutchinson <[email protected]> Cc: Graeme Smecher <[email protected]> Cc: Peter Ujfalusi <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-03-17ARM: OMAP2+: Drop legacy platform data for dm814x cpswTony Lindgren1-58/+0
We can now probe devices with ti-sysc interconnect driver and dts data. Let's drop the related platform data. dts property. Cc: Graeme Smecher <[email protected]> Cc: Grygorii Strashko <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-03-09ARM: OMAP2+: Handle errors for cpu_pmTony Lindgren3-13/+30
We need to check for errors when calling cpu_pm_enter() and cpu_cluster_pm_enter(). And we need to bail out on errors as otherwise we can enter a deeper idle state when not desired. I'm not aware of the lack of error handling causing issues yet, but we need this at least for blocking deeper idle states when a GPIO instance has pending interrupts. Cc: Dave Gerlach <[email protected]> Cc: Grygorii Strashko <[email protected]> Cc: Keerthy <[email protected]> Cc: Ladislav Michl <[email protected]> Cc: Russell King <[email protected]> Cc: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Linus Walleij <[email protected]>
2020-03-06ARM: OMAP2+: Drop legacy platform data for dra7 edmaTony Lindgren1-88/+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: Peter Ujfalusi <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-03-06ARM: OMAP2+: Drop legacy platform data for am3 and am4 edmaTony Lindgren5-130/+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: Peter Ujfalusi <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-03-06Merge branch 'omap-for-v5.7/omap1' into omap-for-v5.7/socTony Lindgren1-8/+3
2020-03-04ARM: OMAP: replace setup_irq() by request_irq()afzal mohammed1-8/+3
request_irq() is preferred over setup_irq(). Invocations of setup_irq() occur after memory allocators are ready. Per tglx[1], setup_irq() existed in olden days when allocators were not ready by the time early interrupts were initialized. Hence replace setup_irq() by request_irq(). [1] https://lkml.kernel.org/r/alpine.DEB.2.20.1710191609480.1971@nanos Signed-off-by: afzal mohammed <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-03-04Merge branch 'omap-for-v5.7/accelerators' into omap-for-v5.7/ti-sysc-drop-pdataTony Lindgren6-189/+0
2020-03-04ARM: OMAP2+: Drop legacy platform data for am437x DSSTony Lindgren1-101/+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: Jyri Sarha <[email protected]> Cc: Keerthy <[email protected]> Cc: Laurent Pinchart <[email protected]> Cc: Tomi Valkeinen <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-03-04ARM: OMAP2+: Drop legacy platform data for dra7 DSSTony Lindgren1-163/+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: Jyri Sarha <[email protected]> Cc: Laurent Pinchart <[email protected]> Cc: Tomi Valkeinen <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-03-04ARM: OMAP2+: Drop legacy platform data for omap5 DSSTony Lindgren1-288/+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: Jyri Sarha <[email protected]> Cc: Laurent Pinchart <[email protected]> Cc: Tomi Valkeinen <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-03-04ARM: OMAP2+: Drop legacy platform data for omap4 dssTony Lindgren1-404/+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: Jyri Sarha <[email protected]> Cc: Laurent Pinchart <[email protected]> Cc: Sebastian Reichel <[email protected]> Cc: Tomi Valkeinen <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-02-27ARM: OMAP4: hwmod_data: Remove OMAP4 IPU hwmod dataSuman Anna1-51/+0
The OMAP4 IPU hwmod is currently not used in DT, and the new DTS node shall be added as per the new OMAP remoteproc bindings with the underneath MMU device relying on the ti-sysc infrastructure. Drop the legacy hwmod data for OMAP4 IPU as this will not be used going forward. Signed-off-by: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-02-27ARM: OMAP2+: Drop legacy platform data for OMAP4 DSPSuman Anna1-76/+0
The OMAP4 DSP hwmod is used in DT, but the DT node is not probing any real driver. The DSP device-tree node shall be updated as per the new OMAP remoteproc bindings with the underneath MMU device relying on the ti-sysc infrastructure. Drop the legacy hwmod data for the DSP device along with the custom ti,hwmods property. They have to be dropped together since the early platform data init code is based on the custom ti,hwmods property. Signed-off-by: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-02-27ARM: OMAP2+: Drop hwmod data for am3 and am4 PRUSSSuman Anna5-62/+0
The PRUSS hwmod is currently not used in DT, and the new DTS nodes shall be added using the ti-sysc infrastructure and the omap-prm reset driver. Drop the legacy hwmod data for the PRUSS module on both the AM33xx and AM437x family of SoCs. Signed-off-by: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-02-27ARM: OMAP2+: pm33xx-core: Extend platform_data ops for cpuidleDave Gerlach1-5/+15
In order for am335x and am437x to properly enter deeper c-states in cpuidle they must always call into the sleep33/43xx suspend code and also sometimes invoke the wkup_m3_ipc driver. These are both controlled by the pm33xx module so we must provide a method for the platform code to call back into the module when it is available as the core cpuidle ops that are invoked by the cpuidle-arm driver must remain as built in. Extend the init platform op to take an idle function as an argument so that we can use this to call into the pm33xx module for c-states that need it. Also add a deinit op so we can unregister this idle function from the PM core when the pm33xx module gets unloaded. Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Dave Gerlach <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-02-27ARM: OMAP2+: pm33xx-core: Add cpuidle_ops for am335x/am437xDave Gerlach1-1/+116
am335x and am437x can now make use of the generic cpuidle-arm driver. This requires that we define init and suspend ops to be passed set as the cpuidle ops for the SoC. These ops are invoked directly at the last stage of the cpuidle-arm driver in order to allow low level platform code to run and bring the CPU the rest of the way into it's desired idle state. It is required that the CPUIDLE_METHOD_OF_DECLARE be called from code that is built in so define these ops in pm33xx-core where the always built-in portion of the PM code for these SoCs lives. Additionally, although an soc_suspend function is already exposed by the pm33xx platform code, it contains additional operations needed for full SoC suspend beyond what is needed for a relatively simple CPU suspend needed during cpuidle. To get around this introduce cpu_suspend ops to be used by the am335x and am437x PM driver for the last stage of cpuidle path. Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Dave Gerlach <[email protected]> Acked-by: Santosh Shilimkar <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-02-26ARM: OMAP2+: Fix compile if CONFIG_HAVE_ARM_SMCCC is not setTony Lindgren2-3/+1
Recent omap changes added runtime checks to use omap_smccc_smc() when optee is configured in dts. As the omap-secure code can be built for ARMv6 only without ARMv7 and use custom smc calls, we now get a build error: omap-secure.c:(.text+0x94): undefined reference to `__arm_smccc_smc' As there secure calls are not used for ARMv6, we should not build secure-common, and not call omap_secure_init() for omap2. Fixes: c37baa06f8a9 ("ARM: OMAP2+: Fix undefined reference to omap_secure_init") Reported-by: kbuild test robot <[email protected]> Cc: Aaro Koskinen <[email protected]> Cc: Andrew F. Davis <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Marc Zyngier <[email protected]> Cc: Rob Herring <[email protected]> Cc: Russell King <[email protected]> Cc: Steven Price <[email protected]> Cc: Will Deacon <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-02-26bus: ti-sysc: Implement SoC revision handlingTony Lindgren1-0/+6
We need to know SoC type and features for cases where the same SoC may be installed in various versions on the same board and would need a separate dts file otherwise for the different variants. For example, am3703 is pin compatible with omap3630, but has sgx and iva accelerators disabled. We must not try to access the sgx or iva module registers on am3703, and need to set the unavailable devices disabled early. Let's also detect omap3430 as that is needed for display subsystem (DSS) reset later on, and GP vs EMU or HS devices. Further SoC specific disabled device detection can be added as needed, such as dra71x vs dra76x rtc and usb4. Cc: Adam Ford <[email protected]> Cc: André Hentschel <[email protected]> Cc: H. Nikolaus Schaller <[email protected]> Cc: Keerthy <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-02-21ARM: OMAP2+: Improve handling of ti-sysc related sysc_fieldsTony Lindgren1-7/+12
We can currently get a cryptic warning sysc_fields (ptrval) != (ptrval) if the legacy platform data has no sysc_fields defined while the newer dts data has them. This warning appears only when booting still with legacy "ti,hwmods" custom property set. This can happen at least with DSS related modules where we may not have sysc_fields defined in the in the legacy data. Let's not error out on missing legacy data sysc_fields, and show a more descriptive warning for other cases. Signed-off-by: Tony Lindgren <[email protected]>
2020-02-08Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/socLinus Torvalds2-136/+1
Pull ARM SoC late updates from Olof Johansson: "This is some material that we picked up into our tree late, or that had more complex dependencies on more than one topic branch that makes sense to keep separately. - TI support for secure accelerators and hwrng on OMAP4/5 - TI camera changes for dra7 and am437x and SGX improvement due to better reset control support on am335x, am437x and dra7 - Davinci moves to proper clocksource on DM365, and regulator/audio improvements for DM365 and DM644x eval boards" * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (32 commits) ARM: dts: omap4-droid4: Enable hdq for droid4 ds250x 1-wire battery nvmem ARM: dts: motorola-cpcap-mapphone: Configure calibration interrupt ARM: dts: Configure interconnect target module for am437x sgx ARM: dts: Configure sgx for dra7 ARM: dts: Configure rstctrl reset for am335x SGX ARM: dts: dra7: Add ti-sysc node for VPE ARM: dts: dra7: add vpe clkctrl node ARM: dts: am43x-epos-evm: Add VPFE and OV2659 entries ARM: dts: am437x-sk-evm: Add VPFE and OV2659 entries ARM: dts: am43xx: add support for clkout1 clock arm: dts: dra76-evm: Add CAL and OV5640 nodes arm: dtsi: dra76x: Add CAL dtsi node arm: dts: dra72-evm-common: Add entries for the CSI2 cameras ARM: dts: DRA72: Add CAL dtsi node ARM: dts: dra7-l4: Add ti-sysc node for CAM ARM: OMAP: DRA7xx: Make CAM clock domain SWSUP only ARM: dts: dra7: add cam clkctrl node ARM: OMAP2+: Drop legacy platform data for omap4 des ARM: OMAP2+: Drop legacy platform data for omap4 sham ARM: OMAP2+: Drop legacy platform data for omap4 aes ...
2020-02-08Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/socLinus Torvalds23-4140/+30
Pull ARM Device-tree updates from Olof Johansson: "New SoCs: - Atmel/Microchip SAM9X60 (ARM926 SoC) - OMAP 37xx gets split into AM3703/AM3715/DM3725, who are all variants of it with different GPU/media IP configurations. - ST stm32mp15 SoCs (1-2 Cortex-A7, CAN, GPU depending on SKU) - ST Ericsson ab8505 (variant of ab8500) and db8520 (variant of db8500) - Unisoc SC9863A SoC (8x Cortex-A55 mobile chipset w/ GPU, modem) - Qualcomm SC7180 (8-core 64bit SoC, unnamed CPU class) New boards: - Allwinner: + Emlid Neutis SoM (H3 variant) + Libre Computer ALL-H3-IT + PineH64 Model B - Amlogic: + Libretech Amlogic GX PC (s905d and s912-based variants) - Atmel/Microchip: + Kizboxmini, sam9x60 EK, sama5d27 Wireless SOM (wlsom1) - Marvell: + Armada 385-based SolidRun Clearfog GTR - NXP: + Gateworks GW59xx boards based on i.MX6/6Q/6QDL + Tolino Shine 3 eBook reader (i.MX6sl) + Embedded Artists COM (i.MX7ULP) + SolidRun CLearfog CX/ITX and HoneyComb (LX2160A-based systems) + Google Coral Edge TPU (i.MX8MQ) - Rockchip: + Radxa Dalang Carrier (supports rk3288 and rk3399 SOMs) + Radxa Rock Pi N10 (RK3399Pro-based) + VMARC RK3399Pro SOM - ST: + Reference boards for stm32mp15 - ST Ericsson: + Samsung Galaxy S III mini (GT-I8190) + HREF520 reference board for DB8520 - TI OMAP: + Gen1 Amazon Echo (OMAP3630-based) - Qualcomm: + Inforce 6640 Single Board Computer (msm8996-based) + SC7180 IDP (SC7180-based)" * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (623 commits) dt-bindings: fix compilation error of the example in marvell,mmp3-hsic-phy.yaml arm64: dts: ti: k3-am654-base-board: Add CSI2 OV5640 camera arm64: dts: ti: k3-am65-main Add CAL node arm64: dts: ti: k3-j721e-main: Add McASP nodes arm64: dts: ti: k3-am654-main: Add McASP nodes arm64: dts: ti: k3-j721e: DMA support arm64: dts: ti: k3-j721e-main: Move secure proxy and smmu under main_navss arm64: dts: ti: k3-j721e-main: Correct main NAVSS representation arm64: dts: ti: k3-j721e: Correct the address for MAIN NAVSS arm64: dts: ti: k3-am65: DMA support arm64: dts: ti: k3-am65-main: Move secure proxy under cbass_main_navss arm64: dts: ti: k3-am65-main: Correct main NAVSS representation ARM: dts: aspeed: rainier: Add UCD90320 power sequencer ARM: dts: aspeed: rainier: Switch PSUs to unknown version arm64: dts: rockchip: Kill off "simple-panel" compatibles ARM: dts: rockchip: Kill off "simple-panel" compatibles arm64: dts: rockchip: rename dwmmc node names to mmc ARM: dts: rockchip: rename dwmmc node names to mmc arm64: dts: exynos: Rename Samsung and Exynos to lowercase arm64: dts: uniphier: add reset-names to NAND controller node ...
2020-02-08Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/socLinus Torvalds11-36/+255
Pull ARM SoC platform updates from Olof Johansson: "Most of these are smaller fixes that have accrued, and some continued cleanup of OMAP platforms towards shared frameworks. One new SoC from Atmel/Microchip: sam9x60" * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (35 commits) ARM: OMAP2+: Fix undefined reference to omap_secure_init ARM: s3c64xx: Drop unneeded select of TIMER_OF ARM: exynos: Drop unneeded select of MIGHT_HAVE_CACHE_L2X0 ARM: s3c24xx: Switch to atomic pwm API in rx1950 ARM: OMAP2+: sleep43xx: Call secure suspend/resume handlers ARM: OMAP2+: Use ARM SMC Calling Convention when OP-TEE is available ARM: OMAP2+: Introduce check for OP-TEE in omap_secure_init() ARM: OMAP2+: Add omap_secure_init callback hook for secure initialization ARM: at91: Documentation: add sam9x60 product and datasheet ARM: at91: pm: use of_device_id array to find the proper shdwc node ARM: at91: pm: use SAM9X60 PMC's compatible ARM: imx: only select ARM_ERRATA_814220 for ARMv7-A ARM: zynq: use physical cpuid in zynq_slcr_cpu_stop/start ARM: tegra: Use clk_m CPU on Tegra124 LP1 resume ARM: tegra: Modify reshift divider during LP1 ARM: tegra: Enable PLLP bypass during Tegra124 LP1 ARM: samsung: Rename Samsung and Exynos to lowercase ARM: exynos: Correct the help text for platform Kconfig option ARM: bcm: Select ARM_AMBA for ARCH_BRCMSTB ARM: brcmstb: Add debug UART entry for 7216 ...
2020-01-25Merge tag 'omap-for-v5.6/dt-late-signed' of ↵Olof Johansson1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/late Late omap dts changes for v5.6 merge window This series of changes mostly configures the cameras for dra7 and am437x that have been pending for few months now because of waiting for clock dependencies to clear. So these changes are based on earlier dts changes with with Tero Kristo's for-5.6-ti-clk branch merged in. Then there's a series of changes to configure powervr sgx target module for am335x, am437x and dra7 that have been waiting to have the rstctrl reset driver dependencies to clear. Also included are few minor patches to configure 1-wire and coulomb counter calibration interrupt for droid4. * tag 'omap-for-v5.6/dt-late-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (25 commits) ARM: dts: omap4-droid4: Enable hdq for droid4 ds250x 1-wire battery nvmem ARM: dts: motorola-cpcap-mapphone: Configure calibration interrupt ARM: dts: Configure interconnect target module for am437x sgx ARM: dts: Configure sgx for dra7 ARM: dts: Configure rstctrl reset for am335x SGX ARM: dts: dra7: Add ti-sysc node for VPE ARM: dts: dra7: add vpe clkctrl node ARM: dts: am43x-epos-evm: Add VPFE and OV2659 entries ARM: dts: am437x-sk-evm: Add VPFE and OV2659 entries ARM: dts: am43xx: add support for clkout1 clock arm: dts: dra76-evm: Add CAL and OV5640 nodes arm: dtsi: dra76x: Add CAL dtsi node arm: dts: dra72-evm-common: Add entries for the CSI2 cameras ARM: dts: DRA72: Add CAL dtsi node ARM: dts: dra7-l4: Add ti-sysc node for CAM ARM: OMAP: DRA7xx: Make CAM clock domain SWSUP only ARM: dts: dra7: add cam clkctrl node ARM: dts: Add omap3-echo ARM: dts: Add dtsi files for AM3703, AM3715 and DM3725 ARM: dts: am335x-icev2: Add support for OSD9616P0899-10 at i2c0 ... Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Olof Johansson <[email protected]>
2020-01-23ARM: OMAP: DRA7xx: Make CAM clock domain SWSUP onlyBenoit Parrot1-1/+1
Both CAL and VIP rely on this clock domain. But CAL DPHY require LVDSRX_96M_GFCLK to be active. When this domain is set to HWSUP the LVDSRX_96M_GFCLK is on;y active when VIP1 clock is also active. If only CAL on DRA72x (which uses the VIP2 clkctrl) probes the CAM domain is enabled but the LVDSRX_96M_GFCLK is left gated. Since LVDSRX_96M_GFCLK is sourcing the input clock to the DPHY then actual frame capture cannot start as the phy are inactive. So we either have to also enabled VIP1 even if we don't intend on using it or we need to set the CAM domain to use SWSUP only. This patch implements the latter. Signed-off-by: Benoit Parrot <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-01-23Merge branch 'omap-for-v5.6/ti-sysc-omap45-rng' into ↵Tony Lindgren1-135/+0
omap-for-v5.6/ti-sysc-drop-pdata
2020-01-23ARM: OMAP2+: Drop legacy platform data for omap4 desTony Lindgren1-38/+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: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-01-23ARM: OMAP2+: Drop legacy platform data for omap4 shamTony Lindgren1-35/+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: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-01-23ARM: OMAP2+: Drop legacy platform data for omap4 aesTony Lindgren1-62/+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: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-01-23ARM: OMAP2+: Fix undefined reference to omap_secure_initAndrew F. Davis1-3/+3
omap_secure_init() is now called from all OMAP2+ platforms during their init_early() call. This function is in omap-secure.o so include that in the build for these platforms. Fixes: db711893eac8 ("ARM: OMAP2+: Add omap_secure_init callback hook for secure initialization") Reported-by: Dan Murphy <[email protected]> Signed-off-by: Andrew F. Davis <[email protected]> Tested-by: Dan Murphy <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-01-13ARM: OMAP2+: sleep43xx: Call secure suspend/resume handlersAndrew F. Davis2-0/+27
During suspend CPU context may be lost in both non-secure and secure CPU states. The kernel can handle saving and restoring the non-secure context but must call into the secure side to allow it to save any context it may lose. Add these calls here. Note that on systems with OP-TEE available the suspend call is issued to OP-TEE using the ARM SMCCC, but the resume call is always issued to the ROM. This is because on waking from suspend the ROM is restored as the secure monitor. It is this resume call that instructs the ROM to restore OP-TEE, all subsequent calls will be handled by OP-TEE and should use the ARM SMCCC. Signed-off-by: Andrew F. Davis <[email protected]> Acked-by: Dave Gerlach <[email protected]> Reviewed-by: Lokesh Vutla <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-01-13ARM: OMAP2+: Use ARM SMC Calling Convention when OP-TEE is availableAndrew F. Davis4-4/+33
On High-Security(HS) OMAP2+ class devices a couple actions must be performed from the ARM TrustZone during boot. These traditionally can be performed by calling into the secure ROM code resident in this secure world using legacy SMC calls. Optionally OP-TEE can replace this secure world functionality by replacing the ROM after boot. ARM recommends a standard calling convention is used for this interaction (SMC Calling Convention). We check for the presence of OP-TEE and use this type of call to perform the needed actions, falling back to the legacy OMAP ROM call if OP-TEE is not available. Signed-off-by: Andrew F. Davis <[email protected]> Reviewed-by: Lokesh Vutla <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-01-13ARM: OMAP2+: Introduce check for OP-TEE in omap_secure_init()Andrew F. Davis2-0/+22
This check and associated flag can be used to signal the presence of OP-TEE on the platform. This can be used to determine which SMC calls to make to perform secure operations. Signed-off-by: Andrew F. Davis <[email protected]> Reviewed-by: Lokesh Vutla <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-01-13ARM: OMAP2+: Add omap_secure_init callback hook for secure initializationAndrew F. Davis3-0/+17
This can be used for detecting secure features or making early device init sequence changes based on device security type. Signed-off-by: Andrew F. Davis <[email protected]> Reviewed-by: Lokesh Vutla <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2020-01-08ARM: omap2plus: select RESET_CONTROLLERArnd Bergmann1-1/+2
With the new omap_prm driver added unconditionally, omap2 builds fail when the reset controller subsystem is disabled: drivers/soc/ti/omap_prm.o: In function `omap_prm_probe': omap_prm.c:(.text+0x2d4): undefined reference to `devm_reset_controller_register' Link: https://lore.kernel.org/r/[email protected] Fixes: 3e99cb214f03 ("soc: ti: add initial PRM driver with reset control support") Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Olof Johansson <[email protected]>
2020-01-07Merge tag 'omap-for-v5.6/ti-sysc-drop-pdata-signed' of ↵Olof Johansson23-4140/+30
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt Drop more legacy platform data for omaps for v5.6 merge window We can now probe devices with ti-sysc interconnect driver and dts data, and can continue dropping the related platform data and custom ti,hwmods dts property for various devices. And related to that, we finally can remove the legacy sdma support in favor of using the dmaengine driver only. I was planning to send the sdma changes separately, but that would have produced a pile of pointless merge conflicts, so I decided it's best to resolve it locally. After all, the sdma series also ends up removing the related platform data. Note that this series is based on omap-for-v5.6/ti-sysc-dt-signed branch as it depends for dts data being in place. * tag 'omap-for-v5.6/ti-sysc-drop-pdata-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (56 commits) ARM: OMAP2+: Drop legacy platform data for sdma ARM: OMAP2+: Drop legacy init for sdma dmaengine: ti: omap-dma: Use cpu notifier to block idle for omap2 dmaengine: ti: omap-dma: Allocate channels directly dmaengine: ti: omap-dma: Pass sdma auxdata to driver and use it dmaengine: ti: omap-dma: Configure global priority register directly ARM: OMAP5: hwmod-data: remove OMAP5 IOMMU hwmod data ARM: OMAP4: hwmod-data: remove OMAP4 IOMMU hwmod data ARM: OMAP2+: Drop legacy platform data for omap4 fdif ARM: OMAP2+: Drop legacy platform data for omap4 slimbus ARM: OMAP2+: Drop legacy platform data for omap5 kbd ARM: OMAP2+: Drop legacy platform data for omap4 kbd ARM: OMAP2+: Drop legacy platform data for dra7 smartreflex ARM: OMAP2+: Drop legacy platform data for omap4 smartreflex ARM: OMAP2+: Drop legacy platform data for omap4 hsi ARM: OMAP2+: Drop legacy platform data for am4 vpfe ARM: OMAP2+: Drop legacy platform data for dra7 ocp2scp ARM: OMAP2+: Drop legacy platform data for omap5 ocp2scp ARM: OMAP2+: Drop legacy platform data for omap4 ocp2scp ARM: OMAP2+: Drop legacy platform data for am4 ocp2scp ... Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Olof Johansson <[email protected]>
2020-01-07Merge branch 'omap/soc' into arm/dtOlof Johansson4-29/+153
Bringing in to resolve soc -> add/add conflicts locally * omap/soc: ARM: OMAP2+: use separate IOMMU pdata to fix DRA7 IPU1 boot ARM: OMAP2+: omap-iommu.c conversion to ti-sysc ARM: OMAP2+: Add workaround for DRA7 DSP MStandby errata i879 ARM: OMAP4+: remove pdata quirks for omap4+ iommus ARM: OMAP2+: pdata-quirks: add PRM data for reset support ARM: OMAP2+: am43xx: Add lcdc clockdomain Signed-off-by: Olof Johansson <[email protected]>
2019-12-30Merge branch 'omap-for-v5.6/sdma' into omap-for-v5.6/ti-sysc-drop-pdataTony Lindgren15-633/+30
2019-12-30ARM: OMAP2+: Drop legacy platform data for sdmaTony Lindgren8-291/+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: Aaro Koskinen <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Peter Ujfalusi <[email protected]> Cc: Russell King <[email protected]> Cc: Vinod Koul <[email protected]> Acked-by: Peter Ujfalusi <[email protected]> Tested-by: Peter Ujfalusi <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2019-12-30ARM: OMAP2+: Drop legacy init for sdmaTony Lindgren3-264/+1
We can now drop legacy init for sdma as we pass the quirks in auxdata to the dmaengine driver. Cc: Aaro Koskinen <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Peter Ujfalusi <[email protected]> Cc: Russell King <[email protected]> Cc: Vinod Koul <[email protected]> Acked-by: Peter Ujfalusi <[email protected]> Tested-by: Peter Ujfalusi <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2019-12-30dmaengine: ti: omap-dma: Use cpu notifier to block idle for omap2Tony Lindgren1-12/+10
For omap2, we need to block idle if SDMA is busy. Let's do this with a cpu notifier and remove the custom call. Cc: Aaro Koskinen <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Peter Ujfalusi <[email protected]> Cc: Russell King <[email protected]> Cc: Vinod Koul <[email protected]> Acked-by: Peter Ujfalusi <[email protected]> Tested-by: Peter Ujfalusi <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2019-12-30dmaengine: ti: omap-dma: Pass sdma auxdata to driver and use itTony Lindgren3-1/+5
We can now start passing sdma auxdata to the dmaengine driver to start removing the platform based sdma init. Cc: Aaro Koskinen <[email protected]> Cc: Arnd Bergmann <[email protected]> Cc: Peter Ujfalusi <[email protected]> Cc: Russell King <[email protected]> Cc: Vinod Koul <[email protected]> Acked-by: Peter Ujfalusi <[email protected]> Tested-by: Peter Ujfalusi <[email protected]> Acked-by: Vinod Koul <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2019-12-17ARM: OMAP2+: use separate IOMMU pdata to fix DRA7 IPU1 bootSuman Anna1-0/+21
The IPU1 MMU has been using common IOMMU pdata quirks defined and used by all IPU IOMMU devices on OMAP4 and beyond. Separate out the pdata for IPU1 MMU with the additional .set_pwrdm_constraint ops plugged in, so that the IPU1 power domain can be restricted to ON state during the boot and active period of the IPU1 remote processor. This eliminates the pre-conditions for the IPU1 boot issue as described in commit afe518400bdb ("iommu/omap: fix boot issue on remoteprocs with AMMU/Unicache"). NOTE: 1. RET is not a valid target power domain state on DRA7 platforms, and IPU power domain is normally programmed for OFF. The IPU1 still fails to boot though, and an unclearable l3_noc error is thrown currently on 4.14 kernel without this fix. This behavior is slightly different from previous 4.9 LTS kernel. 2. The fix is currently applied only to IPU1 on DRA7xx SoC, as the other affected processors on OMAP4/OMAP5/DRA7 are in domains that are not entering RET. IPU2 on DRA7 is in CORE power domain which is only programmed for ON power state. The fix can be easily scaled if these domains do hit RET in the future. 3. The issue was not seen on current DRA7 platforms if any of the DSP remote processors were booted and using one of the GPTimers 5, 6, 7 or 8 on previous 4.9 LTS kernel. This was due to the errata fix for i874 implemented in commit 1cbabcb9807e ("ARM: DRA7: clockdomain: Implement timer workaround for errata i874") which keeps the IPU1 power domain from entering RET when the timers are active. But the timer workaround did not make any difference on 4.14 kernel, and an l3_noc error was seen still without this fix. Signed-off-by: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2019-12-17ARM: OMAP2+: omap-iommu.c conversion to ti-syscTero Kristo1-19/+80
Convert omap2 iommu platform code to use ti-sysc instead of legacy omap-device / hwmod interfaces. Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2019-12-17ARM: OMAP2+: Add workaround for DRA7 DSP MStandby errata i879Suman Anna1-3/+40
Errata Title: i879: DSP MStandby requires CD_EMU in SW_WKUP Description: The DSP requires the internal emulation clock to be actively toggling in order to successfully enter a low power mode via execution of the IDLE instruction and PRCM MStandby/Idle handshake. This assumes that other prerequisites and software sequence are followed. Workaround: The emulation clock to the DSP is free-running anytime CCS is connected via JTAG debugger to the DSP subsystem or when the CD_EMU clock domain is set in SW_WKUP mode. The CD_EMU domain can be set in SW_WKUP mode via the CM_EMU_CLKSTCTRL [1:0]CLKTRCTRL field. Implementation: This patch implements this workaround by denying the HW_AUTO mode for the EMU clockdomain during the power-up of any DSP processor and re-enabling the HW_AUTO mode during the shutdown of the last DSP processor (actually done during the enabling and disabling of the respective DSP MDMA MMUs). Reference counting has to be used to manage the independent sequencing between the multiple DSP processors. This switching is done at runtime rather than a static clockdomain flags value to meet the target power domain state for the EMU power domain during suspend. Note that the DSP MStandby behavior is not consistent across all boards prior to this fix. Please see commit 45f871eec6c0 ("ARM: OMAP2+: Extend DRA7 IPU1 MMU pdata quirks to DSP MDMA MMUs") for details. Signed-off-by: Suman Anna <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2019-12-17ARM: OMAP4+: remove pdata quirks for omap4+ iommusTero Kristo1-14/+0
IOMMU driver will be using ti-sysc bus driver for power management control going forward, and the pdata quirks are not needed for anything anymore. Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2019-12-17ARM: OMAP2+: pdata-quirks: add PRM data for reset supportTero Kristo1-0/+8
The parent clockdomain for reset must be in force wakeup mode, otherwise the reset may never complete. Add pdata quirks for this purpose for PRM driver. Signed-off-by: Tero Kristo <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
2019-12-17ARM: OMAP5: hwmod-data: remove OMAP5 IOMMU hwmod dataTero Kristo1-83/+0
IOMMUs are now supported via ti-sysc, so the legacy hwmod data can be removed. Signed-off-by: Tero Kristo <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>