1*c66ec88fSEmmanuel VadotSTMicroelectronics stih4xx platforms 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel Vadot- sti-vtg: video timing generator 4*c66ec88fSEmmanuel Vadot Required properties: 5*c66ec88fSEmmanuel Vadot - compatible: "st,vtg" 6*c66ec88fSEmmanuel Vadot - reg: Physical base address of the IP registers and length of memory mapped region. 7*c66ec88fSEmmanuel Vadot Optional properties: 8*c66ec88fSEmmanuel Vadot - interrupts : VTG interrupt number to the CPU. 9*c66ec88fSEmmanuel Vadot - st,slave: phandle on a slave vtg 10*c66ec88fSEmmanuel Vadot 11*c66ec88fSEmmanuel Vadot- sti-vtac: video timing advanced inter dye communication Rx and TX 12*c66ec88fSEmmanuel Vadot Required properties: 13*c66ec88fSEmmanuel Vadot - compatible: "st,vtac-main" or "st,vtac-aux" 14*c66ec88fSEmmanuel Vadot - reg: Physical base address of the IP registers and length of memory mapped region. 15*c66ec88fSEmmanuel Vadot - clocks: from common clock binding: handle hardware IP needed clocks, the 16*c66ec88fSEmmanuel Vadot number of clocks may depend of the SoC type. 17*c66ec88fSEmmanuel Vadot See ../clocks/clock-bindings.txt for details. 18*c66ec88fSEmmanuel Vadot - clock-names: names of the clocks listed in clocks property in the same 19*c66ec88fSEmmanuel Vadot order. 20*c66ec88fSEmmanuel Vadot 21*c66ec88fSEmmanuel Vadot- sti-display-subsystem: Master device for DRM sub-components 22*c66ec88fSEmmanuel Vadot This device must be the parent of all the sub-components and is responsible 23*c66ec88fSEmmanuel Vadot of bind them. 24*c66ec88fSEmmanuel Vadot Required properties: 25*c66ec88fSEmmanuel Vadot - compatible: "st,sti-display-subsystem" 26*c66ec88fSEmmanuel Vadot - ranges: to allow probing of subdevices 27*c66ec88fSEmmanuel Vadot 28*c66ec88fSEmmanuel Vadot- sti-compositor: frame compositor engine 29*c66ec88fSEmmanuel Vadot must be a child of sti-display-subsystem 30*c66ec88fSEmmanuel Vadot Required properties: 31*c66ec88fSEmmanuel Vadot - compatible: "st,stih<chip>-compositor" 32*c66ec88fSEmmanuel Vadot - reg: Physical base address of the IP registers and length of memory mapped region. 33*c66ec88fSEmmanuel Vadot - clocks: from common clock binding: handle hardware IP needed clocks, the 34*c66ec88fSEmmanuel Vadot number of clocks may depend of the SoC type. 35*c66ec88fSEmmanuel Vadot See ../clocks/clock-bindings.txt for details. 36*c66ec88fSEmmanuel Vadot - clock-names: names of the clocks listed in clocks property in the same 37*c66ec88fSEmmanuel Vadot order. 38*c66ec88fSEmmanuel Vadot - resets: resets to be used by the device 39*c66ec88fSEmmanuel Vadot See ../reset/reset.txt for details. 40*c66ec88fSEmmanuel Vadot - reset-names: names of the resets listed in resets property in the same 41*c66ec88fSEmmanuel Vadot order. 42*c66ec88fSEmmanuel Vadot - st,vtg: phandle(s) on vtg device (main and aux) nodes. 43*c66ec88fSEmmanuel Vadot 44*c66ec88fSEmmanuel Vadot- sti-tvout: video out hardware block 45*c66ec88fSEmmanuel Vadot must be a child of sti-display-subsystem 46*c66ec88fSEmmanuel Vadot Required properties: 47*c66ec88fSEmmanuel Vadot - compatible: "st,stih<chip>-tvout" 48*c66ec88fSEmmanuel Vadot - reg: Physical base address of the IP registers and length of memory mapped region. 49*c66ec88fSEmmanuel Vadot - reg-names: names of the mapped memory regions listed in regs property in 50*c66ec88fSEmmanuel Vadot the same order. 51*c66ec88fSEmmanuel Vadot - resets: resets to be used by the device 52*c66ec88fSEmmanuel Vadot See ../reset/reset.txt for details. 53*c66ec88fSEmmanuel Vadot - reset-names: names of the resets listed in resets property in the same 54*c66ec88fSEmmanuel Vadot order. 55*c66ec88fSEmmanuel Vadot 56*c66ec88fSEmmanuel Vadot- sti-hdmi: hdmi output block 57*c66ec88fSEmmanuel Vadot must be a child of sti-display-subsystem 58*c66ec88fSEmmanuel Vadot Required properties: 59*c66ec88fSEmmanuel Vadot - compatible: "st,stih<chip>-hdmi"; 60*c66ec88fSEmmanuel Vadot - reg: Physical base address of the IP registers and length of memory mapped region. 61*c66ec88fSEmmanuel Vadot - reg-names: names of the mapped memory regions listed in regs property in 62*c66ec88fSEmmanuel Vadot the same order. 63*c66ec88fSEmmanuel Vadot - interrupts : HDMI interrupt number to the CPU. 64*c66ec88fSEmmanuel Vadot - interrupt-names: names of the interrupts listed in interrupts property in 65*c66ec88fSEmmanuel Vadot the same order 66*c66ec88fSEmmanuel Vadot - clocks: from common clock binding: handle hardware IP needed clocks, the 67*c66ec88fSEmmanuel Vadot number of clocks may depend of the SoC type. 68*c66ec88fSEmmanuel Vadot - clock-names: names of the clocks listed in clocks property in the same 69*c66ec88fSEmmanuel Vadot order. 70*c66ec88fSEmmanuel Vadot - ddc: phandle of an I2C controller used for DDC EDID probing 71*c66ec88fSEmmanuel Vadot 72*c66ec88fSEmmanuel Vadotsti-hda: 73*c66ec88fSEmmanuel Vadot Required properties: 74*c66ec88fSEmmanuel Vadot must be a child of sti-display-subsystem 75*c66ec88fSEmmanuel Vadot - compatible: "st,stih<chip>-hda" 76*c66ec88fSEmmanuel Vadot - reg: Physical base address of the IP registers and length of memory mapped region. 77*c66ec88fSEmmanuel Vadot - reg-names: names of the mapped memory regions listed in regs property in 78*c66ec88fSEmmanuel Vadot the same order. 79*c66ec88fSEmmanuel Vadot - clocks: from common clock binding: handle hardware IP needed clocks, the 80*c66ec88fSEmmanuel Vadot number of clocks may depend of the SoC type. 81*c66ec88fSEmmanuel Vadot See ../clocks/clock-bindings.txt for details. 82*c66ec88fSEmmanuel Vadot - clock-names: names of the clocks listed in clocks property in the same 83*c66ec88fSEmmanuel Vadot order. 84*c66ec88fSEmmanuel Vadot 85*c66ec88fSEmmanuel Vadotsti-dvo: 86*c66ec88fSEmmanuel Vadot Required properties: 87*c66ec88fSEmmanuel Vadot must be a child of sti-display-subsystem 88*c66ec88fSEmmanuel Vadot - compatible: "st,stih<chip>-dvo" 89*c66ec88fSEmmanuel Vadot - reg: Physical base address of the IP registers and length of memory mapped region. 90*c66ec88fSEmmanuel Vadot - reg-names: names of the mapped memory regions listed in regs property in 91*c66ec88fSEmmanuel Vadot the same order. 92*c66ec88fSEmmanuel Vadot - clocks: from common clock binding: handle hardware IP needed clocks, the 93*c66ec88fSEmmanuel Vadot number of clocks may depend of the SoC type. 94*c66ec88fSEmmanuel Vadot See ../clocks/clock-bindings.txt for details. 95*c66ec88fSEmmanuel Vadot - clock-names: names of the clocks listed in clocks property in the same 96*c66ec88fSEmmanuel Vadot order. 97*c66ec88fSEmmanuel Vadot - pinctrl-0: pin control handle 98*c66ec88fSEmmanuel Vadot - pinctrl-names: names of the pin control states to use 99*c66ec88fSEmmanuel Vadot - sti,panel: phandle of the panel connected to the DVO output 100*c66ec88fSEmmanuel Vadot 101*c66ec88fSEmmanuel Vadotsti-hqvdp: 102*c66ec88fSEmmanuel Vadot must be a child of sti-display-subsystem 103*c66ec88fSEmmanuel Vadot Required properties: 104*c66ec88fSEmmanuel Vadot - compatible: "st,stih<chip>-hqvdp" 105*c66ec88fSEmmanuel Vadot - reg: Physical base address of the IP registers and length of memory mapped region. 106*c66ec88fSEmmanuel Vadot - clocks: from common clock binding: handle hardware IP needed clocks, the 107*c66ec88fSEmmanuel Vadot number of clocks may depend of the SoC type. 108*c66ec88fSEmmanuel Vadot See ../clocks/clock-bindings.txt for details. 109*c66ec88fSEmmanuel Vadot - clock-names: names of the clocks listed in clocks property in the same 110*c66ec88fSEmmanuel Vadot order. 111*c66ec88fSEmmanuel Vadot - resets: resets to be used by the device 112*c66ec88fSEmmanuel Vadot See ../reset/reset.txt for details. 113*c66ec88fSEmmanuel Vadot - reset-names: names of the resets listed in resets property in the same 114*c66ec88fSEmmanuel Vadot order. 115*c66ec88fSEmmanuel Vadot - st,vtg: phandle on vtg main device node. 116*c66ec88fSEmmanuel Vadot 117*c66ec88fSEmmanuel VadotExample: 118*c66ec88fSEmmanuel Vadot 119*c66ec88fSEmmanuel Vadot/ { 120*c66ec88fSEmmanuel Vadot ... 121*c66ec88fSEmmanuel Vadot 122*c66ec88fSEmmanuel Vadot vtg_main_slave: sti-vtg-main-slave@fe85a800 { 123*c66ec88fSEmmanuel Vadot compatible = "st,vtg"; 124*c66ec88fSEmmanuel Vadot reg = <0xfe85A800 0x300>; 125*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 175 IRQ_TYPE_NONE>; 126*c66ec88fSEmmanuel Vadot }; 127*c66ec88fSEmmanuel Vadot 128*c66ec88fSEmmanuel Vadot vtg_main: sti-vtg-main-master@fd348000 { 129*c66ec88fSEmmanuel Vadot compatible = "st,vtg"; 130*c66ec88fSEmmanuel Vadot reg = <0xfd348000 0x400>; 131*c66ec88fSEmmanuel Vadot st,slave = <&vtg_main_slave>; 132*c66ec88fSEmmanuel Vadot }; 133*c66ec88fSEmmanuel Vadot 134*c66ec88fSEmmanuel Vadot vtg_aux_slave: sti-vtg-aux-slave@fd348400 { 135*c66ec88fSEmmanuel Vadot compatible = "st,vtg"; 136*c66ec88fSEmmanuel Vadot reg = <0xfe858200 0x300>; 137*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 176 IRQ_TYPE_NONE>; 138*c66ec88fSEmmanuel Vadot }; 139*c66ec88fSEmmanuel Vadot 140*c66ec88fSEmmanuel Vadot vtg_aux: sti-vtg-aux-master@fd348400 { 141*c66ec88fSEmmanuel Vadot compatible = "st,vtg"; 142*c66ec88fSEmmanuel Vadot reg = <0xfd348400 0x400>; 143*c66ec88fSEmmanuel Vadot st,slave = <&vtg_aux_slave>; 144*c66ec88fSEmmanuel Vadot }; 145*c66ec88fSEmmanuel Vadot 146*c66ec88fSEmmanuel Vadot 147*c66ec88fSEmmanuel Vadot sti-vtac-rx-main@fee82800 { 148*c66ec88fSEmmanuel Vadot compatible = "st,vtac-main"; 149*c66ec88fSEmmanuel Vadot reg = <0xfee82800 0x200>; 150*c66ec88fSEmmanuel Vadot clock-names = "vtac"; 151*c66ec88fSEmmanuel Vadot clocks = <&clk_m_a2_div0 CLK_M_VTAC_MAIN_PHY>; 152*c66ec88fSEmmanuel Vadot }; 153*c66ec88fSEmmanuel Vadot 154*c66ec88fSEmmanuel Vadot sti-vtac-rx-aux@fee82a00 { 155*c66ec88fSEmmanuel Vadot compatible = "st,vtac-aux"; 156*c66ec88fSEmmanuel Vadot reg = <0xfee82a00 0x200>; 157*c66ec88fSEmmanuel Vadot clock-names = "vtac"; 158*c66ec88fSEmmanuel Vadot clocks = <&clk_m_a2_div0 CLK_M_VTAC_AUX_PHY>; 159*c66ec88fSEmmanuel Vadot }; 160*c66ec88fSEmmanuel Vadot 161*c66ec88fSEmmanuel Vadot sti-vtac-tx-main@fd349000 { 162*c66ec88fSEmmanuel Vadot compatible = "st,vtac-main"; 163*c66ec88fSEmmanuel Vadot reg = <0xfd349000 0x200>, <0xfd320000 0x10000>; 164*c66ec88fSEmmanuel Vadot clock-names = "vtac"; 165*c66ec88fSEmmanuel Vadot clocks = <&clk_s_a1_hs CLK_S_VTAC_TX_PHY>; 166*c66ec88fSEmmanuel Vadot }; 167*c66ec88fSEmmanuel Vadot 168*c66ec88fSEmmanuel Vadot sti-vtac-tx-aux@fd349200 { 169*c66ec88fSEmmanuel Vadot compatible = "st,vtac-aux"; 170*c66ec88fSEmmanuel Vadot reg = <0xfd349200 0x200>, <0xfd320000 0x10000>; 171*c66ec88fSEmmanuel Vadot clock-names = "vtac"; 172*c66ec88fSEmmanuel Vadot clocks = <&clk_s_a1_hs CLK_S_VTAC_TX_PHY>; 173*c66ec88fSEmmanuel Vadot }; 174*c66ec88fSEmmanuel Vadot 175*c66ec88fSEmmanuel Vadot sti-display-subsystem { 176*c66ec88fSEmmanuel Vadot compatible = "st,sti-display-subsystem"; 177*c66ec88fSEmmanuel Vadot ranges; 178*c66ec88fSEmmanuel Vadot 179*c66ec88fSEmmanuel Vadot sti-compositor@fd340000 { 180*c66ec88fSEmmanuel Vadot compatible = "st,stih416-compositor"; 181*c66ec88fSEmmanuel Vadot reg = <0xfd340000 0x1000>; 182*c66ec88fSEmmanuel Vadot clock-names = "compo_main", "compo_aux", 183*c66ec88fSEmmanuel Vadot "pix_main", "pix_aux"; 184*c66ec88fSEmmanuel Vadot clocks = <&clk_m_a2_div1 CLK_M_COMPO_MAIN>, <&clk_m_a2_div1 CLK_M_COMPO_AUX>, 185*c66ec88fSEmmanuel Vadot <&clockgen_c_vcc CLK_S_PIX_MAIN>, <&clockgen_c_vcc CLK_S_PIX_AUX>; 186*c66ec88fSEmmanuel Vadot reset-names = "compo-main", "compo-aux"; 187*c66ec88fSEmmanuel Vadot resets = <&softreset STIH416_COMPO_M_SOFTRESET>, <&softreset STIH416_COMPO_A_SOFTRESET>; 188*c66ec88fSEmmanuel Vadot st,vtg = <&vtg_main>, <&vtg_aux>; 189*c66ec88fSEmmanuel Vadot }; 190*c66ec88fSEmmanuel Vadot 191*c66ec88fSEmmanuel Vadot sti-tvout@fe000000 { 192*c66ec88fSEmmanuel Vadot compatible = "st,stih416-tvout"; 193*c66ec88fSEmmanuel Vadot reg = <0xfe000000 0x1000>, <0xfe85a000 0x400>, <0xfe830000 0x10000>; 194*c66ec88fSEmmanuel Vadot reg-names = "tvout-reg", "hda-reg", "syscfg"; 195*c66ec88fSEmmanuel Vadot reset-names = "tvout"; 196*c66ec88fSEmmanuel Vadot resets = <&softreset STIH416_HDTVOUT_SOFTRESET>; 197*c66ec88fSEmmanuel Vadot }; 198*c66ec88fSEmmanuel Vadot 199*c66ec88fSEmmanuel Vadot sti-hdmi@fe85c000 { 200*c66ec88fSEmmanuel Vadot compatible = "st,stih416-hdmi"; 201*c66ec88fSEmmanuel Vadot reg = <0xfe85c000 0x1000>, <0xfe830000 0x10000>; 202*c66ec88fSEmmanuel Vadot reg-names = "hdmi-reg", "syscfg"; 203*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 173 IRQ_TYPE_NONE>; 204*c66ec88fSEmmanuel Vadot interrupt-names = "irq"; 205*c66ec88fSEmmanuel Vadot clock-names = "pix", "tmds", "phy", "audio"; 206*c66ec88fSEmmanuel Vadot clocks = <&clockgen_c_vcc CLK_S_PIX_HDMI>, <&clockgen_c_vcc CLK_S_TMDS_HDMI>, <&clockgen_c_vcc CLK_S_HDMI_REJECT_PLL>, <&clockgen_b1 CLK_S_PCM_0>; 207*c66ec88fSEmmanuel Vadot }; 208*c66ec88fSEmmanuel Vadot 209*c66ec88fSEmmanuel Vadot sti-hda@fe85a000 { 210*c66ec88fSEmmanuel Vadot compatible = "st,stih416-hda"; 211*c66ec88fSEmmanuel Vadot reg = <0xfe85a000 0x400>, <0xfe83085c 0x4>; 212*c66ec88fSEmmanuel Vadot reg-names = "hda-reg", "video-dacs-ctrl"; 213*c66ec88fSEmmanuel Vadot clock-names = "pix", "hddac"; 214*c66ec88fSEmmanuel Vadot clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>; 215*c66ec88fSEmmanuel Vadot }; 216*c66ec88fSEmmanuel Vadot 217*c66ec88fSEmmanuel Vadot sti-dvo@8d00400 { 218*c66ec88fSEmmanuel Vadot compatible = "st,stih407-dvo"; 219*c66ec88fSEmmanuel Vadot reg = <0x8d00400 0x200>; 220*c66ec88fSEmmanuel Vadot reg-names = "dvo-reg"; 221*c66ec88fSEmmanuel Vadot clock-names = "dvo_pix", "dvo", 222*c66ec88fSEmmanuel Vadot "main_parent", "aux_parent"; 223*c66ec88fSEmmanuel Vadot clocks = <&clk_s_d2_flexgen CLK_PIX_DVO>, <&clk_s_d2_flexgen CLK_DVO>, 224*c66ec88fSEmmanuel Vadot <&clk_s_d2_quadfs 0>, <&clk_s_d2_quadfs 1>; 225*c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 226*c66ec88fSEmmanuel Vadot pinctrl-0 = <&pinctrl_dvo>; 227*c66ec88fSEmmanuel Vadot sti,panel = <&panel_dvo>; 228*c66ec88fSEmmanuel Vadot }; 229*c66ec88fSEmmanuel Vadot 230*c66ec88fSEmmanuel Vadot sti-hqvdp@9c000000 { 231*c66ec88fSEmmanuel Vadot compatible = "st,stih407-hqvdp"; 232*c66ec88fSEmmanuel Vadot reg = <0x9C00000 0x100000>; 233*c66ec88fSEmmanuel Vadot clock-names = "hqvdp", "pix_main"; 234*c66ec88fSEmmanuel Vadot clocks = <&clk_s_c0_flexgen CLK_MAIN_DISP>, <&clk_s_d2_flexgen CLK_PIX_MAIN_DISP>; 235*c66ec88fSEmmanuel Vadot reset-names = "hqvdp"; 236*c66ec88fSEmmanuel Vadot resets = <&softreset STIH407_HDQVDP_SOFTRESET>; 237*c66ec88fSEmmanuel Vadot st,vtg = <&vtg_main>; 238*c66ec88fSEmmanuel Vadot }; 239*c66ec88fSEmmanuel Vadot }; 240*c66ec88fSEmmanuel Vadot ... 241*c66ec88fSEmmanuel Vadot}; 242