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