Home | History | Annotate | Download | only in dts
      1 /*
      2  * Copyright (C) 2014 STMicroelectronics Limited.
      3  * Author: Peter Griffin <peter.griffin (at) linaro.org>
      4  *
      5  * This program is free software; you can redistribute it and/or modify
      6  * it under the terms of the GNU General Public License version 2 as
      7  * publishhed by the Free Software Foundation.
      8  */
      9 #include "stih410-clock.dtsi"
     10 #include "stih407-family.dtsi"
     11 #include "stih410-pinctrl.dtsi"
     12 / {
     13 	aliases {
     14 		bdisp0 = &bdisp0;
     15 	};
     16 
     17 	cpus {
     18 		cpu@0 {
     19 			st,syscfg = <&syscfg_core 0x8e0>;
     20 			st,syscfg-eng = <&syscfg_opp 0x4 0x0>;
     21 			clocks = <&clk_m_a9>;
     22 			operating-points-v2 = <&cpu0_opp_table>;
     23 		};
     24 		cpu@1 {
     25 			clocks = <&clk_m_a9>;
     26 			operating-points-v2 = <&cpu0_opp_table>;
     27 		};
     28 	};
     29 
     30 	cpu0_opp_table: opp_table0 {
     31 		compatible = "operating-points-v2";
     32 		opp-shared;
     33 
     34 		opp@1500000000 {
     35 			opp-supported-hw = <0xffffffff  0xffffffff  0xffffffff>;
     36 			opp-hz = /bits/ 64 <1500000000>;
     37 			clock-latency-ns = <10000000>;
     38 			opp-suspend;
     39 		};
     40 		opp@1200000000 {
     41 			opp-supported-hw = <0xffffffff  0xffffffff  0xffffffff>;
     42 			opp-hz = /bits/ 64 <1200000000>;
     43 			clock-latency-ns = <10000000>;
     44 		};
     45 		opp@800000000 {
     46 			opp-supported-hw = <0xffffffff  0xffffffff  0xffffffff>;
     47 			opp-hz = /bits/ 64 <800000000>;
     48 			clock-latency-ns = <10000000>;
     49 		};
     50 		opp@400000000 {
     51 			opp-supported-hw = <0xffffffff  0xffffffff  0xffffffff>;
     52 			opp-hz = /bits/ 64 <400000000>;
     53 			clock-latency-ns = <10000000>;
     54 		};
     55 	};
     56 
     57 	soc {
     58 		syscfg_opp: @08a6583c {
     59 			compatible = "syscon";
     60 			reg = <0x08a6583c 0x8>;
     61 		};
     62 
     63 		usb2_picophy1: phy2 {
     64 			compatible = "st,stih407-usb2-phy";
     65 			#phy-cells = <0>;
     66 			st,syscfg = <&syscfg_core 0xf8 0xf4>;
     67 			resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
     68 				 <&picophyreset STIH407_PICOPHY0_RESET>;
     69 			reset-names = "global", "port";
     70 
     71 			status = "disabled";
     72 		};
     73 
     74 		usb2_picophy2: phy3 {
     75 			compatible = "st,stih407-usb2-phy";
     76 			#phy-cells = <0>;
     77 			st,syscfg = <&syscfg_core 0xfc 0xf4>;
     78 			resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
     79 				 <&picophyreset STIH407_PICOPHY1_RESET>;
     80 			reset-names = "global", "port";
     81 
     82 			status = "disabled";
     83 		};
     84 
     85 		ohci0: usb@9a03c00 {
     86 			compatible = "generic-ohci";
     87 			reg = <0x9a03c00 0x100>;
     88 			interrupts = <GIC_SPI 180 IRQ_TYPE_NONE>;
     89 			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
     90 				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
     91 			resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
     92 				 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
     93 			reset-names = "power", "softreset";
     94 
     95 			phys = <&usb2_picophy1>;
     96 			phy-names = "usb";
     97 
     98 			status = "disabled";
     99 		};
    100 
    101 		ehci0: usb@9a03e00 {
    102 			compatible = "generic-ehci";
    103 			reg = <0x9a03e00 0x100>;
    104 			interrupts = <GIC_SPI 151 IRQ_TYPE_NONE>;
    105 			pinctrl-names = "default";
    106 			pinctrl-0 = <&pinctrl_usb0>;
    107 			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
    108 				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
    109 			resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>,
    110 				 <&softreset STIH407_USB2_PORT0_SOFTRESET>;
    111 			reset-names = "power", "softreset";
    112 			phys = <&usb2_picophy1>;
    113 			phy-names = "usb";
    114 
    115 			status = "disabled";
    116 		};
    117 
    118 		ohci1: usb@9a83c00 {
    119 			compatible = "generic-ohci";
    120 			reg = <0x9a83c00 0x100>;
    121 			interrupts = <GIC_SPI 181 IRQ_TYPE_NONE>;
    122 			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
    123 				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
    124 			resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
    125 				 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
    126 			reset-names = "power", "softreset";
    127 
    128 			phys = <&usb2_picophy2>;
    129 			phy-names = "usb";
    130 
    131 			status = "disabled";
    132 		};
    133 
    134 		ehci1: usb@9a83e00 {
    135 			compatible = "generic-ehci";
    136 			reg = <0x9a83e00 0x100>;
    137 			interrupts = <GIC_SPI 153 IRQ_TYPE_NONE>;
    138 			pinctrl-names = "default";
    139 			pinctrl-0 = <&pinctrl_usb1>;
    140 			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>,
    141 				 <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>;
    142 			resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>,
    143 				 <&softreset STIH407_USB2_PORT1_SOFTRESET>;
    144 			reset-names = "power", "softreset";
    145 
    146 			phys = <&usb2_picophy2>;
    147 			phy-names = "usb";
    148 
    149 			status = "disabled";
    150 		};
    151 
    152 		sti-display-subsystem {
    153 			compatible = "st,sti-display-subsystem";
    154 			#address-cells = <1>;
    155 			#size-cells = <1>;
    156 
    157 			assigned-clocks	= <&clk_s_d2_quadfs 0>,
    158 					  <&clk_s_d2_quadfs 1>,
    159 					  <&clk_s_c0_pll1 0>,
    160 					  <&clk_s_c0_flexgen CLK_COMPO_DVP>,
    161 					  <&clk_s_c0_flexgen CLK_MAIN_DISP>,
    162 					  <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>,
    163 					  <&clk_s_d2_flexgen CLK_PIX_AUX_DISP>,
    164 					  <&clk_s_d2_flexgen CLK_PIX_GDP1>,
    165 					  <&clk_s_d2_flexgen CLK_PIX_GDP2>,
    166 					  <&clk_s_d2_flexgen CLK_PIX_GDP3>,
    167 					  <&clk_s_d2_flexgen CLK_PIX_GDP4>;
    168 
    169 			assigned-clock-parents = <0>,
    170 						 <0>,
    171 						 <0>,
    172 						 <&clk_s_c0_pll1 0>,
    173 						 <&clk_s_c0_pll1 0>,
    174 						 <&clk_s_d2_quadfs 0>,
    175 						 <&clk_s_d2_quadfs 1>,
    176 						 <&clk_s_d2_quadfs 0>,
    177 						 <&clk_s_d2_quadfs 0>,
    178 						 <&clk_s_d2_quadfs 0>,
    179 						 <&clk_s_d2_quadfs 0>;
    180 
    181 			assigned-clock-rates = <297000000>,
    182 					       <297000000>,
    183 					       <0>,
    184 					       <400000000>,
    185 					       <400000000>;
    186 
    187 			ranges;
    188 
    189 			sti-compositor@9d11000 {
    190 				compatible = "st,stih407-compositor";
    191 				reg = <0x9d11000 0x1000>;
    192 
    193 				clock-names = "compo_main",
    194 					      "compo_aux",
    195 					      "pix_main",
    196 					      "pix_aux",
    197 					      "pix_gdp1",
    198 					      "pix_gdp2",
    199 					      "pix_gdp3",
    200 					      "pix_gdp4",
    201 					      "main_parent",
    202 					      "aux_parent";
    203 
    204 				clocks = <&clk_s_c0_flexgen CLK_COMPO_DVP>,
    205 					 <&clk_s_c0_flexgen CLK_COMPO_DVP>,
    206 					 <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>,
    207 					 <&clk_s_d2_flexgen CLK_PIX_AUX_DISP>,
    208 					 <&clk_s_d2_flexgen CLK_PIX_GDP1>,
    209 					 <&clk_s_d2_flexgen CLK_PIX_GDP2>,
    210 					 <&clk_s_d2_flexgen CLK_PIX_GDP3>,
    211 					 <&clk_s_d2_flexgen CLK_PIX_GDP4>,
    212 					 <&clk_s_d2_quadfs 0>,
    213 					 <&clk_s_d2_quadfs 1>;
    214 
    215 				reset-names = "compo-main", "compo-aux";
    216 				resets = <&softreset STIH407_COMPO_SOFTRESET>,
    217 					 <&softreset STIH407_COMPO_SOFTRESET>;
    218 				st,vtg = <&vtg_main>, <&vtg_aux>;
    219 			};
    220 
    221 			sti-tvout@8d08000 {
    222 				compatible = "st,stih407-tvout";
    223 				reg = <0x8d08000 0x1000>;
    224 				reg-names = "tvout-reg";
    225 				reset-names = "tvout";
    226 				resets = <&softreset STIH407_HDTVOUT_SOFTRESET>;
    227 				#address-cells = <1>;
    228 				#size-cells = <1>;
    229 				assigned-clocks = <&clk_s_d2_flexgen CLK_PIX_HDMI>,
    230 						  <&clk_s_d2_flexgen CLK_TMDS_HDMI>,
    231 						  <&clk_s_d2_flexgen CLK_REF_HDMIPHY>,
    232 						  <&clk_s_d0_flexgen CLK_PCM_0>,
    233 						  <&clk_s_d2_flexgen CLK_PIX_HDDAC>,
    234 						  <&clk_s_d2_flexgen CLK_HDDAC>;
    235 
    236 				assigned-clock-parents = <&clk_s_d2_quadfs 0>,
    237 							 <&clk_tmdsout_hdmi>,
    238 							 <&clk_s_d2_quadfs 0>,
    239 							 <&clk_s_d0_quadfs 0>,
    240 							 <&clk_s_d2_quadfs 0>,
    241 							 <&clk_s_d2_quadfs 0>;
    242 			};
    243 
    244 			sti_hdmi: sti-hdmi@8d04000 {
    245 				compatible = "st,stih407-hdmi";
    246 				#sound-dai-cells = <0>;
    247 				reg = <0x8d04000 0x1000>;
    248 				reg-names = "hdmi-reg";
    249 				interrupts = <GIC_SPI 106 IRQ_TYPE_NONE>;
    250 				interrupt-names	= "irq";
    251 				clock-names = "pix",
    252 					      "tmds",
    253 					      "phy",
    254 					      "audio",
    255 					      "main_parent",
    256 					      "aux_parent";
    257 
    258 				clocks = <&clk_s_d2_flexgen CLK_PIX_HDMI>,
    259 					 <&clk_s_d2_flexgen CLK_TMDS_HDMI>,
    260 					 <&clk_s_d2_flexgen CLK_REF_HDMIPHY>,
    261 					 <&clk_s_d0_flexgen CLK_PCM_0>,
    262 					 <&clk_s_d2_quadfs 0>,
    263 					 <&clk_s_d2_quadfs 1>;
    264 
    265 				hdmi,hpd-gpio = <&pio5 3>;
    266 				reset-names = "hdmi";
    267 				resets = <&softreset STIH407_HDMI_TX_PHY_SOFTRESET>;
    268 				ddc = <&hdmiddc>;
    269 			};
    270 
    271 			sti-hda@8d02000 {
    272 				compatible = "st,stih407-hda";
    273 				status = "disabled";
    274 				reg = <0x8d02000 0x400>, <0x92b0120 0x4>;
    275 				reg-names = "hda-reg", "video-dacs-ctrl";
    276 				clock-names = "pix",
    277 					      "hddac",
    278 					      "main_parent",
    279 					      "aux_parent";
    280 				clocks = <&clk_s_d2_flexgen CLK_PIX_HDDAC>,
    281 					 <&clk_s_d2_flexgen CLK_HDDAC>,
    282 					 <&clk_s_d2_quadfs 0>,
    283 					 <&clk_s_d2_quadfs 1>;
    284 			};
    285 
    286 			sti-dvo@8d00400 {
    287 				compatible = "st,stih407-dvo";
    288 				status = "disabled";
    289 				reg = <0x8d00400 0x200>;
    290 				reg-names = "dvo-reg";
    291 				clock-names = "dvo_pix",
    292 					      "dvo",
    293 					      "main_parent",
    294 					      "aux_parent";
    295 				clocks = <&clk_s_d2_flexgen CLK_PIX_DVO>,
    296 					 <&clk_s_d2_flexgen CLK_DVO>,
    297 					 <&clk_s_d2_quadfs 0>,
    298 					 <&clk_s_d2_quadfs 1>;
    299 				pinctrl-names = "default";
    300 				pinctrl-0 = <&pinctrl_dvo>;
    301 			};
    302 
    303 			sti-hqvdp@9c000000 {
    304 				compatible = "st,stih407-hqvdp";
    305 				reg = <0x9C00000 0x100000>;
    306 				clock-names = "hqvdp", "pix_main";
    307 				clocks = <&clk_s_c0_flexgen CLK_MAIN_DISP>,
    308 					 <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>;
    309 				reset-names = "hqvdp";
    310 				resets = <&softreset STIH407_HDQVDP_SOFTRESET>;
    311 				st,vtg = <&vtg_main>;
    312 			};
    313 		};
    314 
    315 		bdisp0:bdisp@9f10000 {
    316 			compatible = "st,stih407-bdisp";
    317 			reg = <0x9f10000 0x1000>;
    318 			interrupts = <GIC_SPI 38 IRQ_TYPE_NONE>;
    319 			clock-names = "bdisp";
    320 			clocks = <&clk_s_c0_flexgen CLK_IC_BDISP_0>;
    321 		};
    322 
    323 		hva@8c85000 {
    324 			compatible = "st,st-hva";
    325 			reg = <0x8c85000 0x400>, <0x6000000 0x40000>;
    326 			reg-names = "hva_registers", "hva_esram";
    327 			interrupts = <GIC_SPI 58 IRQ_TYPE_NONE>,
    328 				     <GIC_SPI 59 IRQ_TYPE_NONE>;
    329 			clock-names = "clk_hva";
    330 			clocks = <&clk_s_c0_flexgen CLK_HVA>;
    331 		};
    332 
    333 		thermal@91a0000 {
    334 			compatible = "st,stih407-thermal";
    335 			reg = <0x91a0000 0x28>;
    336 			clock-names = "thermal";
    337 			clocks = <&clk_sysin>;
    338 			interrupts = <GIC_SPI 205 IRQ_TYPE_EDGE_RISING>;
    339 		};
    340 
    341 		g1@8c80000 {
    342 			compatible = "st,g1";
    343 			reg = <0x8c80000 0x194>;
    344 			interrupts = <GIC_SPI 57 IRQ_TYPE_NONE>;
    345 		};
    346 
    347 		temp0{
    348 			compatible = "st,stih407-thermal";
    349 			reg = <0x91a0000 0x28>;
    350 			clock-names = "thermal";
    351 			clocks = <&clk_sysin>;
    352 			interrupts = <GIC_SPI 205 IRQ_TYPE_EDGE_RISING>;
    353 		};
    354 
    355 		delta0 {
    356 			compatible = "st,delta";
    357 			clock-names = "delta", "delta-st231", "delta-flash-promip";
    358 			clocks = <&clk_s_c0_flexgen CLK_VID_DMU>,
    359 			    <&clk_s_c0_flexgen CLK_ST231_DMU>,
    360 			    <&clk_s_c0_flexgen CLK_FLASH_PROMIP>;
    361 		};
    362 
    363 		h264pp0: h264pp@8c00000 {
    364 			compatible = "st,h264pp";
    365 			reg = <0x8c00000 0x20000>;
    366 			interrupts = <GIC_SPI 53 IRQ_TYPE_NONE>;
    367 			clock-names = "clk_h264pp_0";
    368 			clocks = <&clk_s_c0_flexgen CLK_PP_DMU>;
    369 		};
    370 
    371 		mali: mali@09f00000 {
    372 			compatible	= "arm,mali-400";
    373 			reg		= <0x09f00000 0x10000>;
    374 			interrupts	= <GIC_SPI 49 IRQ_TYPE_NONE>,
    375 					  <GIC_SPI 50 IRQ_TYPE_NONE>,
    376 					  <GIC_SPI 41 IRQ_TYPE_NONE>,
    377 					  <GIC_SPI 45 IRQ_TYPE_NONE>,
    378 					  <GIC_SPI 42 IRQ_TYPE_NONE>,
    379 					  <GIC_SPI 46 IRQ_TYPE_NONE>,
    380 					  <GIC_SPI 43 IRQ_TYPE_NONE>,
    381 					  <GIC_SPI 47 IRQ_TYPE_NONE>,
    382 					  <GIC_SPI 44 IRQ_TYPE_NONE>,
    383 					  <GIC_SPI 48 IRQ_TYPE_NONE>;
    384 			interrupt-names = "IRQGP",
    385 					  "IRQGPMMU",
    386 					  "IRQPP0",
    387 					  "IRQPPMMU0",
    388 					  "IRQPP1",
    389 					  "IRQPPMMU1",
    390 					  "IRQPP2",
    391 					  "IRQPPMMU2",
    392 					  "IRQPP3",
    393 					  "IRQPPMMU3";
    394 			clock-names	= "gpu-clk";
    395 			clocks		= <&clk_s_c0_flexgen CLK_ICN_GPU>;
    396 			reset-names	= "gpu";
    397 			resets		= <&softreset STIH407_GPU_SOFTRESET>;
    398 		};
    399 
    400 		delta0 {
    401 			compatible = "st,st-delta";
    402 			clock-names = "delta",
    403 				      "delta-st231",
    404 				      "delta-flash-promip";
    405 			clocks = <&clk_s_c0_flexgen CLK_VID_DMU>,
    406 				 <&clk_s_c0_flexgen CLK_ST231_DMU>,
    407 				 <&clk_s_c0_flexgen CLK_FLASH_PROMIP>;
    408 		};
    409 
    410 		h264pp0: h264pp@8c00000 {
    411 			compatible = "st,h264pp";
    412 			reg = <0x8c00000 0x20000>;
    413 			interrupts = <GIC_SPI 53 IRQ_TYPE_NONE>;
    414 			clock-names = "clk_h264pp_0";
    415 			clocks = <&clk_s_c0_flexgen CLK_PP_DMU>;
    416 		};
    417 
    418 		mali: mali@09f00000 {
    419 			compatible	= "arm,mali-400";
    420 			reg		= <0x09f00000 0x10000>;
    421 			interrupts	= <GIC_SPI 49 IRQ_TYPE_NONE>,
    422 					  <GIC_SPI 50 IRQ_TYPE_NONE>,
    423 					  <GIC_SPI 41 IRQ_TYPE_NONE>,
    424 					  <GIC_SPI 45 IRQ_TYPE_NONE>,
    425 					  <GIC_SPI 42 IRQ_TYPE_NONE>,
    426 					  <GIC_SPI 46 IRQ_TYPE_NONE>,
    427 					  <GIC_SPI 43 IRQ_TYPE_NONE>,
    428 					  <GIC_SPI 47 IRQ_TYPE_NONE>,
    429 					  <GIC_SPI 44 IRQ_TYPE_NONE>,
    430 					  <GIC_SPI 48 IRQ_TYPE_NONE>;
    431 			interrupt-names = "IRQGP",
    432 					  "IRQGPMMU",
    433 					  "IRQPP0",
    434 					  "IRQPPMMU0",
    435 					  "IRQPP1",
    436 					  "IRQPPMMU1",
    437 					  "IRQPP2",
    438 					  "IRQPPMMU2",
    439 					  "IRQPP3",
    440 					  "IRQPPMMU3";
    441 			clock-names	= "gpu-clk";
    442 			clocks		= <&clk_s_c0_flexgen CLK_ICN_GPU>;
    443 			reset-names	= "gpu";
    444 			resets		= <&softreset STIH407_GPU_SOFTRESET>;
    445 		};
    446 
    447 		hva@8c85000{
    448 			compatible = "st,st-hva";
    449 			reg = <0x8c85000 0x400>, <0x6000000 0x40000>;
    450 			reg-names = "hva_registers", "hva_esram";
    451 			interrupts = <GIC_SPI 58 IRQ_TYPE_NONE>,
    452 				     <GIC_SPI 59 IRQ_TYPE_NONE>;
    453 			clock-names = "clk_hva";
    454 			clocks = <&clk_s_c0_flexgen CLK_HVA>;
    455 		};
    456 	};
    457 };
    458