hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/arm/boot/dts/omap34xx.dtsi
....@@ -1,7 +1,7 @@
11 /*
22 * Device Tree Source for OMAP34xx/OMAP35xx SoC
33 *
4
- * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
4
+ * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
55 *
66 * This file is licensed under the terms of the GNU General Public License
77 * version 2. This program is licensed "as is" without any warranty of any
....@@ -16,16 +16,65 @@
1616 / {
1717 cpus {
1818 cpu: cpu@0 {
19
- /* OMAP343x/OMAP35xx variants OPP1-5 */
20
- operating-points = <
21
- /* kHz uV */
22
- 125000 975000
23
- 250000 1075000
24
- 500000 1200000
25
- 550000 1270000
26
- 600000 1350000
27
- >;
19
+ /* OMAP343x/OMAP35xx variants OPP1-6 */
20
+ operating-points-v2 = <&cpu0_opp_table>;
21
+
2822 clock-latency = <300000>; /* From legacy driver */
23
+ #cooling-cells = <2>;
24
+ };
25
+ };
26
+
27
+ /* see Documentation/devicetree/bindings/opp/opp.txt */
28
+ cpu0_opp_table: opp-table {
29
+ compatible = "operating-points-v2-ti-cpu";
30
+ syscon = <&scm_conf>;
31
+
32
+ opp1-125000000 {
33
+ opp-hz = /bits/ 64 <125000000>;
34
+ /*
35
+ * we currently only select the max voltage from table
36
+ * Table 3-3 of the omap3530 Data sheet (SPRS507F).
37
+ * Format is: <target min max>
38
+ */
39
+ opp-microvolt = <975000 975000 975000>;
40
+ /*
41
+ * first value is silicon revision bit mask
42
+ * second one 720MHz Device Identification bit mask
43
+ */
44
+ opp-supported-hw = <0xffffffff 3>;
45
+ };
46
+
47
+ opp2-250000000 {
48
+ opp-hz = /bits/ 64 <250000000>;
49
+ opp-microvolt = <1075000 1075000 1075000>;
50
+ opp-supported-hw = <0xffffffff 3>;
51
+ opp-suspend;
52
+ };
53
+
54
+ opp3-500000000 {
55
+ opp-hz = /bits/ 64 <500000000>;
56
+ opp-microvolt = <1200000 1200000 1200000>;
57
+ opp-supported-hw = <0xffffffff 3>;
58
+ };
59
+
60
+ opp4-550000000 {
61
+ opp-hz = /bits/ 64 <550000000>;
62
+ opp-microvolt = <1275000 1275000 1275000>;
63
+ opp-supported-hw = <0xffffffff 3>;
64
+ };
65
+
66
+ opp5-600000000 {
67
+ opp-hz = /bits/ 64 <600000000>;
68
+ opp-microvolt = <1350000 1350000 1350000>;
69
+ opp-supported-hw = <0xffffffff 3>;
70
+ };
71
+
72
+ opp6-720000000 {
73
+ opp-hz = /bits/ 64 <720000000>;
74
+ opp-microvolt = <1350000 1350000 1350000>;
75
+ /* only high-speed grade omap3530 devices */
76
+ opp-supported-hw = <0xffffffff 2>;
77
+ turbo-mode;
2978 };
3079 };
3180
....@@ -100,6 +149,32 @@
100149 interrupts = <18>;
101150 };
102151 };
152
+
153
+ /*
154
+ * On omap34xx the OCP registers do not seem to be accessible
155
+ * at all unlike on 36xx. Maybe SGX is permanently set to
156
+ * "OCP bypass mode", or maybe there is OCP_SYSCONFIG that is
157
+ * write-only at 0x50000e10. We detect SGX based on the SGX
158
+ * revision register instead of the unreadable OCP revision
159
+ * register. Also note that on early 34xx es1 revision there
160
+ * are also different clocks, but we do not have any dts users
161
+ * for it.
162
+ */
163
+ sgx_module: target-module@50000000 {
164
+ compatible = "ti,sysc-omap2", "ti,sysc";
165
+ reg = <0x50000014 0x4>;
166
+ reg-names = "rev";
167
+ clocks = <&sgx_fck>, <&sgx_ick>;
168
+ clock-names = "fck", "ick";
169
+ #address-cells = <1>;
170
+ #size-cells = <1>;
171
+ ranges = <0 0x50000000 0x4000>;
172
+
173
+ /*
174
+ * Closed source PowerVR driver, no child device
175
+ * binding or driver in mainline
176
+ */
177
+ };
103178 };
104179
105180 thermal_zones: thermal-zones {
....@@ -108,7 +183,7 @@
108183 };
109184
110185 &ssi {
111
- status = "ok";
186
+ status = "okay";
112187
113188 clocks = <&ssi_ssr_fck>,
114189 <&ssi_sst_fck>,