blob: 22b33098b1a2dd32fa99d313c5ae1189b391ace4 [file] [log] [blame]
Tony Lindgren642f12b2012-09-10 10:20:44 -07001/*
2 * Device Tree Source for OMAP3 SoC
3 *
Alexander A. Klimov75f66812020-07-08 11:34:51 +02004 * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
Tony Lindgren642f12b2012-09-10 10:20:44 -07005 *
6 * This file is licensed under the terms of the GNU General Public License
7 * version 2. This program is licensed "as is" without any warranty of any
8 * kind, whether express or implied.
9 */
10
Tony Lindgrene14d7e52018-01-11 16:04:03 -080011#include <dt-bindings/bus/ti-sysc.h>
Sakari Ailuse5211762015-03-19 01:50:23 +020012#include <dt-bindings/media/omap3-isp.h>
13
Florian Vaussard98ef79572013-05-31 14:32:55 +020014#include "omap3.dtsi"
Tony Lindgren642f12b2012-09-10 10:20:44 -070015
16/ {
17 aliases {
18 serial3 = &uart4;
19 };
20
Nishanth Menon3027e262013-03-19 12:53:04 -050021 cpus {
H. Nikolaus Schallerb7dbe342019-09-11 19:47:08 +020022 /* OMAP3630/OMAP37xx variants OPP50 to OPP130 and OPP1G */
Keerthya761d512017-03-09 13:35:55 +053023 cpu: cpu@0 {
H. Nikolaus Schallerb7dbe342019-09-11 19:47:08 +020024 operating-points-v2 = <&cpu0_opp_table>;
25
H. Nikolaus Schaller341afbc2019-09-11 19:47:12 +020026 vbb-supply = <&abb_mpu_iva>;
H. Nikolaus Schallerb7dbe342019-09-11 19:47:08 +020027 clock-latency = <300000>; /* From omap-cpufreq driver */
Adam Fordbbdb5d12020-08-18 07:57:20 -050028 #cooling-cells = <2>;
H. Nikolaus Schallerb7dbe342019-09-11 19:47:08 +020029 };
30 };
31
H. Nikolaus Schallerb7dbe342019-09-11 19:47:08 +020032 cpu0_opp_table: opp-table {
33 compatible = "operating-points-v2-ti-cpu";
34 syscon = <&scm_conf>;
35
36 opp50-300000000 {
37 opp-hz = /bits/ 64 <300000000>;
38 /*
39 * we currently only select the max voltage from table
40 * Table 4-19 of the DM3730 Data sheet (SPRS685B)
H. Nikolaus Schaller341afbc2019-09-11 19:47:12 +020041 * Format is: cpu0-supply: <target min max>
42 * vbb-supply: <target min max>
H. Nikolaus Schallerb7dbe342019-09-11 19:47:08 +020043 */
H. Nikolaus Schaller341afbc2019-09-11 19:47:12 +020044 opp-microvolt = <1012500 1012500 1012500>,
45 <1012500 1012500 1012500>;
H. Nikolaus Schallerb7dbe342019-09-11 19:47:08 +020046 /*
47 * first value is silicon revision bit mask
48 * second one is "speed binned" bit mask
49 */
50 opp-supported-hw = <0xffffffff 3>;
51 opp-suspend;
52 };
53
54 opp100-600000000 {
55 opp-hz = /bits/ 64 <600000000>;
H. Nikolaus Schaller341afbc2019-09-11 19:47:12 +020056 opp-microvolt = <1200000 1200000 1200000>,
57 <1200000 1200000 1200000>;
H. Nikolaus Schallerb7dbe342019-09-11 19:47:08 +020058 opp-supported-hw = <0xffffffff 3>;
59 };
60
61 opp130-800000000 {
62 opp-hz = /bits/ 64 <800000000>;
H. Nikolaus Schaller341afbc2019-09-11 19:47:12 +020063 opp-microvolt = <1325000 1325000 1325000>,
64 <1325000 1325000 1325000>;
H. Nikolaus Schallerb7dbe342019-09-11 19:47:08 +020065 opp-supported-hw = <0xffffffff 3>;
66 };
67
68 opp1g-1000000000 {
69 opp-hz = /bits/ 64 <1000000000>;
H. Nikolaus Schaller341afbc2019-09-11 19:47:12 +020070 opp-microvolt = <1375000 1375000 1375000>,
71 <1375000 1375000 1375000>;
H. Nikolaus Schallerb7dbe342019-09-11 19:47:08 +020072 /* only on am/dm37x with speed-binned bit set */
73 opp-supported-hw = <0xffffffff 2>;
Nishanth Menon3027e262013-03-19 12:53:04 -050074 };
75 };
76
H. Nikolaus Schaller341afbc2019-09-11 19:47:12 +020077 opp_supply_mpu_iva: opp_supply {
78 compatible = "ti,omap-opp-supply";
79 ti,absolute-max-voltage-uv = <1375000>;
80 };
81
Javier Martinez Canillasf515f812016-08-01 12:46:55 -040082 ocp@68000000 {
Tony Lindgren642f12b2012-09-10 10:20:44 -070083 uart4: serial@49042000 {
84 compatible = "ti,omap3-uart";
Tony Lindgrend7c8f252013-10-17 15:15:22 -070085 reg = <0x49042000 0x400>;
86 interrupts = <80>;
87 dmas = <&sdma 81 &sdma 82>;
88 dma-names = "tx", "rx";
Tony Lindgren642f12b2012-09-10 10:20:44 -070089 ti,hwmods = "uart4";
90 clock-frequency = <48000000>;
91 };
Laurent Pinchart3d495382014-01-07 14:01:39 -080092
Andrii.Tseglytskyib391d382014-03-03 20:20:21 +053093 abb_mpu_iva: regulator-abb-mpu {
94 compatible = "ti,abb-v1";
95 regulator-name = "abb_mpu_iva";
Geert Uytterhoeven3023aa42016-04-20 17:32:09 +020096 #address-cells = <0>;
Andrii.Tseglytskyib391d382014-03-03 20:20:21 +053097 #size-cells = <0>;
98 reg = <0x483072f0 0x8>, <0x48306818 0x4>;
99 reg-names = "base-address", "int-address";
100 ti,tranxdone-status-mask = <0x4000000>;
101 clocks = <&sys_ck>;
102 ti,settling-time = <30>;
103 ti,clock-cycles = <8>;
104 ti,abb_info = <
105 /*uV ABB efuse rbb_m fbb_m vset_m*/
106 1012500 0 0 0 0 0
107 1200000 0 0 0 0 0
108 1325000 0 0 0 0 0
109 1375000 1 0 0 0 0
110 >;
111 };
112
Laurent Pinchart3d495382014-01-07 14:01:39 -0800113 omap3_pmx_core2: pinmux@480025a0 {
114 compatible = "ti,omap3-padconf", "pinctrl-single";
115 reg = <0x480025a0 0x5c>;
116 #address-cells = <1>;
117 #size-cells = <0>;
Tony Lindgrenbe76fd32016-11-07 08:27:49 -0700118 #pinctrl-cells = <1>;
Laurent Pinchart3d495382014-01-07 14:01:39 -0800119 #interrupt-cells = <1>;
120 interrupt-controller;
121 pinctrl-single,register-width = <16>;
122 pinctrl-single,function-mask = <0xff1f>;
123 };
Sakari Ailuse5211762015-03-19 01:50:23 +0200124
125 isp: isp@480bc000 {
126 compatible = "ti,omap3-isp";
127 reg = <0x480bc000 0x12fc
128 0x480bd800 0x0600>;
129 interrupts = <24>;
130 iommus = <&mmu_isp>;
Arnd Bergmann30ecc842015-04-15 21:35:22 +0200131 syscon = <&scm_conf 0x2f0>;
Sakari Ailuse5211762015-03-19 01:50:23 +0200132 ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>;
133 #clock-cells = <1>;
134 ports {
135 #address-cells = <1>;
136 #size-cells = <0>;
137 };
138 };
Pali Rohár12e47442015-12-26 00:32:25 +0100139
Keerthya761d512017-03-09 13:35:55 +0530140 bandgap: bandgap@48002524 {
Pali Rohár12e47442015-12-26 00:32:25 +0100141 reg = <0x48002524 0x4>;
142 compatible = "ti,omap36xx-bandgap";
143 #thermal-sensor-cells = <0>;
144 };
Tony Lindgrene14d7e52018-01-11 16:04:03 -0800145
146 target-module@480cb000 {
147 compatible = "ti,sysc-omap3630-sr", "ti,sysc";
148 ti,hwmods = "smartreflex_core";
149 reg = <0x480cb038 0x4>;
150 reg-names = "sysc";
151 ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>;
152 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
153 <SYSC_IDLE_NO>,
154 <SYSC_IDLE_SMART>;
155 clocks = <&sr2_fck>;
156 clock-names = "fck";
157 #address-cells = <1>;
158 #size-cells = <1>;
159 ranges = <0 0x480cb000 0x001000>;
160
161 smartreflex_core: smartreflex@0 {
162 compatible = "ti,omap3-smartreflex-core";
163 reg = <0 0x400>;
164 interrupts = <19>;
165 };
166 };
167
168 target-module@480c9000 {
169 compatible = "ti,sysc-omap3630-sr", "ti,sysc";
170 ti,hwmods = "smartreflex_mpu_iva";
171 reg = <0x480c9038 0x4>;
172 reg-names = "sysc";
173 ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>;
174 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
175 <SYSC_IDLE_NO>,
176 <SYSC_IDLE_SMART>;
177 clocks = <&sr1_fck>;
178 clock-names = "fck";
179 #address-cells = <1>;
180 #size-cells = <1>;
181 ranges = <0 0x480c9000 0x001000>;
182
183
184 smartreflex_mpu_iva: smartreflex@480c9000 {
185 compatible = "ti,omap3-smartreflex-mpu-iva";
186 reg = <0 0x400>;
187 interrupts = <18>;
188 };
189 };
Tony Lindgren3b72fc82019-08-26 08:47:08 -0700190
191 /*
192 * Note that the sysconfig register layout is a subset of the
193 * "ti,sysc-omap4" type register with just sidle and midle bits
194 * available while omap34xx has "ti,sysc-omap2" type sysconfig.
195 */
196 sgx_module: target-module@50000000 {
197 compatible = "ti,sysc-omap4", "ti,sysc";
198 reg = <0x5000fe00 0x4>,
199 <0x5000fe10 0x4>;
200 reg-names = "rev", "sysc";
201 ti,sysc-midle = <SYSC_IDLE_FORCE>,
202 <SYSC_IDLE_NO>,
203 <SYSC_IDLE_SMART>;
204 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
205 <SYSC_IDLE_NO>,
206 <SYSC_IDLE_SMART>;
207 clocks = <&sgx_fck>, <&sgx_ick>;
208 clock-names = "fck", "ick";
209 #address-cells = <1>;
210 #size-cells = <1>;
211 ranges = <0 0x50000000 0x2000000>;
212
213 /*
214 * Closed source PowerVR driver, no child device
215 * binding or driver in mainline
216 */
217 };
Tony Lindgren642f12b2012-09-10 10:20:44 -0700218 };
Keerthya761d512017-03-09 13:35:55 +0530219
220 thermal_zones: thermal-zones {
221 #include "omap3-cpu-thermal.dtsi"
222 };
Tony Lindgren642f12b2012-09-10 10:20:44 -0700223};
Tero Kristo657fc112013-07-22 12:29:29 +0300224
Tony Lindgrenbfab07e2019-12-16 14:41:53 -0800225&sdma {
226 compatible = "ti,omap3630-sdma", "ti,omap-sdma";
227};
228
Tomi Valkeinenb8a7e422013-03-19 11:38:13 +0200229/* OMAP3630 needs dss_96m_fck for VENC */
230&venc {
231 clocks = <&dss_tv_fck>, <&dss_96m_fck>;
232 clock-names = "fck", "tv_dac_clk";
233};
234
Sebastian Reichel782e25a2014-05-10 18:37:49 +0200235&ssi {
Adrian Schmutzlerfe93b722020-08-30 21:38:59 +0200236 status = "okay";
Sebastian Reichel782e25a2014-05-10 18:37:49 +0200237
238 clocks = <&ssi_ssr_fck>,
239 <&ssi_sst_fck>,
240 <&ssi_ick>;
241 clock-names = "ssi_ssr_fck",
242 "ssi_sst_fck",
243 "ssi_ick";
244};
245
Tero Kristo657fc112013-07-22 12:29:29 +0300246/include/ "omap34xx-omap36xx-clocks.dtsi"
247/include/ "omap36xx-omap3430es2plus-clocks.dtsi"
Linus Torvaldsd30492a2014-01-28 18:44:53 -0800248/include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"
Tomi Valkeinen64a900f2014-02-13 10:58:32 +0200249/include/ "omap36xx-clocks.dtsi"