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