ARM: dts: ARM: dts: Configure interconnect target module for am3517sgx
authorAdam Ford <aford173@gmail.com>
Mon, 26 Aug 2019 15:47:09 +0000 (08:47 -0700)
committerTony Lindgren <tony@atomide.com>
Mon, 26 Aug 2019 15:47:09 +0000 (08:47 -0700)
Based on Tony Lindgren's work for omap34xx, this patch applies the same
functionality to the AM3517.

The following can be tested via sysfs with the following to ensure the SGX
module gets enabled and disabled properly:

0x00010201

Bus error

Cc: Filip Matijević <filip.matijevic.pz@gmail.com>
Cc: "H. Nikolaus Schaller" <hns@goldelico.com>
Cc: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
Cc: moaz korena <moaz@korena.xyz>
Cc: Merlijn Wajer <merlijn@wizzup.org>
Cc: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
Cc: Philipp Rossak <embed3d@gmail.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Adam Ford <aford173@gmail.com>
[tony@atomide.com: updated subject, dropped rstctrl info]
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/am3517.dtsi

index 23ea381..bf30020 100644 (file)
                        interrupts = <24>;
                        clocks = <&hecc_ck>;
                };
+
+               /*
+                * On am3517 the OCP registers do not seem to be accessible
+                * similar to the omap34xx. Maybe SGX is permanently set to
+                * "OCP bypass mode", or maybe there is OCP_SYSCONFIG that is
+                * write-only at 0x50000e10. We detect SGX based on the SGX
+                * revision register instead of the unreadable OCP revision
+                * register.
+                */
+               sgx_module: target-module@50000000 {
+                       compatible = "ti,sysc-omap2", "ti,sysc";
+                       reg = <0x50000014 0x4>;
+                       reg-names = "rev";
+                       clocks = <&sgx_fck>, <&sgx_ick>;
+                       clock-names = "fck", "ick";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x50000000 0x4000>;
+
+                       /*
+                        * Closed source PowerVR driver, no child device
+                        * binding or driver in mainline
+                        */
+               };
        };
 };