1c9ccf3a3SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c9ccf3a3SEmmanuel Vadot/* 3c9ccf3a3SEmmanuel Vadot * Copyright (c) 2021 Amlogic, Inc. All rights reserved. 4c9ccf3a3SEmmanuel Vadot */ 5c9ccf3a3SEmmanuel Vadot 6c9ccf3a3SEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 7c9ccf3a3SEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 8d5b0e70fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 9*8d13bc63SEmmanuel Vadot#include <dt-bindings/gpio/meson-s4-gpio.h> 10*8d13bc63SEmmanuel Vadot#include <dt-bindings/clock/amlogic,s4-pll-clkc.h> 11*8d13bc63SEmmanuel Vadot#include <dt-bindings/clock/amlogic,s4-peripherals-clkc.h> 12*8d13bc63SEmmanuel Vadot#include <dt-bindings/power/meson-s4-power.h> 13c9ccf3a3SEmmanuel Vadot 14c9ccf3a3SEmmanuel Vadot/ { 15c9ccf3a3SEmmanuel Vadot cpus { 16c9ccf3a3SEmmanuel Vadot #address-cells = <2>; 17c9ccf3a3SEmmanuel Vadot #size-cells = <0>; 18c9ccf3a3SEmmanuel Vadot 19c9ccf3a3SEmmanuel Vadot cpu0: cpu@0 { 20c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 21c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a35"; 22c9ccf3a3SEmmanuel Vadot reg = <0x0 0x0>; 23c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 24c9ccf3a3SEmmanuel Vadot }; 25c9ccf3a3SEmmanuel Vadot 26c9ccf3a3SEmmanuel Vadot cpu1: cpu@1 { 27c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 28c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a35"; 29c9ccf3a3SEmmanuel Vadot reg = <0x0 0x1>; 30c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 31c9ccf3a3SEmmanuel Vadot }; 32c9ccf3a3SEmmanuel Vadot 33c9ccf3a3SEmmanuel Vadot cpu2: cpu@2 { 34c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 35c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a35"; 36c9ccf3a3SEmmanuel Vadot reg = <0x0 0x2>; 37c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 38c9ccf3a3SEmmanuel Vadot }; 39c9ccf3a3SEmmanuel Vadot 40c9ccf3a3SEmmanuel Vadot cpu3: cpu@3 { 41c9ccf3a3SEmmanuel Vadot device_type = "cpu"; 42c9ccf3a3SEmmanuel Vadot compatible = "arm,cortex-a35"; 43c9ccf3a3SEmmanuel Vadot reg = <0x0 0x3>; 44c9ccf3a3SEmmanuel Vadot enable-method = "psci"; 45c9ccf3a3SEmmanuel Vadot }; 46c9ccf3a3SEmmanuel Vadot }; 47c9ccf3a3SEmmanuel Vadot 48c9ccf3a3SEmmanuel Vadot timer { 49c9ccf3a3SEmmanuel Vadot compatible = "arm,armv8-timer"; 50c9ccf3a3SEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 51c9ccf3a3SEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 52c9ccf3a3SEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 53c9ccf3a3SEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 54c9ccf3a3SEmmanuel Vadot }; 55c9ccf3a3SEmmanuel Vadot 56c9ccf3a3SEmmanuel Vadot psci { 57c9ccf3a3SEmmanuel Vadot compatible = "arm,psci-1.0"; 58c9ccf3a3SEmmanuel Vadot method = "smc"; 59c9ccf3a3SEmmanuel Vadot }; 60c9ccf3a3SEmmanuel Vadot 61c9ccf3a3SEmmanuel Vadot xtal: xtal-clk { 62c9ccf3a3SEmmanuel Vadot compatible = "fixed-clock"; 63c9ccf3a3SEmmanuel Vadot clock-frequency = <24000000>; 64c9ccf3a3SEmmanuel Vadot clock-output-names = "xtal"; 65c9ccf3a3SEmmanuel Vadot #clock-cells = <0>; 66c9ccf3a3SEmmanuel Vadot }; 67c9ccf3a3SEmmanuel Vadot 68d5b0e70fSEmmanuel Vadot pwrc: power-controller { 69d5b0e70fSEmmanuel Vadot compatible = "amlogic,meson-s4-pwrc"; 70d5b0e70fSEmmanuel Vadot #power-domain-cells = <1>; 71d5b0e70fSEmmanuel Vadot status = "okay"; 72d5b0e70fSEmmanuel Vadot }; 73d5b0e70fSEmmanuel Vadot 74c9ccf3a3SEmmanuel Vadot soc { 75c9ccf3a3SEmmanuel Vadot compatible = "simple-bus"; 76c9ccf3a3SEmmanuel Vadot #address-cells = <2>; 77c9ccf3a3SEmmanuel Vadot #size-cells = <2>; 78c9ccf3a3SEmmanuel Vadot ranges; 79c9ccf3a3SEmmanuel Vadot 80c9ccf3a3SEmmanuel Vadot gic: interrupt-controller@fff01000 { 81c9ccf3a3SEmmanuel Vadot compatible = "arm,gic-400"; 82c9ccf3a3SEmmanuel Vadot #interrupt-cells = <3>; 83c9ccf3a3SEmmanuel Vadot #address-cells = <0>; 84c9ccf3a3SEmmanuel Vadot interrupt-controller; 85c9ccf3a3SEmmanuel Vadot reg = <0x0 0xfff01000 0 0x1000>, 86c9ccf3a3SEmmanuel Vadot <0x0 0xfff02000 0 0x2000>, 87c9ccf3a3SEmmanuel Vadot <0x0 0xfff04000 0 0x2000>, 88c9ccf3a3SEmmanuel Vadot <0x0 0xfff06000 0 0x2000>; 89c9ccf3a3SEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 90c9ccf3a3SEmmanuel Vadot }; 91c9ccf3a3SEmmanuel Vadot 92fac71e4eSEmmanuel Vadot apb4: bus@fe000000 { 93c9ccf3a3SEmmanuel Vadot compatible = "simple-bus"; 94c9ccf3a3SEmmanuel Vadot reg = <0x0 0xfe000000 0x0 0x480000>; 95c9ccf3a3SEmmanuel Vadot #address-cells = <2>; 96c9ccf3a3SEmmanuel Vadot #size-cells = <2>; 97c9ccf3a3SEmmanuel Vadot ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x480000>; 98c9ccf3a3SEmmanuel Vadot 99*8d13bc63SEmmanuel Vadot clkc_periphs: clock-controller@0 { 100*8d13bc63SEmmanuel Vadot compatible = "amlogic,s4-peripherals-clkc"; 101*8d13bc63SEmmanuel Vadot reg = <0x0 0x0 0x0 0x49c>; 102*8d13bc63SEmmanuel Vadot clocks = <&clkc_pll CLKID_FCLK_DIV2>, 103*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV2P5>, 104*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV3>, 105*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV4>, 106*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV5>, 107*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV7>, 108*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_HIFI_PLL>, 109*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_GP0_PLL>, 110*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_MPLL0>, 111*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_MPLL1>, 112*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_MPLL2>, 113*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_MPLL3>, 114*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_HDMI_PLL>, 115*8d13bc63SEmmanuel Vadot <&xtal>; 116*8d13bc63SEmmanuel Vadot clock-names = "fclk_div2", "fclk_div2p5", "fclk_div3", 117*8d13bc63SEmmanuel Vadot "fclk_div4", "fclk_div5", "fclk_div7", 118*8d13bc63SEmmanuel Vadot "hifi_pll", "gp0_pll", "mpll0", "mpll1", 119*8d13bc63SEmmanuel Vadot "mpll2", "mpll3", "hdmi_pll", "xtal"; 120*8d13bc63SEmmanuel Vadot #clock-cells = <1>; 121*8d13bc63SEmmanuel Vadot }; 122*8d13bc63SEmmanuel Vadot 123*8d13bc63SEmmanuel Vadot clkc_pll: clock-controller@8000 { 124*8d13bc63SEmmanuel Vadot compatible = "amlogic,s4-pll-clkc"; 125*8d13bc63SEmmanuel Vadot reg = <0x0 0x8000 0x0 0x1e8>; 126*8d13bc63SEmmanuel Vadot clocks = <&xtal>; 127*8d13bc63SEmmanuel Vadot clock-names = "xtal"; 128*8d13bc63SEmmanuel Vadot #clock-cells = <1>; 129*8d13bc63SEmmanuel Vadot }; 130*8d13bc63SEmmanuel Vadot 131*8d13bc63SEmmanuel Vadot watchdog@2100 { 132*8d13bc63SEmmanuel Vadot compatible = "amlogic,s4-wdt", "amlogic,t7-wdt"; 133*8d13bc63SEmmanuel Vadot reg = <0x0 0x2100 0x0 0x10>; 134*8d13bc63SEmmanuel Vadot clocks = <&xtal>; 135*8d13bc63SEmmanuel Vadot }; 136*8d13bc63SEmmanuel Vadot 137d5b0e70fSEmmanuel Vadot periphs_pinctrl: pinctrl@4000 { 138d5b0e70fSEmmanuel Vadot compatible = "amlogic,meson-s4-periphs-pinctrl"; 139d5b0e70fSEmmanuel Vadot #address-cells = <2>; 140d5b0e70fSEmmanuel Vadot #size-cells = <2>; 141d5b0e70fSEmmanuel Vadot ranges; 142d5b0e70fSEmmanuel Vadot 143d5b0e70fSEmmanuel Vadot gpio: bank@4000 { 144d5b0e70fSEmmanuel Vadot reg = <0x0 0x4000 0x0 0x004c>, 145d5b0e70fSEmmanuel Vadot <0x0 0x40c0 0x0 0x0220>; 146d5b0e70fSEmmanuel Vadot reg-names = "mux", "gpio"; 147d5b0e70fSEmmanuel Vadot gpio-controller; 148d5b0e70fSEmmanuel Vadot #gpio-cells = <2>; 149d5b0e70fSEmmanuel Vadot gpio-ranges = <&periphs_pinctrl 0 0 82>; 150d5b0e70fSEmmanuel Vadot }; 15184943d6fSEmmanuel Vadot 15284943d6fSEmmanuel Vadot remote_pins: remote-pin { 15384943d6fSEmmanuel Vadot mux { 15484943d6fSEmmanuel Vadot groups = "remote_in"; 15584943d6fSEmmanuel Vadot function = "remote_in"; 15684943d6fSEmmanuel Vadot bias-disable; 15784943d6fSEmmanuel Vadot }; 15884943d6fSEmmanuel Vadot }; 159*8d13bc63SEmmanuel Vadot 160*8d13bc63SEmmanuel Vadot i2c0_pins1: i2c0-pins1 { 161*8d13bc63SEmmanuel Vadot mux { 162*8d13bc63SEmmanuel Vadot groups = "i2c0_sda", 163*8d13bc63SEmmanuel Vadot "i2c0_scl"; 164*8d13bc63SEmmanuel Vadot function = "i2c0"; 165*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 166*8d13bc63SEmmanuel Vadot bias-disable; 167*8d13bc63SEmmanuel Vadot }; 168*8d13bc63SEmmanuel Vadot }; 169*8d13bc63SEmmanuel Vadot 170*8d13bc63SEmmanuel Vadot i2c1_pins1: i2c1-pins1 { 171*8d13bc63SEmmanuel Vadot mux { 172*8d13bc63SEmmanuel Vadot groups = "i2c1_sda_c", 173*8d13bc63SEmmanuel Vadot "i2c1_scl_c"; 174*8d13bc63SEmmanuel Vadot function = "i2c1"; 175*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 176*8d13bc63SEmmanuel Vadot bias-disable; 177*8d13bc63SEmmanuel Vadot }; 178*8d13bc63SEmmanuel Vadot }; 179*8d13bc63SEmmanuel Vadot 180*8d13bc63SEmmanuel Vadot i2c1_pins2: i2c1-pins2 { 181*8d13bc63SEmmanuel Vadot mux { 182*8d13bc63SEmmanuel Vadot groups = "i2c1_sda_d", 183*8d13bc63SEmmanuel Vadot "i2c1_scl_d"; 184*8d13bc63SEmmanuel Vadot function = "i2c1"; 185*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 186*8d13bc63SEmmanuel Vadot bias-disable; 187*8d13bc63SEmmanuel Vadot }; 188*8d13bc63SEmmanuel Vadot }; 189*8d13bc63SEmmanuel Vadot 190*8d13bc63SEmmanuel Vadot i2c1_pins3: i2c1-pins3 { 191*8d13bc63SEmmanuel Vadot mux { 192*8d13bc63SEmmanuel Vadot groups = "i2c1_sda_h", 193*8d13bc63SEmmanuel Vadot "i2c1_scl_h"; 194*8d13bc63SEmmanuel Vadot function = "i2c1"; 195*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 196*8d13bc63SEmmanuel Vadot bias-disable; 197*8d13bc63SEmmanuel Vadot }; 198*8d13bc63SEmmanuel Vadot }; 199*8d13bc63SEmmanuel Vadot 200*8d13bc63SEmmanuel Vadot i2c1_pins4: i2c1-pins4 { 201*8d13bc63SEmmanuel Vadot mux { 202*8d13bc63SEmmanuel Vadot groups = "i2c1_sda_x", 203*8d13bc63SEmmanuel Vadot "i2c1_scl_x"; 204*8d13bc63SEmmanuel Vadot function = "i2c1"; 205*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 206*8d13bc63SEmmanuel Vadot bias-disable; 207*8d13bc63SEmmanuel Vadot }; 208*8d13bc63SEmmanuel Vadot }; 209*8d13bc63SEmmanuel Vadot 210*8d13bc63SEmmanuel Vadot i2c2_pins1: i2c2-pins1 { 211*8d13bc63SEmmanuel Vadot mux { 212*8d13bc63SEmmanuel Vadot groups = "i2c2_sda_d", 213*8d13bc63SEmmanuel Vadot "i2c2_scl_d"; 214*8d13bc63SEmmanuel Vadot function = "i2c2"; 215*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 216*8d13bc63SEmmanuel Vadot bias-disable; 217*8d13bc63SEmmanuel Vadot }; 218*8d13bc63SEmmanuel Vadot }; 219*8d13bc63SEmmanuel Vadot 220*8d13bc63SEmmanuel Vadot i2c2_pins2: i2c2-pins2 { 221*8d13bc63SEmmanuel Vadot mux { 222*8d13bc63SEmmanuel Vadot groups = "i2c2_sda_h8", 223*8d13bc63SEmmanuel Vadot "i2c2_scl_h9"; 224*8d13bc63SEmmanuel Vadot function = "i2c2"; 225*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 226*8d13bc63SEmmanuel Vadot bias-disable; 227*8d13bc63SEmmanuel Vadot }; 228*8d13bc63SEmmanuel Vadot }; 229*8d13bc63SEmmanuel Vadot 230*8d13bc63SEmmanuel Vadot i2c2_pins3: i2c2-pins3 { 231*8d13bc63SEmmanuel Vadot mux { 232*8d13bc63SEmmanuel Vadot groups = "i2c2_sda_h0", 233*8d13bc63SEmmanuel Vadot "i2c2_scl_h1"; 234*8d13bc63SEmmanuel Vadot function = "i2c2"; 235*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 236*8d13bc63SEmmanuel Vadot bias-disable; 237*8d13bc63SEmmanuel Vadot }; 238*8d13bc63SEmmanuel Vadot }; 239*8d13bc63SEmmanuel Vadot 240*8d13bc63SEmmanuel Vadot i2c3_pins1: i2c3-pins1 { 241*8d13bc63SEmmanuel Vadot mux { 242*8d13bc63SEmmanuel Vadot groups = "i2c3_sda_x", 243*8d13bc63SEmmanuel Vadot "i2c3_scl_x"; 244*8d13bc63SEmmanuel Vadot function = "i2c3"; 245*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 246*8d13bc63SEmmanuel Vadot bias-disable; 247*8d13bc63SEmmanuel Vadot }; 248*8d13bc63SEmmanuel Vadot }; 249*8d13bc63SEmmanuel Vadot 250*8d13bc63SEmmanuel Vadot i2c3_pins2: i2c3-pins2 { 251*8d13bc63SEmmanuel Vadot mux { 252*8d13bc63SEmmanuel Vadot groups = "i2c3_sda_z", 253*8d13bc63SEmmanuel Vadot "i2c3_scl_z"; 254*8d13bc63SEmmanuel Vadot function = "i2c3"; 255*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 256*8d13bc63SEmmanuel Vadot bias-disable; 257*8d13bc63SEmmanuel Vadot }; 258*8d13bc63SEmmanuel Vadot }; 259*8d13bc63SEmmanuel Vadot 260*8d13bc63SEmmanuel Vadot i2c4_pins1: i2c4-pins1 { 261*8d13bc63SEmmanuel Vadot mux { 262*8d13bc63SEmmanuel Vadot groups = "i2c4_sda_c", 263*8d13bc63SEmmanuel Vadot "i2c4_scl_c"; 264*8d13bc63SEmmanuel Vadot function = "i2c4"; 265*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 266*8d13bc63SEmmanuel Vadot bias-disable; 267*8d13bc63SEmmanuel Vadot }; 268*8d13bc63SEmmanuel Vadot }; 269*8d13bc63SEmmanuel Vadot 270*8d13bc63SEmmanuel Vadot i2c4_pins2: i2c4-pins2 { 271*8d13bc63SEmmanuel Vadot mux { 272*8d13bc63SEmmanuel Vadot groups = "i2c4_sda_d", 273*8d13bc63SEmmanuel Vadot "i2c4_scl_d"; 274*8d13bc63SEmmanuel Vadot function = "i2c4"; 275*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 276*8d13bc63SEmmanuel Vadot bias-disable; 277*8d13bc63SEmmanuel Vadot }; 278*8d13bc63SEmmanuel Vadot }; 279*8d13bc63SEmmanuel Vadot 280*8d13bc63SEmmanuel Vadot i2c4_pins3: i2c4-pins3 { 281*8d13bc63SEmmanuel Vadot mux { 282*8d13bc63SEmmanuel Vadot groups = "i2c4_sda_z", 283*8d13bc63SEmmanuel Vadot "i2c4_scl_z"; 284*8d13bc63SEmmanuel Vadot function = "i2c4"; 285*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 286*8d13bc63SEmmanuel Vadot bias-disable; 287*8d13bc63SEmmanuel Vadot }; 288*8d13bc63SEmmanuel Vadot }; 289*8d13bc63SEmmanuel Vadot 290*8d13bc63SEmmanuel Vadot nand_pins: nand-pins { 291*8d13bc63SEmmanuel Vadot mux { 292*8d13bc63SEmmanuel Vadot groups = "emmc_nand_d0", 293*8d13bc63SEmmanuel Vadot "emmc_nand_d1", 294*8d13bc63SEmmanuel Vadot "emmc_nand_d2", 295*8d13bc63SEmmanuel Vadot "emmc_nand_d3", 296*8d13bc63SEmmanuel Vadot "emmc_nand_d4", 297*8d13bc63SEmmanuel Vadot "emmc_nand_d5", 298*8d13bc63SEmmanuel Vadot "emmc_nand_d6", 299*8d13bc63SEmmanuel Vadot "emmc_nand_d7", 300*8d13bc63SEmmanuel Vadot "nand_ce0", 301*8d13bc63SEmmanuel Vadot "nand_ale", 302*8d13bc63SEmmanuel Vadot "nand_cle", 303*8d13bc63SEmmanuel Vadot "nand_wen_clk", 304*8d13bc63SEmmanuel Vadot "nand_ren_wr"; 305*8d13bc63SEmmanuel Vadot function = "nand"; 306*8d13bc63SEmmanuel Vadot input-enable; 307*8d13bc63SEmmanuel Vadot }; 308*8d13bc63SEmmanuel Vadot }; 309*8d13bc63SEmmanuel Vadot 310*8d13bc63SEmmanuel Vadot spicc0_pins_x: spicc0-pins_x { 311*8d13bc63SEmmanuel Vadot mux { 312*8d13bc63SEmmanuel Vadot groups = "spi_a_mosi_x", 313*8d13bc63SEmmanuel Vadot "spi_a_miso_x", 314*8d13bc63SEmmanuel Vadot "spi_a_clk_x"; 315*8d13bc63SEmmanuel Vadot function = "spi_a"; 316*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 317*8d13bc63SEmmanuel Vadot }; 318*8d13bc63SEmmanuel Vadot }; 319*8d13bc63SEmmanuel Vadot 320*8d13bc63SEmmanuel Vadot spicc0_pins_h: spicc0-pins-h { 321*8d13bc63SEmmanuel Vadot mux { 322*8d13bc63SEmmanuel Vadot groups = "spi_a_mosi_h", 323*8d13bc63SEmmanuel Vadot "spi_a_miso_h", 324*8d13bc63SEmmanuel Vadot "spi_a_clk_h"; 325*8d13bc63SEmmanuel Vadot function = "spi_a"; 326*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 327*8d13bc63SEmmanuel Vadot }; 328*8d13bc63SEmmanuel Vadot }; 329*8d13bc63SEmmanuel Vadot 330*8d13bc63SEmmanuel Vadot spicc0_pins_z: spicc0-pins-z { 331*8d13bc63SEmmanuel Vadot mux { 332*8d13bc63SEmmanuel Vadot groups = "spi_a_mosi_z", 333*8d13bc63SEmmanuel Vadot "spi_a_miso_z", 334*8d13bc63SEmmanuel Vadot "spi_a_clk_z"; 335*8d13bc63SEmmanuel Vadot function = "spi_a"; 336*8d13bc63SEmmanuel Vadot drive-strength-microamp = <3000>; 337*8d13bc63SEmmanuel Vadot }; 338*8d13bc63SEmmanuel Vadot }; 339*8d13bc63SEmmanuel Vadot 340d5b0e70fSEmmanuel Vadot }; 341d5b0e70fSEmmanuel Vadot 342d5b0e70fSEmmanuel Vadot gpio_intc: interrupt-controller@4080 { 343d5b0e70fSEmmanuel Vadot compatible = "amlogic,meson-s4-gpio-intc", 344d5b0e70fSEmmanuel Vadot "amlogic,meson-gpio-intc"; 345d5b0e70fSEmmanuel Vadot reg = <0x0 0x4080 0x0 0x20>; 346d5b0e70fSEmmanuel Vadot interrupt-controller; 347d5b0e70fSEmmanuel Vadot #interrupt-cells = <2>; 348d5b0e70fSEmmanuel Vadot amlogic,channel-interrupts = 349d5b0e70fSEmmanuel Vadot <10 11 12 13 14 15 16 17 18 19 20 21>; 350d5b0e70fSEmmanuel Vadot }; 351d5b0e70fSEmmanuel Vadot 352*8d13bc63SEmmanuel Vadot eth_phy: mdio-multiplexer@28000 { 353*8d13bc63SEmmanuel Vadot compatible = "amlogic,g12a-mdio-mux"; 354*8d13bc63SEmmanuel Vadot reg = <0x0 0x28000 0x0 0xa4>; 355*8d13bc63SEmmanuel Vadot 356*8d13bc63SEmmanuel Vadot #address-cells = <1>; 357*8d13bc63SEmmanuel Vadot #size-cells = <0>; 358*8d13bc63SEmmanuel Vadot clocks = <&clkc_periphs CLKID_ETHPHY>, 359*8d13bc63SEmmanuel Vadot <&xtal>, 360*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_MPLL_50M>; 361*8d13bc63SEmmanuel Vadot clock-names = "pclk", "clkin0", "clkin1"; 362*8d13bc63SEmmanuel Vadot mdio-parent-bus = <&mdio0>; 363*8d13bc63SEmmanuel Vadot 364*8d13bc63SEmmanuel Vadot ext_mdio: mdio@0 { 365*8d13bc63SEmmanuel Vadot reg = <0>; 366*8d13bc63SEmmanuel Vadot #address-cells = <1>; 367*8d13bc63SEmmanuel Vadot #size-cells = <0>; 368*8d13bc63SEmmanuel Vadot }; 369*8d13bc63SEmmanuel Vadot 370*8d13bc63SEmmanuel Vadot int_mdio: mdio@1 { 371*8d13bc63SEmmanuel Vadot reg = <1>; 372*8d13bc63SEmmanuel Vadot #address-cells = <1>; 373*8d13bc63SEmmanuel Vadot #size-cells = <0>; 374*8d13bc63SEmmanuel Vadot 375*8d13bc63SEmmanuel Vadot internal_ephy: ethernet-phy@8 { 376*8d13bc63SEmmanuel Vadot compatible = "ethernet-phy-id0180.3301", 377*8d13bc63SEmmanuel Vadot "ethernet-phy-ieee802.3-c22"; 378*8d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 379*8d13bc63SEmmanuel Vadot reg = <8>; 380*8d13bc63SEmmanuel Vadot max-speed = <100>; 381*8d13bc63SEmmanuel Vadot }; 382*8d13bc63SEmmanuel Vadot }; 383*8d13bc63SEmmanuel Vadot }; 384*8d13bc63SEmmanuel Vadot 385*8d13bc63SEmmanuel Vadot spicc0: spi@50000 { 386*8d13bc63SEmmanuel Vadot compatible = "amlogic,meson-g12a-spicc"; 387*8d13bc63SEmmanuel Vadot reg = <0x0 0x50000 0x0 0x44>; 388*8d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>; 389*8d13bc63SEmmanuel Vadot clocks = <&clkc_periphs CLKID_SPICC0>, 390*8d13bc63SEmmanuel Vadot <&clkc_periphs CLKID_SPICC0_EN>; 391*8d13bc63SEmmanuel Vadot clock-names = "core", "pclk"; 392*8d13bc63SEmmanuel Vadot #address-cells = <1>; 393*8d13bc63SEmmanuel Vadot #size-cells = <0>; 394*8d13bc63SEmmanuel Vadot status = "disabled"; 395*8d13bc63SEmmanuel Vadot }; 396*8d13bc63SEmmanuel Vadot 397*8d13bc63SEmmanuel Vadot i2c0: i2c@66000 { 398*8d13bc63SEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 399*8d13bc63SEmmanuel Vadot reg = <0x0 0x66000 0x0 0x20>; 400*8d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 160 IRQ_TYPE_EDGE_RISING>; 401*8d13bc63SEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_A>; 402*8d13bc63SEmmanuel Vadot #address-cells = <1>; 403*8d13bc63SEmmanuel Vadot #size-cells = <0>; 404*8d13bc63SEmmanuel Vadot status = "disabled"; 405*8d13bc63SEmmanuel Vadot }; 406*8d13bc63SEmmanuel Vadot 407*8d13bc63SEmmanuel Vadot i2c1: i2c@68000 { 408*8d13bc63SEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 409*8d13bc63SEmmanuel Vadot reg = <0x0 0x68000 0x0 0x20>; 410*8d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 161 IRQ_TYPE_EDGE_RISING>; 411*8d13bc63SEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_B>; 412*8d13bc63SEmmanuel Vadot #address-cells = <1>; 413*8d13bc63SEmmanuel Vadot #size-cells = <0>; 414*8d13bc63SEmmanuel Vadot status = "disabled"; 415*8d13bc63SEmmanuel Vadot }; 416*8d13bc63SEmmanuel Vadot 417*8d13bc63SEmmanuel Vadot i2c2: i2c@6a000 { 418*8d13bc63SEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 419*8d13bc63SEmmanuel Vadot reg = <0x0 0x6a000 0x0 0x20>; 420*8d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 162 IRQ_TYPE_EDGE_RISING>; 421*8d13bc63SEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_C>; 422*8d13bc63SEmmanuel Vadot #address-cells = <1>; 423*8d13bc63SEmmanuel Vadot #size-cells = <0>; 424*8d13bc63SEmmanuel Vadot status = "disabled"; 425*8d13bc63SEmmanuel Vadot }; 426*8d13bc63SEmmanuel Vadot 427*8d13bc63SEmmanuel Vadot i2c3: i2c@6c000 { 428*8d13bc63SEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 429*8d13bc63SEmmanuel Vadot reg = <0x0 0x6c000 0x0 0x20>; 430*8d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 163 IRQ_TYPE_EDGE_RISING>; 431*8d13bc63SEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_D>; 432*8d13bc63SEmmanuel Vadot #address-cells = <1>; 433*8d13bc63SEmmanuel Vadot #size-cells = <0>; 434*8d13bc63SEmmanuel Vadot status = "disabled"; 435*8d13bc63SEmmanuel Vadot }; 436*8d13bc63SEmmanuel Vadot 437*8d13bc63SEmmanuel Vadot i2c4: i2c@6e000 { 438*8d13bc63SEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 439*8d13bc63SEmmanuel Vadot reg = <0x0 0x6e000 0x0 0x20>; 440*8d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 164 IRQ_TYPE_EDGE_RISING>; 441*8d13bc63SEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_E>; 442*8d13bc63SEmmanuel Vadot #address-cells = <1>; 443*8d13bc63SEmmanuel Vadot #size-cells = <0>; 444*8d13bc63SEmmanuel Vadot status = "disabled"; 445*8d13bc63SEmmanuel Vadot }; 446*8d13bc63SEmmanuel Vadot 447*8d13bc63SEmmanuel Vadot nand: nand-controller@8c800 { 448*8d13bc63SEmmanuel Vadot compatible = "amlogic,meson-axg-nfc"; 449*8d13bc63SEmmanuel Vadot reg = <0x0 0x8c800 0x0 0x100>, <0x0 0x8c000 0x0 0x4>; 450*8d13bc63SEmmanuel Vadot reg-names = "nfc", "emmc"; 451*8d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 175 IRQ_TYPE_EDGE_RISING>; 452*8d13bc63SEmmanuel Vadot clocks = <&clkc_periphs CLKID_SD_EMMC_C>, 453*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV2>; 454*8d13bc63SEmmanuel Vadot clock-names = "core", "device"; 455*8d13bc63SEmmanuel Vadot status = "disabled"; 456*8d13bc63SEmmanuel Vadot }; 457*8d13bc63SEmmanuel Vadot 458*8d13bc63SEmmanuel Vadot uart_b: serial@7a000 { 459c9ccf3a3SEmmanuel Vadot compatible = "amlogic,meson-s4-uart", 460c9ccf3a3SEmmanuel Vadot "amlogic,meson-ao-uart"; 461c9ccf3a3SEmmanuel Vadot reg = <0x0 0x7a000 0x0 0x18>; 462c9ccf3a3SEmmanuel Vadot interrupts = <GIC_SPI 169 IRQ_TYPE_EDGE_RISING>; 463*8d13bc63SEmmanuel Vadot clocks = <&xtal>, <&clkc_periphs CLKID_UART_B>, <&xtal>; 464c9ccf3a3SEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 465*8d13bc63SEmmanuel Vadot status = "disabled"; 466c9ccf3a3SEmmanuel Vadot }; 467b97ee269SEmmanuel Vadot 468b97ee269SEmmanuel Vadot reset: reset-controller@2000 { 469b97ee269SEmmanuel Vadot compatible = "amlogic,meson-s4-reset"; 470b97ee269SEmmanuel Vadot reg = <0x0 0x2000 0x0 0x98>; 471b97ee269SEmmanuel Vadot #reset-cells = <1>; 472b97ee269SEmmanuel Vadot }; 47384943d6fSEmmanuel Vadot 47484943d6fSEmmanuel Vadot ir: ir@84040 { 47584943d6fSEmmanuel Vadot compatible = "amlogic,meson-s4-ir"; 47684943d6fSEmmanuel Vadot reg = <0x0 0x84040 0x0 0x30>; 47784943d6fSEmmanuel Vadot interrupts = <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>; 47884943d6fSEmmanuel Vadot status = "disabled"; 47984943d6fSEmmanuel Vadot }; 48084943d6fSEmmanuel Vadot 48184943d6fSEmmanuel Vadot hwrng: rng@440788 { 48284943d6fSEmmanuel Vadot compatible = "amlogic,meson-s4-rng"; 48384943d6fSEmmanuel Vadot reg = <0x0 0x440788 0x0 0x0c>; 48484943d6fSEmmanuel Vadot }; 485c9ccf3a3SEmmanuel Vadot }; 486*8d13bc63SEmmanuel Vadot 487*8d13bc63SEmmanuel Vadot ethmac: ethernet@fdc00000 { 488*8d13bc63SEmmanuel Vadot compatible = "amlogic,meson-axg-dwmac", 489*8d13bc63SEmmanuel Vadot "snps,dwmac-3.70a", 490*8d13bc63SEmmanuel Vadot "snps,dwmac"; 491*8d13bc63SEmmanuel Vadot reg = <0x0 0xfdc00000 0x0 0x10000>, 492*8d13bc63SEmmanuel Vadot <0x0 0xfe024000 0x0 0x8>; 493*8d13bc63SEmmanuel Vadot 494*8d13bc63SEmmanuel Vadot interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 495*8d13bc63SEmmanuel Vadot interrupt-names = "macirq"; 496*8d13bc63SEmmanuel Vadot power-domains = <&pwrc PWRC_S4_ETH_ID>; 497*8d13bc63SEmmanuel Vadot clocks = <&clkc_periphs CLKID_ETH>, 498*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV2>, 499*8d13bc63SEmmanuel Vadot <&clkc_pll CLKID_MPLL2>; 500*8d13bc63SEmmanuel Vadot clock-names = "stmmaceth", "clkin0", "clkin1"; 501*8d13bc63SEmmanuel Vadot rx-fifo-depth = <4096>; 502*8d13bc63SEmmanuel Vadot tx-fifo-depth = <2048>; 503*8d13bc63SEmmanuel Vadot status = "disabled"; 504*8d13bc63SEmmanuel Vadot 505*8d13bc63SEmmanuel Vadot mdio0: mdio { 506*8d13bc63SEmmanuel Vadot #address-cells = <1>; 507*8d13bc63SEmmanuel Vadot #size-cells = <0>; 508*8d13bc63SEmmanuel Vadot compatible = "snps,dwmac-mdio"; 509*8d13bc63SEmmanuel Vadot }; 510*8d13bc63SEmmanuel Vadot }; 511c9ccf3a3SEmmanuel Vadot }; 512c9ccf3a3SEmmanuel Vadot}; 513