.. | .. |
---|
1 | 1 | /* |
---|
2 | 2 | * Device Tree Source for OMAP34xx/OMAP35xx SoC |
---|
3 | 3 | * |
---|
4 | | - * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/ |
---|
| 4 | + * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/ |
---|
5 | 5 | * |
---|
6 | 6 | * This file is licensed under the terms of the GNU General Public License |
---|
7 | 7 | * version 2. This program is licensed "as is" without any warranty of any |
---|
.. | .. |
---|
16 | 16 | / { |
---|
17 | 17 | cpus { |
---|
18 | 18 | 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 | + |
---|
28 | 22 | 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; |
---|
29 | 78 | }; |
---|
30 | 79 | }; |
---|
31 | 80 | |
---|
.. | .. |
---|
100 | 149 | interrupts = <18>; |
---|
101 | 150 | }; |
---|
102 | 151 | }; |
---|
| 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 | + }; |
---|
103 | 178 | }; |
---|
104 | 179 | |
---|
105 | 180 | thermal_zones: thermal-zones { |
---|
.. | .. |
---|
108 | 183 | }; |
---|
109 | 184 | |
---|
110 | 185 | &ssi { |
---|
111 | | - status = "ok"; |
---|
| 186 | + status = "okay"; |
---|
112 | 187 | |
---|
113 | 188 | clocks = <&ssi_ssr_fck>, |
---|
114 | 189 | <&ssi_sst_fck>, |
---|