262 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			262 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 | 
						|
/*
 | 
						|
 * Copyright (c) 2018 Microsemi Corporation
 | 
						|
 */
 | 
						|
 | 
						|
#include <dt-bindings/gpio/gpio.h>
 | 
						|
 | 
						|
/ {
 | 
						|
	#address-cells = <1>;
 | 
						|
	#size-cells = <1>;
 | 
						|
	compatible = "mscc,luton";
 | 
						|
 | 
						|
	cpus {
 | 
						|
		#address-cells = <1>;
 | 
						|
		#size-cells = <0>;
 | 
						|
 | 
						|
		cpu@0 {
 | 
						|
			compatible = "mips,mips24KEc";
 | 
						|
			device_type = "cpu";
 | 
						|
			reg = <0>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
 | 
						|
	aliases {
 | 
						|
		serial0 = &uart0;
 | 
						|
	};
 | 
						|
 | 
						|
	sys_clk: sys-clk {
 | 
						|
		compatible = "fixed-clock";
 | 
						|
		#clock-cells = <0>;
 | 
						|
		clock-frequency = <250000000>;
 | 
						|
	};
 | 
						|
	ahb_clk: ahb-clk {
 | 
						|
		compatible = "fixed-clock";
 | 
						|
		#clock-cells = <0>;
 | 
						|
		clock-frequency = <208333333>;
 | 
						|
	};
 | 
						|
 | 
						|
	ahb {
 | 
						|
		compatible = "simple-bus";
 | 
						|
		#address-cells = <1>;
 | 
						|
		#size-cells = <1>;
 | 
						|
		ranges = <0 0x60000000 0x10200000>;
 | 
						|
 | 
						|
		uart0: serial@10100000 {
 | 
						|
			pinctrl-0 = <&uart_pins>;
 | 
						|
			pinctrl-names = "default";
 | 
						|
 | 
						|
			compatible = "ns16550a";
 | 
						|
			reg = <0x10100000 0x20>;
 | 
						|
			clocks = <&ahb_clk>;
 | 
						|
			reg-io-width = <4>;
 | 
						|
			reg-shift = <2>;
 | 
						|
 | 
						|
			status = "disabled";
 | 
						|
		};
 | 
						|
 | 
						|
		gpio: pinctrl@70068 {
 | 
						|
			compatible = "mscc,luton-pinctrl";
 | 
						|
			reg = <0x70068 0x68>;
 | 
						|
			gpio-controller;
 | 
						|
			#gpio-cells = <2>;
 | 
						|
			gpio-ranges = <&gpio 0 0 32>;
 | 
						|
 | 
						|
			sgpio_pins: sgpio-pins {
 | 
						|
				pins = "GPIO_0", "GPIO_1", "GPIO_2", "GPIO_3";
 | 
						|
				function = "sio";
 | 
						|
			};
 | 
						|
			uart_pins: uart-pins {
 | 
						|
				pins = "GPIO_30", "GPIO_31";
 | 
						|
				function = "uart";
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		sgpio: gpio@70130 {
 | 
						|
			compatible = "mscc,luton-sgpio";
 | 
						|
			status = "disabled";
 | 
						|
			clocks = <&sys_clk>;
 | 
						|
			pinctrl-0 = <&sgpio_pins>;
 | 
						|
			pinctrl-names = "default";
 | 
						|
			reg = <0x0070130 0x100>;
 | 
						|
			gpio-controller;
 | 
						|
			#gpio-cells = <2>;
 | 
						|
			gpio-ranges = <&sgpio 0 0 64>;
 | 
						|
		};
 | 
						|
 | 
						|
		spi0: spi-bitbang {
 | 
						|
			compatible = "mscc,luton-bb-spi";
 | 
						|
			status = "okay";
 | 
						|
			reg = <0x10000064 0x4>;
 | 
						|
			num-chipselects = <1>;
 | 
						|
			#address-cells = <1>;
 | 
						|
			#size-cells = <0>;
 | 
						|
		};
 | 
						|
 | 
						|
		switch: switch@1010000 {
 | 
						|
			compatible = "mscc,vsc7527-switch";
 | 
						|
			reg = <0x1e0000 0x0100>, // VTSS_TO_DEV_0
 | 
						|
			      <0x1f0000 0x0100>, // VTSS_TO_DEV_1
 | 
						|
			      <0x200000 0x0100>, // VTSS_TO_DEV_2
 | 
						|
			      <0x210000 0x0100>, // VTSS_TO_DEV_3
 | 
						|
			      <0x220000 0x0100>, // VTSS_TO_DEV_4
 | 
						|
			      <0x230000 0x0100>, // VTSS_TO_DEV_5
 | 
						|
			      <0x240000 0x0100>, // VTSS_TO_DEV_6
 | 
						|
			      <0x250000 0x0100>, // VTSS_TO_DEV_7
 | 
						|
			      <0x260000 0x0100>, // VTSS_TO_DEV_8
 | 
						|
			      <0x270000 0x0100>, // VTSS_TO_DEV_9
 | 
						|
			      <0x280000 0x0100>, // VTSS_TO_DEV_10
 | 
						|
			      <0x290000 0x0100>, // VTSS_TO_DEV_11
 | 
						|
			      <0x2a0000 0x0100>, // VTSS_TO_DEV_12
 | 
						|
			      <0x2b0000 0x0100>, // VTSS_TO_DEV_13
 | 
						|
			      <0x2c0000 0x0100>, // VTSS_TO_DEV_14
 | 
						|
			      <0x2d0000 0x0100>, // VTSS_TO_DEV_15
 | 
						|
			      <0x2e0000 0x0100>, // VTSS_TO_DEV_16
 | 
						|
			      <0x2f0000 0x0100>, // VTSS_TO_DEV_17
 | 
						|
			      <0x300000 0x0100>, // VTSS_TO_DEV_18
 | 
						|
			      <0x310000 0x0100>, // VTSS_TO_DEV_19
 | 
						|
			      <0x320000 0x0100>, // VTSS_TO_DEV_20
 | 
						|
			      <0x330000 0x0100>, // VTSS_TO_DEV_21
 | 
						|
			      <0x340000 0x0100>, // VTSS_TO_DEV_22
 | 
						|
			      <0x350000 0x0100>, // VTSS_TO_DEV_23
 | 
						|
			      <0x010000 0x1000>, // VTSS_TO_SYS
 | 
						|
			      <0x020000 0x1000>, // VTSS_TO_ANA
 | 
						|
			      <0x030000 0x1000>, // VTSS_TO_REW
 | 
						|
			      <0x070000 0x1000>, // VTSS_TO_DEVCPU_GCB
 | 
						|
			      <0x080000 0x0100>, // VTSS_TO_DEVCPU_QS
 | 
						|
			      <0x0a0000 0x0100>; // VTSS_TO_HSIO
 | 
						|
			reg-names = "port0", "port1", "port2", "port3",
 | 
						|
				    "port4", "port5", "port6", "port7",
 | 
						|
				    "port8", "port9", "port10", "port11",
 | 
						|
				    "port12", "port13", "port14", "port15",
 | 
						|
				    "port16", "port17", "port18", "port19",
 | 
						|
				    "port20", "port21", "port22", "port23",
 | 
						|
				    "sys", "ana", "rew", "gcb", "qs", "hsio";
 | 
						|
			status = "okay";
 | 
						|
 | 
						|
			ethernet-ports {
 | 
						|
				#address-cells = <1>;
 | 
						|
				#size-cells = <0>;
 | 
						|
 | 
						|
				port0: port@0 {
 | 
						|
					reg = <0>;
 | 
						|
				};
 | 
						|
				port1: port@1 {
 | 
						|
					reg = <1>;
 | 
						|
				};
 | 
						|
				port2: port@2 {
 | 
						|
					reg = <2>;
 | 
						|
				};
 | 
						|
				port3: port@3 {
 | 
						|
					reg = <3>;
 | 
						|
				};
 | 
						|
				port4: port@4 {
 | 
						|
					reg = <4>;
 | 
						|
				};
 | 
						|
				port5: port@5 {
 | 
						|
					reg = <5>;
 | 
						|
				};
 | 
						|
				port6: port@6 {
 | 
						|
					reg = <6>;
 | 
						|
				};
 | 
						|
				port7: port@7 {
 | 
						|
					reg = <7>;
 | 
						|
				};
 | 
						|
				port8: port@8 {
 | 
						|
					reg = <8>;
 | 
						|
				};
 | 
						|
				port9: port@9 {
 | 
						|
					reg = <9>;
 | 
						|
				};
 | 
						|
				port10: port@10 {
 | 
						|
					reg = <10>;
 | 
						|
				};
 | 
						|
				port11: port@11 {
 | 
						|
					reg = <11>;
 | 
						|
				};
 | 
						|
				port12: port@12 {
 | 
						|
					reg = <12>;
 | 
						|
				};
 | 
						|
				port13: port@13 {
 | 
						|
					reg = <13>;
 | 
						|
				};
 | 
						|
				port14: port@14 {
 | 
						|
					reg = <14>;
 | 
						|
				};
 | 
						|
				port15: port@15 {
 | 
						|
					reg = <15>;
 | 
						|
				};
 | 
						|
				port16: port@16 {
 | 
						|
					reg = <16>;
 | 
						|
				};
 | 
						|
				port17: port@17 {
 | 
						|
					reg = <17>;
 | 
						|
				};
 | 
						|
				port18: port@18 {
 | 
						|
					reg = <18>;
 | 
						|
				};
 | 
						|
				port19: port@19 {
 | 
						|
					reg = <19>;
 | 
						|
				};
 | 
						|
				port20: port@20 {
 | 
						|
					reg = <20>;
 | 
						|
				};
 | 
						|
				port21: port@21 {
 | 
						|
					reg = <21>;
 | 
						|
				};
 | 
						|
				port22: port@22 {
 | 
						|
					reg = <22>;
 | 
						|
				};
 | 
						|
				port23: port@23 {
 | 
						|
					reg = <23>;
 | 
						|
				};
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		mdio0: mdio@700a0 {
 | 
						|
			#address-cells = <1>;
 | 
						|
			#size-cells = <0>;
 | 
						|
			compatible = "mscc,luton-miim";
 | 
						|
			reg = <0x700a0 0x24>;
 | 
						|
			status = "disabled";
 | 
						|
 | 
						|
			phy0: ethernet-phy@0 {
 | 
						|
				reg = <0>;
 | 
						|
			};
 | 
						|
			phy1: ethernet-phy@1 {
 | 
						|
				reg = <1>;
 | 
						|
			};
 | 
						|
			phy2: ethernet-phy@2 {
 | 
						|
				reg = <2>;
 | 
						|
			};
 | 
						|
			phy3: ethernet-phy@3 {
 | 
						|
				reg = <3>;
 | 
						|
			};
 | 
						|
			phy4: ethernet-phy@4 {
 | 
						|
				reg = <4>;
 | 
						|
			};
 | 
						|
			phy5: ethernet-phy@5 {
 | 
						|
				reg = <5>;
 | 
						|
			};
 | 
						|
			phy6: ethernet-phy@6 {
 | 
						|
				reg = <6>;
 | 
						|
			};
 | 
						|
			phy7: ethernet-phy@7 {
 | 
						|
				reg = <7>;
 | 
						|
			};
 | 
						|
			phy8: ethernet-phy@8 {
 | 
						|
				reg = <8>;
 | 
						|
			};
 | 
						|
			phy9: ethernet-phy@9 {
 | 
						|
				reg = <9>;
 | 
						|
			};
 | 
						|
			phy10: ethernet-phy@10 {
 | 
						|
				reg = <10>;
 | 
						|
			};
 | 
						|
			phy11: ethernet-phy@11 {
 | 
						|
				reg = <11>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
};
 |