xref: /freebsd-src/sys/contrib/device-tree/src/arm64/microchip/sparx5.dtsi (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
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