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