| .. | .. |
|---|
| 1 | 1 | /* |
|---|
| 2 | 2 | * Device Tree Source for am3517 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 |
|---|
| .. | .. |
|---|
| 10 | 10 | |
|---|
| 11 | 11 | #include "omap3.dtsi" |
|---|
| 12 | 12 | |
|---|
| 13 | +/* AM3517 doesn't appear to have the crypto engines defined in omap3.dtsi */ |
|---|
| 14 | +/delete-node/ &aes1_target; |
|---|
| 15 | +/delete-node/ &aes2_target; |
|---|
| 16 | + |
|---|
| 13 | 17 | / { |
|---|
| 14 | 18 | aliases { |
|---|
| 15 | 19 | serial3 = &uart4; |
|---|
| 16 | 20 | can = &hecc; |
|---|
| 21 | + }; |
|---|
| 22 | + |
|---|
| 23 | + cpus { |
|---|
| 24 | + cpu: cpu@0 { |
|---|
| 25 | + /* Based on OMAP3630 variants OPP50 and OPP100 */ |
|---|
| 26 | + operating-points-v2 = <&cpu0_opp_table>; |
|---|
| 27 | + |
|---|
| 28 | + clock-latency = <300000>; /* From legacy driver */ |
|---|
| 29 | + }; |
|---|
| 30 | + }; |
|---|
| 31 | + |
|---|
| 32 | + cpu0_opp_table: opp-table { |
|---|
| 33 | + compatible = "operating-points-v2-ti-cpu"; |
|---|
| 34 | + syscon = <&scm_conf>; |
|---|
| 35 | + /* |
|---|
| 36 | + * AM3517 TRM only lists 600MHz @ 1.2V, but omap36xx |
|---|
| 37 | + * appear to operate at 300MHz as well. Since AM3517 only |
|---|
| 38 | + * lists one operating voltage, it will remain fixed at 1.2V |
|---|
| 39 | + */ |
|---|
| 40 | + opp50-300000000 { |
|---|
| 41 | + opp-hz = /bits/ 64 <300000000>; |
|---|
| 42 | + opp-microvolt = <1200000>; |
|---|
| 43 | + opp-supported-hw = <0xffffffff 0xffffffff>; |
|---|
| 44 | + opp-suspend; |
|---|
| 45 | + }; |
|---|
| 46 | + |
|---|
| 47 | + opp100-600000000 { |
|---|
| 48 | + opp-hz = /bits/ 64 <600000000>; |
|---|
| 49 | + opp-microvolt = <1200000>; |
|---|
| 50 | + opp-supported-hw = <0xffffffff 0xffffffff>; |
|---|
| 51 | + }; |
|---|
| 17 | 52 | }; |
|---|
| 18 | 53 | |
|---|
| 19 | 54 | ocp@68000000 { |
|---|
| .. | .. |
|---|
| 43 | 78 | clock-names = "ick"; |
|---|
| 44 | 79 | }; |
|---|
| 45 | 80 | |
|---|
| 46 | | - davinci_mdio: ethernet@5c030000 { |
|---|
| 81 | + davinci_mdio: mdio@5c030000 { |
|---|
| 47 | 82 | compatible = "ti,davinci_mdio"; |
|---|
| 48 | 83 | ti,hwmods = "davinci_mdio"; |
|---|
| 49 | 84 | status = "disabled"; |
|---|
| .. | .. |
|---|
| 88 | 123 | interrupts = <24>; |
|---|
| 89 | 124 | clocks = <&hecc_ck>; |
|---|
| 90 | 125 | }; |
|---|
| 126 | + |
|---|
| 127 | + /* |
|---|
| 128 | + * On am3517 the OCP registers do not seem to be accessible |
|---|
| 129 | + * similar to the omap34xx. Maybe SGX is permanently set to |
|---|
| 130 | + * "OCP bypass mode", or maybe there is OCP_SYSCONFIG that is |
|---|
| 131 | + * write-only at 0x50000e10. We detect SGX based on the SGX |
|---|
| 132 | + * revision register instead of the unreadable OCP revision |
|---|
| 133 | + * register. |
|---|
| 134 | + */ |
|---|
| 135 | + sgx_module: target-module@50000000 { |
|---|
| 136 | + compatible = "ti,sysc-omap2", "ti,sysc"; |
|---|
| 137 | + reg = <0x50000014 0x4>; |
|---|
| 138 | + reg-names = "rev"; |
|---|
| 139 | + clocks = <&sgx_fck>, <&sgx_ick>; |
|---|
| 140 | + clock-names = "fck", "ick"; |
|---|
| 141 | + #address-cells = <1>; |
|---|
| 142 | + #size-cells = <1>; |
|---|
| 143 | + ranges = <0 0x50000000 0x4000>; |
|---|
| 144 | + |
|---|
| 145 | + /* |
|---|
| 146 | + * Closed source PowerVR driver, no child device |
|---|
| 147 | + * binding or driver in mainline |
|---|
| 148 | + */ |
|---|
| 149 | + }; |
|---|
| 91 | 150 | }; |
|---|
| 151 | +}; |
|---|
| 152 | + |
|---|
| 153 | +/* Not currently working, probably needs at least different clocks */ |
|---|
| 154 | +&rng_target { |
|---|
| 155 | + status = "disabled"; |
|---|
| 156 | + /delete-property/ clocks; |
|---|
| 92 | 157 | }; |
|---|
| 93 | 158 | |
|---|
| 94 | 159 | /* Table Table 5-79 of the TRM shows 480ab000 is reserved */ |
|---|
| .. | .. |
|---|
| 108 | 173 | status = "disabled"; |
|---|
| 109 | 174 | }; |
|---|
| 110 | 175 | |
|---|
| 111 | | -/include/ "am35xx-clocks.dtsi" |
|---|
| 112 | | -/include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi" |
|---|
| 176 | +#include "am35xx-clocks.dtsi" |
|---|
| 177 | +#include "omap36xx-am35xx-omap3430es2plus-clocks.dtsi" |
|---|
| 178 | + |
|---|
| 179 | +/* Preferred always-on timer for clocksource */ |
|---|
| 180 | +&timer1_target { |
|---|
| 181 | + ti,no-reset-on-init; |
|---|
| 182 | + ti,no-idle; |
|---|
| 183 | + timer@0 { |
|---|
| 184 | + assigned-clocks = <&gpt1_fck>; |
|---|
| 185 | + assigned-clock-parents = <&sys_ck>; |
|---|
| 186 | + }; |
|---|
| 187 | +}; |
|---|
| 188 | + |
|---|
| 189 | +/* Preferred timer for clockevent */ |
|---|
| 190 | +&timer2_target { |
|---|
| 191 | + ti,no-reset-on-init; |
|---|
| 192 | + ti,no-idle; |
|---|
| 193 | + timer@0 { |
|---|
| 194 | + assigned-clocks = <&gpt2_fck>; |
|---|
| 195 | + assigned-clock-parents = <&sys_ck>; |
|---|
| 196 | + }; |
|---|
| 197 | +}; |
|---|