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