xref: /linux/scripts/dtc/include-prefixes/arm/ti/omap/omap36xx.dtsi (revision bb29eb38511e27dfd9fe08c28aab10ba2e4c5349)
1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only
2724ba675SRob Herring/*
3724ba675SRob Herring * Device Tree Source for OMAP3 SoC
4724ba675SRob Herring *
5724ba675SRob Herring * Copyright (C) 2012 Texas Instruments Incorporated - https://www.ti.com/
6724ba675SRob Herring */
7724ba675SRob Herring
8724ba675SRob Herring#include <dt-bindings/bus/ti-sysc.h>
9724ba675SRob Herring#include <dt-bindings/media/omap3-isp.h>
10724ba675SRob Herring
11724ba675SRob Herring#include "omap3.dtsi"
12724ba675SRob Herring
13724ba675SRob Herring/ {
14724ba675SRob Herring	aliases {
15724ba675SRob Herring		serial3 = &uart4;
16724ba675SRob Herring	};
17724ba675SRob Herring
18724ba675SRob Herring	cpus {
19724ba675SRob Herring		/* OMAP3630/OMAP37xx variants OPP50 to OPP130 and OPP1G */
20724ba675SRob Herring		cpu: cpu@0 {
21724ba675SRob Herring			operating-points-v2 = <&cpu0_opp_table>;
22724ba675SRob Herring
23724ba675SRob Herring			vbb-supply = <&abb_mpu_iva>;
24724ba675SRob Herring			clock-latency = <300000>; /* From omap-cpufreq driver */
25724ba675SRob Herring			#cooling-cells = <2>;
26724ba675SRob Herring		};
27724ba675SRob Herring	};
28724ba675SRob Herring
29724ba675SRob Herring	cpu0_opp_table: opp-table {
30724ba675SRob Herring		compatible = "operating-points-v2-ti-cpu";
31724ba675SRob Herring		syscon = <&scm_conf>;
32724ba675SRob Herring
33724ba675SRob Herring		opp50-300000000 {
34724ba675SRob Herring			opp-hz = /bits/ 64 <300000000>;
35724ba675SRob Herring			/*
36724ba675SRob Herring			 * we currently only select the max voltage from table
37724ba675SRob Herring			 * Table 4-19 of the DM3730 Data sheet (SPRS685B)
38724ba675SRob Herring			 * Format is:	cpu0-supply:	<target min max>
39724ba675SRob Herring			 *		vbb-supply:	<target min max>
40724ba675SRob Herring			 */
41724ba675SRob Herring			opp-microvolt = <1012500 1012500 1012500>,
42724ba675SRob Herring					 <1012500 1012500 1012500>;
43724ba675SRob Herring			/*
44724ba675SRob Herring			 * first value is silicon revision bit mask
45724ba675SRob Herring			 * second one is "speed binned" bit mask
46724ba675SRob Herring			 */
47724ba675SRob Herring			opp-supported-hw = <0xffffffff 3>;
48724ba675SRob Herring			opp-suspend;
49724ba675SRob Herring		};
50724ba675SRob Herring
51724ba675SRob Herring		opp100-600000000 {
52724ba675SRob Herring			opp-hz = /bits/ 64 <600000000>;
53724ba675SRob Herring			opp-microvolt = <1200000 1200000 1200000>,
54724ba675SRob Herring					 <1200000 1200000 1200000>;
55724ba675SRob Herring			opp-supported-hw = <0xffffffff 3>;
56724ba675SRob Herring		};
57724ba675SRob Herring
58724ba675SRob Herring		opp130-800000000 {
59724ba675SRob Herring			opp-hz = /bits/ 64 <800000000>;
60724ba675SRob Herring			opp-microvolt = <1325000 1325000 1325000>,
61724ba675SRob Herring					 <1325000 1325000 1325000>;
62724ba675SRob Herring			opp-supported-hw = <0xffffffff 3>;
63724ba675SRob Herring		};
64724ba675SRob Herring
65724ba675SRob Herring		opp1g-1000000000 {
66724ba675SRob Herring			opp-hz = /bits/ 64 <1000000000>;
67724ba675SRob Herring			opp-microvolt = <1375000 1375000 1375000>,
68724ba675SRob Herring					 <1375000 1375000 1375000>;
69724ba675SRob Herring			/* only on am/dm37x with speed-binned bit set */
70724ba675SRob Herring			opp-supported-hw = <0xffffffff 2>;
71724ba675SRob Herring		};
72724ba675SRob Herring	};
73724ba675SRob Herring
74*bb29eb38SNishanth Menon	opp_supply_mpu_iva: opp-supply {
75724ba675SRob Herring		compatible = "ti,omap-opp-supply";
76724ba675SRob Herring		ti,absolute-max-voltage-uv = <1375000>;
77724ba675SRob Herring	};
78724ba675SRob Herring
79724ba675SRob Herring	ocp@68000000 {
80724ba675SRob Herring		uart4: serial@49042000 {
81724ba675SRob Herring			compatible = "ti,omap3-uart";
82724ba675SRob Herring			reg = <0x49042000 0x400>;
83724ba675SRob Herring			interrupts = <80>;
84724ba675SRob Herring			dmas = <&sdma 81 &sdma 82>;
85724ba675SRob Herring			dma-names = "tx", "rx";
86724ba675SRob Herring			ti,hwmods = "uart4";
87724ba675SRob Herring			clock-frequency = <48000000>;
88724ba675SRob Herring		};
89724ba675SRob Herring
90724ba675SRob Herring		abb_mpu_iva: regulator-abb-mpu {
91724ba675SRob Herring			compatible = "ti,abb-v1";
92724ba675SRob Herring			regulator-name = "abb_mpu_iva";
93724ba675SRob Herring			#address-cells = <0>;
94724ba675SRob Herring			#size-cells = <0>;
95724ba675SRob Herring			reg = <0x483072f0 0x8>, <0x48306818 0x4>;
96724ba675SRob Herring			reg-names = "base-address", "int-address";
97724ba675SRob Herring			ti,tranxdone-status-mask = <0x4000000>;
98724ba675SRob Herring			clocks = <&sys_ck>;
99724ba675SRob Herring			ti,settling-time = <30>;
100724ba675SRob Herring			ti,clock-cycles = <8>;
101724ba675SRob Herring			ti,abb_info = <
102724ba675SRob Herring			/*uV		ABB	efuse	rbb_m	fbb_m	vset_m*/
103724ba675SRob Herring			1012500		0	0	0	0	0
104724ba675SRob Herring			1200000		0	0	0	0	0
105724ba675SRob Herring			1325000		0	0	0	0	0
106724ba675SRob Herring			1375000		1	0	0	0	0
107724ba675SRob Herring			>;
108724ba675SRob Herring		};
109724ba675SRob Herring
110724ba675SRob Herring		omap3_pmx_core2: pinmux@480025a0 {
111724ba675SRob Herring			compatible = "ti,omap3-padconf", "pinctrl-single";
112724ba675SRob Herring			reg = <0x480025a0 0x5c>;
113724ba675SRob Herring			#address-cells = <1>;
114724ba675SRob Herring			#size-cells = <0>;
115724ba675SRob Herring			#pinctrl-cells = <1>;
116724ba675SRob Herring			#interrupt-cells = <1>;
117724ba675SRob Herring			interrupt-controller;
118724ba675SRob Herring			pinctrl-single,register-width = <16>;
119724ba675SRob Herring			pinctrl-single,function-mask = <0xff1f>;
120724ba675SRob Herring		};
121724ba675SRob Herring
122724ba675SRob Herring		isp: isp@480bc000 {
123724ba675SRob Herring			compatible = "ti,omap3-isp";
124724ba675SRob Herring			reg = <0x480bc000 0x12fc
125724ba675SRob Herring			       0x480bd800 0x0600>;
126724ba675SRob Herring			interrupts = <24>;
127724ba675SRob Herring			iommus = <&mmu_isp>;
128724ba675SRob Herring			syscon = <&scm_conf 0x2f0>;
129724ba675SRob Herring			ti,phy-type = <OMAP3ISP_PHY_TYPE_CSIPHY>;
130724ba675SRob Herring			#clock-cells = <1>;
131724ba675SRob Herring			ports {
132724ba675SRob Herring				#address-cells = <1>;
133724ba675SRob Herring				#size-cells = <0>;
134724ba675SRob Herring			};
135724ba675SRob Herring		};
136724ba675SRob Herring
137724ba675SRob Herring		bandgap: bandgap@48002524 {
138724ba675SRob Herring			reg = <0x48002524 0x4>;
139724ba675SRob Herring			compatible = "ti,omap36xx-bandgap";
140724ba675SRob Herring			#thermal-sensor-cells = <0>;
141724ba675SRob Herring		};
142724ba675SRob Herring
143724ba675SRob Herring		target-module@480cb000 {
144724ba675SRob Herring			compatible = "ti,sysc-omap3630-sr", "ti,sysc";
145724ba675SRob Herring			ti,hwmods = "smartreflex_core";
146724ba675SRob Herring			reg = <0x480cb038 0x4>;
147724ba675SRob Herring			reg-names = "sysc";
148724ba675SRob Herring			ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>;
149724ba675SRob Herring			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
150724ba675SRob Herring					<SYSC_IDLE_NO>,
151724ba675SRob Herring					<SYSC_IDLE_SMART>;
152724ba675SRob Herring			clocks = <&sr2_fck>;
153724ba675SRob Herring			clock-names = "fck";
154724ba675SRob Herring			#address-cells = <1>;
155724ba675SRob Herring			#size-cells = <1>;
156724ba675SRob Herring			ranges = <0 0x480cb000 0x001000>;
157724ba675SRob Herring
158724ba675SRob Herring			smartreflex_core: smartreflex@0 {
159724ba675SRob Herring				compatible = "ti,omap3-smartreflex-core";
160724ba675SRob Herring				reg = <0 0x400>;
161724ba675SRob Herring				interrupts = <19>;
162724ba675SRob Herring			};
163724ba675SRob Herring		};
164724ba675SRob Herring
165724ba675SRob Herring		target-module@480c9000 {
166724ba675SRob Herring			compatible = "ti,sysc-omap3630-sr", "ti,sysc";
167724ba675SRob Herring			ti,hwmods = "smartreflex_mpu_iva";
168724ba675SRob Herring			reg = <0x480c9038 0x4>;
169724ba675SRob Herring			reg-names = "sysc";
170724ba675SRob Herring			ti,sysc-mask = <SYSC_OMAP3_SR_ENAWAKEUP>;
171724ba675SRob Herring			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
172724ba675SRob Herring					<SYSC_IDLE_NO>,
173724ba675SRob Herring					<SYSC_IDLE_SMART>;
174724ba675SRob Herring			clocks = <&sr1_fck>;
175724ba675SRob Herring			clock-names = "fck";
176724ba675SRob Herring			#address-cells = <1>;
177724ba675SRob Herring			#size-cells = <1>;
178724ba675SRob Herring			ranges = <0 0x480c9000 0x001000>;
179724ba675SRob Herring
180724ba675SRob Herring
181724ba675SRob Herring			smartreflex_mpu_iva: smartreflex@480c9000 {
182724ba675SRob Herring				compatible = "ti,omap3-smartreflex-mpu-iva";
183724ba675SRob Herring				reg = <0 0x400>;
184724ba675SRob Herring				interrupts = <18>;
185724ba675SRob Herring			};
186724ba675SRob Herring		};
187724ba675SRob Herring
188724ba675SRob Herring		/*
189724ba675SRob Herring		 * Note that the sysconfig register layout is a subset of the
190724ba675SRob Herring		 * "ti,sysc-omap4" type register with just sidle and midle bits
191724ba675SRob Herring		 * available while omap34xx has "ti,sysc-omap2" type sysconfig.
192724ba675SRob Herring		 */
193724ba675SRob Herring		sgx_module: target-module@50000000 {
194724ba675SRob Herring			compatible = "ti,sysc-omap4", "ti,sysc";
195724ba675SRob Herring			reg = <0x5000fe00 0x4>,
196724ba675SRob Herring			      <0x5000fe10 0x4>;
197724ba675SRob Herring			reg-names = "rev", "sysc";
198724ba675SRob Herring			ti,sysc-midle = <SYSC_IDLE_FORCE>,
199724ba675SRob Herring					<SYSC_IDLE_NO>,
200724ba675SRob Herring					<SYSC_IDLE_SMART>;
201724ba675SRob Herring			ti,sysc-sidle = <SYSC_IDLE_FORCE>,
202724ba675SRob Herring					<SYSC_IDLE_NO>,
203724ba675SRob Herring					<SYSC_IDLE_SMART>;
204724ba675SRob Herring			clocks = <&sgx_fck>, <&sgx_ick>;
205724ba675SRob Herring			clock-names = "fck", "ick";
206724ba675SRob Herring			#address-cells = <1>;
207724ba675SRob Herring			#size-cells = <1>;
208724ba675SRob Herring			ranges = <0 0x50000000 0x2000000>;
209724ba675SRob Herring
210724ba675SRob Herring			/*
211724ba675SRob Herring			 * Closed source PowerVR driver, no child device
212724ba675SRob Herring			 * binding or driver in mainline
213724ba675SRob Herring			 */
214724ba675SRob Herring		};
215724ba675SRob Herring	};
216724ba675SRob Herring
217724ba675SRob Herring	thermal_zones: thermal-zones {
218724ba675SRob Herring		#include "omap3-cpu-thermal.dtsi"
219724ba675SRob Herring	};
220724ba675SRob Herring};
221724ba675SRob Herring
222724ba675SRob Herring&sdma {
223724ba675SRob Herring	compatible = "ti,omap3630-sdma", "ti,omap-sdma";
224724ba675SRob Herring};
225724ba675SRob Herring
226724ba675SRob Herring/* OMAP3630 needs dss_96m_fck for VENC */
227724ba675SRob Herring&venc {
228724ba675SRob Herring	clocks = <&dss_tv_fck>, <&dss_96m_fck>;
229724ba675SRob Herring	clock-names = "fck", "tv_dac_clk";
230724ba675SRob Herring};
231724ba675SRob Herring
232724ba675SRob Herring&ssi {
233724ba675SRob Herring	status = "okay";
234724ba675SRob Herring
235724ba675SRob Herring	clocks = <&ssi_ssr_fck>,
236724ba675SRob Herring		 <&ssi_sst_fck>,
237724ba675SRob Herring		 <&ssi_ick>;
238724ba675SRob Herring	clock-names = "ssi_ssr_fck",
239724ba675SRob Herring		      "ssi_sst_fck",
240724ba675SRob Herring		      "ssi_ick";
241724ba675SRob Herring};
242724ba675SRob Herring
243724ba675SRob Herring&usb_otg_target {
244724ba675SRob Herring	clocks = <&hsotgusb_ick_3430es2>;
245724ba675SRob Herring};
246724ba675SRob Herring
247724ba675SRob Herring/include/ "omap34xx-omap36xx-clocks.dtsi"
248724ba675SRob Herring/include/ "omap36xx-omap3430es2plus-clocks.dtsi"
249724ba675SRob Herring/include/ "omap36xx-am35xx-omap3430es2plus-clocks.dtsi"
250724ba675SRob Herring/include/ "omap36xx-clocks.dtsi"
251