162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2020 Microchip Technology Inc. and its subsidiaries. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 762306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h> 862306a36Sopenharmony_ci#include <dt-bindings/clock/microchip,sparx5.h> 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/ { 1162306a36Sopenharmony_ci compatible = "microchip,sparx5"; 1262306a36Sopenharmony_ci interrupt-parent = <&gic>; 1362306a36Sopenharmony_ci #address-cells = <2>; 1462306a36Sopenharmony_ci #size-cells = <1>; 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci aliases { 1762306a36Sopenharmony_ci spi0 = &spi0; 1862306a36Sopenharmony_ci serial0 = &uart0; 1962306a36Sopenharmony_ci serial1 = &uart1; 2062306a36Sopenharmony_ci }; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci chosen { 2362306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 2462306a36Sopenharmony_ci }; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci cpus { 2762306a36Sopenharmony_ci #address-cells = <1>; 2862306a36Sopenharmony_ci #size-cells = <0>; 2962306a36Sopenharmony_ci cpu-map { 3062306a36Sopenharmony_ci cluster0 { 3162306a36Sopenharmony_ci core0 { 3262306a36Sopenharmony_ci cpu = <&cpu0>; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci core1 { 3562306a36Sopenharmony_ci cpu = <&cpu1>; 3662306a36Sopenharmony_ci }; 3762306a36Sopenharmony_ci }; 3862306a36Sopenharmony_ci }; 3962306a36Sopenharmony_ci cpu0: cpu@0 { 4062306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 4162306a36Sopenharmony_ci device_type = "cpu"; 4262306a36Sopenharmony_ci reg = <0x0>; 4362306a36Sopenharmony_ci enable-method = "psci"; 4462306a36Sopenharmony_ci next-level-cache = <&L2_0>; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci cpu1: cpu@1 { 4762306a36Sopenharmony_ci compatible = "arm,cortex-a53"; 4862306a36Sopenharmony_ci device_type = "cpu"; 4962306a36Sopenharmony_ci reg = <0x1>; 5062306a36Sopenharmony_ci enable-method = "psci"; 5162306a36Sopenharmony_ci next-level-cache = <&L2_0>; 5262306a36Sopenharmony_ci }; 5362306a36Sopenharmony_ci L2_0: l2-cache0 { 5462306a36Sopenharmony_ci compatible = "cache"; 5562306a36Sopenharmony_ci cache-level = <2>; 5662306a36Sopenharmony_ci cache-unified; 5762306a36Sopenharmony_ci }; 5862306a36Sopenharmony_ci }; 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci arm-pmu { 6162306a36Sopenharmony_ci compatible = "arm,cortex-a53-pmu"; 6262306a36Sopenharmony_ci interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 6362306a36Sopenharmony_ci interrupt-affinity = <&cpu0>, <&cpu1>; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci psci: psci { 6762306a36Sopenharmony_ci compatible = "arm,psci-0.2"; 6862306a36Sopenharmony_ci method = "smc"; 6962306a36Sopenharmony_ci }; 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci timer { 7262306a36Sopenharmony_ci compatible = "arm,armv8-timer"; 7362306a36Sopenharmony_ci interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 7462306a36Sopenharmony_ci <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 7562306a36Sopenharmony_ci <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 7662306a36Sopenharmony_ci <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci lcpll_clk: lcpll-clk { 8062306a36Sopenharmony_ci compatible = "fixed-clock"; 8162306a36Sopenharmony_ci #clock-cells = <0>; 8262306a36Sopenharmony_ci clock-frequency = <2500000000>; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci clks: clock-controller@61110000c { 8662306a36Sopenharmony_ci compatible = "microchip,sparx5-dpll"; 8762306a36Sopenharmony_ci #clock-cells = <1>; 8862306a36Sopenharmony_ci clocks = <&lcpll_clk>; 8962306a36Sopenharmony_ci reg = <0x6 0x1110000c 0x24>; 9062306a36Sopenharmony_ci }; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci ahb_clk: ahb-clk { 9362306a36Sopenharmony_ci compatible = "fixed-clock"; 9462306a36Sopenharmony_ci #clock-cells = <0>; 9562306a36Sopenharmony_ci clock-frequency = <250000000>; 9662306a36Sopenharmony_ci }; 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci sys_clk: sys-clk { 9962306a36Sopenharmony_ci compatible = "fixed-clock"; 10062306a36Sopenharmony_ci #clock-cells = <0>; 10162306a36Sopenharmony_ci clock-frequency = <625000000>; 10262306a36Sopenharmony_ci }; 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci axi: axi@600000000 { 10562306a36Sopenharmony_ci compatible = "simple-bus"; 10662306a36Sopenharmony_ci #address-cells = <2>; 10762306a36Sopenharmony_ci #size-cells = <1>; 10862306a36Sopenharmony_ci ranges; 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci gic: interrupt-controller@600300000 { 11162306a36Sopenharmony_ci compatible = "arm,gic-v3"; 11262306a36Sopenharmony_ci #interrupt-cells = <3>; 11362306a36Sopenharmony_ci #address-cells = <2>; 11462306a36Sopenharmony_ci #size-cells = <2>; 11562306a36Sopenharmony_ci interrupt-controller; 11662306a36Sopenharmony_ci reg = <0x6 0x00300000 0x10000>, /* GIC Dist */ 11762306a36Sopenharmony_ci <0x6 0x00340000 0xc0000>, /* GICR */ 11862306a36Sopenharmony_ci <0x6 0x00200000 0x2000>, /* GICC */ 11962306a36Sopenharmony_ci <0x6 0x00210000 0x2000>, /* GICV */ 12062306a36Sopenharmony_ci <0x6 0x00220000 0x2000>; /* GICH */ 12162306a36Sopenharmony_ci interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 12262306a36Sopenharmony_ci }; 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci cpu_ctrl: syscon@600000000 { 12562306a36Sopenharmony_ci compatible = "microchip,sparx5-cpu-syscon", "syscon", 12662306a36Sopenharmony_ci "simple-mfd"; 12762306a36Sopenharmony_ci reg = <0x6 0x00000000 0xd0>; 12862306a36Sopenharmony_ci mux: mux-controller { 12962306a36Sopenharmony_ci compatible = "mmio-mux"; 13062306a36Sopenharmony_ci #mux-control-cells = <0>; 13162306a36Sopenharmony_ci /* 13262306a36Sopenharmony_ci * SI_OWNER and SI2_OWNER in GENERAL_CTRL 13362306a36Sopenharmony_ci * SPI: value 9 - (SIMC,SIBM) = 0b1001 13462306a36Sopenharmony_ci * SPI2: value 6 - (SIBM,SIMC) = 0b0110 13562306a36Sopenharmony_ci */ 13662306a36Sopenharmony_ci mux-reg-masks = <0x88 0xf0>; 13762306a36Sopenharmony_ci }; 13862306a36Sopenharmony_ci }; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci reset: reset-controller@611010008 { 14162306a36Sopenharmony_ci compatible = "microchip,sparx5-switch-reset"; 14262306a36Sopenharmony_ci reg = <0x6 0x11010008 0x4>; 14362306a36Sopenharmony_ci reg-names = "gcb"; 14462306a36Sopenharmony_ci #reset-cells = <1>; 14562306a36Sopenharmony_ci cpu-syscon = <&cpu_ctrl>; 14662306a36Sopenharmony_ci }; 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci uart0: serial@600100000 { 14962306a36Sopenharmony_ci pinctrl-0 = <&uart_pins>; 15062306a36Sopenharmony_ci pinctrl-names = "default"; 15162306a36Sopenharmony_ci compatible = "ns16550a"; 15262306a36Sopenharmony_ci reg = <0x6 0x00100000 0x20>; 15362306a36Sopenharmony_ci clocks = <&ahb_clk>; 15462306a36Sopenharmony_ci reg-io-width = <4>; 15562306a36Sopenharmony_ci reg-shift = <2>; 15662306a36Sopenharmony_ci interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci status = "disabled"; 15962306a36Sopenharmony_ci }; 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci uart1: serial@600102000 { 16262306a36Sopenharmony_ci pinctrl-0 = <&uart2_pins>; 16362306a36Sopenharmony_ci pinctrl-names = "default"; 16462306a36Sopenharmony_ci compatible = "ns16550a"; 16562306a36Sopenharmony_ci reg = <0x6 0x00102000 0x20>; 16662306a36Sopenharmony_ci clocks = <&ahb_clk>; 16762306a36Sopenharmony_ci reg-io-width = <4>; 16862306a36Sopenharmony_ci reg-shift = <2>; 16962306a36Sopenharmony_ci interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci status = "disabled"; 17262306a36Sopenharmony_ci }; 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci spi0: spi@600104000 { 17562306a36Sopenharmony_ci #address-cells = <1>; 17662306a36Sopenharmony_ci #size-cells = <0>; 17762306a36Sopenharmony_ci compatible = "microchip,sparx5-spi"; 17862306a36Sopenharmony_ci reg = <0x6 0x00104000 0x40>; 17962306a36Sopenharmony_ci num-cs = <16>; 18062306a36Sopenharmony_ci reg-io-width = <4>; 18162306a36Sopenharmony_ci reg-shift = <2>; 18262306a36Sopenharmony_ci clocks = <&ahb_clk>; 18362306a36Sopenharmony_ci interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 18462306a36Sopenharmony_ci status = "disabled"; 18562306a36Sopenharmony_ci }; 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci timer1: timer@600105000 { 18862306a36Sopenharmony_ci compatible = "snps,dw-apb-timer"; 18962306a36Sopenharmony_ci reg = <0x6 0x00105000 0x1000>; 19062306a36Sopenharmony_ci clocks = <&ahb_clk>; 19162306a36Sopenharmony_ci clock-names = "timer"; 19262306a36Sopenharmony_ci interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 19362306a36Sopenharmony_ci }; 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ci sdhci0: mmc@600800000 { 19662306a36Sopenharmony_ci compatible = "microchip,dw-sparx5-sdhci"; 19762306a36Sopenharmony_ci status = "disabled"; 19862306a36Sopenharmony_ci reg = <0x6 0x00800000 0x1000>; 19962306a36Sopenharmony_ci pinctrl-0 = <&emmc_pins>; 20062306a36Sopenharmony_ci pinctrl-names = "default"; 20162306a36Sopenharmony_ci clocks = <&clks CLK_ID_AUX1>; 20262306a36Sopenharmony_ci clock-names = "core"; 20362306a36Sopenharmony_ci assigned-clocks = <&clks CLK_ID_AUX1>; 20462306a36Sopenharmony_ci assigned-clock-rates = <800000000>; 20562306a36Sopenharmony_ci interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 20662306a36Sopenharmony_ci bus-width = <8>; 20762306a36Sopenharmony_ci }; 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ci gpio: pinctrl@6110101e0 { 21062306a36Sopenharmony_ci compatible = "microchip,sparx5-pinctrl"; 21162306a36Sopenharmony_ci reg = <0x6 0x110101e0 0x90>, <0x6 0x10508010 0x100>; 21262306a36Sopenharmony_ci gpio-controller; 21362306a36Sopenharmony_ci #gpio-cells = <2>; 21462306a36Sopenharmony_ci gpio-ranges = <&gpio 0 0 64>; 21562306a36Sopenharmony_ci interrupt-controller; 21662306a36Sopenharmony_ci interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 21762306a36Sopenharmony_ci #interrupt-cells = <2>; 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci cs1_pins: cs1-pins { 22062306a36Sopenharmony_ci pins = "GPIO_16"; 22162306a36Sopenharmony_ci function = "si"; 22262306a36Sopenharmony_ci }; 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci cs2_pins: cs2-pins { 22562306a36Sopenharmony_ci pins = "GPIO_17"; 22662306a36Sopenharmony_ci function = "si"; 22762306a36Sopenharmony_ci }; 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ci cs3_pins: cs3-pins { 23062306a36Sopenharmony_ci pins = "GPIO_18"; 23162306a36Sopenharmony_ci function = "si"; 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci si2_pins: si2-pins { 23562306a36Sopenharmony_ci pins = "GPIO_39", "GPIO_40", "GPIO_41"; 23662306a36Sopenharmony_ci function = "si2"; 23762306a36Sopenharmony_ci }; 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci sgpio0_pins: sgpio-pins { 24062306a36Sopenharmony_ci pins = "GPIO_0", "GPIO_1", "GPIO_2", "GPIO_3"; 24162306a36Sopenharmony_ci function = "sg0"; 24262306a36Sopenharmony_ci }; 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci sgpio1_pins: sgpio1-pins { 24562306a36Sopenharmony_ci pins = "GPIO_4", "GPIO_5", "GPIO_12", "GPIO_13"; 24662306a36Sopenharmony_ci function = "sg1"; 24762306a36Sopenharmony_ci }; 24862306a36Sopenharmony_ci 24962306a36Sopenharmony_ci sgpio2_pins: sgpio2-pins { 25062306a36Sopenharmony_ci pins = "GPIO_30", "GPIO_31", "GPIO_32", 25162306a36Sopenharmony_ci "GPIO_33"; 25262306a36Sopenharmony_ci function = "sg2"; 25362306a36Sopenharmony_ci }; 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci uart_pins: uart-pins { 25662306a36Sopenharmony_ci pins = "GPIO_10", "GPIO_11"; 25762306a36Sopenharmony_ci function = "uart"; 25862306a36Sopenharmony_ci }; 25962306a36Sopenharmony_ci 26062306a36Sopenharmony_ci uart2_pins: uart2-pins { 26162306a36Sopenharmony_ci pins = "GPIO_26", "GPIO_27"; 26262306a36Sopenharmony_ci function = "uart2"; 26362306a36Sopenharmony_ci }; 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci i2c_pins: i2c-pins { 26662306a36Sopenharmony_ci pins = "GPIO_14", "GPIO_15"; 26762306a36Sopenharmony_ci function = "twi"; 26862306a36Sopenharmony_ci }; 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ci i2c2_pins: i2c2-pins { 27162306a36Sopenharmony_ci pins = "GPIO_28", "GPIO_29"; 27262306a36Sopenharmony_ci function = "twi2"; 27362306a36Sopenharmony_ci }; 27462306a36Sopenharmony_ci 27562306a36Sopenharmony_ci emmc_pins: emmc-pins { 27662306a36Sopenharmony_ci pins = "GPIO_34", "GPIO_35", "GPIO_36", 27762306a36Sopenharmony_ci "GPIO_37", "GPIO_38", "GPIO_39", 27862306a36Sopenharmony_ci "GPIO_40", "GPIO_41", "GPIO_42", 27962306a36Sopenharmony_ci "GPIO_43", "GPIO_44", "GPIO_45", 28062306a36Sopenharmony_ci "GPIO_46", "GPIO_47"; 28162306a36Sopenharmony_ci function = "emmc"; 28262306a36Sopenharmony_ci }; 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci miim1_pins: miim1-pins { 28562306a36Sopenharmony_ci pins = "GPIO_56", "GPIO_57"; 28662306a36Sopenharmony_ci function = "miim"; 28762306a36Sopenharmony_ci }; 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ci miim2_pins: miim2-pins { 29062306a36Sopenharmony_ci pins = "GPIO_58", "GPIO_59"; 29162306a36Sopenharmony_ci function = "miim"; 29262306a36Sopenharmony_ci }; 29362306a36Sopenharmony_ci 29462306a36Sopenharmony_ci miim3_pins: miim3-pins { 29562306a36Sopenharmony_ci pins = "GPIO_52", "GPIO_53"; 29662306a36Sopenharmony_ci function = "miim"; 29762306a36Sopenharmony_ci }; 29862306a36Sopenharmony_ci }; 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_ci sgpio0: gpio@61101036c { 30162306a36Sopenharmony_ci #address-cells = <1>; 30262306a36Sopenharmony_ci #size-cells = <0>; 30362306a36Sopenharmony_ci compatible = "microchip,sparx5-sgpio"; 30462306a36Sopenharmony_ci status = "disabled"; 30562306a36Sopenharmony_ci clocks = <&sys_clk>; 30662306a36Sopenharmony_ci pinctrl-0 = <&sgpio0_pins>; 30762306a36Sopenharmony_ci pinctrl-names = "default"; 30862306a36Sopenharmony_ci resets = <&reset 0>; 30962306a36Sopenharmony_ci reset-names = "switch"; 31062306a36Sopenharmony_ci reg = <0x6 0x1101036c 0x100>; 31162306a36Sopenharmony_ci sgpio_in0: gpio@0 { 31262306a36Sopenharmony_ci compatible = "microchip,sparx5-sgpio-bank"; 31362306a36Sopenharmony_ci reg = <0>; 31462306a36Sopenharmony_ci gpio-controller; 31562306a36Sopenharmony_ci #gpio-cells = <3>; 31662306a36Sopenharmony_ci ngpios = <96>; 31762306a36Sopenharmony_ci interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 31862306a36Sopenharmony_ci interrupt-controller; 31962306a36Sopenharmony_ci #interrupt-cells = <3>; 32062306a36Sopenharmony_ci }; 32162306a36Sopenharmony_ci sgpio_out0: gpio@1 { 32262306a36Sopenharmony_ci compatible = "microchip,sparx5-sgpio-bank"; 32362306a36Sopenharmony_ci reg = <1>; 32462306a36Sopenharmony_ci gpio-controller; 32562306a36Sopenharmony_ci #gpio-cells = <3>; 32662306a36Sopenharmony_ci ngpios = <96>; 32762306a36Sopenharmony_ci }; 32862306a36Sopenharmony_ci }; 32962306a36Sopenharmony_ci 33062306a36Sopenharmony_ci sgpio1: gpio@611010484 { 33162306a36Sopenharmony_ci #address-cells = <1>; 33262306a36Sopenharmony_ci #size-cells = <0>; 33362306a36Sopenharmony_ci compatible = "microchip,sparx5-sgpio"; 33462306a36Sopenharmony_ci status = "disabled"; 33562306a36Sopenharmony_ci clocks = <&sys_clk>; 33662306a36Sopenharmony_ci pinctrl-0 = <&sgpio1_pins>; 33762306a36Sopenharmony_ci pinctrl-names = "default"; 33862306a36Sopenharmony_ci resets = <&reset 0>; 33962306a36Sopenharmony_ci reset-names = "switch"; 34062306a36Sopenharmony_ci reg = <0x6 0x11010484 0x100>; 34162306a36Sopenharmony_ci sgpio_in1: gpio@0 { 34262306a36Sopenharmony_ci compatible = "microchip,sparx5-sgpio-bank"; 34362306a36Sopenharmony_ci reg = <0>; 34462306a36Sopenharmony_ci gpio-controller; 34562306a36Sopenharmony_ci #gpio-cells = <3>; 34662306a36Sopenharmony_ci ngpios = <96>; 34762306a36Sopenharmony_ci interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 34862306a36Sopenharmony_ci interrupt-controller; 34962306a36Sopenharmony_ci #interrupt-cells = <3>; 35062306a36Sopenharmony_ci }; 35162306a36Sopenharmony_ci sgpio_out1: gpio@1 { 35262306a36Sopenharmony_ci compatible = "microchip,sparx5-sgpio-bank"; 35362306a36Sopenharmony_ci reg = <1>; 35462306a36Sopenharmony_ci gpio-controller; 35562306a36Sopenharmony_ci #gpio-cells = <3>; 35662306a36Sopenharmony_ci ngpios = <96>; 35762306a36Sopenharmony_ci }; 35862306a36Sopenharmony_ci }; 35962306a36Sopenharmony_ci 36062306a36Sopenharmony_ci sgpio2: gpio@61101059c { 36162306a36Sopenharmony_ci #address-cells = <1>; 36262306a36Sopenharmony_ci #size-cells = <0>; 36362306a36Sopenharmony_ci compatible = "microchip,sparx5-sgpio"; 36462306a36Sopenharmony_ci status = "disabled"; 36562306a36Sopenharmony_ci clocks = <&sys_clk>; 36662306a36Sopenharmony_ci pinctrl-0 = <&sgpio2_pins>; 36762306a36Sopenharmony_ci pinctrl-names = "default"; 36862306a36Sopenharmony_ci resets = <&reset 0>; 36962306a36Sopenharmony_ci reset-names = "switch"; 37062306a36Sopenharmony_ci reg = <0x6 0x1101059c 0x100>; 37162306a36Sopenharmony_ci sgpio_in2: gpio@0 { 37262306a36Sopenharmony_ci reg = <0>; 37362306a36Sopenharmony_ci compatible = "microchip,sparx5-sgpio-bank"; 37462306a36Sopenharmony_ci gpio-controller; 37562306a36Sopenharmony_ci #gpio-cells = <3>; 37662306a36Sopenharmony_ci ngpios = <96>; 37762306a36Sopenharmony_ci interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 37862306a36Sopenharmony_ci interrupt-controller; 37962306a36Sopenharmony_ci #interrupt-cells = <3>; 38062306a36Sopenharmony_ci }; 38162306a36Sopenharmony_ci sgpio_out2: gpio@1 { 38262306a36Sopenharmony_ci compatible = "microchip,sparx5-sgpio-bank"; 38362306a36Sopenharmony_ci reg = <1>; 38462306a36Sopenharmony_ci gpio-controller; 38562306a36Sopenharmony_ci #gpio-cells = <3>; 38662306a36Sopenharmony_ci ngpios = <96>; 38762306a36Sopenharmony_ci }; 38862306a36Sopenharmony_ci }; 38962306a36Sopenharmony_ci 39062306a36Sopenharmony_ci i2c0: i2c@600101000 { 39162306a36Sopenharmony_ci compatible = "snps,designware-i2c"; 39262306a36Sopenharmony_ci status = "disabled"; 39362306a36Sopenharmony_ci pinctrl-0 = <&i2c_pins>; 39462306a36Sopenharmony_ci pinctrl-names = "default"; 39562306a36Sopenharmony_ci reg = <0x6 0x00101000 0x100>; 39662306a36Sopenharmony_ci #address-cells = <1>; 39762306a36Sopenharmony_ci #size-cells = <0>; 39862306a36Sopenharmony_ci interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 39962306a36Sopenharmony_ci i2c-sda-hold-time-ns = <300>; 40062306a36Sopenharmony_ci clock-frequency = <100000>; 40162306a36Sopenharmony_ci clocks = <&ahb_clk>; 40262306a36Sopenharmony_ci }; 40362306a36Sopenharmony_ci 40462306a36Sopenharmony_ci i2c1: i2c@600103000 { 40562306a36Sopenharmony_ci compatible = "snps,designware-i2c"; 40662306a36Sopenharmony_ci status = "disabled"; 40762306a36Sopenharmony_ci pinctrl-0 = <&i2c2_pins>; 40862306a36Sopenharmony_ci pinctrl-names = "default"; 40962306a36Sopenharmony_ci reg = <0x6 0x00103000 0x100>; 41062306a36Sopenharmony_ci #address-cells = <1>; 41162306a36Sopenharmony_ci #size-cells = <0>; 41262306a36Sopenharmony_ci interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 41362306a36Sopenharmony_ci i2c-sda-hold-time-ns = <300>; 41462306a36Sopenharmony_ci clock-frequency = <100000>; 41562306a36Sopenharmony_ci clocks = <&ahb_clk>; 41662306a36Sopenharmony_ci }; 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ci tmon0: tmon@610508110 { 41962306a36Sopenharmony_ci compatible = "microchip,sparx5-temp"; 42062306a36Sopenharmony_ci reg = <0x6 0x10508110 0xc>; 42162306a36Sopenharmony_ci #thermal-sensor-cells = <0>; 42262306a36Sopenharmony_ci clocks = <&ahb_clk>; 42362306a36Sopenharmony_ci }; 42462306a36Sopenharmony_ci 42562306a36Sopenharmony_ci mdio0: mdio@6110102b0 { 42662306a36Sopenharmony_ci compatible = "mscc,ocelot-miim"; 42762306a36Sopenharmony_ci status = "disabled"; 42862306a36Sopenharmony_ci #address-cells = <1>; 42962306a36Sopenharmony_ci #size-cells = <0>; 43062306a36Sopenharmony_ci reg = <0x6 0x110102b0 0x24>; 43162306a36Sopenharmony_ci }; 43262306a36Sopenharmony_ci 43362306a36Sopenharmony_ci mdio1: mdio@6110102d4 { 43462306a36Sopenharmony_ci compatible = "mscc,ocelot-miim"; 43562306a36Sopenharmony_ci status = "disabled"; 43662306a36Sopenharmony_ci pinctrl-0 = <&miim1_pins>; 43762306a36Sopenharmony_ci pinctrl-names = "default"; 43862306a36Sopenharmony_ci #address-cells = <1>; 43962306a36Sopenharmony_ci #size-cells = <0>; 44062306a36Sopenharmony_ci reg = <0x6 0x110102d4 0x24>; 44162306a36Sopenharmony_ci }; 44262306a36Sopenharmony_ci 44362306a36Sopenharmony_ci mdio2: mdio@6110102f8 { 44462306a36Sopenharmony_ci compatible = "mscc,ocelot-miim"; 44562306a36Sopenharmony_ci status = "disabled"; 44662306a36Sopenharmony_ci pinctrl-0 = <&miim2_pins>; 44762306a36Sopenharmony_ci pinctrl-names = "default"; 44862306a36Sopenharmony_ci #address-cells = <1>; 44962306a36Sopenharmony_ci #size-cells = <0>; 45062306a36Sopenharmony_ci reg = <0x6 0x110102d4 0x24>; 45162306a36Sopenharmony_ci }; 45262306a36Sopenharmony_ci 45362306a36Sopenharmony_ci mdio3: mdio@61101031c { 45462306a36Sopenharmony_ci compatible = "mscc,ocelot-miim"; 45562306a36Sopenharmony_ci status = "disabled"; 45662306a36Sopenharmony_ci pinctrl-0 = <&miim3_pins>; 45762306a36Sopenharmony_ci pinctrl-names = "default"; 45862306a36Sopenharmony_ci #address-cells = <1>; 45962306a36Sopenharmony_ci #size-cells = <0>; 46062306a36Sopenharmony_ci reg = <0x6 0x1101031c 0x24>; 46162306a36Sopenharmony_ci }; 46262306a36Sopenharmony_ci 46362306a36Sopenharmony_ci serdes: serdes@10808000 { 46462306a36Sopenharmony_ci compatible = "microchip,sparx5-serdes"; 46562306a36Sopenharmony_ci #phy-cells = <1>; 46662306a36Sopenharmony_ci clocks = <&sys_clk>; 46762306a36Sopenharmony_ci reg = <0x6 0x10808000 0x5d0000>; 46862306a36Sopenharmony_ci }; 46962306a36Sopenharmony_ci 47062306a36Sopenharmony_ci switch: switch@600000000 { 47162306a36Sopenharmony_ci compatible = "microchip,sparx5-switch"; 47262306a36Sopenharmony_ci reg = <0x6 0 0x401000>, 47362306a36Sopenharmony_ci <0x6 0x10004000 0x7fc000>, 47462306a36Sopenharmony_ci <0x6 0x11010000 0xaf0000>; 47562306a36Sopenharmony_ci reg-names = "cpu", "dev", "gcb"; 47662306a36Sopenharmony_ci interrupt-names = "xtr", "fdma", "ptp"; 47762306a36Sopenharmony_ci interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, 47862306a36Sopenharmony_ci <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>, 47962306a36Sopenharmony_ci <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 48062306a36Sopenharmony_ci resets = <&reset 0>; 48162306a36Sopenharmony_ci reset-names = "switch"; 48262306a36Sopenharmony_ci }; 48362306a36Sopenharmony_ci }; 48462306a36Sopenharmony_ci}; 485