xref: /freebsd/sys/contrib/device-tree/src/arm/st/stih410.dtsi (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright (C) 2014 STMicroelectronics Limited.
4f126890aSEmmanuel Vadot * Author: Peter Griffin <peter.griffin@linaro.org>
5f126890aSEmmanuel Vadot */
6f126890aSEmmanuel Vadot#include "stih410-clock.dtsi"
7f126890aSEmmanuel Vadot#include "stih407-family.dtsi"
8f126890aSEmmanuel Vadot#include "stih410-pinctrl.dtsi"
9f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
10f126890aSEmmanuel Vadot/ {
11f126890aSEmmanuel Vadot	aliases {
12f126890aSEmmanuel Vadot		bdisp0 = &bdisp0;
13f126890aSEmmanuel Vadot	};
14f126890aSEmmanuel Vadot
15f126890aSEmmanuel Vadot	usb2_picophy1: phy2 {
16f126890aSEmmanuel Vadot		compatible = "st,stih407-usb2-phy";
17f126890aSEmmanuel Vadot		#phy-cells = <0>;
18f126890aSEmmanuel Vadot		st,syscfg = <&syscfg_core 0xf8 0xf4>;
19f126890aSEmmanuel Vadot		resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
20f126890aSEmmanuel Vadot			 <&picophyreset STIH407_PICOPHY0_RESET>;
21f126890aSEmmanuel Vadot		reset-names = "global", "port";
22f126890aSEmmanuel Vadot
23f126890aSEmmanuel Vadot		status = "disabled";
24f126890aSEmmanuel Vadot	};
25f126890aSEmmanuel Vadot
26f126890aSEmmanuel Vadot	usb2_picophy2: phy3 {
27f126890aSEmmanuel Vadot		compatible = "st,stih407-usb2-phy";
28f126890aSEmmanuel Vadot		#phy-cells = <0>;
29f126890aSEmmanuel Vadot		st,syscfg = <&syscfg_core 0xfc 0xf4>;
30f126890aSEmmanuel Vadot		resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
31f126890aSEmmanuel Vadot			 <&picophyreset STIH407_PICOPHY1_RESET>;
32f126890aSEmmanuel Vadot		reset-names = "global", "port";
33f126890aSEmmanuel Vadot
34f126890aSEmmanuel Vadot		status = "disabled";
35f126890aSEmmanuel Vadot	};
36f126890aSEmmanuel Vadot
37f126890aSEmmanuel Vadot	soc {
38f126890aSEmmanuel Vadot		ohci0: usb@9a03c00 {
39f126890aSEmmanuel Vadot			compatible = "st,st-ohci-300x";
40f126890aSEmmanuel Vadot			reg = <0x9a03c00 0x100>;
41f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH>;
42f126890aSEmmanuel Vadot			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
43f126890aSEmmanuel Vadot				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
44f126890aSEmmanuel Vadot			resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
45f126890aSEmmanuel Vadot				 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
46f126890aSEmmanuel Vadot			reset-names = "power", "softreset";
47f126890aSEmmanuel Vadot			phys = <&usb2_picophy1>;
48f126890aSEmmanuel Vadot			phy-names = "usb";
49f126890aSEmmanuel Vadot
50f126890aSEmmanuel Vadot			status = "disabled";
51f126890aSEmmanuel Vadot		};
52f126890aSEmmanuel Vadot
53f126890aSEmmanuel Vadot		ehci0: usb@9a03e00 {
54f126890aSEmmanuel Vadot			compatible = "st,st-ehci-300x";
55f126890aSEmmanuel Vadot			reg = <0x9a03e00 0x100>;
56f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>;
57f126890aSEmmanuel Vadot			pinctrl-names = "default";
58f126890aSEmmanuel Vadot			pinctrl-0 = <&pinctrl_usb0>;
59f126890aSEmmanuel Vadot			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
60f126890aSEmmanuel Vadot				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
61f126890aSEmmanuel Vadot			resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
62f126890aSEmmanuel Vadot				 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
63f126890aSEmmanuel Vadot			reset-names = "power", "softreset";
64f126890aSEmmanuel Vadot			phys = <&usb2_picophy1>;
65f126890aSEmmanuel Vadot			phy-names = "usb";
66f126890aSEmmanuel Vadot
67f126890aSEmmanuel Vadot			status = "disabled";
68f126890aSEmmanuel Vadot		};
69f126890aSEmmanuel Vadot
70f126890aSEmmanuel Vadot		ohci1: usb@9a83c00 {
71f126890aSEmmanuel Vadot			compatible = "st,st-ohci-300x";
72f126890aSEmmanuel Vadot			reg = <0x9a83c00 0x100>;
73f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>;
74f126890aSEmmanuel Vadot			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
75f126890aSEmmanuel Vadot				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
76f126890aSEmmanuel Vadot			resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
77f126890aSEmmanuel Vadot				 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
78f126890aSEmmanuel Vadot			reset-names = "power", "softreset";
79f126890aSEmmanuel Vadot			phys = <&usb2_picophy2>;
80f126890aSEmmanuel Vadot			phy-names = "usb";
81f126890aSEmmanuel Vadot
82f126890aSEmmanuel Vadot			status = "disabled";
83f126890aSEmmanuel Vadot		};
84f126890aSEmmanuel Vadot
85f126890aSEmmanuel Vadot		ehci1: usb@9a83e00 {
86f126890aSEmmanuel Vadot			compatible = "st,st-ehci-300x";
87f126890aSEmmanuel Vadot			reg = <0x9a83e00 0x100>;
88f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>;
89f126890aSEmmanuel Vadot			pinctrl-names = "default";
90f126890aSEmmanuel Vadot			pinctrl-0 = <&pinctrl_usb1>;
91f126890aSEmmanuel Vadot			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
92f126890aSEmmanuel Vadot				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
93f126890aSEmmanuel Vadot			resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
94f126890aSEmmanuel Vadot				 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
95f126890aSEmmanuel Vadot			reset-names = "power", "softreset";
96f126890aSEmmanuel Vadot			phys = <&usb2_picophy2>;
97f126890aSEmmanuel Vadot			phy-names = "usb";
98f126890aSEmmanuel Vadot
99f126890aSEmmanuel Vadot			status = "disabled";
100f126890aSEmmanuel Vadot		};
101f126890aSEmmanuel Vadot
102f126890aSEmmanuel Vadot		sti-display-subsystem@0 {
103f126890aSEmmanuel Vadot			compatible = "st,sti-display-subsystem";
104f126890aSEmmanuel Vadot			#address-cells = <1>;
105f126890aSEmmanuel Vadot			#size-cells = <1>;
106f126890aSEmmanuel Vadot
107f126890aSEmmanuel Vadot			reg = <0 0>;
108f126890aSEmmanuel Vadot			assigned-clocks = <&clk_s_d2_quadfs 0>,
109f126890aSEmmanuel Vadot					  <&clk_s_d2_quadfs 1>,
110f126890aSEmmanuel Vadot					  <&clk_s_c0_pll1 0>,
111f126890aSEmmanuel Vadot					  <&clk_s_c0_flexgen CLK_COMPO_DVP>,
112f126890aSEmmanuel Vadot					  <&clk_s_c0_flexgen CLK_MAIN_DISP>,
113f126890aSEmmanuel Vadot					  <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>,
114f126890aSEmmanuel Vadot					  <&clk_s_d2_flexgen CLK_PIX_AUX_DISP>,
115f126890aSEmmanuel Vadot					  <&clk_s_d2_flexgen CLK_PIX_GDP1>,
116f126890aSEmmanuel Vadot					  <&clk_s_d2_flexgen CLK_PIX_GDP2>,
117f126890aSEmmanuel Vadot					  <&clk_s_d2_flexgen CLK_PIX_GDP3>,
118f126890aSEmmanuel Vadot					  <&clk_s_d2_flexgen CLK_PIX_GDP4>;
119f126890aSEmmanuel Vadot
120f126890aSEmmanuel Vadot			assigned-clock-parents = <0>,
121f126890aSEmmanuel Vadot						 <0>,
122f126890aSEmmanuel Vadot						 <0>,
123f126890aSEmmanuel Vadot						 <&clk_s_c0_pll1 0>,
124f126890aSEmmanuel Vadot						 <&clk_s_c0_pll1 0>,
125f126890aSEmmanuel Vadot						 <&clk_s_d2_quadfs 0>,
126f126890aSEmmanuel Vadot						 <&clk_s_d2_quadfs 1>,
127f126890aSEmmanuel Vadot						 <&clk_s_d2_quadfs 0>,
128f126890aSEmmanuel Vadot						 <&clk_s_d2_quadfs 0>,
129f126890aSEmmanuel Vadot						 <&clk_s_d2_quadfs 0>,
130f126890aSEmmanuel Vadot						 <&clk_s_d2_quadfs 0>;
131f126890aSEmmanuel Vadot
132f126890aSEmmanuel Vadot			assigned-clock-rates = <297000000>,
133f126890aSEmmanuel Vadot					       <297000000>,
134f126890aSEmmanuel Vadot					       <0>,
135f126890aSEmmanuel Vadot					       <400000000>,
136f126890aSEmmanuel Vadot					       <400000000>;
137f126890aSEmmanuel Vadot
138f126890aSEmmanuel Vadot			ranges;
139f126890aSEmmanuel Vadot
140f126890aSEmmanuel Vadot			sti-compositor@9d11000 {
141f126890aSEmmanuel Vadot				compatible = "st,stih407-compositor";
142f126890aSEmmanuel Vadot				reg = <0x9d11000 0x1000>;
143f126890aSEmmanuel Vadot
144f126890aSEmmanuel Vadot				clock-names = "compo_main",
145f126890aSEmmanuel Vadot					      "compo_aux",
146f126890aSEmmanuel Vadot					      "pix_main",
147f126890aSEmmanuel Vadot					      "pix_aux",
148f126890aSEmmanuel Vadot					      "pix_gdp1",
149f126890aSEmmanuel Vadot					      "pix_gdp2",
150f126890aSEmmanuel Vadot					      "pix_gdp3",
151f126890aSEmmanuel Vadot					      "pix_gdp4",
152f126890aSEmmanuel Vadot					      "main_parent",
153f126890aSEmmanuel Vadot					      "aux_parent";
154f126890aSEmmanuel Vadot
155f126890aSEmmanuel Vadot				clocks = <&clk_s_c0_flexgen CLK_COMPO_DVP>,
156f126890aSEmmanuel Vadot					 <&clk_s_c0_flexgen CLK_COMPO_DVP>,
157f126890aSEmmanuel Vadot					 <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>,
158f126890aSEmmanuel Vadot					 <&clk_s_d2_flexgen CLK_PIX_AUX_DISP>,
159f126890aSEmmanuel Vadot					 <&clk_s_d2_flexgen CLK_PIX_GDP1>,
160f126890aSEmmanuel Vadot					 <&clk_s_d2_flexgen CLK_PIX_GDP2>,
161f126890aSEmmanuel Vadot					 <&clk_s_d2_flexgen CLK_PIX_GDP3>,
162f126890aSEmmanuel Vadot					 <&clk_s_d2_flexgen CLK_PIX_GDP4>,
163f126890aSEmmanuel Vadot					 <&clk_s_d2_quadfs 0>,
164f126890aSEmmanuel Vadot					 <&clk_s_d2_quadfs 1>;
165f126890aSEmmanuel Vadot
166f126890aSEmmanuel Vadot				reset-names = "compo-main", "compo-aux";
167f126890aSEmmanuel Vadot				resets = <&softreset STIH407_COMPO_SOFTRESET>,
168f126890aSEmmanuel Vadot					 <&softreset STIH407_COMPO_SOFTRESET>;
169f126890aSEmmanuel Vadot				st,vtg = <&vtg_main>, <&vtg_aux>;
170f126890aSEmmanuel Vadot			};
171f126890aSEmmanuel Vadot
172f126890aSEmmanuel Vadot			sti-tvout@8d08000 {
173f126890aSEmmanuel Vadot				compatible = "st,stih407-tvout";
174f126890aSEmmanuel Vadot				reg = <0x8d08000 0x1000>;
175f126890aSEmmanuel Vadot				reg-names = "tvout-reg";
176f126890aSEmmanuel Vadot				reset-names = "tvout";
177f126890aSEmmanuel Vadot				resets = <&softreset STIH407_HDTVOUT_SOFTRESET>;
178f126890aSEmmanuel Vadot				#address-cells = <1>;
179f126890aSEmmanuel Vadot				#size-cells = <1>;
180f126890aSEmmanuel Vadot				assigned-clocks = <&clk_s_d2_flexgen CLK_PIX_HDMI>,
181f126890aSEmmanuel Vadot						  <&clk_s_d2_flexgen CLK_TMDS_HDMI>,
182f126890aSEmmanuel Vadot						  <&clk_s_d2_flexgen CLK_REF_HDMIPHY>,
183f126890aSEmmanuel Vadot						  <&clk_s_d0_flexgen CLK_PCM_0>,
184f126890aSEmmanuel Vadot						  <&clk_s_d2_flexgen CLK_PIX_HDDAC>,
185f126890aSEmmanuel Vadot						  <&clk_s_d2_flexgen CLK_HDDAC>;
186f126890aSEmmanuel Vadot
187f126890aSEmmanuel Vadot				assigned-clock-parents = <&clk_s_d2_quadfs 0>,
188f126890aSEmmanuel Vadot							 <&clk_tmdsout_hdmi>,
189f126890aSEmmanuel Vadot							 <&clk_s_d2_quadfs 0>,
190f126890aSEmmanuel Vadot							 <&clk_s_d0_quadfs 0>,
191f126890aSEmmanuel Vadot							 <&clk_s_d2_quadfs 0>,
192f126890aSEmmanuel Vadot							 <&clk_s_d2_quadfs 0>;
193f126890aSEmmanuel Vadot			};
194f126890aSEmmanuel Vadot
195f126890aSEmmanuel Vadot			sti_hdmi: sti-hdmi@8d04000 {
196f126890aSEmmanuel Vadot				compatible = "st,stih407-hdmi";
197f126890aSEmmanuel Vadot				reg = <0x8d04000 0x1000>;
198f126890aSEmmanuel Vadot				reg-names = "hdmi-reg";
199f126890aSEmmanuel Vadot				#sound-dai-cells = <0>;
200f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
201f126890aSEmmanuel Vadot				interrupt-names = "irq";
202f126890aSEmmanuel Vadot				clock-names = "pix",
203f126890aSEmmanuel Vadot					      "tmds",
204f126890aSEmmanuel Vadot					      "phy",
205f126890aSEmmanuel Vadot					      "audio",
206f126890aSEmmanuel Vadot					      "main_parent",
207f126890aSEmmanuel Vadot					      "aux_parent";
208f126890aSEmmanuel Vadot
209f126890aSEmmanuel Vadot				clocks = <&clk_s_d2_flexgen CLK_PIX_HDMI>,
210f126890aSEmmanuel Vadot					 <&clk_s_d2_flexgen CLK_TMDS_HDMI>,
211f126890aSEmmanuel Vadot					 <&clk_s_d2_flexgen CLK_REF_HDMIPHY>,
212f126890aSEmmanuel Vadot					 <&clk_s_d0_flexgen CLK_PCM_0>,
213f126890aSEmmanuel Vadot					 <&clk_s_d2_quadfs 0>,
214f126890aSEmmanuel Vadot					 <&clk_s_d2_quadfs 1>;
215f126890aSEmmanuel Vadot
216f126890aSEmmanuel Vadot				hdmi,hpd-gpio = <&pio5 3 GPIO_ACTIVE_LOW>;
217f126890aSEmmanuel Vadot				reset-names = "hdmi";
218f126890aSEmmanuel Vadot				resets = <&softreset STIH407_HDMI_TX_PHY_SOFTRESET>;
219f126890aSEmmanuel Vadot				ddc = <&hdmiddc>;
220f126890aSEmmanuel Vadot			};
221f126890aSEmmanuel Vadot
222f126890aSEmmanuel Vadot			sti-hda@8d02000 {
223f126890aSEmmanuel Vadot				compatible = "st,stih407-hda";
224f126890aSEmmanuel Vadot				status = "disabled";
225f126890aSEmmanuel Vadot				reg = <0x8d02000 0x400>, <0x92b0120 0x4>;
226f126890aSEmmanuel Vadot				reg-names = "hda-reg", "video-dacs-ctrl";
227f126890aSEmmanuel Vadot				clock-names = "pix",
228f126890aSEmmanuel Vadot					      "hddac",
229f126890aSEmmanuel Vadot					      "main_parent",
230f126890aSEmmanuel Vadot					      "aux_parent";
231f126890aSEmmanuel Vadot				clocks = <&clk_s_d2_flexgen CLK_PIX_HDDAC>,
232f126890aSEmmanuel Vadot					 <&clk_s_d2_flexgen CLK_HDDAC>,
233f126890aSEmmanuel Vadot					 <&clk_s_d2_quadfs 0>,
234f126890aSEmmanuel Vadot					 <&clk_s_d2_quadfs 1>;
235f126890aSEmmanuel Vadot			};
236f126890aSEmmanuel Vadot
237f126890aSEmmanuel Vadot			sti-hqvdp@9c00000 {
238f126890aSEmmanuel Vadot				compatible = "st,stih407-hqvdp";
239f126890aSEmmanuel Vadot				reg = <0x9C00000 0x100000>;
240f126890aSEmmanuel Vadot				clock-names = "hqvdp", "pix_main";
241f126890aSEmmanuel Vadot				clocks = <&clk_s_c0_flexgen CLK_MAIN_DISP>,
242f126890aSEmmanuel Vadot					 <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>;
243f126890aSEmmanuel Vadot				reset-names = "hqvdp";
244f126890aSEmmanuel Vadot				resets = <&softreset STIH407_HDQVDP_SOFTRESET>;
245f126890aSEmmanuel Vadot				st,vtg = <&vtg_main>;
246f126890aSEmmanuel Vadot			};
247f126890aSEmmanuel Vadot		};
248f126890aSEmmanuel Vadot
249f126890aSEmmanuel Vadot		bdisp0:bdisp@9f10000 {
250f126890aSEmmanuel Vadot			compatible = "st,stih407-bdisp";
251f126890aSEmmanuel Vadot			reg = <0x9f10000 0x1000>;
252f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
253f126890aSEmmanuel Vadot			clock-names = "bdisp";
254f126890aSEmmanuel Vadot			clocks = <&clk_s_c0_flexgen CLK_IC_BDISP_0>;
255f126890aSEmmanuel Vadot		};
256f126890aSEmmanuel Vadot
257f126890aSEmmanuel Vadot		hva@8c85000 {
258f126890aSEmmanuel Vadot			compatible = "st,st-hva";
259f126890aSEmmanuel Vadot			reg = <0x8c85000 0x400>, <0x6000000 0x40000>;
260f126890aSEmmanuel Vadot			reg-names = "hva_registers", "hva_esram";
261f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
262f126890aSEmmanuel Vadot				     <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
263f126890aSEmmanuel Vadot			clock-names = "clk_hva";
264f126890aSEmmanuel Vadot			clocks = <&clk_s_c0_flexgen CLK_HVA>;
265f126890aSEmmanuel Vadot		};
266f126890aSEmmanuel Vadot
267f126890aSEmmanuel Vadot		thermal@91a0000 {
268f126890aSEmmanuel Vadot			compatible = "st,stih407-thermal";
269f126890aSEmmanuel Vadot			reg = <0x91a0000 0x28>;
270f126890aSEmmanuel Vadot			clock-names = "thermal";
271f126890aSEmmanuel Vadot			clocks = <&clk_sysin>;
272f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 205 IRQ_TYPE_EDGE_RISING>;
273*0e8011faSEmmanuel Vadot			#thermal-sensor-cells = <0>;
274f126890aSEmmanuel Vadot		};
275f126890aSEmmanuel Vadot
276f126890aSEmmanuel Vadot		cec@94a087c {
277f126890aSEmmanuel Vadot			compatible = "st,stih-cec";
278f126890aSEmmanuel Vadot			reg = <0x94a087c 0x64>;
279f126890aSEmmanuel Vadot			clocks = <&clk_sysin>;
280f126890aSEmmanuel Vadot			clock-names = "cec-clk";
281f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
282f126890aSEmmanuel Vadot			interrupt-names = "cec-irq";
283f126890aSEmmanuel Vadot			pinctrl-names = "default";
284f126890aSEmmanuel Vadot			pinctrl-0 = <&pinctrl_cec0_default>;
285f126890aSEmmanuel Vadot			resets = <&softreset STIH407_LPM_SOFTRESET>;
286f126890aSEmmanuel Vadot			hdmi-phandle = <&sti_hdmi>;
287f126890aSEmmanuel Vadot		};
288f126890aSEmmanuel Vadot	};
289f126890aSEmmanuel Vadot};
290