1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright (c) 2020 Microchip Technology Inc. and its subsidiaries. 4c66ec88fSEmmanuel Vadot */ 5c66ec88fSEmmanuel Vadot 6c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 7c66ec88fSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 86be33864SEmmanuel Vadot#include <dt-bindings/clock/microchip,sparx5.h> 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel Vadot/ { 11c66ec88fSEmmanuel Vadot compatible = "microchip,sparx5"; 12c66ec88fSEmmanuel Vadot interrupt-parent = <&gic>; 13c66ec88fSEmmanuel Vadot #address-cells = <2>; 14c66ec88fSEmmanuel Vadot #size-cells = <1>; 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadot aliases { 176be33864SEmmanuel Vadot spi0 = &spi0; 18c66ec88fSEmmanuel Vadot serial0 = &uart0; 19c66ec88fSEmmanuel Vadot serial1 = &uart1; 20c66ec88fSEmmanuel Vadot }; 21c66ec88fSEmmanuel Vadot 22c66ec88fSEmmanuel Vadot chosen { 23c66ec88fSEmmanuel Vadot stdout-path = "serial0:115200n8"; 24c66ec88fSEmmanuel Vadot }; 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot cpus { 27f126890aSEmmanuel Vadot #address-cells = <1>; 28c66ec88fSEmmanuel Vadot #size-cells = <0>; 29c66ec88fSEmmanuel Vadot cpu-map { 30c66ec88fSEmmanuel Vadot cluster0 { 31c66ec88fSEmmanuel Vadot core0 { 32c66ec88fSEmmanuel Vadot cpu = <&cpu0>; 33c66ec88fSEmmanuel Vadot }; 34c66ec88fSEmmanuel Vadot core1 { 35c66ec88fSEmmanuel Vadot cpu = <&cpu1>; 36c66ec88fSEmmanuel Vadot }; 37c66ec88fSEmmanuel Vadot }; 38c66ec88fSEmmanuel Vadot }; 39c66ec88fSEmmanuel Vadot cpu0: cpu@0 { 40c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 41c66ec88fSEmmanuel Vadot device_type = "cpu"; 42f126890aSEmmanuel Vadot reg = <0x0>; 43c66ec88fSEmmanuel Vadot enable-method = "psci"; 44c66ec88fSEmmanuel Vadot next-level-cache = <&L2_0>; 45c66ec88fSEmmanuel Vadot }; 46c66ec88fSEmmanuel Vadot cpu1: cpu@1 { 47c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53"; 48c66ec88fSEmmanuel Vadot device_type = "cpu"; 49f126890aSEmmanuel Vadot reg = <0x1>; 50c66ec88fSEmmanuel Vadot enable-method = "psci"; 51c66ec88fSEmmanuel Vadot next-level-cache = <&L2_0>; 52c66ec88fSEmmanuel Vadot }; 53c66ec88fSEmmanuel Vadot L2_0: l2-cache0 { 54c66ec88fSEmmanuel Vadot compatible = "cache"; 55f126890aSEmmanuel Vadot cache-level = <2>; 56f126890aSEmmanuel Vadot cache-unified; 57c66ec88fSEmmanuel Vadot }; 58c66ec88fSEmmanuel Vadot }; 59c66ec88fSEmmanuel Vadot 60c66ec88fSEmmanuel Vadot arm-pmu { 61c66ec88fSEmmanuel Vadot compatible = "arm,cortex-a53-pmu"; 62c66ec88fSEmmanuel Vadot interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 63c66ec88fSEmmanuel Vadot interrupt-affinity = <&cpu0>, <&cpu1>; 64c66ec88fSEmmanuel Vadot }; 65c66ec88fSEmmanuel Vadot 66f126890aSEmmanuel Vadot psci: psci { 67c66ec88fSEmmanuel Vadot compatible = "arm,psci-0.2"; 68c66ec88fSEmmanuel Vadot method = "smc"; 69c66ec88fSEmmanuel Vadot }; 70c66ec88fSEmmanuel Vadot 71c66ec88fSEmmanuel Vadot timer { 72c66ec88fSEmmanuel Vadot compatible = "arm,armv8-timer"; 73c66ec88fSEmmanuel Vadot interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 74c66ec88fSEmmanuel Vadot <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 75c66ec88fSEmmanuel Vadot <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 76c66ec88fSEmmanuel Vadot <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 77c66ec88fSEmmanuel Vadot }; 78c66ec88fSEmmanuel Vadot 79c66ec88fSEmmanuel Vadot lcpll_clk: lcpll-clk { 80c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 81c66ec88fSEmmanuel Vadot #clock-cells = <0>; 82c66ec88fSEmmanuel Vadot clock-frequency = <2500000000>; 83c66ec88fSEmmanuel Vadot }; 84c66ec88fSEmmanuel Vadot 85c66ec88fSEmmanuel Vadot clks: clock-controller@61110000c { 86c66ec88fSEmmanuel Vadot compatible = "microchip,sparx5-dpll"; 87c66ec88fSEmmanuel Vadot #clock-cells = <1>; 88c66ec88fSEmmanuel Vadot clocks = <&lcpll_clk>; 89c66ec88fSEmmanuel Vadot reg = <0x6 0x1110000c 0x24>; 90c66ec88fSEmmanuel Vadot }; 91c66ec88fSEmmanuel Vadot 92c66ec88fSEmmanuel Vadot ahb_clk: ahb-clk { 93c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 94c66ec88fSEmmanuel Vadot #clock-cells = <0>; 95c66ec88fSEmmanuel Vadot clock-frequency = <250000000>; 96c66ec88fSEmmanuel Vadot }; 97c66ec88fSEmmanuel Vadot 98c66ec88fSEmmanuel Vadot sys_clk: sys-clk { 99c66ec88fSEmmanuel Vadot compatible = "fixed-clock"; 100c66ec88fSEmmanuel Vadot #clock-cells = <0>; 101c66ec88fSEmmanuel Vadot clock-frequency = <625000000>; 102c66ec88fSEmmanuel Vadot }; 103c66ec88fSEmmanuel Vadot 104c66ec88fSEmmanuel Vadot axi: axi@600000000 { 105c66ec88fSEmmanuel Vadot compatible = "simple-bus"; 106c66ec88fSEmmanuel Vadot #address-cells = <2>; 107c66ec88fSEmmanuel Vadot #size-cells = <1>; 108c66ec88fSEmmanuel Vadot ranges; 109c66ec88fSEmmanuel Vadot 110c66ec88fSEmmanuel Vadot gic: interrupt-controller@600300000 { 111c66ec88fSEmmanuel Vadot compatible = "arm,gic-v3"; 112c66ec88fSEmmanuel Vadot #interrupt-cells = <3>; 113c66ec88fSEmmanuel Vadot #address-cells = <2>; 114c66ec88fSEmmanuel Vadot #size-cells = <2>; 115c66ec88fSEmmanuel Vadot interrupt-controller; 116c66ec88fSEmmanuel Vadot reg = <0x6 0x00300000 0x10000>, /* GIC Dist */ 117c66ec88fSEmmanuel Vadot <0x6 0x00340000 0xc0000>, /* GICR */ 118c66ec88fSEmmanuel Vadot <0x6 0x00200000 0x2000>, /* GICC */ 119c66ec88fSEmmanuel Vadot <0x6 0x00210000 0x2000>, /* GICV */ 120c66ec88fSEmmanuel Vadot <0x6 0x00220000 0x2000>; /* GICH */ 121c66ec88fSEmmanuel Vadot interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 122c66ec88fSEmmanuel Vadot }; 123c66ec88fSEmmanuel Vadot 1246be33864SEmmanuel Vadot cpu_ctrl: syscon@600000000 { 1256be33864SEmmanuel Vadot compatible = "microchip,sparx5-cpu-syscon", "syscon", 1266be33864SEmmanuel Vadot "simple-mfd"; 1276be33864SEmmanuel Vadot reg = <0x6 0x00000000 0xd0>; 1286be33864SEmmanuel Vadot mux: mux-controller { 1296be33864SEmmanuel Vadot compatible = "mmio-mux"; 1306be33864SEmmanuel Vadot #mux-control-cells = <0>; 1316be33864SEmmanuel Vadot /* 1326be33864SEmmanuel Vadot * SI_OWNER and SI2_OWNER in GENERAL_CTRL 1336be33864SEmmanuel Vadot * SPI: value 9 - (SIMC,SIBM) = 0b1001 1346be33864SEmmanuel Vadot * SPI2: value 6 - (SIBM,SIMC) = 0b0110 1356be33864SEmmanuel Vadot */ 1366be33864SEmmanuel Vadot mux-reg-masks = <0x88 0xf0>; 1376be33864SEmmanuel Vadot }; 1386be33864SEmmanuel Vadot }; 1396be33864SEmmanuel Vadot 1405956d97fSEmmanuel Vadot reset: reset-controller@611010008 { 1415956d97fSEmmanuel Vadot compatible = "microchip,sparx5-switch-reset"; 1425def4c47SEmmanuel Vadot reg = <0x6 0x11010008 0x4>; 1435956d97fSEmmanuel Vadot reg-names = "gcb"; 1445956d97fSEmmanuel Vadot #reset-cells = <1>; 1455956d97fSEmmanuel Vadot cpu-syscon = <&cpu_ctrl>; 1465def4c47SEmmanuel Vadot }; 1475def4c47SEmmanuel Vadot 148c66ec88fSEmmanuel Vadot uart0: serial@600100000 { 149c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart_pins>; 150c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 151c66ec88fSEmmanuel Vadot compatible = "ns16550a"; 152c66ec88fSEmmanuel Vadot reg = <0x6 0x00100000 0x20>; 153c66ec88fSEmmanuel Vadot clocks = <&ahb_clk>; 154c66ec88fSEmmanuel Vadot reg-io-width = <4>; 155c66ec88fSEmmanuel Vadot reg-shift = <2>; 156c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 157c66ec88fSEmmanuel Vadot 158c66ec88fSEmmanuel Vadot status = "disabled"; 159c66ec88fSEmmanuel Vadot }; 160c66ec88fSEmmanuel Vadot 161c66ec88fSEmmanuel Vadot uart1: serial@600102000 { 162c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart2_pins>; 163c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 164c66ec88fSEmmanuel Vadot compatible = "ns16550a"; 165c66ec88fSEmmanuel Vadot reg = <0x6 0x00102000 0x20>; 166c66ec88fSEmmanuel Vadot clocks = <&ahb_clk>; 167c66ec88fSEmmanuel Vadot reg-io-width = <4>; 168c66ec88fSEmmanuel Vadot reg-shift = <2>; 169c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 170c66ec88fSEmmanuel Vadot 171c66ec88fSEmmanuel Vadot status = "disabled"; 172c66ec88fSEmmanuel Vadot }; 173c66ec88fSEmmanuel Vadot 1746be33864SEmmanuel Vadot spi0: spi@600104000 { 1756be33864SEmmanuel Vadot #address-cells = <1>; 1766be33864SEmmanuel Vadot #size-cells = <0>; 1776be33864SEmmanuel Vadot compatible = "microchip,sparx5-spi"; 1786be33864SEmmanuel Vadot reg = <0x6 0x00104000 0x40>; 1796be33864SEmmanuel Vadot num-cs = <16>; 1806be33864SEmmanuel Vadot reg-io-width = <4>; 1816be33864SEmmanuel Vadot reg-shift = <2>; 1826be33864SEmmanuel Vadot clocks = <&ahb_clk>; 1836be33864SEmmanuel Vadot interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 1846be33864SEmmanuel Vadot status = "disabled"; 1856be33864SEmmanuel Vadot }; 1866be33864SEmmanuel Vadot 187c66ec88fSEmmanuel Vadot timer1: timer@600105000 { 188c66ec88fSEmmanuel Vadot compatible = "snps,dw-apb-timer"; 189c66ec88fSEmmanuel Vadot reg = <0x6 0x00105000 0x1000>; 190c66ec88fSEmmanuel Vadot clocks = <&ahb_clk>; 191c66ec88fSEmmanuel Vadot clock-names = "timer"; 192c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 193c66ec88fSEmmanuel Vadot }; 194c66ec88fSEmmanuel Vadot 1956be33864SEmmanuel Vadot sdhci0: mmc@600800000 { 1966be33864SEmmanuel Vadot compatible = "microchip,dw-sparx5-sdhci"; 1976be33864SEmmanuel Vadot status = "disabled"; 1986be33864SEmmanuel Vadot reg = <0x6 0x00800000 0x1000>; 1996be33864SEmmanuel Vadot pinctrl-0 = <&emmc_pins>; 2006be33864SEmmanuel Vadot pinctrl-names = "default"; 2016be33864SEmmanuel Vadot clocks = <&clks CLK_ID_AUX1>; 2026be33864SEmmanuel Vadot clock-names = "core"; 2036be33864SEmmanuel Vadot assigned-clocks = <&clks CLK_ID_AUX1>; 2046be33864SEmmanuel Vadot assigned-clock-rates = <800000000>; 2056be33864SEmmanuel Vadot interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 2066be33864SEmmanuel Vadot bus-width = <8>; 2076be33864SEmmanuel Vadot }; 2086be33864SEmmanuel Vadot 209c66ec88fSEmmanuel Vadot gpio: pinctrl@6110101e0 { 210c66ec88fSEmmanuel Vadot compatible = "microchip,sparx5-pinctrl"; 211c66ec88fSEmmanuel Vadot reg = <0x6 0x110101e0 0x90>, <0x6 0x10508010 0x100>; 212c66ec88fSEmmanuel Vadot gpio-controller; 213c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 214c66ec88fSEmmanuel Vadot gpio-ranges = <&gpio 0 0 64>; 215c66ec88fSEmmanuel Vadot interrupt-controller; 216c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 217c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 218c66ec88fSEmmanuel Vadot 2196be33864SEmmanuel Vadot cs1_pins: cs1-pins { 2206be33864SEmmanuel Vadot pins = "GPIO_16"; 2216be33864SEmmanuel Vadot function = "si"; 2226be33864SEmmanuel Vadot }; 2236be33864SEmmanuel Vadot 2246be33864SEmmanuel Vadot cs2_pins: cs2-pins { 2256be33864SEmmanuel Vadot pins = "GPIO_17"; 2266be33864SEmmanuel Vadot function = "si"; 2276be33864SEmmanuel Vadot }; 2286be33864SEmmanuel Vadot 2296be33864SEmmanuel Vadot cs3_pins: cs3-pins { 2306be33864SEmmanuel Vadot pins = "GPIO_18"; 2316be33864SEmmanuel Vadot function = "si"; 2326be33864SEmmanuel Vadot }; 2336be33864SEmmanuel Vadot 2346be33864SEmmanuel Vadot si2_pins: si2-pins { 2356be33864SEmmanuel Vadot pins = "GPIO_39", "GPIO_40", "GPIO_41"; 2366be33864SEmmanuel Vadot function = "si2"; 2376be33864SEmmanuel Vadot }; 2386be33864SEmmanuel Vadot 2395def4c47SEmmanuel Vadot sgpio0_pins: sgpio-pins { 2405def4c47SEmmanuel Vadot pins = "GPIO_0", "GPIO_1", "GPIO_2", "GPIO_3"; 2415def4c47SEmmanuel Vadot function = "sg0"; 2425def4c47SEmmanuel Vadot }; 2435def4c47SEmmanuel Vadot 2445def4c47SEmmanuel Vadot sgpio1_pins: sgpio1-pins { 2455def4c47SEmmanuel Vadot pins = "GPIO_4", "GPIO_5", "GPIO_12", "GPIO_13"; 2465def4c47SEmmanuel Vadot function = "sg1"; 2475def4c47SEmmanuel Vadot }; 2485def4c47SEmmanuel Vadot 2495def4c47SEmmanuel Vadot sgpio2_pins: sgpio2-pins { 2505def4c47SEmmanuel Vadot pins = "GPIO_30", "GPIO_31", "GPIO_32", 2515def4c47SEmmanuel Vadot "GPIO_33"; 2525def4c47SEmmanuel Vadot function = "sg2"; 2535def4c47SEmmanuel Vadot }; 2545def4c47SEmmanuel Vadot 255c66ec88fSEmmanuel Vadot uart_pins: uart-pins { 256c66ec88fSEmmanuel Vadot pins = "GPIO_10", "GPIO_11"; 257c66ec88fSEmmanuel Vadot function = "uart"; 258c66ec88fSEmmanuel Vadot }; 259c66ec88fSEmmanuel Vadot 260c66ec88fSEmmanuel Vadot uart2_pins: uart2-pins { 261c66ec88fSEmmanuel Vadot pins = "GPIO_26", "GPIO_27"; 262c66ec88fSEmmanuel Vadot function = "uart2"; 263c66ec88fSEmmanuel Vadot }; 264c66ec88fSEmmanuel Vadot 265c66ec88fSEmmanuel Vadot i2c_pins: i2c-pins { 266c66ec88fSEmmanuel Vadot pins = "GPIO_14", "GPIO_15"; 267c66ec88fSEmmanuel Vadot function = "twi"; 268c66ec88fSEmmanuel Vadot }; 269c66ec88fSEmmanuel Vadot 270c66ec88fSEmmanuel Vadot i2c2_pins: i2c2-pins { 271c66ec88fSEmmanuel Vadot pins = "GPIO_28", "GPIO_29"; 272c66ec88fSEmmanuel Vadot function = "twi2"; 273c66ec88fSEmmanuel Vadot }; 2746be33864SEmmanuel Vadot 2756be33864SEmmanuel Vadot emmc_pins: emmc-pins { 2766be33864SEmmanuel Vadot pins = "GPIO_34", "GPIO_35", "GPIO_36", 2776be33864SEmmanuel Vadot "GPIO_37", "GPIO_38", "GPIO_39", 2786be33864SEmmanuel Vadot "GPIO_40", "GPIO_41", "GPIO_42", 2796be33864SEmmanuel Vadot "GPIO_43", "GPIO_44", "GPIO_45", 2806be33864SEmmanuel Vadot "GPIO_46", "GPIO_47"; 2816be33864SEmmanuel Vadot function = "emmc"; 2826be33864SEmmanuel Vadot }; 2835956d97fSEmmanuel Vadot 2845956d97fSEmmanuel Vadot miim1_pins: miim1-pins { 2855956d97fSEmmanuel Vadot pins = "GPIO_56", "GPIO_57"; 2865956d97fSEmmanuel Vadot function = "miim"; 2875956d97fSEmmanuel Vadot }; 2885956d97fSEmmanuel Vadot 2895956d97fSEmmanuel Vadot miim2_pins: miim2-pins { 2905956d97fSEmmanuel Vadot pins = "GPIO_58", "GPIO_59"; 2915956d97fSEmmanuel Vadot function = "miim"; 2925956d97fSEmmanuel Vadot }; 2935956d97fSEmmanuel Vadot 2945956d97fSEmmanuel Vadot miim3_pins: miim3-pins { 2955956d97fSEmmanuel Vadot pins = "GPIO_52", "GPIO_53"; 2965956d97fSEmmanuel Vadot function = "miim"; 2975956d97fSEmmanuel Vadot }; 298c66ec88fSEmmanuel Vadot }; 299c66ec88fSEmmanuel Vadot 3005def4c47SEmmanuel Vadot sgpio0: gpio@61101036c { 3015def4c47SEmmanuel Vadot #address-cells = <1>; 3025def4c47SEmmanuel Vadot #size-cells = <0>; 3035def4c47SEmmanuel Vadot compatible = "microchip,sparx5-sgpio"; 3045def4c47SEmmanuel Vadot status = "disabled"; 3055def4c47SEmmanuel Vadot clocks = <&sys_clk>; 3065def4c47SEmmanuel Vadot pinctrl-0 = <&sgpio0_pins>; 3075def4c47SEmmanuel Vadot pinctrl-names = "default"; 3085956d97fSEmmanuel Vadot resets = <&reset 0>; 3095956d97fSEmmanuel Vadot reset-names = "switch"; 3105def4c47SEmmanuel Vadot reg = <0x6 0x1101036c 0x100>; 3115def4c47SEmmanuel Vadot sgpio_in0: gpio@0 { 3125def4c47SEmmanuel Vadot compatible = "microchip,sparx5-sgpio-bank"; 3135def4c47SEmmanuel Vadot reg = <0>; 3145def4c47SEmmanuel Vadot gpio-controller; 3155def4c47SEmmanuel Vadot #gpio-cells = <3>; 3165def4c47SEmmanuel Vadot ngpios = <96>; 3175956d97fSEmmanuel Vadot interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 3185956d97fSEmmanuel Vadot interrupt-controller; 3195956d97fSEmmanuel Vadot #interrupt-cells = <3>; 3205def4c47SEmmanuel Vadot }; 3215def4c47SEmmanuel Vadot sgpio_out0: gpio@1 { 3225def4c47SEmmanuel Vadot compatible = "microchip,sparx5-sgpio-bank"; 3235def4c47SEmmanuel Vadot reg = <1>; 3245def4c47SEmmanuel Vadot gpio-controller; 3255def4c47SEmmanuel Vadot #gpio-cells = <3>; 3265def4c47SEmmanuel Vadot ngpios = <96>; 3275def4c47SEmmanuel Vadot }; 3285def4c47SEmmanuel Vadot }; 3295def4c47SEmmanuel Vadot 3305def4c47SEmmanuel Vadot sgpio1: gpio@611010484 { 3315def4c47SEmmanuel Vadot #address-cells = <1>; 3325def4c47SEmmanuel Vadot #size-cells = <0>; 3335def4c47SEmmanuel Vadot compatible = "microchip,sparx5-sgpio"; 3345def4c47SEmmanuel Vadot status = "disabled"; 3355def4c47SEmmanuel Vadot clocks = <&sys_clk>; 3365def4c47SEmmanuel Vadot pinctrl-0 = <&sgpio1_pins>; 3375def4c47SEmmanuel Vadot pinctrl-names = "default"; 3385956d97fSEmmanuel Vadot resets = <&reset 0>; 3395956d97fSEmmanuel Vadot reset-names = "switch"; 3405def4c47SEmmanuel Vadot reg = <0x6 0x11010484 0x100>; 3415def4c47SEmmanuel Vadot sgpio_in1: gpio@0 { 3425def4c47SEmmanuel Vadot compatible = "microchip,sparx5-sgpio-bank"; 3435def4c47SEmmanuel Vadot reg = <0>; 3445def4c47SEmmanuel Vadot gpio-controller; 3455def4c47SEmmanuel Vadot #gpio-cells = <3>; 3465def4c47SEmmanuel Vadot ngpios = <96>; 3475956d97fSEmmanuel Vadot interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 3485956d97fSEmmanuel Vadot interrupt-controller; 3495956d97fSEmmanuel Vadot #interrupt-cells = <3>; 3505def4c47SEmmanuel Vadot }; 3515def4c47SEmmanuel Vadot sgpio_out1: gpio@1 { 3525def4c47SEmmanuel Vadot compatible = "microchip,sparx5-sgpio-bank"; 3535def4c47SEmmanuel Vadot reg = <1>; 3545def4c47SEmmanuel Vadot gpio-controller; 3555def4c47SEmmanuel Vadot #gpio-cells = <3>; 3565def4c47SEmmanuel Vadot ngpios = <96>; 3575def4c47SEmmanuel Vadot }; 3585def4c47SEmmanuel Vadot }; 3595def4c47SEmmanuel Vadot 3605def4c47SEmmanuel Vadot sgpio2: gpio@61101059c { 3615def4c47SEmmanuel Vadot #address-cells = <1>; 3625def4c47SEmmanuel Vadot #size-cells = <0>; 3635def4c47SEmmanuel Vadot compatible = "microchip,sparx5-sgpio"; 3645def4c47SEmmanuel Vadot status = "disabled"; 3655def4c47SEmmanuel Vadot clocks = <&sys_clk>; 3665def4c47SEmmanuel Vadot pinctrl-0 = <&sgpio2_pins>; 3675def4c47SEmmanuel Vadot pinctrl-names = "default"; 3685956d97fSEmmanuel Vadot resets = <&reset 0>; 3695956d97fSEmmanuel Vadot reset-names = "switch"; 3705def4c47SEmmanuel Vadot reg = <0x6 0x1101059c 0x100>; 3715def4c47SEmmanuel Vadot sgpio_in2: gpio@0 { 3725def4c47SEmmanuel Vadot reg = <0>; 3735def4c47SEmmanuel Vadot compatible = "microchip,sparx5-sgpio-bank"; 3745def4c47SEmmanuel Vadot gpio-controller; 3755def4c47SEmmanuel Vadot #gpio-cells = <3>; 3765def4c47SEmmanuel Vadot ngpios = <96>; 3775956d97fSEmmanuel Vadot interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 3785956d97fSEmmanuel Vadot interrupt-controller; 3795956d97fSEmmanuel Vadot #interrupt-cells = <3>; 3805def4c47SEmmanuel Vadot }; 3815def4c47SEmmanuel Vadot sgpio_out2: gpio@1 { 3825def4c47SEmmanuel Vadot compatible = "microchip,sparx5-sgpio-bank"; 3835def4c47SEmmanuel Vadot reg = <1>; 3845def4c47SEmmanuel Vadot gpio-controller; 3855def4c47SEmmanuel Vadot #gpio-cells = <3>; 3865def4c47SEmmanuel Vadot ngpios = <96>; 3875def4c47SEmmanuel Vadot }; 3885def4c47SEmmanuel Vadot }; 3895def4c47SEmmanuel Vadot 390c66ec88fSEmmanuel Vadot i2c0: i2c@600101000 { 391c66ec88fSEmmanuel Vadot compatible = "snps,designware-i2c"; 392c66ec88fSEmmanuel Vadot status = "disabled"; 393c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2c_pins>; 394c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 395c66ec88fSEmmanuel Vadot reg = <0x6 0x00101000 0x100>; 396c66ec88fSEmmanuel Vadot #address-cells = <1>; 397c66ec88fSEmmanuel Vadot #size-cells = <0>; 398c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 399c66ec88fSEmmanuel Vadot i2c-sda-hold-time-ns = <300>; 400c66ec88fSEmmanuel Vadot clock-frequency = <100000>; 401c66ec88fSEmmanuel Vadot clocks = <&ahb_clk>; 402c66ec88fSEmmanuel Vadot }; 403c66ec88fSEmmanuel Vadot 404c66ec88fSEmmanuel Vadot i2c1: i2c@600103000 { 405c66ec88fSEmmanuel Vadot compatible = "snps,designware-i2c"; 406c66ec88fSEmmanuel Vadot status = "disabled"; 407c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2c2_pins>; 408c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 409c66ec88fSEmmanuel Vadot reg = <0x6 0x00103000 0x100>; 410c66ec88fSEmmanuel Vadot #address-cells = <1>; 411c66ec88fSEmmanuel Vadot #size-cells = <0>; 412c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 413c66ec88fSEmmanuel Vadot i2c-sda-hold-time-ns = <300>; 414c66ec88fSEmmanuel Vadot clock-frequency = <100000>; 415c66ec88fSEmmanuel Vadot clocks = <&ahb_clk>; 416c66ec88fSEmmanuel Vadot }; 4176be33864SEmmanuel Vadot 4186be33864SEmmanuel Vadot tmon0: tmon@610508110 { 4196be33864SEmmanuel Vadot compatible = "microchip,sparx5-temp"; 4206be33864SEmmanuel Vadot reg = <0x6 0x10508110 0xc>; 4216be33864SEmmanuel Vadot #thermal-sensor-cells = <0>; 4226be33864SEmmanuel Vadot clocks = <&ahb_clk>; 4236be33864SEmmanuel Vadot }; 4245956d97fSEmmanuel Vadot 4255956d97fSEmmanuel Vadot mdio0: mdio@6110102b0 { 4265956d97fSEmmanuel Vadot compatible = "mscc,ocelot-miim"; 4275956d97fSEmmanuel Vadot status = "disabled"; 4285956d97fSEmmanuel Vadot #address-cells = <1>; 4295956d97fSEmmanuel Vadot #size-cells = <0>; 4305956d97fSEmmanuel Vadot reg = <0x6 0x110102b0 0x24>; 4315956d97fSEmmanuel Vadot }; 4325956d97fSEmmanuel Vadot 4335956d97fSEmmanuel Vadot mdio1: mdio@6110102d4 { 4345956d97fSEmmanuel Vadot compatible = "mscc,ocelot-miim"; 4355956d97fSEmmanuel Vadot status = "disabled"; 4365956d97fSEmmanuel Vadot pinctrl-0 = <&miim1_pins>; 4375956d97fSEmmanuel Vadot pinctrl-names = "default"; 4385956d97fSEmmanuel Vadot #address-cells = <1>; 4395956d97fSEmmanuel Vadot #size-cells = <0>; 4405956d97fSEmmanuel Vadot reg = <0x6 0x110102d4 0x24>; 4415956d97fSEmmanuel Vadot }; 4425956d97fSEmmanuel Vadot 4435956d97fSEmmanuel Vadot mdio2: mdio@6110102f8 { 4445956d97fSEmmanuel Vadot compatible = "mscc,ocelot-miim"; 4455956d97fSEmmanuel Vadot status = "disabled"; 4465956d97fSEmmanuel Vadot pinctrl-0 = <&miim2_pins>; 4475956d97fSEmmanuel Vadot pinctrl-names = "default"; 4485956d97fSEmmanuel Vadot #address-cells = <1>; 4495956d97fSEmmanuel Vadot #size-cells = <0>; 450*7d0873ebSEmmanuel Vadot reg = <0x6 0x110102f8 0x24>; 4515956d97fSEmmanuel Vadot }; 4525956d97fSEmmanuel Vadot 4535956d97fSEmmanuel Vadot mdio3: mdio@61101031c { 4545956d97fSEmmanuel Vadot compatible = "mscc,ocelot-miim"; 4555956d97fSEmmanuel Vadot status = "disabled"; 4565956d97fSEmmanuel Vadot pinctrl-0 = <&miim3_pins>; 4575956d97fSEmmanuel Vadot pinctrl-names = "default"; 4585956d97fSEmmanuel Vadot #address-cells = <1>; 4595956d97fSEmmanuel Vadot #size-cells = <0>; 4605956d97fSEmmanuel Vadot reg = <0x6 0x1101031c 0x24>; 4615956d97fSEmmanuel Vadot }; 4625956d97fSEmmanuel Vadot 463*7d0873ebSEmmanuel Vadot serdes: serdes@610808000 { 4645956d97fSEmmanuel Vadot compatible = "microchip,sparx5-serdes"; 4655956d97fSEmmanuel Vadot #phy-cells = <1>; 4665956d97fSEmmanuel Vadot clocks = <&sys_clk>; 4675956d97fSEmmanuel Vadot reg = <0x6 0x10808000 0x5d0000>; 4685956d97fSEmmanuel Vadot }; 4695956d97fSEmmanuel Vadot 470cb7aa33aSEmmanuel Vadot switch: switch@600000000 { 4715956d97fSEmmanuel Vadot compatible = "microchip,sparx5-switch"; 4725956d97fSEmmanuel Vadot reg = <0x6 0 0x401000>, 4735956d97fSEmmanuel Vadot <0x6 0x10004000 0x7fc000>, 4745956d97fSEmmanuel Vadot <0x6 0x11010000 0xaf0000>; 4755956d97fSEmmanuel Vadot reg-names = "cpu", "dev", "gcb"; 476c9ccf3a3SEmmanuel Vadot interrupt-names = "xtr", "fdma", "ptp"; 477354d7675SEmmanuel Vadot interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, 478c9ccf3a3SEmmanuel Vadot <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 479c9ccf3a3SEmmanuel Vadot <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 4805956d97fSEmmanuel Vadot resets = <&reset 0>; 4815956d97fSEmmanuel Vadot reset-names = "switch"; 4825956d97fSEmmanuel Vadot }; 483c66ec88fSEmmanuel Vadot }; 484c66ec88fSEmmanuel Vadot}; 485