1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright (c) 2019 Amlogic, Inc. All rights reserved. 4c66ec88fSEmmanuel Vadot */ 5c66ec88fSEmmanuel Vadot 6*84943d6fSEmmanuel Vadot#include <dt-bindings/clock/amlogic,a1-pll-clkc.h> 7*84943d6fSEmmanuel Vadot#include <dt-bindings/clock/amlogic,a1-peripherals-clkc.h> 8c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/meson-a1-gpio.h> 9*84943d6fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 10*84943d6fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 11*84943d6fSEmmanuel Vadot#include <dt-bindings/power/meson-a1-power.h> 12*84943d6fSEmmanuel Vadot#include <dt-bindings/reset/amlogic,meson-a1-reset.h> 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadot/ { 15c66ec88fSEmmanuel Vadot compatible = "amlogic,a1"; 16c66ec88fSEmmanuel Vadot 17c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 18c66ec88fSEmmanuel Vadot #address-cells = <2>; 19c66ec88fSEmmanuel Vadot #size-cells = <2>; 20c66ec88fSEmmanuel Vadot 21c66ec88fSEmmanuel Vadot cpus { 22c66ec88fSEmmanuel Vadot #address-cells = <2>; 23c66ec88fSEmmanuel Vadot #size-cells = <0>; 24c66ec88fSEmmanuel Vadot 25c66ec88fSEmmanuel Vadot cpu0: cpu@0 { 26c66ec88fSEmmanuel Vadot device_type = "cpu"; 27c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a35"; 28c66ec88fSEmmanuel Vadot reg = <0x0 0x0>; 29c66ec88fSEmmanuel Vadot enable-method = "psci"; 30c66ec88fSEmmanuel Vadot next-level-cache = <&l2>; 31c66ec88fSEmmanuel Vadot }; 32c66ec88fSEmmanuel Vadot 33c66ec88fSEmmanuel Vadot cpu1: cpu@1 { 34c66ec88fSEmmanuel Vadot device_type = "cpu"; 35c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a35"; 36c66ec88fSEmmanuel Vadot reg = <0x0 0x1>; 37c66ec88fSEmmanuel Vadot enable-method = "psci"; 38c66ec88fSEmmanuel Vadot next-level-cache = <&l2>; 39c66ec88fSEmmanuel Vadot }; 40c66ec88fSEmmanuel Vadot 41c66ec88fSEmmanuel Vadot l2: l2-cache0 { 42c66ec88fSEmmanuel Vadot compatible = "cache"; 438bab661aSEmmanuel Vadot cache-level = <2>; 44f126890aSEmmanuel Vadot cache-unified; 45c66ec88fSEmmanuel Vadot }; 46c66ec88fSEmmanuel Vadot }; 47c66ec88fSEmmanuel Vadot 48*84943d6fSEmmanuel Vadot efuse: efuse { 49*84943d6fSEmmanuel Vadot compatible = "amlogic,meson-gxbb-efuse"; 50*84943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_OTP>; 51*84943d6fSEmmanuel Vadot #address-cells = <1>; 52*84943d6fSEmmanuel Vadot #size-cells = <1>; 53*84943d6fSEmmanuel Vadot secure-monitor = <&sm>; 54*84943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_OTP_ID>; 55*84943d6fSEmmanuel Vadot }; 56*84943d6fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadot psci { 58c66ec88fSEmmanuel Vadot compatible = "arm,psci-1.0"; 59c66ec88fSEmmanuel Vadot method = "smc"; 60c66ec88fSEmmanuel Vadot }; 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot reserved-memory { 63c66ec88fSEmmanuel Vadot #address-cells = <2>; 64c66ec88fSEmmanuel Vadot #size-cells = <2>; 65c66ec88fSEmmanuel Vadot ranges; 66c66ec88fSEmmanuel Vadot 67c66ec88fSEmmanuel Vadot linux,cma { 68c66ec88fSEmmanuel Vadot compatible = "shared-dma-pool"; 69c66ec88fSEmmanuel Vadot reusable; 70c66ec88fSEmmanuel Vadot size = <0x0 0x800000>; 71c66ec88fSEmmanuel Vadot alignment = <0x0 0x400000>; 72c66ec88fSEmmanuel Vadot linux,cma-default; 73c66ec88fSEmmanuel Vadot }; 74c66ec88fSEmmanuel Vadot }; 75c66ec88fSEmmanuel Vadot 76c66ec88fSEmmanuel Vadot sm: secure-monitor { 77c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxbb-sm"; 78c66ec88fSEmmanuel Vadot 79c66ec88fSEmmanuel Vadot pwrc: power-controller { 80c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-a1-pwrc"; 81c66ec88fSEmmanuel Vadot #power-domain-cells = <1>; 82c66ec88fSEmmanuel Vadot }; 83c66ec88fSEmmanuel Vadot }; 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot soc { 86c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 87c66ec88fSEmmanuel Vadot #address-cells = <2>; 88c66ec88fSEmmanuel Vadot #size-cells = <2>; 89c66ec88fSEmmanuel Vadot ranges; 90c66ec88fSEmmanuel Vadot 91*84943d6fSEmmanuel Vadot spifc: spi@fd000400 { 92*84943d6fSEmmanuel Vadot compatible = "amlogic,a1-spifc"; 93*84943d6fSEmmanuel Vadot reg = <0x0 0xfd000400 0x0 0x290>; 94*84943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_SPIFC>; 95*84943d6fSEmmanuel Vadot #address-cells = <1>; 96*84943d6fSEmmanuel Vadot #size-cells = <0>; 97*84943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_SPIFC_ID>; 98*84943d6fSEmmanuel Vadot status = "disabled"; 99*84943d6fSEmmanuel Vadot }; 100*84943d6fSEmmanuel Vadot 101c66ec88fSEmmanuel Vadot apb: bus@fe000000 { 102c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 103c66ec88fSEmmanuel Vadot reg = <0x0 0xfe000000 0x0 0x1000000>; 104c66ec88fSEmmanuel Vadot #address-cells = <2>; 105c66ec88fSEmmanuel Vadot #size-cells = <2>; 106c66ec88fSEmmanuel Vadot ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x1000000>; 107c66ec88fSEmmanuel Vadot 108c66ec88fSEmmanuel Vadot reset: reset-controller@0 { 109c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-a1-reset"; 110c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x0 0x8c>; 111c66ec88fSEmmanuel Vadot #reset-cells = <1>; 112c66ec88fSEmmanuel Vadot }; 113c66ec88fSEmmanuel Vadot 1142eb4d8dcSEmmanuel Vadot periphs_pinctrl: pinctrl@400 { 115c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-a1-periphs-pinctrl"; 116c66ec88fSEmmanuel Vadot #address-cells = <2>; 117c66ec88fSEmmanuel Vadot #size-cells = <2>; 118c66ec88fSEmmanuel Vadot ranges; 119c66ec88fSEmmanuel Vadot 1202eb4d8dcSEmmanuel Vadot gpio: bank@400 { 121c66ec88fSEmmanuel Vadot reg = <0x0 0x0400 0x0 0x003c>, 122c66ec88fSEmmanuel Vadot <0x0 0x0480 0x0 0x0118>; 123c66ec88fSEmmanuel Vadot reg-names = "mux", "gpio"; 124c66ec88fSEmmanuel Vadot gpio-controller; 125c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 126c66ec88fSEmmanuel Vadot gpio-ranges = <&periphs_pinctrl 0 0 62>; 127c66ec88fSEmmanuel Vadot }; 128c66ec88fSEmmanuel Vadot 129*84943d6fSEmmanuel Vadot i2c0_f11_pins: i2c0-f11 { 130*84943d6fSEmmanuel Vadot mux { 131*84943d6fSEmmanuel Vadot groups = "i2c0_sck_f11", 132*84943d6fSEmmanuel Vadot "i2c0_sda_f12"; 133*84943d6fSEmmanuel Vadot function = "i2c0"; 134*84943d6fSEmmanuel Vadot bias-pull-up; 135*84943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 136*84943d6fSEmmanuel Vadot }; 137*84943d6fSEmmanuel Vadot }; 138*84943d6fSEmmanuel Vadot 139*84943d6fSEmmanuel Vadot i2c0_f9_pins: i2c0-f9 { 140*84943d6fSEmmanuel Vadot mux { 141*84943d6fSEmmanuel Vadot groups = "i2c0_sck_f9", 142*84943d6fSEmmanuel Vadot "i2c0_sda_f10"; 143*84943d6fSEmmanuel Vadot function = "i2c0"; 144*84943d6fSEmmanuel Vadot bias-pull-up; 145*84943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 146*84943d6fSEmmanuel Vadot }; 147*84943d6fSEmmanuel Vadot }; 148*84943d6fSEmmanuel Vadot 149*84943d6fSEmmanuel Vadot i2c1_x_pins: i2c1-x { 150*84943d6fSEmmanuel Vadot mux { 151*84943d6fSEmmanuel Vadot groups = "i2c1_sck_x", 152*84943d6fSEmmanuel Vadot "i2c1_sda_x"; 153*84943d6fSEmmanuel Vadot function = "i2c1"; 154*84943d6fSEmmanuel Vadot bias-pull-up; 155*84943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 156*84943d6fSEmmanuel Vadot }; 157*84943d6fSEmmanuel Vadot }; 158*84943d6fSEmmanuel Vadot 159*84943d6fSEmmanuel Vadot i2c1_a_pins: i2c1-a { 160*84943d6fSEmmanuel Vadot mux { 161*84943d6fSEmmanuel Vadot groups = "i2c1_sck_a", 162*84943d6fSEmmanuel Vadot "i2c1_sda_a"; 163*84943d6fSEmmanuel Vadot function = "i2c1"; 164*84943d6fSEmmanuel Vadot bias-pull-up; 165*84943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 166*84943d6fSEmmanuel Vadot }; 167*84943d6fSEmmanuel Vadot }; 168*84943d6fSEmmanuel Vadot 169*84943d6fSEmmanuel Vadot i2c2_x0_pins: i2c2-x0 { 170*84943d6fSEmmanuel Vadot mux { 171*84943d6fSEmmanuel Vadot groups = "i2c2_sck_x0", 172*84943d6fSEmmanuel Vadot "i2c2_sda_x1"; 173*84943d6fSEmmanuel Vadot function = "i2c2"; 174*84943d6fSEmmanuel Vadot bias-pull-up; 175*84943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 176*84943d6fSEmmanuel Vadot }; 177*84943d6fSEmmanuel Vadot }; 178*84943d6fSEmmanuel Vadot 179*84943d6fSEmmanuel Vadot i2c2_x15_pins: i2c2-x15 { 180*84943d6fSEmmanuel Vadot mux { 181*84943d6fSEmmanuel Vadot groups = "i2c2_sck_x15", 182*84943d6fSEmmanuel Vadot "i2c2_sda_x16"; 183*84943d6fSEmmanuel Vadot function = "i2c2"; 184*84943d6fSEmmanuel Vadot bias-pull-up; 185*84943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 186*84943d6fSEmmanuel Vadot }; 187*84943d6fSEmmanuel Vadot }; 188*84943d6fSEmmanuel Vadot 189*84943d6fSEmmanuel Vadot i2c2_a4_pins: i2c2-a4 { 190*84943d6fSEmmanuel Vadot mux { 191*84943d6fSEmmanuel Vadot groups = "i2c2_sck_a4", 192*84943d6fSEmmanuel Vadot "i2c2_sda_a5"; 193*84943d6fSEmmanuel Vadot function = "i2c2"; 194*84943d6fSEmmanuel Vadot bias-pull-up; 195*84943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 196*84943d6fSEmmanuel Vadot }; 197*84943d6fSEmmanuel Vadot }; 198*84943d6fSEmmanuel Vadot 199*84943d6fSEmmanuel Vadot i2c2_a8_pins: i2c2-a8 { 200*84943d6fSEmmanuel Vadot mux { 201*84943d6fSEmmanuel Vadot groups = "i2c2_sck_a8", 202*84943d6fSEmmanuel Vadot "i2c2_sda_a9"; 203*84943d6fSEmmanuel Vadot function = "i2c2"; 204*84943d6fSEmmanuel Vadot bias-pull-up; 205*84943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 206*84943d6fSEmmanuel Vadot }; 207*84943d6fSEmmanuel Vadot }; 208*84943d6fSEmmanuel Vadot 209*84943d6fSEmmanuel Vadot i2c3_x_pins: i2c3-x { 210*84943d6fSEmmanuel Vadot mux { 211*84943d6fSEmmanuel Vadot groups = "i2c3_sck_x", 212*84943d6fSEmmanuel Vadot "i2c3_sda_x"; 213*84943d6fSEmmanuel Vadot function = "i2c3"; 214*84943d6fSEmmanuel Vadot bias-pull-up; 215*84943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 216*84943d6fSEmmanuel Vadot }; 217*84943d6fSEmmanuel Vadot }; 218*84943d6fSEmmanuel Vadot 219*84943d6fSEmmanuel Vadot i2c3_f_pins: i2c3-f { 220*84943d6fSEmmanuel Vadot mux { 221*84943d6fSEmmanuel Vadot groups = "i2c3_sck_f", 222*84943d6fSEmmanuel Vadot "i2c3_sda_f"; 223*84943d6fSEmmanuel Vadot function = "i2c3"; 224*84943d6fSEmmanuel Vadot bias-pull-up; 225*84943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 226*84943d6fSEmmanuel Vadot }; 227*84943d6fSEmmanuel Vadot }; 228*84943d6fSEmmanuel Vadot 229*84943d6fSEmmanuel Vadot uart_a_pins: uart-a { 230*84943d6fSEmmanuel Vadot mux { 231*84943d6fSEmmanuel Vadot groups = "uart_a_tx", 232*84943d6fSEmmanuel Vadot "uart_a_rx"; 233*84943d6fSEmmanuel Vadot function = "uart_a"; 234*84943d6fSEmmanuel Vadot }; 235*84943d6fSEmmanuel Vadot }; 236*84943d6fSEmmanuel Vadot 237*84943d6fSEmmanuel Vadot uart_a_cts_rts_pins: uart-a-cts-rts { 238*84943d6fSEmmanuel Vadot mux { 239*84943d6fSEmmanuel Vadot groups = "uart_a_cts", 240*84943d6fSEmmanuel Vadot "uart_a_rts"; 241*84943d6fSEmmanuel Vadot function = "uart_a"; 242*84943d6fSEmmanuel Vadot bias-pull-down; 243*84943d6fSEmmanuel Vadot }; 244*84943d6fSEmmanuel Vadot }; 245*84943d6fSEmmanuel Vadot 246*84943d6fSEmmanuel Vadot sdio_pins: sdio { 247*84943d6fSEmmanuel Vadot mux0 { 248*84943d6fSEmmanuel Vadot groups = "sdcard_d0_x", 249*84943d6fSEmmanuel Vadot "sdcard_d1_x", 250*84943d6fSEmmanuel Vadot "sdcard_d2_x", 251*84943d6fSEmmanuel Vadot "sdcard_d3_x", 252*84943d6fSEmmanuel Vadot "sdcard_cmd_x"; 253*84943d6fSEmmanuel Vadot function = "sdcard"; 254*84943d6fSEmmanuel Vadot bias-pull-up; 255*84943d6fSEmmanuel Vadot }; 256*84943d6fSEmmanuel Vadot 257*84943d6fSEmmanuel Vadot mux1 { 258*84943d6fSEmmanuel Vadot groups = "sdcard_clk_x"; 259*84943d6fSEmmanuel Vadot function = "sdcard"; 260*84943d6fSEmmanuel Vadot bias-disable; 261*84943d6fSEmmanuel Vadot }; 262*84943d6fSEmmanuel Vadot }; 263*84943d6fSEmmanuel Vadot 264*84943d6fSEmmanuel Vadot sdio_clk_gate_pins: sdio-clk-gate { 265*84943d6fSEmmanuel Vadot mux { 266*84943d6fSEmmanuel Vadot groups = "sdcard_clk_x"; 267*84943d6fSEmmanuel Vadot function = "sdcard"; 268*84943d6fSEmmanuel Vadot bias-pull-down; 269*84943d6fSEmmanuel Vadot }; 270*84943d6fSEmmanuel Vadot }; 271*84943d6fSEmmanuel Vadot 272*84943d6fSEmmanuel Vadot spifc_pins: spifc { 273*84943d6fSEmmanuel Vadot mux { 274*84943d6fSEmmanuel Vadot groups = "spif_mo", 275*84943d6fSEmmanuel Vadot "spif_mi", 276*84943d6fSEmmanuel Vadot "spif_clk", 277*84943d6fSEmmanuel Vadot "spif_cs", 278*84943d6fSEmmanuel Vadot "spif_hold_n", 279*84943d6fSEmmanuel Vadot "spif_wp_n"; 280*84943d6fSEmmanuel Vadot function = "spif"; 281*84943d6fSEmmanuel Vadot }; 282*84943d6fSEmmanuel Vadot }; 283*84943d6fSEmmanuel Vadot }; 284*84943d6fSEmmanuel Vadot 285*84943d6fSEmmanuel Vadot gpio_intc: interrupt-controller@440 { 286*84943d6fSEmmanuel Vadot compatible = "amlogic,meson-a1-gpio-intc", 287*84943d6fSEmmanuel Vadot "amlogic,meson-gpio-intc"; 288*84943d6fSEmmanuel Vadot reg = <0x0 0x0440 0x0 0x14>; 289*84943d6fSEmmanuel Vadot interrupt-controller; 290*84943d6fSEmmanuel Vadot #interrupt-cells = <2>; 291*84943d6fSEmmanuel Vadot amlogic,channel-interrupts = 292*84943d6fSEmmanuel Vadot <49 50 51 52 53 54 55 56>; 293*84943d6fSEmmanuel Vadot }; 294*84943d6fSEmmanuel Vadot 295*84943d6fSEmmanuel Vadot clkc_periphs: clock-controller@800 { 296*84943d6fSEmmanuel Vadot compatible = "amlogic,a1-peripherals-clkc"; 297*84943d6fSEmmanuel Vadot reg = <0 0x800 0 0x104>; 298*84943d6fSEmmanuel Vadot #clock-cells = <1>; 299*84943d6fSEmmanuel Vadot clocks = <&clkc_pll CLKID_FCLK_DIV2>, 300*84943d6fSEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV3>, 301*84943d6fSEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV5>, 302*84943d6fSEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV7>, 303*84943d6fSEmmanuel Vadot <&clkc_pll CLKID_HIFI_PLL>, 304*84943d6fSEmmanuel Vadot <&xtal>; 305*84943d6fSEmmanuel Vadot clock-names = "fclk_div2", "fclk_div3", 306*84943d6fSEmmanuel Vadot "fclk_div5", "fclk_div7", 307*84943d6fSEmmanuel Vadot "hifi_pll", "xtal"; 308*84943d6fSEmmanuel Vadot }; 309*84943d6fSEmmanuel Vadot 310*84943d6fSEmmanuel Vadot i2c0: i2c@1400 { 311*84943d6fSEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 312*84943d6fSEmmanuel Vadot status = "disabled"; 313*84943d6fSEmmanuel Vadot reg = <0x0 0x1400 0x0 0x20>; 314*84943d6fSEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>; 315*84943d6fSEmmanuel Vadot #address-cells = <1>; 316*84943d6fSEmmanuel Vadot #size-cells = <0>; 317*84943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_A>; 318*84943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_I2C_ID>; 319c66ec88fSEmmanuel Vadot }; 320c66ec88fSEmmanuel Vadot 321c66ec88fSEmmanuel Vadot uart_AO: serial@1c00 { 322aa1a8ff2SEmmanuel Vadot compatible = "amlogic,meson-a1-uart", 323c66ec88fSEmmanuel Vadot "amlogic,meson-ao-uart"; 324c66ec88fSEmmanuel Vadot reg = <0x0 0x1c00 0x0 0x18>; 325c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>; 326c66ec88fSEmmanuel Vadot clocks = <&xtal>, <&xtal>, <&xtal>; 327c66ec88fSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 328c66ec88fSEmmanuel Vadot status = "disabled"; 329c66ec88fSEmmanuel Vadot }; 330c66ec88fSEmmanuel Vadot 331c66ec88fSEmmanuel Vadot uart_AO_B: serial@2000 { 332aa1a8ff2SEmmanuel Vadot compatible = "amlogic,meson-a1-uart", 333c66ec88fSEmmanuel Vadot "amlogic,meson-ao-uart"; 334c66ec88fSEmmanuel Vadot reg = <0x0 0x2000 0x0 0x18>; 335c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; 336c66ec88fSEmmanuel Vadot clocks = <&xtal>, <&xtal>, <&xtal>; 337c66ec88fSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 338c66ec88fSEmmanuel Vadot status = "disabled"; 339c66ec88fSEmmanuel Vadot }; 340fac71e4eSEmmanuel Vadot 341*84943d6fSEmmanuel Vadot saradc: adc@2c00 { 342*84943d6fSEmmanuel Vadot compatible = "amlogic,meson-g12a-saradc", 343*84943d6fSEmmanuel Vadot "amlogic,meson-saradc"; 344*84943d6fSEmmanuel Vadot reg = <0x0 0x2c00 0x0 0x48>; 345*84943d6fSEmmanuel Vadot #io-channel-cells = <1>; 346*84943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_I2C_ID>; 347*84943d6fSEmmanuel Vadot interrupts = <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>; 348*84943d6fSEmmanuel Vadot clocks = <&xtal>, 349*84943d6fSEmmanuel Vadot <&clkc_periphs CLKID_SARADC_EN>, 350*84943d6fSEmmanuel Vadot <&clkc_periphs CLKID_SARADC>, 351*84943d6fSEmmanuel Vadot <&clkc_periphs CLKID_SARADC_SEL>; 352*84943d6fSEmmanuel Vadot clock-names = "clkin", "core", 353*84943d6fSEmmanuel Vadot "adc_clk", "adc_sel"; 354*84943d6fSEmmanuel Vadot status = "disabled"; 355*84943d6fSEmmanuel Vadot }; 356*84943d6fSEmmanuel Vadot 357*84943d6fSEmmanuel Vadot i2c1: i2c@5c00 { 358*84943d6fSEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 359*84943d6fSEmmanuel Vadot status = "disabled"; 360*84943d6fSEmmanuel Vadot reg = <0x0 0x5c00 0x0 0x20>; 361*84943d6fSEmmanuel Vadot interrupts = <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>; 362*84943d6fSEmmanuel Vadot #address-cells = <1>; 363*84943d6fSEmmanuel Vadot #size-cells = <0>; 364*84943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_B>; 365*84943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_I2C_ID>; 366*84943d6fSEmmanuel Vadot }; 367*84943d6fSEmmanuel Vadot 368*84943d6fSEmmanuel Vadot i2c2: i2c@6800 { 369*84943d6fSEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 370*84943d6fSEmmanuel Vadot status = "disabled"; 371*84943d6fSEmmanuel Vadot reg = <0x0 0x6800 0x0 0x20>; 372*84943d6fSEmmanuel Vadot interrupts = <GIC_SPI 76 IRQ_TYPE_EDGE_RISING>; 373*84943d6fSEmmanuel Vadot #address-cells = <1>; 374*84943d6fSEmmanuel Vadot #size-cells = <0>; 375*84943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_C>; 376*84943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_I2C_ID>; 377*84943d6fSEmmanuel Vadot }; 378*84943d6fSEmmanuel Vadot 379*84943d6fSEmmanuel Vadot i2c3: i2c@6c00 { 380*84943d6fSEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 381*84943d6fSEmmanuel Vadot status = "disabled"; 382*84943d6fSEmmanuel Vadot reg = <0x0 0x6c00 0x0 0x20>; 383*84943d6fSEmmanuel Vadot interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>; 384*84943d6fSEmmanuel Vadot #address-cells = <1>; 385*84943d6fSEmmanuel Vadot #size-cells = <0>; 386*84943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_D>; 387*84943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_I2C_ID>; 388*84943d6fSEmmanuel Vadot }; 389*84943d6fSEmmanuel Vadot 390*84943d6fSEmmanuel Vadot usb2_phy1: phy@4000 { 391*84943d6fSEmmanuel Vadot compatible = "amlogic,a1-usb2-phy"; 392*84943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_USB_PHY_IN>; 393*84943d6fSEmmanuel Vadot clock-names = "xtal"; 394*84943d6fSEmmanuel Vadot reg = <0x0 0x4000 0x0 0x60>; 395*84943d6fSEmmanuel Vadot resets = <&reset RESET_USBPHY>; 396*84943d6fSEmmanuel Vadot reset-names = "phy"; 397*84943d6fSEmmanuel Vadot #phy-cells = <0>; 398*84943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_USB_ID>; 399*84943d6fSEmmanuel Vadot }; 400*84943d6fSEmmanuel Vadot 401*84943d6fSEmmanuel Vadot hwrng: rng@5118 { 402*84943d6fSEmmanuel Vadot compatible = "amlogic,meson-rng"; 403*84943d6fSEmmanuel Vadot reg = <0x0 0x5118 0x0 0x4>; 404*84943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_OTP_ID>; 405*84943d6fSEmmanuel Vadot }; 406*84943d6fSEmmanuel Vadot 407*84943d6fSEmmanuel Vadot sec_AO: ao-secure@5a20 { 408*84943d6fSEmmanuel Vadot compatible = "amlogic,meson-gx-ao-secure", "syscon"; 409*84943d6fSEmmanuel Vadot reg = <0x0 0x5a20 0x0 0x140>; 410*84943d6fSEmmanuel Vadot amlogic,has-chip-id; 411*84943d6fSEmmanuel Vadot }; 412*84943d6fSEmmanuel Vadot 413*84943d6fSEmmanuel Vadot clkc_pll: pll-clock-controller@7c80 { 414*84943d6fSEmmanuel Vadot compatible = "amlogic,a1-pll-clkc"; 415*84943d6fSEmmanuel Vadot reg = <0 0x7c80 0 0x18c>; 416*84943d6fSEmmanuel Vadot #clock-cells = <1>; 417*84943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_FIXPLL_IN>, 418*84943d6fSEmmanuel Vadot <&clkc_periphs CLKID_HIFIPLL_IN>; 419*84943d6fSEmmanuel Vadot clock-names = "fixpll_in", "hifipll_in"; 420*84943d6fSEmmanuel Vadot }; 421*84943d6fSEmmanuel Vadot 422*84943d6fSEmmanuel Vadot sd_emmc: sd@10000 { 423*84943d6fSEmmanuel Vadot compatible = "amlogic,meson-axg-mmc"; 424*84943d6fSEmmanuel Vadot reg = <0x0 0x10000 0x0 0x800>; 425*84943d6fSEmmanuel Vadot interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 426*84943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_SD_EMMC_A>, 427*84943d6fSEmmanuel Vadot <&clkc_periphs CLKID_SD_EMMC>, 428*84943d6fSEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV2>; 429*84943d6fSEmmanuel Vadot clock-names = "core", 430*84943d6fSEmmanuel Vadot "clkin0", 431*84943d6fSEmmanuel Vadot "clkin1"; 432*84943d6fSEmmanuel Vadot assigned-clocks = <&clkc_periphs CLKID_SD_EMMC_SEL2>; 433*84943d6fSEmmanuel Vadot assigned-clock-parents = <&xtal>; 434*84943d6fSEmmanuel Vadot resets = <&reset RESET_SD_EMMC_A>; 435*84943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_SD_EMMC_ID>; 436*84943d6fSEmmanuel Vadot status = "disabled"; 437*84943d6fSEmmanuel Vadot }; 438*84943d6fSEmmanuel Vadot }; 439*84943d6fSEmmanuel Vadot 440*84943d6fSEmmanuel Vadot usb: usb@fe004400 { 441*84943d6fSEmmanuel Vadot status = "disabled"; 442*84943d6fSEmmanuel Vadot compatible = "amlogic,meson-a1-usb-ctrl"; 443*84943d6fSEmmanuel Vadot reg = <0x0 0xfe004400 0x0 0xa0>; 444*84943d6fSEmmanuel Vadot interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 445*84943d6fSEmmanuel Vadot #address-cells = <2>; 446*84943d6fSEmmanuel Vadot #size-cells = <2>; 447*84943d6fSEmmanuel Vadot ranges; 448*84943d6fSEmmanuel Vadot 449*84943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_USB_CTRL>, 450*84943d6fSEmmanuel Vadot <&clkc_periphs CLKID_USB_BUS>, 451*84943d6fSEmmanuel Vadot <&clkc_periphs CLKID_USB_CTRL_IN>; 452*84943d6fSEmmanuel Vadot clock-names = "usb_ctrl", "usb_bus", "xtal_usb_ctrl"; 453*84943d6fSEmmanuel Vadot resets = <&reset RESET_USBCTRL>; 454*84943d6fSEmmanuel Vadot reset-name = "usb_ctrl"; 455*84943d6fSEmmanuel Vadot 456*84943d6fSEmmanuel Vadot dr_mode = "otg"; 457*84943d6fSEmmanuel Vadot 458*84943d6fSEmmanuel Vadot phys = <&usb2_phy1>; 459*84943d6fSEmmanuel Vadot phy-names = "usb2-phy1"; 460*84943d6fSEmmanuel Vadot 461*84943d6fSEmmanuel Vadot dwc3: usb@ff400000 { 462*84943d6fSEmmanuel Vadot compatible = "snps,dwc3"; 463*84943d6fSEmmanuel Vadot reg = <0x0 0xff400000 0x0 0x100000>; 464*84943d6fSEmmanuel Vadot interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 465*84943d6fSEmmanuel Vadot dr_mode = "host"; 466*84943d6fSEmmanuel Vadot snps,dis_u2_susphy_quirk; 467*84943d6fSEmmanuel Vadot snps,quirk-frame-length-adjustment = <0x20>; 468*84943d6fSEmmanuel Vadot snps,parkmode-disable-ss-quirk; 469*84943d6fSEmmanuel Vadot }; 470*84943d6fSEmmanuel Vadot 471*84943d6fSEmmanuel Vadot dwc2: usb@ff500000 { 472*84943d6fSEmmanuel Vadot compatible = "amlogic,meson-a1-usb", "snps,dwc2"; 473*84943d6fSEmmanuel Vadot reg = <0x0 0xff500000 0x0 0x40000>; 474*84943d6fSEmmanuel Vadot interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 475*84943d6fSEmmanuel Vadot phys = <&usb2_phy1>; 476*84943d6fSEmmanuel Vadot phy-names = "usb2-phy"; 477*84943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_USB_PHY>; 478*84943d6fSEmmanuel Vadot clock-names = "otg"; 479*84943d6fSEmmanuel Vadot dr_mode = "peripheral"; 480*84943d6fSEmmanuel Vadot g-rx-fifo-size = <192>; 481*84943d6fSEmmanuel Vadot g-np-tx-fifo-size = <128>; 482*84943d6fSEmmanuel Vadot g-tx-fifo-size = <128 128 16 16 16>; 483fac71e4eSEmmanuel Vadot }; 484c66ec88fSEmmanuel Vadot }; 485c66ec88fSEmmanuel Vadot 486c66ec88fSEmmanuel Vadot gic: interrupt-controller@ff901000 { 487c66ec88fSEmmanuel Vadot compatible = "arm,gic-400"; 488c66ec88fSEmmanuel Vadot reg = <0x0 0xff901000 0x0 0x1000>, 489c66ec88fSEmmanuel Vadot <0x0 0xff902000 0x0 0x2000>, 490c66ec88fSEmmanuel Vadot <0x0 0xff904000 0x0 0x2000>, 491c66ec88fSEmmanuel Vadot <0x0 0xff906000 0x0 0x2000>; 492c66ec88fSEmmanuel Vadot interrupt-controller; 493c66ec88fSEmmanuel Vadot interrupts = <GIC_PPI 9 494c66ec88fSEmmanuel Vadot (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 495c66ec88fSEmmanuel Vadot #interrupt-cells = <3>; 496c66ec88fSEmmanuel Vadot #address-cells = <0>; 497c66ec88fSEmmanuel Vadot }; 498c66ec88fSEmmanuel Vadot }; 499c66ec88fSEmmanuel Vadot 500c66ec88fSEmmanuel Vadot timer { 501c66ec88fSEmmanuel Vadot compatible = "arm,armv8-timer"; 502c66ec88fSEmmanuel Vadot interrupts = <GIC_PPI 13 503c66ec88fSEmmanuel Vadot (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 504c66ec88fSEmmanuel Vadot <GIC_PPI 14 505c66ec88fSEmmanuel Vadot (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 506c66ec88fSEmmanuel Vadot <GIC_PPI 11 507c66ec88fSEmmanuel Vadot (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 508c66ec88fSEmmanuel Vadot <GIC_PPI 10 509c66ec88fSEmmanuel Vadot (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>; 510c66ec88fSEmmanuel Vadot }; 511c66ec88fSEmmanuel Vadot 512c66ec88fSEmmanuel Vadot xtal: xtal-clk { 513c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 514c66ec88fSEmmanuel Vadot clock-frequency = <24000000>; 515c66ec88fSEmmanuel Vadot clock-output-names = "xtal"; 516c66ec88fSEmmanuel Vadot #clock-cells = <0>; 517c66ec88fSEmmanuel Vadot }; 518c66ec88fSEmmanuel Vadot}; 519