On Wed, Aug 14, 2019 at 8:14 AM Tony Lindgren <tony@xxxxxxxxxxx> wrote: > > Hi all, > > For a while we've been idling sgx module on omap4 by probing it with > ti-sysc interconnect target module driver. This allows leaving out any > platform data in favor of device tree data, and idles the module for > PM even if we don't have any sgx driver. > > I've added similar configuration for omap34xx, omap36xx, omap5 and > am335x. Adding dra7 should work too, but my beagle x15 is suffering > from a power supply problem right now and I'll need to work more on > that later on. > > For am335x, the recently posted prm rstctrl driver is needed. The > other SoCs here don't have a dependency to the prm rstctrl driver. > And probably am335x child driver(s) also need to map the rstctrl > register to increase the deassert use count. > > Please review and test, this should allow sgx child driver(s) to > just use PM runtime to enable the module with no platform data. > > I've only tested these SoCs via sysfs to ensure the sgx module gets > enabled and disabled properly. If you know something about sgx, > please describe more why the sgx registers seem to be at different > place for each SoC like between omap34xx and omap36xx. > > These patches may have some dependencies to what I've queued into > my for-next branch for fixes so it's best to test with that merged > in. Linux next should be usable for testing with these the next > time it gets integrated. > > Regards, > > Tony > > > Tony Lindgren (6): > ARM: OMAP2+: Drop legacy platform data for omap4 gpu > bus: ti-sysc: Add module enable quirk for SGX on omap36xx > clk: ti: add clkctrl data omap5 sgx > ARM: dts: Configure sgx for omap5 > ARM: dts: Configure interconnect target module for omap3 sgx > ARM: dts: Configure rstctrl reset for SGX > Assuming the following is correct: echo on > /sys/bus/platform/devices/5000fe00.target-module/power/control # devmem 0x5000fe00 32 0x40000000 and echo auto > /sys/bus/platform/devices/5000fe00.target-module/power/control # devmem 0x5000fe00 32 [ 776.373504] 8<--- cut here --- [ 776.376617] Unhandled fault: external abort on non-linefetch (0x1018) at 0xb6 f76e00 [ 776.384338] pgd = bde98bb0 [ 776.387054] [b6f76e00] *pgd=8cb61831, *pte=5000f383, *ppte=5000fa33 [ 776.393402] In-band Error seen by MPU at address 0 Then Tested-by: Adam Ford <aford173@xxxxxxxxx> #logicpd-torpedo-37xx-devkit I do wonder if an omap34xx or omap36xx should use compatible = "ti,sysc-omap4", "ti,sysc"; should it use an omap3 equivalent? adam > arch/arm/boot/dts/am33xx.dtsi | 25 ++++++++++ > arch/arm/boot/dts/omap34xx.dtsi | 26 +++++++++++ > arch/arm/boot/dts/omap36xx.dtsi | 27 +++++++++++ > arch/arm/boot/dts/omap4.dtsi | 1 - > arch/arm/boot/dts/omap5.dtsi | 23 ++++++++++ > arch/arm/boot/dts/omap54xx-clocks.dtsi | 14 ++++++ > arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 53 ---------------------- > drivers/bus/ti-sysc.c | 21 +++++++++ > drivers/clk/ti/clk-54xx.c | 34 ++++++++++++++ > include/dt-bindings/clock/omap5.h | 3 ++ > include/linux/platform_data/ti-sysc.h | 1 + > 11 files changed, 174 insertions(+), 54 deletions(-) > > -- > 2.21.0