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