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 684943d6fSEmmanuel Vadot#include <dt-bindings/clock/amlogic,a1-pll-clkc.h> 784943d6fSEmmanuel Vadot#include <dt-bindings/clock/amlogic,a1-peripherals-clkc.h> 8c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/meson-a1-gpio.h> 984943d6fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 1084943d6fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 1184943d6fSEmmanuel Vadot#include <dt-bindings/power/meson-a1-power.h> 1284943d6fSEmmanuel 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>; 31*0e8011faSEmmanuel Vadot #cooling-cells = <2>; 32c66ec88fSEmmanuel Vadot }; 33c66ec88fSEmmanuel Vadot 34c66ec88fSEmmanuel Vadot cpu1: cpu@1 { 35c66ec88fSEmmanuel Vadot device_type = "cpu"; 36c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a35"; 37c66ec88fSEmmanuel Vadot reg = <0x0 0x1>; 38c66ec88fSEmmanuel Vadot enable-method = "psci"; 39c66ec88fSEmmanuel Vadot next-level-cache = <&l2>; 40*0e8011faSEmmanuel Vadot #cooling-cells = <2>; 41c66ec88fSEmmanuel Vadot }; 42c66ec88fSEmmanuel Vadot 43c66ec88fSEmmanuel Vadot l2: l2-cache0 { 44c66ec88fSEmmanuel Vadot compatible = "cache"; 458bab661aSEmmanuel Vadot cache-level = <2>; 46f126890aSEmmanuel Vadot cache-unified; 47c66ec88fSEmmanuel Vadot }; 48c66ec88fSEmmanuel Vadot }; 49c66ec88fSEmmanuel Vadot 5084943d6fSEmmanuel Vadot efuse: efuse { 5184943d6fSEmmanuel Vadot compatible = "amlogic,meson-gxbb-efuse"; 5284943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_OTP>; 5384943d6fSEmmanuel Vadot #address-cells = <1>; 5484943d6fSEmmanuel Vadot #size-cells = <1>; 5584943d6fSEmmanuel Vadot secure-monitor = <&sm>; 5684943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_OTP_ID>; 5784943d6fSEmmanuel Vadot }; 5884943d6fSEmmanuel Vadot 59c66ec88fSEmmanuel Vadot psci { 60c66ec88fSEmmanuel Vadot compatible = "arm,psci-1.0"; 61c66ec88fSEmmanuel Vadot method = "smc"; 62c66ec88fSEmmanuel Vadot }; 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot reserved-memory { 65c66ec88fSEmmanuel Vadot #address-cells = <2>; 66c66ec88fSEmmanuel Vadot #size-cells = <2>; 67c66ec88fSEmmanuel Vadot ranges; 68c66ec88fSEmmanuel Vadot 69c66ec88fSEmmanuel Vadot linux,cma { 70c66ec88fSEmmanuel Vadot compatible = "shared-dma-pool"; 71c66ec88fSEmmanuel Vadot reusable; 72c66ec88fSEmmanuel Vadot size = <0x0 0x800000>; 73c66ec88fSEmmanuel Vadot alignment = <0x0 0x400000>; 74c66ec88fSEmmanuel Vadot linux,cma-default; 75c66ec88fSEmmanuel Vadot }; 76c66ec88fSEmmanuel Vadot }; 77c66ec88fSEmmanuel Vadot 78c66ec88fSEmmanuel Vadot sm: secure-monitor { 79c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-gxbb-sm"; 80c66ec88fSEmmanuel Vadot 81c66ec88fSEmmanuel Vadot pwrc: power-controller { 82c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-a1-pwrc"; 83c66ec88fSEmmanuel Vadot #power-domain-cells = <1>; 84c66ec88fSEmmanuel Vadot }; 85c66ec88fSEmmanuel Vadot }; 86c66ec88fSEmmanuel Vadot 87c66ec88fSEmmanuel Vadot soc { 88c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 89c66ec88fSEmmanuel Vadot #address-cells = <2>; 90c66ec88fSEmmanuel Vadot #size-cells = <2>; 91c66ec88fSEmmanuel Vadot ranges; 92c66ec88fSEmmanuel Vadot 9384943d6fSEmmanuel Vadot spifc: spi@fd000400 { 9484943d6fSEmmanuel Vadot compatible = "amlogic,a1-spifc"; 9584943d6fSEmmanuel Vadot reg = <0x0 0xfd000400 0x0 0x290>; 9684943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_SPIFC>; 9784943d6fSEmmanuel Vadot #address-cells = <1>; 9884943d6fSEmmanuel Vadot #size-cells = <0>; 9984943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_SPIFC_ID>; 10084943d6fSEmmanuel Vadot status = "disabled"; 10184943d6fSEmmanuel Vadot }; 10284943d6fSEmmanuel Vadot 103c66ec88fSEmmanuel Vadot apb: bus@fe000000 { 104c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 105c66ec88fSEmmanuel Vadot reg = <0x0 0xfe000000 0x0 0x1000000>; 106c66ec88fSEmmanuel Vadot #address-cells = <2>; 107c66ec88fSEmmanuel Vadot #size-cells = <2>; 108c66ec88fSEmmanuel Vadot ranges = <0x0 0x0 0x0 0xfe000000 0x0 0x1000000>; 109c66ec88fSEmmanuel Vadot 110c66ec88fSEmmanuel Vadot reset: reset-controller@0 { 111c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-a1-reset"; 112c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x0 0x8c>; 113c66ec88fSEmmanuel Vadot #reset-cells = <1>; 114c66ec88fSEmmanuel Vadot }; 115c66ec88fSEmmanuel Vadot 1162eb4d8dcSEmmanuel Vadot periphs_pinctrl: pinctrl@400 { 117c66ec88fSEmmanuel Vadot compatible = "amlogic,meson-a1-periphs-pinctrl"; 118c66ec88fSEmmanuel Vadot #address-cells = <2>; 119c66ec88fSEmmanuel Vadot #size-cells = <2>; 120c66ec88fSEmmanuel Vadot ranges; 121c66ec88fSEmmanuel Vadot 1222eb4d8dcSEmmanuel Vadot gpio: bank@400 { 123c66ec88fSEmmanuel Vadot reg = <0x0 0x0400 0x0 0x003c>, 124c66ec88fSEmmanuel Vadot <0x0 0x0480 0x0 0x0118>; 125c66ec88fSEmmanuel Vadot reg-names = "mux", "gpio"; 126c66ec88fSEmmanuel Vadot gpio-controller; 127c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 128c66ec88fSEmmanuel Vadot gpio-ranges = <&periphs_pinctrl 0 0 62>; 129c66ec88fSEmmanuel Vadot }; 130c66ec88fSEmmanuel Vadot 13184943d6fSEmmanuel Vadot i2c0_f11_pins: i2c0-f11 { 13284943d6fSEmmanuel Vadot mux { 13384943d6fSEmmanuel Vadot groups = "i2c0_sck_f11", 13484943d6fSEmmanuel Vadot "i2c0_sda_f12"; 13584943d6fSEmmanuel Vadot function = "i2c0"; 13684943d6fSEmmanuel Vadot bias-pull-up; 13784943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 13884943d6fSEmmanuel Vadot }; 13984943d6fSEmmanuel Vadot }; 14084943d6fSEmmanuel Vadot 14184943d6fSEmmanuel Vadot i2c0_f9_pins: i2c0-f9 { 14284943d6fSEmmanuel Vadot mux { 14384943d6fSEmmanuel Vadot groups = "i2c0_sck_f9", 14484943d6fSEmmanuel Vadot "i2c0_sda_f10"; 14584943d6fSEmmanuel Vadot function = "i2c0"; 14684943d6fSEmmanuel Vadot bias-pull-up; 14784943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 14884943d6fSEmmanuel Vadot }; 14984943d6fSEmmanuel Vadot }; 15084943d6fSEmmanuel Vadot 15184943d6fSEmmanuel Vadot i2c1_x_pins: i2c1-x { 15284943d6fSEmmanuel Vadot mux { 15384943d6fSEmmanuel Vadot groups = "i2c1_sck_x", 15484943d6fSEmmanuel Vadot "i2c1_sda_x"; 15584943d6fSEmmanuel Vadot function = "i2c1"; 15684943d6fSEmmanuel Vadot bias-pull-up; 15784943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 15884943d6fSEmmanuel Vadot }; 15984943d6fSEmmanuel Vadot }; 16084943d6fSEmmanuel Vadot 16184943d6fSEmmanuel Vadot i2c1_a_pins: i2c1-a { 16284943d6fSEmmanuel Vadot mux { 16384943d6fSEmmanuel Vadot groups = "i2c1_sck_a", 16484943d6fSEmmanuel Vadot "i2c1_sda_a"; 16584943d6fSEmmanuel Vadot function = "i2c1"; 16684943d6fSEmmanuel Vadot bias-pull-up; 16784943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 16884943d6fSEmmanuel Vadot }; 16984943d6fSEmmanuel Vadot }; 17084943d6fSEmmanuel Vadot 17184943d6fSEmmanuel Vadot i2c2_x0_pins: i2c2-x0 { 17284943d6fSEmmanuel Vadot mux { 17384943d6fSEmmanuel Vadot groups = "i2c2_sck_x0", 17484943d6fSEmmanuel Vadot "i2c2_sda_x1"; 17584943d6fSEmmanuel Vadot function = "i2c2"; 17684943d6fSEmmanuel Vadot bias-pull-up; 17784943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 17884943d6fSEmmanuel Vadot }; 17984943d6fSEmmanuel Vadot }; 18084943d6fSEmmanuel Vadot 18184943d6fSEmmanuel Vadot i2c2_x15_pins: i2c2-x15 { 18284943d6fSEmmanuel Vadot mux { 18384943d6fSEmmanuel Vadot groups = "i2c2_sck_x15", 18484943d6fSEmmanuel Vadot "i2c2_sda_x16"; 18584943d6fSEmmanuel Vadot function = "i2c2"; 18684943d6fSEmmanuel Vadot bias-pull-up; 18784943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 18884943d6fSEmmanuel Vadot }; 18984943d6fSEmmanuel Vadot }; 19084943d6fSEmmanuel Vadot 19184943d6fSEmmanuel Vadot i2c2_a4_pins: i2c2-a4 { 19284943d6fSEmmanuel Vadot mux { 19384943d6fSEmmanuel Vadot groups = "i2c2_sck_a4", 19484943d6fSEmmanuel Vadot "i2c2_sda_a5"; 19584943d6fSEmmanuel Vadot function = "i2c2"; 19684943d6fSEmmanuel Vadot bias-pull-up; 19784943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 19884943d6fSEmmanuel Vadot }; 19984943d6fSEmmanuel Vadot }; 20084943d6fSEmmanuel Vadot 20184943d6fSEmmanuel Vadot i2c2_a8_pins: i2c2-a8 { 20284943d6fSEmmanuel Vadot mux { 20384943d6fSEmmanuel Vadot groups = "i2c2_sck_a8", 20484943d6fSEmmanuel Vadot "i2c2_sda_a9"; 20584943d6fSEmmanuel Vadot function = "i2c2"; 20684943d6fSEmmanuel Vadot bias-pull-up; 20784943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 20884943d6fSEmmanuel Vadot }; 20984943d6fSEmmanuel Vadot }; 21084943d6fSEmmanuel Vadot 21184943d6fSEmmanuel Vadot i2c3_x_pins: i2c3-x { 21284943d6fSEmmanuel Vadot mux { 21384943d6fSEmmanuel Vadot groups = "i2c3_sck_x", 21484943d6fSEmmanuel Vadot "i2c3_sda_x"; 21584943d6fSEmmanuel Vadot function = "i2c3"; 21684943d6fSEmmanuel Vadot bias-pull-up; 21784943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 21884943d6fSEmmanuel Vadot }; 21984943d6fSEmmanuel Vadot }; 22084943d6fSEmmanuel Vadot 22184943d6fSEmmanuel Vadot i2c3_f_pins: i2c3-f { 22284943d6fSEmmanuel Vadot mux { 22384943d6fSEmmanuel Vadot groups = "i2c3_sck_f", 22484943d6fSEmmanuel Vadot "i2c3_sda_f"; 22584943d6fSEmmanuel Vadot function = "i2c3"; 22684943d6fSEmmanuel Vadot bias-pull-up; 22784943d6fSEmmanuel Vadot drive-strength-microamp = <3000>; 22884943d6fSEmmanuel Vadot }; 22984943d6fSEmmanuel Vadot }; 23084943d6fSEmmanuel Vadot 23184943d6fSEmmanuel Vadot uart_a_pins: uart-a { 23284943d6fSEmmanuel Vadot mux { 23384943d6fSEmmanuel Vadot groups = "uart_a_tx", 23484943d6fSEmmanuel Vadot "uart_a_rx"; 23584943d6fSEmmanuel Vadot function = "uart_a"; 23684943d6fSEmmanuel Vadot }; 23784943d6fSEmmanuel Vadot }; 23884943d6fSEmmanuel Vadot 23984943d6fSEmmanuel Vadot uart_a_cts_rts_pins: uart-a-cts-rts { 24084943d6fSEmmanuel Vadot mux { 24184943d6fSEmmanuel Vadot groups = "uart_a_cts", 24284943d6fSEmmanuel Vadot "uart_a_rts"; 24384943d6fSEmmanuel Vadot function = "uart_a"; 24484943d6fSEmmanuel Vadot bias-pull-down; 24584943d6fSEmmanuel Vadot }; 24684943d6fSEmmanuel Vadot }; 24784943d6fSEmmanuel Vadot 24884943d6fSEmmanuel Vadot sdio_pins: sdio { 24984943d6fSEmmanuel Vadot mux0 { 25084943d6fSEmmanuel Vadot groups = "sdcard_d0_x", 25184943d6fSEmmanuel Vadot "sdcard_d1_x", 25284943d6fSEmmanuel Vadot "sdcard_d2_x", 25384943d6fSEmmanuel Vadot "sdcard_d3_x", 25484943d6fSEmmanuel Vadot "sdcard_cmd_x"; 25584943d6fSEmmanuel Vadot function = "sdcard"; 25684943d6fSEmmanuel Vadot bias-pull-up; 25784943d6fSEmmanuel Vadot }; 25884943d6fSEmmanuel Vadot 25984943d6fSEmmanuel Vadot mux1 { 26084943d6fSEmmanuel Vadot groups = "sdcard_clk_x"; 26184943d6fSEmmanuel Vadot function = "sdcard"; 26284943d6fSEmmanuel Vadot bias-disable; 26384943d6fSEmmanuel Vadot }; 26484943d6fSEmmanuel Vadot }; 26584943d6fSEmmanuel Vadot 26684943d6fSEmmanuel Vadot sdio_clk_gate_pins: sdio-clk-gate { 26784943d6fSEmmanuel Vadot mux { 26884943d6fSEmmanuel Vadot groups = "sdcard_clk_x"; 26984943d6fSEmmanuel Vadot function = "sdcard"; 27084943d6fSEmmanuel Vadot bias-pull-down; 27184943d6fSEmmanuel Vadot }; 27284943d6fSEmmanuel Vadot }; 27384943d6fSEmmanuel Vadot 27484943d6fSEmmanuel Vadot spifc_pins: spifc { 27584943d6fSEmmanuel Vadot mux { 27684943d6fSEmmanuel Vadot groups = "spif_mo", 27784943d6fSEmmanuel Vadot "spif_mi", 27884943d6fSEmmanuel Vadot "spif_clk", 27984943d6fSEmmanuel Vadot "spif_cs", 28084943d6fSEmmanuel Vadot "spif_hold_n", 28184943d6fSEmmanuel Vadot "spif_wp_n"; 28284943d6fSEmmanuel Vadot function = "spif"; 28384943d6fSEmmanuel Vadot }; 28484943d6fSEmmanuel Vadot }; 28584943d6fSEmmanuel Vadot }; 28684943d6fSEmmanuel Vadot 28784943d6fSEmmanuel Vadot gpio_intc: interrupt-controller@440 { 28884943d6fSEmmanuel Vadot compatible = "amlogic,meson-a1-gpio-intc", 28984943d6fSEmmanuel Vadot "amlogic,meson-gpio-intc"; 29084943d6fSEmmanuel Vadot reg = <0x0 0x0440 0x0 0x14>; 29184943d6fSEmmanuel Vadot interrupt-controller; 29284943d6fSEmmanuel Vadot #interrupt-cells = <2>; 29384943d6fSEmmanuel Vadot amlogic,channel-interrupts = 29484943d6fSEmmanuel Vadot <49 50 51 52 53 54 55 56>; 29584943d6fSEmmanuel Vadot }; 29684943d6fSEmmanuel Vadot 29784943d6fSEmmanuel Vadot clkc_periphs: clock-controller@800 { 29884943d6fSEmmanuel Vadot compatible = "amlogic,a1-peripherals-clkc"; 29984943d6fSEmmanuel Vadot reg = <0 0x800 0 0x104>; 30084943d6fSEmmanuel Vadot #clock-cells = <1>; 30184943d6fSEmmanuel Vadot clocks = <&clkc_pll CLKID_FCLK_DIV2>, 30284943d6fSEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV3>, 30384943d6fSEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV5>, 30484943d6fSEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV7>, 30584943d6fSEmmanuel Vadot <&clkc_pll CLKID_HIFI_PLL>, 30684943d6fSEmmanuel Vadot <&xtal>; 30784943d6fSEmmanuel Vadot clock-names = "fclk_div2", "fclk_div3", 30884943d6fSEmmanuel Vadot "fclk_div5", "fclk_div7", 30984943d6fSEmmanuel Vadot "hifi_pll", "xtal"; 31084943d6fSEmmanuel Vadot }; 31184943d6fSEmmanuel Vadot 31284943d6fSEmmanuel Vadot i2c0: i2c@1400 { 31384943d6fSEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 31484943d6fSEmmanuel Vadot status = "disabled"; 31584943d6fSEmmanuel Vadot reg = <0x0 0x1400 0x0 0x20>; 31684943d6fSEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>; 31784943d6fSEmmanuel Vadot #address-cells = <1>; 31884943d6fSEmmanuel Vadot #size-cells = <0>; 31984943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_A>; 32084943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_I2C_ID>; 321c66ec88fSEmmanuel Vadot }; 322c66ec88fSEmmanuel Vadot 323c66ec88fSEmmanuel Vadot uart_AO: serial@1c00 { 324aa1a8ff2SEmmanuel Vadot compatible = "amlogic,meson-a1-uart", 325c66ec88fSEmmanuel Vadot "amlogic,meson-ao-uart"; 326c66ec88fSEmmanuel Vadot reg = <0x0 0x1c00 0x0 0x18>; 327c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>; 328c66ec88fSEmmanuel Vadot clocks = <&xtal>, <&xtal>, <&xtal>; 329c66ec88fSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 330c66ec88fSEmmanuel Vadot status = "disabled"; 331c66ec88fSEmmanuel Vadot }; 332c66ec88fSEmmanuel Vadot 333c66ec88fSEmmanuel Vadot uart_AO_B: serial@2000 { 334aa1a8ff2SEmmanuel Vadot compatible = "amlogic,meson-a1-uart", 335c66ec88fSEmmanuel Vadot "amlogic,meson-ao-uart"; 336c66ec88fSEmmanuel Vadot reg = <0x0 0x2000 0x0 0x18>; 337c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>; 338c66ec88fSEmmanuel Vadot clocks = <&xtal>, <&xtal>, <&xtal>; 339c66ec88fSEmmanuel Vadot clock-names = "xtal", "pclk", "baud"; 340c66ec88fSEmmanuel Vadot status = "disabled"; 341c66ec88fSEmmanuel Vadot }; 342fac71e4eSEmmanuel Vadot 34384943d6fSEmmanuel Vadot saradc: adc@2c00 { 34484943d6fSEmmanuel Vadot compatible = "amlogic,meson-g12a-saradc", 34584943d6fSEmmanuel Vadot "amlogic,meson-saradc"; 34684943d6fSEmmanuel Vadot reg = <0x0 0x2c00 0x0 0x48>; 34784943d6fSEmmanuel Vadot #io-channel-cells = <1>; 34884943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_I2C_ID>; 34984943d6fSEmmanuel Vadot interrupts = <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>; 35084943d6fSEmmanuel Vadot clocks = <&xtal>, 35184943d6fSEmmanuel Vadot <&clkc_periphs CLKID_SARADC_EN>, 35284943d6fSEmmanuel Vadot <&clkc_periphs CLKID_SARADC>, 35384943d6fSEmmanuel Vadot <&clkc_periphs CLKID_SARADC_SEL>; 35484943d6fSEmmanuel Vadot clock-names = "clkin", "core", 35584943d6fSEmmanuel Vadot "adc_clk", "adc_sel"; 35684943d6fSEmmanuel Vadot status = "disabled"; 35784943d6fSEmmanuel Vadot }; 35884943d6fSEmmanuel Vadot 35984943d6fSEmmanuel Vadot i2c1: i2c@5c00 { 36084943d6fSEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 36184943d6fSEmmanuel Vadot status = "disabled"; 36284943d6fSEmmanuel Vadot reg = <0x0 0x5c00 0x0 0x20>; 36384943d6fSEmmanuel Vadot interrupts = <GIC_SPI 68 IRQ_TYPE_EDGE_RISING>; 36484943d6fSEmmanuel Vadot #address-cells = <1>; 36584943d6fSEmmanuel Vadot #size-cells = <0>; 36684943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_B>; 36784943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_I2C_ID>; 36884943d6fSEmmanuel Vadot }; 36984943d6fSEmmanuel Vadot 37084943d6fSEmmanuel Vadot i2c2: i2c@6800 { 37184943d6fSEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 37284943d6fSEmmanuel Vadot status = "disabled"; 37384943d6fSEmmanuel Vadot reg = <0x0 0x6800 0x0 0x20>; 37484943d6fSEmmanuel Vadot interrupts = <GIC_SPI 76 IRQ_TYPE_EDGE_RISING>; 37584943d6fSEmmanuel Vadot #address-cells = <1>; 37684943d6fSEmmanuel Vadot #size-cells = <0>; 37784943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_C>; 37884943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_I2C_ID>; 37984943d6fSEmmanuel Vadot }; 38084943d6fSEmmanuel Vadot 38184943d6fSEmmanuel Vadot i2c3: i2c@6c00 { 38284943d6fSEmmanuel Vadot compatible = "amlogic,meson-axg-i2c"; 38384943d6fSEmmanuel Vadot status = "disabled"; 38484943d6fSEmmanuel Vadot reg = <0x0 0x6c00 0x0 0x20>; 38584943d6fSEmmanuel Vadot interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>; 38684943d6fSEmmanuel Vadot #address-cells = <1>; 38784943d6fSEmmanuel Vadot #size-cells = <0>; 38884943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_I2C_M_D>; 38984943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_I2C_ID>; 39084943d6fSEmmanuel Vadot }; 39184943d6fSEmmanuel Vadot 39284943d6fSEmmanuel Vadot usb2_phy1: phy@4000 { 39384943d6fSEmmanuel Vadot compatible = "amlogic,a1-usb2-phy"; 39484943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_USB_PHY_IN>; 39584943d6fSEmmanuel Vadot clock-names = "xtal"; 39684943d6fSEmmanuel Vadot reg = <0x0 0x4000 0x0 0x60>; 39784943d6fSEmmanuel Vadot resets = <&reset RESET_USBPHY>; 39884943d6fSEmmanuel Vadot reset-names = "phy"; 39984943d6fSEmmanuel Vadot #phy-cells = <0>; 40084943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_USB_ID>; 40184943d6fSEmmanuel Vadot }; 40284943d6fSEmmanuel Vadot 403*0e8011faSEmmanuel Vadot cpu_temp: temperature-sensor@4c00 { 404*0e8011faSEmmanuel Vadot compatible = "amlogic,a1-cpu-thermal"; 405*0e8011faSEmmanuel Vadot reg = <0x0 0x4c00 0x0 0x50>; 406*0e8011faSEmmanuel Vadot interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 407*0e8011faSEmmanuel Vadot clocks = <&clkc_periphs CLKID_TS>; 408*0e8011faSEmmanuel Vadot assigned-clocks = <&clkc_periphs CLKID_TS>; 409*0e8011faSEmmanuel Vadot assigned-clock-rates = <500000>; 410*0e8011faSEmmanuel Vadot #thermal-sensor-cells = <0>; 411*0e8011faSEmmanuel Vadot amlogic,ao-secure = <&sec_AO>; 412*0e8011faSEmmanuel Vadot }; 413*0e8011faSEmmanuel Vadot 41484943d6fSEmmanuel Vadot hwrng: rng@5118 { 41584943d6fSEmmanuel Vadot compatible = "amlogic,meson-rng"; 41684943d6fSEmmanuel Vadot reg = <0x0 0x5118 0x0 0x4>; 41784943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_OTP_ID>; 41884943d6fSEmmanuel Vadot }; 41984943d6fSEmmanuel Vadot 42084943d6fSEmmanuel Vadot sec_AO: ao-secure@5a20 { 42184943d6fSEmmanuel Vadot compatible = "amlogic,meson-gx-ao-secure", "syscon"; 42284943d6fSEmmanuel Vadot reg = <0x0 0x5a20 0x0 0x140>; 42384943d6fSEmmanuel Vadot amlogic,has-chip-id; 42484943d6fSEmmanuel Vadot }; 42584943d6fSEmmanuel Vadot 42684943d6fSEmmanuel Vadot clkc_pll: pll-clock-controller@7c80 { 42784943d6fSEmmanuel Vadot compatible = "amlogic,a1-pll-clkc"; 42884943d6fSEmmanuel Vadot reg = <0 0x7c80 0 0x18c>; 42984943d6fSEmmanuel Vadot #clock-cells = <1>; 43084943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_FIXPLL_IN>, 43184943d6fSEmmanuel Vadot <&clkc_periphs CLKID_HIFIPLL_IN>; 43284943d6fSEmmanuel Vadot clock-names = "fixpll_in", "hifipll_in"; 43384943d6fSEmmanuel Vadot }; 43484943d6fSEmmanuel Vadot 435*0e8011faSEmmanuel Vadot sd_emmc: mmc@10000 { 43684943d6fSEmmanuel Vadot compatible = "amlogic,meson-axg-mmc"; 43784943d6fSEmmanuel Vadot reg = <0x0 0x10000 0x0 0x800>; 43884943d6fSEmmanuel Vadot interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 43984943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_SD_EMMC_A>, 44084943d6fSEmmanuel Vadot <&clkc_periphs CLKID_SD_EMMC>, 44184943d6fSEmmanuel Vadot <&clkc_pll CLKID_FCLK_DIV2>; 44284943d6fSEmmanuel Vadot clock-names = "core", 44384943d6fSEmmanuel Vadot "clkin0", 44484943d6fSEmmanuel Vadot "clkin1"; 44584943d6fSEmmanuel Vadot assigned-clocks = <&clkc_periphs CLKID_SD_EMMC_SEL2>; 44684943d6fSEmmanuel Vadot assigned-clock-parents = <&xtal>; 44784943d6fSEmmanuel Vadot resets = <&reset RESET_SD_EMMC_A>; 44884943d6fSEmmanuel Vadot power-domains = <&pwrc PWRC_SD_EMMC_ID>; 44984943d6fSEmmanuel Vadot status = "disabled"; 45084943d6fSEmmanuel Vadot }; 45184943d6fSEmmanuel Vadot }; 45284943d6fSEmmanuel Vadot 45384943d6fSEmmanuel Vadot usb: usb@fe004400 { 45484943d6fSEmmanuel Vadot status = "disabled"; 45584943d6fSEmmanuel Vadot compatible = "amlogic,meson-a1-usb-ctrl"; 45684943d6fSEmmanuel Vadot reg = <0x0 0xfe004400 0x0 0xa0>; 45784943d6fSEmmanuel Vadot interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 45884943d6fSEmmanuel Vadot #address-cells = <2>; 45984943d6fSEmmanuel Vadot #size-cells = <2>; 46084943d6fSEmmanuel Vadot ranges; 46184943d6fSEmmanuel Vadot 46284943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_USB_CTRL>, 46384943d6fSEmmanuel Vadot <&clkc_periphs CLKID_USB_BUS>, 46484943d6fSEmmanuel Vadot <&clkc_periphs CLKID_USB_CTRL_IN>; 46584943d6fSEmmanuel Vadot clock-names = "usb_ctrl", "usb_bus", "xtal_usb_ctrl"; 46601950c46SEmmanuel Vadot assigned-clocks = <&clkc_periphs CLKID_USB_BUS>; 46701950c46SEmmanuel Vadot assigned-clock-rates = <64000000>; 46884943d6fSEmmanuel Vadot resets = <&reset RESET_USBCTRL>; 46984943d6fSEmmanuel Vadot 47084943d6fSEmmanuel Vadot dr_mode = "otg"; 47184943d6fSEmmanuel Vadot 47284943d6fSEmmanuel Vadot phys = <&usb2_phy1>; 47384943d6fSEmmanuel Vadot phy-names = "usb2-phy1"; 47484943d6fSEmmanuel Vadot 47584943d6fSEmmanuel Vadot dwc3: usb@ff400000 { 47684943d6fSEmmanuel Vadot compatible = "snps,dwc3"; 47784943d6fSEmmanuel Vadot reg = <0x0 0xff400000 0x0 0x100000>; 47884943d6fSEmmanuel Vadot interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 47984943d6fSEmmanuel Vadot dr_mode = "host"; 48084943d6fSEmmanuel Vadot snps,dis_u2_susphy_quirk; 48184943d6fSEmmanuel Vadot snps,quirk-frame-length-adjustment = <0x20>; 48284943d6fSEmmanuel Vadot snps,parkmode-disable-ss-quirk; 48384943d6fSEmmanuel Vadot }; 48484943d6fSEmmanuel Vadot 48584943d6fSEmmanuel Vadot dwc2: usb@ff500000 { 48684943d6fSEmmanuel Vadot compatible = "amlogic,meson-a1-usb", "snps,dwc2"; 48784943d6fSEmmanuel Vadot reg = <0x0 0xff500000 0x0 0x40000>; 48884943d6fSEmmanuel Vadot interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 48984943d6fSEmmanuel Vadot phys = <&usb2_phy1>; 49084943d6fSEmmanuel Vadot phy-names = "usb2-phy"; 49184943d6fSEmmanuel Vadot clocks = <&clkc_periphs CLKID_USB_PHY>; 49284943d6fSEmmanuel Vadot clock-names = "otg"; 49384943d6fSEmmanuel Vadot dr_mode = "peripheral"; 49484943d6fSEmmanuel Vadot g-rx-fifo-size = <192>; 49584943d6fSEmmanuel Vadot g-np-tx-fifo-size = <128>; 49684943d6fSEmmanuel Vadot g-tx-fifo-size = <128 128 16 16 16>; 497fac71e4eSEmmanuel Vadot }; 498c66ec88fSEmmanuel Vadot }; 499c66ec88fSEmmanuel Vadot 500c66ec88fSEmmanuel Vadot gic: interrupt-controller@ff901000 { 501c66ec88fSEmmanuel Vadot compatible = "arm,gic-400"; 502c66ec88fSEmmanuel Vadot reg = <0x0 0xff901000 0x0 0x1000>, 503c66ec88fSEmmanuel Vadot <0x0 0xff902000 0x0 0x2000>, 504c66ec88fSEmmanuel Vadot <0x0 0xff904000 0x0 0x2000>, 505c66ec88fSEmmanuel Vadot <0x0 0xff906000 0x0 0x2000>; 506c66ec88fSEmmanuel Vadot interrupt-controller; 507c66ec88fSEmmanuel Vadot interrupts = <GIC_PPI 9 508c66ec88fSEmmanuel Vadot (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>; 509c66ec88fSEmmanuel Vadot #interrupt-cells = <3>; 510c66ec88fSEmmanuel Vadot #address-cells = <0>; 511c66ec88fSEmmanuel Vadot }; 512c66ec88fSEmmanuel Vadot }; 513c66ec88fSEmmanuel Vadot 514c66ec88fSEmmanuel Vadot timer { 515c66ec88fSEmmanuel Vadot compatible = "arm,armv8-timer"; 516c66ec88fSEmmanuel Vadot interrupts = <GIC_PPI 13 517c66ec88fSEmmanuel Vadot (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 518c66ec88fSEmmanuel Vadot <GIC_PPI 14 519c66ec88fSEmmanuel Vadot (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 520c66ec88fSEmmanuel Vadot <GIC_PPI 11 521c66ec88fSEmmanuel Vadot (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, 522c66ec88fSEmmanuel Vadot <GIC_PPI 10 523c66ec88fSEmmanuel Vadot (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>; 524c66ec88fSEmmanuel Vadot }; 525c66ec88fSEmmanuel Vadot 526c66ec88fSEmmanuel Vadot xtal: xtal-clk { 527c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 528c66ec88fSEmmanuel Vadot clock-frequency = <24000000>; 529c66ec88fSEmmanuel Vadot clock-output-names = "xtal"; 530c66ec88fSEmmanuel Vadot #clock-cells = <0>; 531c66ec88fSEmmanuel Vadot }; 532c66ec88fSEmmanuel Vadot}; 533