| .. | .. |
|---|
| 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>, |
|---|