1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright (c) 2016 Endless Computers, Inc. 4c66ec88fSEmmanuel Vadot * Author: Carlo Caione <carlo@endlessm.com> 5c66ec88fSEmmanuel Vadot */ 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadot#include "meson-gx.dtsi" 8c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/gxbb-clkc.h> 9c66ec88fSEmmanuel Vadot#include <dt-bindings/clock/gxbb-aoclkc.h> 10c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/meson-gxl-gpio.h> 11c66ec88fSEmmanuel Vadot#include <dt-bindings/reset/amlogic,meson-gxbb-reset.h> 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadot/ { 14c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxl"; 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot soc { 17c66ec88fSEmmanuel Vadot usb: usb@d0078080 { 18c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxl-usb-ctrl"; 19c66ec88fSEmmanuel Vadot reg = <0x0 0xd0078080 0x0 0x20>; 20c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 21c66ec88fSEmmanuel Vadot #address-cells = <2>; 22c66ec88fSEmmanuel Vadot #size-cells = <2>; 23c66ec88fSEmmanuel Vadot ranges; 24c66ec88fSEmmanuel Vadot 25c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1_DDR_BRIDGE>; 26c66ec88fSEmmanuel Vadot clock-names = "usb_ctrl", "ddr"; 27c66ec88fSEmmanuel Vadot resets = <&reset RESET_USB_OTG>; 28c66ec88fSEmmanuel Vadot 29c66ec88fSEmmanuel Vadot dr_mode = "otg"; 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadot phys = <&usb2_phy0>, <&usb2_phy1>; 32c66ec88fSEmmanuel Vadot phy-names = "usb2-phy0", "usb2-phy1"; 33c66ec88fSEmmanuel Vadot 34c66ec88fSEmmanuel Vadot dwc2: usb@c9100000 { 35c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-g12a-usb", "snps,dwc2"; 36c66ec88fSEmmanuel Vadot reg = <0x0 0xc9100000 0x0 0x40000>; 37c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 38c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_USB1>; 39c66ec88fSEmmanuel Vadot clock-names = "otg"; 40c66ec88fSEmmanuel Vadot phys = <&usb2_phy1>; 41c66ec88fSEmmanuel Vadot dr_mode = "peripheral"; 42c66ec88fSEmmanuel Vadot g-rx-fifo-size = <192>; 43c66ec88fSEmmanuel Vadot g-np-tx-fifo-size = <128>; 44c66ec88fSEmmanuel Vadot g-tx-fifo-size = <128 128 16 16 16>; 45c66ec88fSEmmanuel Vadot }; 46c66ec88fSEmmanuel Vadot 47c66ec88fSEmmanuel Vadot dwc3: usb@c9000000 { 48c66ec88fSEmmanuel Vadot compatible = "snps,dwc3"; 49c66ec88fSEmmanuel Vadot reg = <0x0 0xc9000000 0x0 0x100000>; 50c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 51c66ec88fSEmmanuel Vadot dr_mode = "host"; 52c66ec88fSEmmanuel Vadot maximum-speed = "high-speed"; 53c66ec88fSEmmanuel Vadot snps,dis_u2_susphy_quirk; 54c66ec88fSEmmanuel Vadot }; 55c66ec88fSEmmanuel Vadot }; 56c66ec88fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadot acodec: audio-controller@c8832000 { 58c66ec88fSEmmanuel Vadot compatible = "amlogic,t9015"; 59c66ec88fSEmmanuel Vadot reg = <0x0 0xc8832000 0x0 0x14>; 60c66ec88fSEmmanuel Vadot #sound-dai-cells = <0>; 61c66ec88fSEmmanuel Vadot sound-name-prefix = "ACODEC"; 62c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_ACODEC>; 63c66ec88fSEmmanuel Vadot clock-names = "pclk"; 64c66ec88fSEmmanuel Vadot resets = <&reset RESET_ACODEC>; 65c66ec88fSEmmanuel Vadot status = "disabled"; 66c66ec88fSEmmanuel Vadot }; 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot crypto: crypto@c883e000 { 69c66ec88fSEmmanuel Vadot compatible = "amlogic,gxl-crypto"; 70c66ec88fSEmmanuel Vadot reg = <0x0 0xc883e000 0x0 0x36>; 71c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 188 IRQ_TYPE_EDGE_RISING>, 72c66ec88fSEmmanuel Vadot <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>; 73c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_BLKMV>; 74c66ec88fSEmmanuel Vadot clock-names = "blkmv"; 75c66ec88fSEmmanuel Vadot status = "okay"; 76c66ec88fSEmmanuel Vadot }; 77c66ec88fSEmmanuel Vadot }; 78c66ec88fSEmmanuel Vadot}; 79c66ec88fSEmmanuel Vadot 80c66ec88fSEmmanuel Vadot&aiu { 81c66ec88fSEmmanuel Vadot compatible = "amlogic,aiu-gxl", "amlogic,aiu"; 82c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_AIU_GLUE>, 83c66ec88fSEmmanuel Vadot <&clkc CLKID_I2S_OUT>, 84c66ec88fSEmmanuel Vadot <&clkc CLKID_AOCLK_GATE>, 85c66ec88fSEmmanuel Vadot <&clkc CLKID_CTS_AMCLK>, 86c66ec88fSEmmanuel Vadot <&clkc CLKID_MIXER_IFACE>, 87c66ec88fSEmmanuel Vadot <&clkc CLKID_IEC958>, 88c66ec88fSEmmanuel Vadot <&clkc CLKID_IEC958_GATE>, 89c66ec88fSEmmanuel Vadot <&clkc CLKID_CTS_MCLK_I958>, 90c66ec88fSEmmanuel Vadot <&clkc CLKID_CTS_I958>; 91c66ec88fSEmmanuel Vadot clock-names = "pclk", 92c66ec88fSEmmanuel Vadot "i2s_pclk", 93c66ec88fSEmmanuel Vadot "i2s_aoclk", 94c66ec88fSEmmanuel Vadot "i2s_mclk", 95c66ec88fSEmmanuel Vadot "i2s_mixer", 96c66ec88fSEmmanuel Vadot "spdif_pclk", 97c66ec88fSEmmanuel Vadot "spdif_aoclk", 98c66ec88fSEmmanuel Vadot "spdif_mclk", 99c66ec88fSEmmanuel Vadot "spdif_mclk_sel"; 100c66ec88fSEmmanuel Vadot resets = <&reset RESET_AIU>; 101c66ec88fSEmmanuel Vadot}; 102c66ec88fSEmmanuel Vadot 103c66ec88fSEmmanuel Vadot&apb { 104c66ec88fSEmmanuel Vadot usb2_phy0: phy@78000 { 105c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxl-usb2-phy"; 106c66ec88fSEmmanuel Vadot #phy-cells = <0>; 107c66ec88fSEmmanuel Vadot reg = <0x0 0x78000 0x0 0x20>; 108c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_USB>; 109c66ec88fSEmmanuel Vadot clock-names = "phy"; 110c66ec88fSEmmanuel Vadot resets = <&reset RESET_USB_OTG>; 111c66ec88fSEmmanuel Vadot reset-names = "phy"; 112c66ec88fSEmmanuel Vadot status = "okay"; 113c66ec88fSEmmanuel Vadot }; 114c66ec88fSEmmanuel Vadot 115c66ec88fSEmmanuel Vadot usb2_phy1: phy@78020 { 116c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxl-usb2-phy"; 117c66ec88fSEmmanuel Vadot #phy-cells = <0>; 118c66ec88fSEmmanuel Vadot reg = <0x0 0x78020 0x0 0x20>; 119c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_USB>; 120c66ec88fSEmmanuel Vadot clock-names = "phy"; 121c66ec88fSEmmanuel Vadot resets = <&reset RESET_USB_OTG>; 122c66ec88fSEmmanuel Vadot reset-names = "phy"; 123c66ec88fSEmmanuel Vadot status = "okay"; 124c66ec88fSEmmanuel Vadot }; 125c66ec88fSEmmanuel Vadot}; 126c66ec88fSEmmanuel Vadot 127c66ec88fSEmmanuel Vadot&efuse { 128c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_EFUSE>; 129c66ec88fSEmmanuel Vadot}; 130c66ec88fSEmmanuel Vadot 131c66ec88fSEmmanuel Vadotðmac { 132c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_ETH>, 133c66ec88fSEmmanuel Vadot <&clkc CLKID_FCLK_DIV2>, 134c66ec88fSEmmanuel Vadot <&clkc CLKID_MPLL2>, 135c66ec88fSEmmanuel Vadot <&clkc CLKID_FCLK_DIV2>; 136c66ec88fSEmmanuel Vadot clock-names = "stmmaceth", "clkin0", "clkin1", "timing-adjustment"; 137c66ec88fSEmmanuel Vadot 138c66ec88fSEmmanuel Vadot mdio0: mdio { 139c66ec88fSEmmanuel Vadot #address-cells = <1>; 140c66ec88fSEmmanuel Vadot #size-cells = <0>; 141c66ec88fSEmmanuel Vadot compatible = "snps,dwmac-mdio"; 142c66ec88fSEmmanuel Vadot }; 143c66ec88fSEmmanuel Vadot}; 144c66ec88fSEmmanuel Vadot 145c66ec88fSEmmanuel Vadot&aobus { 146c66ec88fSEmmanuel Vadot pinctrl_aobus: pinctrl@14 { 147c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxl-aobus-pinctrl"; 148c66ec88fSEmmanuel Vadot #address-cells = <2>; 149c66ec88fSEmmanuel Vadot #size-cells = <2>; 150c66ec88fSEmmanuel Vadot ranges; 151c66ec88fSEmmanuel Vadot 152c66ec88fSEmmanuel Vadot gpio_ao: bank@14 { 153c66ec88fSEmmanuel Vadot reg = <0x0 0x00014 0x0 0x8>, 154c66ec88fSEmmanuel Vadot <0x0 0x0002c 0x0 0x4>, 155c66ec88fSEmmanuel Vadot <0x0 0x00024 0x0 0x8>; 156c66ec88fSEmmanuel Vadot reg-names = "mux", "pull", "gpio"; 157c66ec88fSEmmanuel Vadot gpio-controller; 158c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 159c66ec88fSEmmanuel Vadot gpio-ranges = <&pinctrl_aobus 0 0 14>; 160c66ec88fSEmmanuel Vadot }; 161c66ec88fSEmmanuel Vadot 162c66ec88fSEmmanuel Vadot uart_ao_a_pins: uart_ao_a { 163c66ec88fSEmmanuel Vadot mux { 164c66ec88fSEmmanuel Vadot groups = "uart_tx_ao_a", "uart_rx_ao_a"; 165c66ec88fSEmmanuel Vadot function = "uart_ao"; 166c66ec88fSEmmanuel Vadot bias-disable; 167c66ec88fSEmmanuel Vadot }; 168c66ec88fSEmmanuel Vadot }; 169c66ec88fSEmmanuel Vadot 170c66ec88fSEmmanuel Vadot uart_ao_a_cts_rts_pins: uart_ao_a_cts_rts { 171c66ec88fSEmmanuel Vadot mux { 172c66ec88fSEmmanuel Vadot groups = "uart_cts_ao_a", 173c66ec88fSEmmanuel Vadot "uart_rts_ao_a"; 174c66ec88fSEmmanuel Vadot function = "uart_ao"; 175c66ec88fSEmmanuel Vadot bias-disable; 176c66ec88fSEmmanuel Vadot }; 177c66ec88fSEmmanuel Vadot }; 178c66ec88fSEmmanuel Vadot 179c66ec88fSEmmanuel Vadot uart_ao_b_pins: uart_ao_b { 180c66ec88fSEmmanuel Vadot mux { 181c66ec88fSEmmanuel Vadot groups = "uart_tx_ao_b", "uart_rx_ao_b"; 182c66ec88fSEmmanuel Vadot function = "uart_ao_b"; 183c66ec88fSEmmanuel Vadot bias-disable; 184c66ec88fSEmmanuel Vadot }; 185c66ec88fSEmmanuel Vadot }; 186c66ec88fSEmmanuel Vadot 187c66ec88fSEmmanuel Vadot uart_ao_b_0_1_pins: uart_ao_b_0_1 { 188c66ec88fSEmmanuel Vadot mux { 189c66ec88fSEmmanuel Vadot groups = "uart_tx_ao_b_0", "uart_rx_ao_b_1"; 190c66ec88fSEmmanuel Vadot function = "uart_ao_b"; 191c66ec88fSEmmanuel Vadot bias-disable; 192c66ec88fSEmmanuel Vadot }; 193c66ec88fSEmmanuel Vadot }; 194c66ec88fSEmmanuel Vadot 195c66ec88fSEmmanuel Vadot uart_ao_b_cts_rts_pins: uart_ao_b_cts_rts { 196c66ec88fSEmmanuel Vadot mux { 197c66ec88fSEmmanuel Vadot groups = "uart_cts_ao_b", 198c66ec88fSEmmanuel Vadot "uart_rts_ao_b"; 199c66ec88fSEmmanuel Vadot function = "uart_ao_b"; 200c66ec88fSEmmanuel Vadot bias-disable; 201c66ec88fSEmmanuel Vadot }; 202c66ec88fSEmmanuel Vadot }; 203c66ec88fSEmmanuel Vadot 204c66ec88fSEmmanuel Vadot remote_input_ao_pins: remote_input_ao { 205c66ec88fSEmmanuel Vadot mux { 206c66ec88fSEmmanuel Vadot groups = "remote_input_ao"; 207c66ec88fSEmmanuel Vadot function = "remote_input_ao"; 208c66ec88fSEmmanuel Vadot bias-disable; 209c66ec88fSEmmanuel Vadot }; 210c66ec88fSEmmanuel Vadot }; 211c66ec88fSEmmanuel Vadot 212c66ec88fSEmmanuel Vadot i2c_ao_pins: i2c_ao { 213c66ec88fSEmmanuel Vadot mux { 214c66ec88fSEmmanuel Vadot groups = "i2c_sck_ao", 215c66ec88fSEmmanuel Vadot "i2c_sda_ao"; 216c66ec88fSEmmanuel Vadot function = "i2c_ao"; 217c66ec88fSEmmanuel Vadot bias-disable; 218c66ec88fSEmmanuel Vadot }; 219c66ec88fSEmmanuel Vadot }; 220c66ec88fSEmmanuel Vadot 221c66ec88fSEmmanuel Vadot pwm_ao_a_3_pins: pwm_ao_a_3 { 222c66ec88fSEmmanuel Vadot mux { 223c66ec88fSEmmanuel Vadot groups = "pwm_ao_a_3"; 224c66ec88fSEmmanuel Vadot function = "pwm_ao_a"; 225c66ec88fSEmmanuel Vadot bias-disable; 226c66ec88fSEmmanuel Vadot }; 227c66ec88fSEmmanuel Vadot }; 228c66ec88fSEmmanuel Vadot 229c66ec88fSEmmanuel Vadot pwm_ao_a_8_pins: pwm_ao_a_8 { 230c66ec88fSEmmanuel Vadot mux { 231c66ec88fSEmmanuel Vadot groups = "pwm_ao_a_8"; 232c66ec88fSEmmanuel Vadot function = "pwm_ao_a"; 233c66ec88fSEmmanuel Vadot bias-disable; 234c66ec88fSEmmanuel Vadot }; 235c66ec88fSEmmanuel Vadot }; 236c66ec88fSEmmanuel Vadot 237c66ec88fSEmmanuel Vadot pwm_ao_b_pins: pwm_ao_b { 238c66ec88fSEmmanuel Vadot mux { 239c66ec88fSEmmanuel Vadot groups = "pwm_ao_b"; 240c66ec88fSEmmanuel Vadot function = "pwm_ao_b"; 241c66ec88fSEmmanuel Vadot bias-disable; 242c66ec88fSEmmanuel Vadot }; 243c66ec88fSEmmanuel Vadot }; 244c66ec88fSEmmanuel Vadot 245c66ec88fSEmmanuel Vadot pwm_ao_b_6_pins: pwm_ao_b_6 { 246c66ec88fSEmmanuel Vadot mux { 247c66ec88fSEmmanuel Vadot groups = "pwm_ao_b_6"; 248c66ec88fSEmmanuel Vadot function = "pwm_ao_b"; 249c66ec88fSEmmanuel Vadot bias-disable; 250c66ec88fSEmmanuel Vadot }; 251c66ec88fSEmmanuel Vadot }; 252c66ec88fSEmmanuel Vadot 253c66ec88fSEmmanuel Vadot i2s_out_ch23_ao_pins: i2s_out_ch23_ao { 254c66ec88fSEmmanuel Vadot mux { 255c66ec88fSEmmanuel Vadot groups = "i2s_out_ch23_ao"; 256c66ec88fSEmmanuel Vadot function = "i2s_out_ao"; 257c66ec88fSEmmanuel Vadot bias-disable; 258c66ec88fSEmmanuel Vadot }; 259c66ec88fSEmmanuel Vadot }; 260c66ec88fSEmmanuel Vadot 261c66ec88fSEmmanuel Vadot i2s_out_ch45_ao_pins: i2s_out_ch45_ao { 262c66ec88fSEmmanuel Vadot mux { 263c66ec88fSEmmanuel Vadot groups = "i2s_out_ch45_ao"; 264c66ec88fSEmmanuel Vadot function = "i2s_out_ao"; 265c66ec88fSEmmanuel Vadot bias-disable; 266c66ec88fSEmmanuel Vadot }; 267c66ec88fSEmmanuel Vadot }; 268c66ec88fSEmmanuel Vadot 269c66ec88fSEmmanuel Vadot spdif_out_ao_6_pins: spdif_out_ao_6 { 270c66ec88fSEmmanuel Vadot mux { 271c66ec88fSEmmanuel Vadot groups = "spdif_out_ao_6"; 272c66ec88fSEmmanuel Vadot function = "spdif_out_ao"; 273c66ec88fSEmmanuel Vadot bias-disable; 274c66ec88fSEmmanuel Vadot }; 275c66ec88fSEmmanuel Vadot }; 276c66ec88fSEmmanuel Vadot 277c66ec88fSEmmanuel Vadot spdif_out_ao_9_pins: spdif_out_ao_9 { 278c66ec88fSEmmanuel Vadot mux { 279c66ec88fSEmmanuel Vadot groups = "spdif_out_ao_9"; 280c66ec88fSEmmanuel Vadot function = "spdif_out_ao"; 281c66ec88fSEmmanuel Vadot bias-disable; 282c66ec88fSEmmanuel Vadot }; 283c66ec88fSEmmanuel Vadot }; 284c66ec88fSEmmanuel Vadot 285c66ec88fSEmmanuel Vadot ao_cec_pins: ao_cec { 286c66ec88fSEmmanuel Vadot mux { 287c66ec88fSEmmanuel Vadot groups = "ao_cec"; 288c66ec88fSEmmanuel Vadot function = "cec_ao"; 289c66ec88fSEmmanuel Vadot bias-disable; 290c66ec88fSEmmanuel Vadot }; 291c66ec88fSEmmanuel Vadot }; 292c66ec88fSEmmanuel Vadot 293c66ec88fSEmmanuel Vadot ee_cec_pins: ee_cec { 294c66ec88fSEmmanuel Vadot mux { 295c66ec88fSEmmanuel Vadot groups = "ee_cec"; 296c66ec88fSEmmanuel Vadot function = "cec_ao"; 297c66ec88fSEmmanuel Vadot bias-disable; 298c66ec88fSEmmanuel Vadot }; 299c66ec88fSEmmanuel Vadot }; 300c66ec88fSEmmanuel Vadot }; 301c66ec88fSEmmanuel Vadot}; 302c66ec88fSEmmanuel Vadot 303c66ec88fSEmmanuel Vadot&cec_AO { 304c66ec88fSEmmanuel Vadot clocks = <&clkc_AO CLKID_AO_CEC_32K>; 305c66ec88fSEmmanuel Vadot clock-names = "core"; 306c66ec88fSEmmanuel Vadot}; 307c66ec88fSEmmanuel Vadot 308c66ec88fSEmmanuel Vadot&clkc_AO { 309c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxl-aoclkc", "amlogic,meson-gx-aoclkc"; 310c66ec88fSEmmanuel Vadot clocks = <&xtal>, <&clkc CLKID_CLK81>; 311c66ec88fSEmmanuel Vadot clock-names = "xtal", "mpeg-clk"; 312c66ec88fSEmmanuel Vadot}; 313c66ec88fSEmmanuel Vadot 314c66ec88fSEmmanuel Vadot&gpio_intc { 315fac71e4eSEmmanuel Vadot compatible = "amlogic,meson-gxl-gpio-intc", 316fac71e4eSEmmanuel Vadot "amlogic,meson-gpio-intc"; 317c66ec88fSEmmanuel Vadot status = "okay"; 318c66ec88fSEmmanuel Vadot}; 319c66ec88fSEmmanuel Vadot 320c66ec88fSEmmanuel Vadot&hdmi_tx { 321c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxl-dw-hdmi", "amlogic,meson-gx-dw-hdmi"; 322c66ec88fSEmmanuel Vadot resets = <&reset RESET_HDMITX_CAPB3>, 323c66ec88fSEmmanuel Vadot <&reset RESET_HDMI_SYSTEM_RESET>, 324c66ec88fSEmmanuel Vadot <&reset RESET_HDMI_TX>; 325c66ec88fSEmmanuel Vadot reset-names = "hdmitx_apb", "hdmitx", "hdmitx_phy"; 326*0e8011faSEmmanuel Vadot clocks = <&clkc CLKID_HDMI>, 327*0e8011faSEmmanuel Vadot <&clkc CLKID_HDMI_PCLK>, 328c66ec88fSEmmanuel Vadot <&clkc CLKID_GCLK_VENCI_INT0>; 329c66ec88fSEmmanuel Vadot clock-names = "isfr", "iahb", "venci"; 330*0e8011faSEmmanuel Vadot power-domains = <&pwrc PWRC_GXBB_VPU_ID>; 331*0e8011faSEmmanuel Vadot 332*0e8011faSEmmanuel Vadot assigned-clocks = <&clkc CLKID_HDMI_SEL>, 333*0e8011faSEmmanuel Vadot <&clkc CLKID_HDMI>; 334*0e8011faSEmmanuel Vadot assigned-clock-parents = <&xtal>, <0>; 335*0e8011faSEmmanuel Vadot assigned-clock-rates = <0>, <24000000>; 336c66ec88fSEmmanuel Vadot}; 337c66ec88fSEmmanuel Vadot 338c66ec88fSEmmanuel Vadot&sysctrl { 339c66ec88fSEmmanuel Vadot clkc: clock-controller { 340c66ec88fSEmmanuel Vadot compatible = "amlogic,gxl-clkc"; 341c66ec88fSEmmanuel Vadot #clock-cells = <1>; 342c66ec88fSEmmanuel Vadot clocks = <&xtal>; 343c66ec88fSEmmanuel Vadot clock-names = "xtal"; 344c66ec88fSEmmanuel Vadot }; 345c66ec88fSEmmanuel Vadot}; 346c66ec88fSEmmanuel Vadot 347c66ec88fSEmmanuel Vadot&hwrng { 348c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_RNG0>; 349c66ec88fSEmmanuel Vadot clock-names = "core"; 350c66ec88fSEmmanuel Vadot}; 351c66ec88fSEmmanuel Vadot 352c66ec88fSEmmanuel Vadot&i2c_A { 353c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_I2C>; 354c66ec88fSEmmanuel Vadot}; 355c66ec88fSEmmanuel Vadot 356c66ec88fSEmmanuel Vadot&i2c_AO { 357c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_AO_I2C>; 358c66ec88fSEmmanuel Vadot}; 359c66ec88fSEmmanuel Vadot 360c66ec88fSEmmanuel Vadot&i2c_B { 361c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_I2C>; 362c66ec88fSEmmanuel Vadot}; 363c66ec88fSEmmanuel Vadot 364c66ec88fSEmmanuel Vadot&i2c_C { 365c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_I2C>; 366c66ec88fSEmmanuel Vadot}; 367c66ec88fSEmmanuel Vadot 368c66ec88fSEmmanuel Vadot&periphs { 369c66ec88fSEmmanuel Vadot pinctrl_periphs: pinctrl@4b0 { 370c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxl-periphs-pinctrl"; 371c66ec88fSEmmanuel Vadot #address-cells = <2>; 372c66ec88fSEmmanuel Vadot #size-cells = <2>; 373c66ec88fSEmmanuel Vadot ranges; 374c66ec88fSEmmanuel Vadot 375c66ec88fSEmmanuel Vadot gpio: bank@4b0 { 376c66ec88fSEmmanuel Vadot reg = <0x0 0x004b0 0x0 0x28>, 377c66ec88fSEmmanuel Vadot <0x0 0x004e8 0x0 0x14>, 378c66ec88fSEmmanuel Vadot <0x0 0x00520 0x0 0x14>, 379c66ec88fSEmmanuel Vadot <0x0 0x00430 0x0 0x40>; 380c66ec88fSEmmanuel Vadot reg-names = "mux", "pull", "pull-enable", "gpio"; 381c66ec88fSEmmanuel Vadot gpio-controller; 382c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 383c66ec88fSEmmanuel Vadot gpio-ranges = <&pinctrl_periphs 0 0 100>; 384c66ec88fSEmmanuel Vadot }; 385c66ec88fSEmmanuel Vadot 386c66ec88fSEmmanuel Vadot emmc_pins: emmc { 387c66ec88fSEmmanuel Vadot mux-0 { 388c66ec88fSEmmanuel Vadot groups = "emmc_nand_d07", 389c66ec88fSEmmanuel Vadot "emmc_cmd"; 390c66ec88fSEmmanuel Vadot function = "emmc"; 391c66ec88fSEmmanuel Vadot bias-pull-up; 392c66ec88fSEmmanuel Vadot }; 393c66ec88fSEmmanuel Vadot 394c66ec88fSEmmanuel Vadot mux-1 { 395c66ec88fSEmmanuel Vadot groups = "emmc_clk"; 396c66ec88fSEmmanuel Vadot function = "emmc"; 397c66ec88fSEmmanuel Vadot bias-disable; 398c66ec88fSEmmanuel Vadot }; 399c66ec88fSEmmanuel Vadot }; 400c66ec88fSEmmanuel Vadot 401c66ec88fSEmmanuel Vadot emmc_ds_pins: emmc-ds { 402c66ec88fSEmmanuel Vadot mux { 403c66ec88fSEmmanuel Vadot groups = "emmc_ds"; 404c66ec88fSEmmanuel Vadot function = "emmc"; 405c66ec88fSEmmanuel Vadot bias-pull-down; 406c66ec88fSEmmanuel Vadot }; 407c66ec88fSEmmanuel Vadot }; 408c66ec88fSEmmanuel Vadot 409c66ec88fSEmmanuel Vadot emmc_clk_gate_pins: emmc_clk_gate { 410c66ec88fSEmmanuel Vadot mux { 411c66ec88fSEmmanuel Vadot groups = "BOOT_8"; 412c66ec88fSEmmanuel Vadot function = "gpio_periphs"; 413c66ec88fSEmmanuel Vadot bias-pull-down; 414c66ec88fSEmmanuel Vadot }; 415c66ec88fSEmmanuel Vadot }; 416c66ec88fSEmmanuel Vadot 417c66ec88fSEmmanuel Vadot nor_pins: nor { 418c66ec88fSEmmanuel Vadot mux { 419c66ec88fSEmmanuel Vadot groups = "nor_d", 420c66ec88fSEmmanuel Vadot "nor_q", 421c66ec88fSEmmanuel Vadot "nor_c", 422c66ec88fSEmmanuel Vadot "nor_cs"; 423c66ec88fSEmmanuel Vadot function = "nor"; 424c66ec88fSEmmanuel Vadot bias-disable; 425c66ec88fSEmmanuel Vadot }; 426c66ec88fSEmmanuel Vadot }; 427c66ec88fSEmmanuel Vadot 428c66ec88fSEmmanuel Vadot spi_pins: spi-pins { 429c66ec88fSEmmanuel Vadot mux { 430c66ec88fSEmmanuel Vadot groups = "spi_miso", 431c66ec88fSEmmanuel Vadot "spi_mosi", 432c66ec88fSEmmanuel Vadot "spi_sclk"; 433c66ec88fSEmmanuel Vadot function = "spi"; 434c66ec88fSEmmanuel Vadot bias-disable; 435c66ec88fSEmmanuel Vadot }; 436c66ec88fSEmmanuel Vadot }; 437c66ec88fSEmmanuel Vadot 4388bab661aSEmmanuel Vadot spi_idle_high_pins: spi-idle-high-pins { 4398bab661aSEmmanuel Vadot mux { 4408bab661aSEmmanuel Vadot groups = "spi_sclk"; 4418bab661aSEmmanuel Vadot bias-pull-up; 4428bab661aSEmmanuel Vadot }; 4438bab661aSEmmanuel Vadot }; 4448bab661aSEmmanuel Vadot 4458bab661aSEmmanuel Vadot spi_idle_low_pins: spi-idle-low-pins { 4468bab661aSEmmanuel Vadot mux { 4478bab661aSEmmanuel Vadot groups = "spi_sclk"; 4488bab661aSEmmanuel Vadot bias-pull-down; 4498bab661aSEmmanuel Vadot }; 4508bab661aSEmmanuel Vadot }; 4518bab661aSEmmanuel Vadot 452c66ec88fSEmmanuel Vadot spi_ss0_pins: spi-ss0 { 453c66ec88fSEmmanuel Vadot mux { 454c66ec88fSEmmanuel Vadot groups = "spi_ss0"; 455c66ec88fSEmmanuel Vadot function = "spi"; 456c66ec88fSEmmanuel Vadot bias-disable; 457c66ec88fSEmmanuel Vadot }; 458c66ec88fSEmmanuel Vadot }; 459c66ec88fSEmmanuel Vadot 460c66ec88fSEmmanuel Vadot sdcard_pins: sdcard { 461c66ec88fSEmmanuel Vadot mux-0 { 462c66ec88fSEmmanuel Vadot groups = "sdcard_d0", 463c66ec88fSEmmanuel Vadot "sdcard_d1", 464c66ec88fSEmmanuel Vadot "sdcard_d2", 465c66ec88fSEmmanuel Vadot "sdcard_d3", 466c66ec88fSEmmanuel Vadot "sdcard_cmd"; 467c66ec88fSEmmanuel Vadot function = "sdcard"; 468c66ec88fSEmmanuel Vadot bias-pull-up; 469c66ec88fSEmmanuel Vadot }; 470c66ec88fSEmmanuel Vadot 471c66ec88fSEmmanuel Vadot mux-1 { 472c66ec88fSEmmanuel Vadot groups = "sdcard_clk"; 473c66ec88fSEmmanuel Vadot function = "sdcard"; 474c66ec88fSEmmanuel Vadot bias-disable; 475c66ec88fSEmmanuel Vadot }; 476c66ec88fSEmmanuel Vadot }; 477c66ec88fSEmmanuel Vadot 478c66ec88fSEmmanuel Vadot sdcard_clk_gate_pins: sdcard_clk_gate { 479c66ec88fSEmmanuel Vadot mux { 480c66ec88fSEmmanuel Vadot groups = "CARD_2"; 481c66ec88fSEmmanuel Vadot function = "gpio_periphs"; 482c66ec88fSEmmanuel Vadot bias-pull-down; 483c66ec88fSEmmanuel Vadot }; 484c66ec88fSEmmanuel Vadot }; 485c66ec88fSEmmanuel Vadot 486c66ec88fSEmmanuel Vadot sdio_pins: sdio { 487c66ec88fSEmmanuel Vadot mux-0 { 488c66ec88fSEmmanuel Vadot groups = "sdio_d0", 489c66ec88fSEmmanuel Vadot "sdio_d1", 490c66ec88fSEmmanuel Vadot "sdio_d2", 491c66ec88fSEmmanuel Vadot "sdio_d3", 492c66ec88fSEmmanuel Vadot "sdio_cmd"; 493c66ec88fSEmmanuel Vadot function = "sdio"; 494c66ec88fSEmmanuel Vadot bias-pull-up; 495c66ec88fSEmmanuel Vadot }; 496c66ec88fSEmmanuel Vadot 497c66ec88fSEmmanuel Vadot mux-1 { 498c66ec88fSEmmanuel Vadot groups = "sdio_clk"; 499c66ec88fSEmmanuel Vadot function = "sdio"; 500c66ec88fSEmmanuel Vadot bias-disable; 501c66ec88fSEmmanuel Vadot }; 502c66ec88fSEmmanuel Vadot }; 503c66ec88fSEmmanuel Vadot 504c66ec88fSEmmanuel Vadot sdio_clk_gate_pins: sdio_clk_gate { 505c66ec88fSEmmanuel Vadot mux { 506c66ec88fSEmmanuel Vadot groups = "GPIOX_4"; 507c66ec88fSEmmanuel Vadot function = "gpio_periphs"; 508c66ec88fSEmmanuel Vadot bias-pull-down; 509c66ec88fSEmmanuel Vadot }; 510c66ec88fSEmmanuel Vadot }; 511c66ec88fSEmmanuel Vadot 512c66ec88fSEmmanuel Vadot sdio_irq_pins: sdio_irq { 513c66ec88fSEmmanuel Vadot mux { 514c66ec88fSEmmanuel Vadot groups = "sdio_irq"; 515c66ec88fSEmmanuel Vadot function = "sdio"; 516c66ec88fSEmmanuel Vadot bias-disable; 517c66ec88fSEmmanuel Vadot }; 518c66ec88fSEmmanuel Vadot }; 519c66ec88fSEmmanuel Vadot 520c66ec88fSEmmanuel Vadot uart_a_pins: uart_a { 521c66ec88fSEmmanuel Vadot mux { 522c66ec88fSEmmanuel Vadot groups = "uart_tx_a", 523c66ec88fSEmmanuel Vadot "uart_rx_a"; 524c66ec88fSEmmanuel Vadot function = "uart_a"; 525c66ec88fSEmmanuel Vadot bias-disable; 526c66ec88fSEmmanuel Vadot }; 527c66ec88fSEmmanuel Vadot }; 528c66ec88fSEmmanuel Vadot 529c66ec88fSEmmanuel Vadot uart_a_cts_rts_pins: uart_a_cts_rts { 530c66ec88fSEmmanuel Vadot mux { 531c66ec88fSEmmanuel Vadot groups = "uart_cts_a", 532c66ec88fSEmmanuel Vadot "uart_rts_a"; 533c66ec88fSEmmanuel Vadot function = "uart_a"; 534c66ec88fSEmmanuel Vadot bias-disable; 535c66ec88fSEmmanuel Vadot }; 536c66ec88fSEmmanuel Vadot }; 537c66ec88fSEmmanuel Vadot 538c66ec88fSEmmanuel Vadot uart_b_pins: uart_b { 539c66ec88fSEmmanuel Vadot mux { 540c66ec88fSEmmanuel Vadot groups = "uart_tx_b", 541c66ec88fSEmmanuel Vadot "uart_rx_b"; 542c66ec88fSEmmanuel Vadot function = "uart_b"; 543c66ec88fSEmmanuel Vadot bias-disable; 544c66ec88fSEmmanuel Vadot }; 545c66ec88fSEmmanuel Vadot }; 546c66ec88fSEmmanuel Vadot 547c66ec88fSEmmanuel Vadot uart_b_cts_rts_pins: uart_b_cts_rts { 548c66ec88fSEmmanuel Vadot mux { 549c66ec88fSEmmanuel Vadot groups = "uart_cts_b", 550c66ec88fSEmmanuel Vadot "uart_rts_b"; 551c66ec88fSEmmanuel Vadot function = "uart_b"; 552c66ec88fSEmmanuel Vadot bias-disable; 553c66ec88fSEmmanuel Vadot }; 554c66ec88fSEmmanuel Vadot }; 555c66ec88fSEmmanuel Vadot 556c66ec88fSEmmanuel Vadot uart_c_pins: uart_c { 557c66ec88fSEmmanuel Vadot mux { 558c66ec88fSEmmanuel Vadot groups = "uart_tx_c", 559c66ec88fSEmmanuel Vadot "uart_rx_c"; 560c66ec88fSEmmanuel Vadot function = "uart_c"; 561c66ec88fSEmmanuel Vadot bias-disable; 562c66ec88fSEmmanuel Vadot }; 563c66ec88fSEmmanuel Vadot }; 564c66ec88fSEmmanuel Vadot 565c66ec88fSEmmanuel Vadot uart_c_cts_rts_pins: uart_c_cts_rts { 566c66ec88fSEmmanuel Vadot mux { 567c66ec88fSEmmanuel Vadot groups = "uart_cts_c", 568c66ec88fSEmmanuel Vadot "uart_rts_c"; 569c66ec88fSEmmanuel Vadot function = "uart_c"; 570c66ec88fSEmmanuel Vadot bias-disable; 571c66ec88fSEmmanuel Vadot }; 572c66ec88fSEmmanuel Vadot }; 573c66ec88fSEmmanuel Vadot 574c66ec88fSEmmanuel Vadot i2c_a_pins: i2c_a { 575c66ec88fSEmmanuel Vadot mux { 576c66ec88fSEmmanuel Vadot groups = "i2c_sck_a", 577c66ec88fSEmmanuel Vadot "i2c_sda_a"; 578c66ec88fSEmmanuel Vadot function = "i2c_a"; 579c66ec88fSEmmanuel Vadot bias-disable; 580c66ec88fSEmmanuel Vadot }; 581c66ec88fSEmmanuel Vadot }; 582c66ec88fSEmmanuel Vadot 583c66ec88fSEmmanuel Vadot i2c_b_pins: i2c_b { 584c66ec88fSEmmanuel Vadot mux { 585c66ec88fSEmmanuel Vadot groups = "i2c_sck_b", 586c66ec88fSEmmanuel Vadot "i2c_sda_b"; 587c66ec88fSEmmanuel Vadot function = "i2c_b"; 588c66ec88fSEmmanuel Vadot bias-disable; 589c66ec88fSEmmanuel Vadot }; 590c66ec88fSEmmanuel Vadot }; 591c66ec88fSEmmanuel Vadot 592c66ec88fSEmmanuel Vadot i2c_c_pins: i2c_c { 593c66ec88fSEmmanuel Vadot mux { 594c66ec88fSEmmanuel Vadot groups = "i2c_sck_c", 595c66ec88fSEmmanuel Vadot "i2c_sda_c"; 596c66ec88fSEmmanuel Vadot function = "i2c_c"; 597c66ec88fSEmmanuel Vadot bias-disable; 598c66ec88fSEmmanuel Vadot }; 599c66ec88fSEmmanuel Vadot }; 600c66ec88fSEmmanuel Vadot 601c66ec88fSEmmanuel Vadot i2c_c_dv18_pins: i2c_c_dv18 { 602c66ec88fSEmmanuel Vadot mux { 603c66ec88fSEmmanuel Vadot groups = "i2c_sck_c_dv19", 604c66ec88fSEmmanuel Vadot "i2c_sda_c_dv18"; 605c66ec88fSEmmanuel Vadot function = "i2c_c"; 606c66ec88fSEmmanuel Vadot bias-disable; 607c66ec88fSEmmanuel Vadot }; 608c66ec88fSEmmanuel Vadot }; 609c66ec88fSEmmanuel Vadot 610c66ec88fSEmmanuel Vadot eth_pins: eth_c { 611c66ec88fSEmmanuel Vadot mux { 612c66ec88fSEmmanuel Vadot groups = "eth_mdio", 613c66ec88fSEmmanuel Vadot "eth_mdc", 614c66ec88fSEmmanuel Vadot "eth_clk_rx_clk", 615c66ec88fSEmmanuel Vadot "eth_rx_dv", 616c66ec88fSEmmanuel Vadot "eth_rxd0", 617c66ec88fSEmmanuel Vadot "eth_rxd1", 618c66ec88fSEmmanuel Vadot "eth_rxd2", 619c66ec88fSEmmanuel Vadot "eth_rxd3", 620c66ec88fSEmmanuel Vadot "eth_rgmii_tx_clk", 621c66ec88fSEmmanuel Vadot "eth_tx_en", 622c66ec88fSEmmanuel Vadot "eth_txd0", 623c66ec88fSEmmanuel Vadot "eth_txd1", 624c66ec88fSEmmanuel Vadot "eth_txd2", 625c66ec88fSEmmanuel Vadot "eth_txd3"; 626c66ec88fSEmmanuel Vadot function = "eth"; 627c66ec88fSEmmanuel Vadot bias-disable; 628c66ec88fSEmmanuel Vadot }; 629c66ec88fSEmmanuel Vadot }; 630c66ec88fSEmmanuel Vadot 631c66ec88fSEmmanuel Vadot eth_link_led_pins: eth_link_led { 632c66ec88fSEmmanuel Vadot mux { 633c66ec88fSEmmanuel Vadot groups = "eth_link_led"; 634c66ec88fSEmmanuel Vadot function = "eth_led"; 635c66ec88fSEmmanuel Vadot bias-disable; 636c66ec88fSEmmanuel Vadot }; 637c66ec88fSEmmanuel Vadot }; 638c66ec88fSEmmanuel Vadot 639c66ec88fSEmmanuel Vadot eth_act_led_pins: eth_act_led { 640c66ec88fSEmmanuel Vadot mux { 641c66ec88fSEmmanuel Vadot groups = "eth_act_led"; 642c66ec88fSEmmanuel Vadot function = "eth_led"; 643c66ec88fSEmmanuel Vadot }; 644c66ec88fSEmmanuel Vadot }; 645c66ec88fSEmmanuel Vadot 646c66ec88fSEmmanuel Vadot pwm_a_pins: pwm_a { 647c66ec88fSEmmanuel Vadot mux { 648c66ec88fSEmmanuel Vadot groups = "pwm_a"; 649c66ec88fSEmmanuel Vadot function = "pwm_a"; 650c66ec88fSEmmanuel Vadot bias-disable; 651c66ec88fSEmmanuel Vadot }; 652c66ec88fSEmmanuel Vadot }; 653c66ec88fSEmmanuel Vadot 654c66ec88fSEmmanuel Vadot pwm_b_pins: pwm_b { 655c66ec88fSEmmanuel Vadot mux { 656c66ec88fSEmmanuel Vadot groups = "pwm_b"; 657c66ec88fSEmmanuel Vadot function = "pwm_b"; 658c66ec88fSEmmanuel Vadot bias-disable; 659c66ec88fSEmmanuel Vadot }; 660c66ec88fSEmmanuel Vadot }; 661c66ec88fSEmmanuel Vadot 662c66ec88fSEmmanuel Vadot pwm_c_pins: pwm_c { 663c66ec88fSEmmanuel Vadot mux { 664c66ec88fSEmmanuel Vadot groups = "pwm_c"; 665c66ec88fSEmmanuel Vadot function = "pwm_c"; 666c66ec88fSEmmanuel Vadot bias-disable; 667c66ec88fSEmmanuel Vadot }; 668c66ec88fSEmmanuel Vadot }; 669c66ec88fSEmmanuel Vadot 670c66ec88fSEmmanuel Vadot pwm_d_pins: pwm_d { 671c66ec88fSEmmanuel Vadot mux { 672c66ec88fSEmmanuel Vadot groups = "pwm_d"; 673c66ec88fSEmmanuel Vadot function = "pwm_d"; 674c66ec88fSEmmanuel Vadot bias-disable; 675c66ec88fSEmmanuel Vadot }; 676c66ec88fSEmmanuel Vadot }; 677c66ec88fSEmmanuel Vadot 678c66ec88fSEmmanuel Vadot pwm_e_pins: pwm_e { 679c66ec88fSEmmanuel Vadot mux { 680c66ec88fSEmmanuel Vadot groups = "pwm_e"; 681c66ec88fSEmmanuel Vadot function = "pwm_e"; 682c66ec88fSEmmanuel Vadot bias-disable; 683c66ec88fSEmmanuel Vadot }; 684c66ec88fSEmmanuel Vadot }; 685c66ec88fSEmmanuel Vadot 686c66ec88fSEmmanuel Vadot pwm_f_clk_pins: pwm_f_clk { 687c66ec88fSEmmanuel Vadot mux { 688c66ec88fSEmmanuel Vadot groups = "pwm_f_clk"; 689c66ec88fSEmmanuel Vadot function = "pwm_f"; 690c66ec88fSEmmanuel Vadot bias-disable; 691c66ec88fSEmmanuel Vadot }; 692c66ec88fSEmmanuel Vadot }; 693c66ec88fSEmmanuel Vadot 694c66ec88fSEmmanuel Vadot pwm_f_x_pins: pwm_f_x { 695c66ec88fSEmmanuel Vadot mux { 696c66ec88fSEmmanuel Vadot groups = "pwm_f_x"; 697c66ec88fSEmmanuel Vadot function = "pwm_f"; 698c66ec88fSEmmanuel Vadot bias-disable; 699c66ec88fSEmmanuel Vadot }; 700c66ec88fSEmmanuel Vadot }; 701c66ec88fSEmmanuel Vadot 702c66ec88fSEmmanuel Vadot hdmi_hpd_pins: hdmi_hpd { 703c66ec88fSEmmanuel Vadot mux { 704c66ec88fSEmmanuel Vadot groups = "hdmi_hpd"; 705c66ec88fSEmmanuel Vadot function = "hdmi_hpd"; 706c66ec88fSEmmanuel Vadot bias-disable; 707c66ec88fSEmmanuel Vadot }; 708c66ec88fSEmmanuel Vadot }; 709c66ec88fSEmmanuel Vadot 710c66ec88fSEmmanuel Vadot hdmi_i2c_pins: hdmi_i2c { 711c66ec88fSEmmanuel Vadot mux { 712c66ec88fSEmmanuel Vadot groups = "hdmi_sda", "hdmi_scl"; 713c66ec88fSEmmanuel Vadot function = "hdmi_i2c"; 714c66ec88fSEmmanuel Vadot bias-disable; 715c66ec88fSEmmanuel Vadot }; 716c66ec88fSEmmanuel Vadot }; 717c66ec88fSEmmanuel Vadot 718c66ec88fSEmmanuel Vadot i2s_am_clk_pins: i2s_am_clk { 719c66ec88fSEmmanuel Vadot mux { 720c66ec88fSEmmanuel Vadot groups = "i2s_am_clk"; 721c66ec88fSEmmanuel Vadot function = "i2s_out"; 722c66ec88fSEmmanuel Vadot bias-disable; 723c66ec88fSEmmanuel Vadot }; 724c66ec88fSEmmanuel Vadot }; 725c66ec88fSEmmanuel Vadot 726c66ec88fSEmmanuel Vadot i2s_out_ao_clk_pins: i2s_out_ao_clk { 727c66ec88fSEmmanuel Vadot mux { 728c66ec88fSEmmanuel Vadot groups = "i2s_out_ao_clk"; 729c66ec88fSEmmanuel Vadot function = "i2s_out"; 730c66ec88fSEmmanuel Vadot bias-disable; 731c66ec88fSEmmanuel Vadot }; 732c66ec88fSEmmanuel Vadot }; 733c66ec88fSEmmanuel Vadot 734c66ec88fSEmmanuel Vadot i2s_out_lr_clk_pins: i2s_out_lr_clk { 735c66ec88fSEmmanuel Vadot mux { 736c66ec88fSEmmanuel Vadot groups = "i2s_out_lr_clk"; 737c66ec88fSEmmanuel Vadot function = "i2s_out"; 738c66ec88fSEmmanuel Vadot bias-disable; 739c66ec88fSEmmanuel Vadot }; 740c66ec88fSEmmanuel Vadot }; 741c66ec88fSEmmanuel Vadot 742c66ec88fSEmmanuel Vadot i2s_out_ch01_pins: i2s_out_ch01 { 743c66ec88fSEmmanuel Vadot mux { 744c66ec88fSEmmanuel Vadot groups = "i2s_out_ch01"; 745c66ec88fSEmmanuel Vadot function = "i2s_out"; 746c66ec88fSEmmanuel Vadot bias-disable; 747c66ec88fSEmmanuel Vadot }; 748c66ec88fSEmmanuel Vadot }; 749c66ec88fSEmmanuel Vadot i2sout_ch23_z_pins: i2sout_ch23_z { 750c66ec88fSEmmanuel Vadot mux { 751c66ec88fSEmmanuel Vadot groups = "i2sout_ch23_z"; 752c66ec88fSEmmanuel Vadot function = "i2s_out"; 753c66ec88fSEmmanuel Vadot bias-disable; 754c66ec88fSEmmanuel Vadot }; 755c66ec88fSEmmanuel Vadot }; 756c66ec88fSEmmanuel Vadot 757c66ec88fSEmmanuel Vadot i2sout_ch45_z_pins: i2sout_ch45_z { 758c66ec88fSEmmanuel Vadot mux { 759c66ec88fSEmmanuel Vadot groups = "i2sout_ch45_z"; 760c66ec88fSEmmanuel Vadot function = "i2s_out"; 761c66ec88fSEmmanuel Vadot bias-disable; 762c66ec88fSEmmanuel Vadot }; 763c66ec88fSEmmanuel Vadot }; 764c66ec88fSEmmanuel Vadot 765c66ec88fSEmmanuel Vadot i2sout_ch67_z_pins: i2sout_ch67_z { 766c66ec88fSEmmanuel Vadot mux { 767c66ec88fSEmmanuel Vadot groups = "i2sout_ch67_z"; 768c66ec88fSEmmanuel Vadot function = "i2s_out"; 769c66ec88fSEmmanuel Vadot bias-disable; 770c66ec88fSEmmanuel Vadot }; 771c66ec88fSEmmanuel Vadot }; 772c66ec88fSEmmanuel Vadot 773c66ec88fSEmmanuel Vadot spdif_out_h_pins: spdif_out_ao_h { 774c66ec88fSEmmanuel Vadot mux { 775c66ec88fSEmmanuel Vadot groups = "spdif_out_h"; 776c66ec88fSEmmanuel Vadot function = "spdif_out"; 777c66ec88fSEmmanuel Vadot bias-disable; 778c66ec88fSEmmanuel Vadot }; 779c66ec88fSEmmanuel Vadot }; 780c66ec88fSEmmanuel Vadot }; 781c66ec88fSEmmanuel Vadot 782fac71e4eSEmmanuel Vadot eth_phy_mux: mdio@558 { 783fac71e4eSEmmanuel Vadot reg = <0x0 0x558 0x0 0xc>; 784fac71e4eSEmmanuel Vadot compatible = "amlogic,gxl-mdio-mux"; 785c66ec88fSEmmanuel Vadot #address-cells = <1>; 786c66ec88fSEmmanuel Vadot #size-cells = <0>; 787fac71e4eSEmmanuel Vadot clocks = <&clkc CLKID_FCLK_DIV4>; 788fac71e4eSEmmanuel Vadot clock-names = "ref"; 789c66ec88fSEmmanuel Vadot mdio-parent-bus = <&mdio0>; 790c66ec88fSEmmanuel Vadot 791fac71e4eSEmmanuel Vadot external_mdio: mdio@0 { 792fac71e4eSEmmanuel Vadot reg = <0x0>; 793fac71e4eSEmmanuel Vadot #address-cells = <1>; 794fac71e4eSEmmanuel Vadot #size-cells = <0>; 795fac71e4eSEmmanuel Vadot }; 796fac71e4eSEmmanuel Vadot 797fac71e4eSEmmanuel Vadot internal_mdio: mdio@1 { 798fac71e4eSEmmanuel Vadot reg = <0x1>; 799c66ec88fSEmmanuel Vadot #address-cells = <1>; 800c66ec88fSEmmanuel Vadot #size-cells = <0>; 801c66ec88fSEmmanuel Vadot 802c66ec88fSEmmanuel Vadot internal_phy: ethernet-phy@8 { 803c66ec88fSEmmanuel Vadot compatible = "ethernet-phy-id0181.4400"; 804c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 805c66ec88fSEmmanuel Vadot reg = <8>; 806c66ec88fSEmmanuel Vadot max-speed = <100>; 807c66ec88fSEmmanuel Vadot }; 808c66ec88fSEmmanuel Vadot }; 809c66ec88fSEmmanuel Vadot }; 810c66ec88fSEmmanuel Vadot}; 811c66ec88fSEmmanuel Vadot 812c66ec88fSEmmanuel Vadot&pwrc { 813c66ec88fSEmmanuel Vadot resets = <&reset RESET_VIU>, 814c66ec88fSEmmanuel Vadot <&reset RESET_VENC>, 815c66ec88fSEmmanuel Vadot <&reset RESET_VCBUS>, 816c66ec88fSEmmanuel Vadot <&reset RESET_BT656>, 817c66ec88fSEmmanuel Vadot <&reset RESET_DVIN_RESET>, 818c66ec88fSEmmanuel Vadot <&reset RESET_RDMA>, 819c66ec88fSEmmanuel Vadot <&reset RESET_VENCI>, 820c66ec88fSEmmanuel Vadot <&reset RESET_VENCP>, 821c66ec88fSEmmanuel Vadot <&reset RESET_VDAC>, 822c66ec88fSEmmanuel Vadot <&reset RESET_VDI6>, 823c66ec88fSEmmanuel Vadot <&reset RESET_VENCL>, 824c66ec88fSEmmanuel Vadot <&reset RESET_VID_LOCK>; 825c66ec88fSEmmanuel Vadot reset-names = "viu", "venc", "vcbus", "bt656", 826c66ec88fSEmmanuel Vadot "dvin", "rdma", "venci", "vencp", 827c66ec88fSEmmanuel Vadot "vdac", "vdi6", "vencl", "vid_lock"; 828c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_VPU>, 829c66ec88fSEmmanuel Vadot <&clkc CLKID_VAPB>; 830c66ec88fSEmmanuel Vadot clock-names = "vpu", "vapb"; 831c66ec88fSEmmanuel Vadot /* 832c66ec88fSEmmanuel Vadot * VPU clocking is provided by two identical clock paths 833c66ec88fSEmmanuel Vadot * VPU_0 and VPU_1 muxed to a single clock by a glitch 834c66ec88fSEmmanuel Vadot * free mux to safely change frequency while running. 835c66ec88fSEmmanuel Vadot * Same for VAPB but with a final gate after the glitch free mux. 836c66ec88fSEmmanuel Vadot */ 837c66ec88fSEmmanuel Vadot assigned-clocks = <&clkc CLKID_VPU_0_SEL>, 838c66ec88fSEmmanuel Vadot <&clkc CLKID_VPU_0>, 839c66ec88fSEmmanuel Vadot <&clkc CLKID_VPU>, /* Glitch free mux */ 840c66ec88fSEmmanuel Vadot <&clkc CLKID_VAPB_0_SEL>, 841c66ec88fSEmmanuel Vadot <&clkc CLKID_VAPB_0>, 842c66ec88fSEmmanuel Vadot <&clkc CLKID_VAPB_SEL>; /* Glitch free mux */ 843c66ec88fSEmmanuel Vadot assigned-clock-parents = <&clkc CLKID_FCLK_DIV3>, 844c66ec88fSEmmanuel Vadot <0>, /* Do Nothing */ 845c66ec88fSEmmanuel Vadot <&clkc CLKID_VPU_0>, 846c66ec88fSEmmanuel Vadot <&clkc CLKID_FCLK_DIV4>, 847c66ec88fSEmmanuel Vadot <0>, /* Do Nothing */ 848c66ec88fSEmmanuel Vadot <&clkc CLKID_VAPB_0>; 849c66ec88fSEmmanuel Vadot assigned-clock-rates = <0>, /* Do Nothing */ 850c66ec88fSEmmanuel Vadot <666666666>, 851c66ec88fSEmmanuel Vadot <0>, /* Do Nothing */ 852c66ec88fSEmmanuel Vadot <0>, /* Do Nothing */ 853c66ec88fSEmmanuel Vadot <250000000>, 854c66ec88fSEmmanuel Vadot <0>; /* Do Nothing */ 855c66ec88fSEmmanuel Vadot}; 856c66ec88fSEmmanuel Vadot 857c66ec88fSEmmanuel Vadot&saradc { 858c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxl-saradc", "amlogic,meson-saradc"; 859c66ec88fSEmmanuel Vadot clocks = <&xtal>, 860c66ec88fSEmmanuel Vadot <&clkc CLKID_SAR_ADC>, 861c66ec88fSEmmanuel Vadot <&clkc CLKID_SAR_ADC_CLK>, 862c66ec88fSEmmanuel Vadot <&clkc CLKID_SAR_ADC_SEL>; 863c66ec88fSEmmanuel Vadot clock-names = "clkin", "core", "adc_clk", "adc_sel"; 864c66ec88fSEmmanuel Vadot}; 865c66ec88fSEmmanuel Vadot 866c66ec88fSEmmanuel Vadot&sd_emmc_a { 867c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_SD_EMMC_A>, 868c66ec88fSEmmanuel Vadot <&clkc CLKID_SD_EMMC_A_CLK0>, 869c66ec88fSEmmanuel Vadot <&clkc CLKID_FCLK_DIV2>; 870c66ec88fSEmmanuel Vadot clock-names = "core", "clkin0", "clkin1"; 871c66ec88fSEmmanuel Vadot resets = <&reset RESET_SD_EMMC_A>; 872c66ec88fSEmmanuel Vadot}; 873c66ec88fSEmmanuel Vadot 874c66ec88fSEmmanuel Vadot&sd_emmc_b { 875c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_SD_EMMC_B>, 876c66ec88fSEmmanuel Vadot <&clkc CLKID_SD_EMMC_B_CLK0>, 877c66ec88fSEmmanuel Vadot <&clkc CLKID_FCLK_DIV2>; 878c66ec88fSEmmanuel Vadot clock-names = "core", "clkin0", "clkin1"; 879c66ec88fSEmmanuel Vadot resets = <&reset RESET_SD_EMMC_B>; 880c66ec88fSEmmanuel Vadot}; 881c66ec88fSEmmanuel Vadot 882c66ec88fSEmmanuel Vadot&sd_emmc_c { 883c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_SD_EMMC_C>, 884c66ec88fSEmmanuel Vadot <&clkc CLKID_SD_EMMC_C_CLK0>, 885c66ec88fSEmmanuel Vadot <&clkc CLKID_FCLK_DIV2>; 886c66ec88fSEmmanuel Vadot clock-names = "core", "clkin0", "clkin1"; 887c66ec88fSEmmanuel Vadot resets = <&reset RESET_SD_EMMC_C>; 888c66ec88fSEmmanuel Vadot}; 889c66ec88fSEmmanuel Vadot 890c66ec88fSEmmanuel Vadot&simplefb_hdmi { 891c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_HDMI_PCLK>, 892c66ec88fSEmmanuel Vadot <&clkc CLKID_CLK81>, 893c66ec88fSEmmanuel Vadot <&clkc CLKID_GCLK_VENCI_INT0>; 894c66ec88fSEmmanuel Vadot}; 895c66ec88fSEmmanuel Vadot 896c66ec88fSEmmanuel Vadot&spicc { 897c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_SPICC>; 898c66ec88fSEmmanuel Vadot clock-names = "core"; 899c66ec88fSEmmanuel Vadot resets = <&reset RESET_PERIPHS_SPICC>; 900c66ec88fSEmmanuel Vadot num-cs = <1>; 901c66ec88fSEmmanuel Vadot}; 902c66ec88fSEmmanuel Vadot 903c66ec88fSEmmanuel Vadot&spifc { 904c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_SPI>; 905c66ec88fSEmmanuel Vadot}; 906c66ec88fSEmmanuel Vadot 907c66ec88fSEmmanuel Vadot&uart_A { 908c66ec88fSEmmanuel Vadot clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>; 909c66ec88fSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 910c66ec88fSEmmanuel Vadot}; 911c66ec88fSEmmanuel Vadot 912c66ec88fSEmmanuel Vadot&uart_AO { 913c66ec88fSEmmanuel Vadot clocks = <&xtal>, <&clkc_AO CLKID_AO_UART1>, <&xtal>; 914c66ec88fSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 915c66ec88fSEmmanuel Vadot}; 916c66ec88fSEmmanuel Vadot 917c66ec88fSEmmanuel Vadot&uart_AO_B { 918c66ec88fSEmmanuel Vadot clocks = <&xtal>, <&clkc_AO CLKID_AO_UART2>, <&xtal>; 919c66ec88fSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 920c66ec88fSEmmanuel Vadot}; 921c66ec88fSEmmanuel Vadot 922c66ec88fSEmmanuel Vadot&uart_B { 923c66ec88fSEmmanuel Vadot clocks = <&xtal>, <&clkc CLKID_UART1>, <&xtal>; 924c66ec88fSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 925c66ec88fSEmmanuel Vadot}; 926c66ec88fSEmmanuel Vadot 927c66ec88fSEmmanuel Vadot&uart_C { 928c66ec88fSEmmanuel Vadot clocks = <&xtal>, <&clkc CLKID_UART2>, <&xtal>; 929c66ec88fSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 930c66ec88fSEmmanuel Vadot}; 931c66ec88fSEmmanuel Vadot 932c66ec88fSEmmanuel Vadot&vpu { 933c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu"; 934c66ec88fSEmmanuel Vadot power-domains = <&pwrc PWRC_GXBB_VPU_ID>; 935c66ec88fSEmmanuel Vadot}; 936c66ec88fSEmmanuel Vadot 937c66ec88fSEmmanuel Vadot&vdec { 938c66ec88fSEmmanuel Vadot compatible = "amlogic,gxl-vdec", "amlogic,gx-vdec"; 939c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_DOS_PARSER>, 940c66ec88fSEmmanuel Vadot <&clkc CLKID_DOS>, 941c66ec88fSEmmanuel Vadot <&clkc CLKID_VDEC_1>, 942c66ec88fSEmmanuel Vadot <&clkc CLKID_VDEC_HEVC>; 943c66ec88fSEmmanuel Vadot clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc"; 944c66ec88fSEmmanuel Vadot resets = <&reset RESET_PARSER>; 945c66ec88fSEmmanuel Vadot reset-names = "esparser"; 946c66ec88fSEmmanuel Vadot}; 947