| // SPDX-License-Identifier: GPL-2.0 | 
 | /* Copyright 2016-2018 NXP Semiconductors | 
 |  * Copyright 2019 Vladimir Oltean <olteanv@gmail.com> | 
 |  */ | 
 |  | 
 | /dts-v1/; | 
 | #include "ls1021a.dtsi" | 
 |  | 
 | / { | 
 | 	model = "NXP LS1021A-TSN Board"; | 
 |  | 
 | 	sys_mclk: clock-mclk { | 
 | 		compatible = "fixed-clock"; | 
 | 		#clock-cells = <0>; | 
 | 		clock-frequency = <24576000>; | 
 | 	}; | 
 |  | 
 | 	reg_vdda_codec: regulator-3V3 { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "3P3V"; | 
 | 		regulator-min-microvolt = <3300000>; | 
 | 		regulator-max-microvolt = <3300000>; | 
 | 		regulator-always-on; | 
 | 	}; | 
 |  | 
 | 	reg_vddio_codec: regulator-2V5 { | 
 | 		compatible = "regulator-fixed"; | 
 | 		regulator-name = "2P5V"; | 
 | 		regulator-min-microvolt = <2500000>; | 
 | 		regulator-max-microvolt = <2500000>; | 
 | 		regulator-always-on; | 
 | 	}; | 
 | }; | 
 |  | 
 | &dspi0 { | 
 | 	bus-num = <0>; | 
 | 	status = "okay"; | 
 |  | 
 | 	/* ADG704BRMZ 1:4 SPI mux/demux */ | 
 | 	sja1105: ethernet-switch@1 { | 
 | 		reg = <0x1>; | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <0>; | 
 | 		compatible = "nxp,sja1105t"; | 
 | 		/* 12 MHz */ | 
 | 		spi-max-frequency = <12000000>; | 
 | 		/* Sample data on trailing clock edge */ | 
 | 		spi-cpha; | 
 | 		/* SPI controller settings for SJA1105 timing requirements */ | 
 | 		fsl,spi-cs-sck-delay = <1000>; | 
 | 		fsl,spi-sck-cs-delay = <1000>; | 
 |  | 
 | 		ports { | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <0>; | 
 |  | 
 | 			port@0 { | 
 | 				/* ETH5 written on chassis */ | 
 | 				label = "swp5"; | 
 | 				phy-handle = <&rgmii_phy6>; | 
 | 				phy-mode = "rgmii-id"; | 
 | 				reg = <0>; | 
 | 			}; | 
 |  | 
 | 			port@1 { | 
 | 				/* ETH2 written on chassis */ | 
 | 				label = "swp2"; | 
 | 				phy-handle = <&rgmii_phy3>; | 
 | 				phy-mode = "rgmii-id"; | 
 | 				reg = <1>; | 
 | 			}; | 
 |  | 
 | 			port@2 { | 
 | 				/* ETH3 written on chassis */ | 
 | 				label = "swp3"; | 
 | 				phy-handle = <&rgmii_phy4>; | 
 | 				phy-mode = "rgmii-id"; | 
 | 				reg = <2>; | 
 | 			}; | 
 |  | 
 | 			port@3 { | 
 | 				/* ETH4 written on chassis */ | 
 | 				label = "swp4"; | 
 | 				phy-handle = <&rgmii_phy5>; | 
 | 				phy-mode = "rgmii-id"; | 
 | 				reg = <3>; | 
 | 			}; | 
 |  | 
 | 			port@4 { | 
 | 				/* Internal port connected to eth2 */ | 
 | 				ethernet = <&enet2>; | 
 | 				phy-mode = "rgmii"; | 
 | 				reg = <4>; | 
 |  | 
 | 				fixed-link { | 
 | 					speed = <1000>; | 
 | 					full-duplex; | 
 | 				}; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &enet0 { | 
 | 	tbi-handle = <&tbi0>; | 
 | 	phy-handle = <&sgmii_phy2>; | 
 | 	phy-mode = "sgmii"; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &enet1 { | 
 | 	tbi-handle = <&tbi1>; | 
 | 	phy-handle = <&sgmii_phy1>; | 
 | 	phy-mode = "sgmii"; | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | /* RGMII delays added via PCB traces */ | 
 | &enet2 { | 
 | 	phy-mode = "rgmii"; | 
 | 	status = "okay"; | 
 |  | 
 | 	fixed-link { | 
 | 		speed = <1000>; | 
 | 		full-duplex; | 
 | 	}; | 
 | }; | 
 |  | 
 | &esdhc { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &i2c0 { | 
 | 	status = "okay"; | 
 |  | 
 | 	/* 3 axis accelerometer */ | 
 | 	accelerometer@1e { | 
 | 		compatible = "fsl,fxls8471"; | 
 | 		position = <0>; | 
 | 		reg = <0x1e>; | 
 | 	}; | 
 |  | 
 | 	/* Audio codec (SAI2) */ | 
 | 	audio-codec@2a { | 
 | 		compatible = "fsl,sgtl5000"; | 
 | 		VDDIO-supply = <®_vddio_codec>; | 
 | 		VDDA-supply = <®_vdda_codec>; | 
 | 		#sound-dai-cells = <0>; | 
 | 		clocks = <&sys_mclk>; | 
 | 		reg = <0x2a>; | 
 | 	}; | 
 |  | 
 | 	/* Current sensing circuit for 1V VDDCORE PMIC rail */ | 
 | 	current-sensor@44 { | 
 | 		compatible = "ti,ina220"; | 
 | 		shunt-resistor = <1000>; | 
 | 		reg = <0x44>; | 
 | 	}; | 
 |  | 
 | 	/* Current sensing circuit for 12V VCC rail */ | 
 | 	current-sensor@45 { | 
 | 		compatible = "ti,ina220"; | 
 | 		shunt-resistor = <1000>; | 
 | 		reg = <0x45>; | 
 | 	}; | 
 |  | 
 | 	/* Thermal monitor - case */ | 
 | 	temperature-sensor@48 { | 
 | 		compatible = "national,lm75"; | 
 | 		reg = <0x48>; | 
 | 	}; | 
 |  | 
 | 	/* Thermal monitor - chip */ | 
 | 	temperature-sensor@4c { | 
 | 		compatible = "ti,tmp451"; | 
 | 		reg = <0x4c>; | 
 | 	}; | 
 |  | 
 | 	eeprom@51 { | 
 | 		compatible = "atmel,24c32"; | 
 | 		reg = <0x51>; | 
 | 	}; | 
 |  | 
 | 	/* Unsupported devices: | 
 | 	 * - FXAS21002C Gyroscope at 0x20 | 
 | 	 * - TI ADS7924 4-channel ADC at 0x49 | 
 | 	 */ | 
 | }; | 
 |  | 
 | &ifc { | 
 | 	status = "disabled"; | 
 | }; | 
 |  | 
 | &lpuart0 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &lpuart3 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &mdio0 { | 
 | 	/* AR8031 */ | 
 | 	sgmii_phy1: ethernet-phy@1 { | 
 | 		reg = <0x1>; | 
 | 		/* SGMII1_PHY_INT_B: connected to IRQ2, active low */ | 
 | 		interrupts-extended = <&extirq 2 IRQ_TYPE_LEVEL_LOW>; | 
 | 	}; | 
 |  | 
 | 	/* AR8031 */ | 
 | 	sgmii_phy2: ethernet-phy@2 { | 
 | 		reg = <0x2>; | 
 | 		/* SGMII2_PHY_INT_B: connected to IRQ2, active low */ | 
 | 		interrupts-extended = <&extirq 2 IRQ_TYPE_LEVEL_LOW>; | 
 | 	}; | 
 |  | 
 | 	/* BCM5464 quad PHY */ | 
 | 	rgmii_phy3: ethernet-phy@3 { | 
 | 		reg = <0x3>; | 
 | 	}; | 
 |  | 
 | 	rgmii_phy4: ethernet-phy@4 { | 
 | 		reg = <0x4>; | 
 | 	}; | 
 |  | 
 | 	rgmii_phy5: ethernet-phy@5 { | 
 | 		reg = <0x5>; | 
 | 	}; | 
 |  | 
 | 	rgmii_phy6: ethernet-phy@6 { | 
 | 		reg = <0x6>; | 
 | 	}; | 
 |  | 
 | 	/* SGMII PCS for enet0 */ | 
 | 	tbi0: tbi-phy@1f { | 
 | 		reg = <0x1f>; | 
 | 		device_type = "tbi-phy"; | 
 | 	}; | 
 | }; | 
 |  | 
 | &mdio1 { | 
 | 	/* SGMII PCS for enet1 */ | 
 | 	tbi1: tbi-phy@1f { | 
 | 		reg = <0x1f>; | 
 | 		device_type = "tbi-phy"; | 
 | 	}; | 
 | }; | 
 |  | 
 | &qspi { | 
 | 	status = "okay"; | 
 |  | 
 | 	flash@0 { | 
 | 		/* Rev. A uses 64MB flash, Rev. B & C use 32MB flash */ | 
 | 		compatible = "jedec,spi-nor"; | 
 | 		spi-max-frequency = <20000000>; | 
 | 		#address-cells = <1>; | 
 | 		#size-cells = <1>; | 
 | 		reg = <0>; | 
 |  | 
 | 		partitions { | 
 | 			compatible = "fixed-partitions"; | 
 | 			#address-cells = <1>; | 
 | 			#size-cells = <1>; | 
 |  | 
 | 			partition@0 { | 
 | 				label = "RCW"; | 
 | 				reg = <0x0 0x40000>; | 
 | 			}; | 
 |  | 
 | 			partition@40000 { | 
 | 				label = "U-Boot"; | 
 | 				reg = <0x40000 0x300000>; | 
 | 			}; | 
 |  | 
 | 			partition@340000 { | 
 | 				label = "U-Boot Env"; | 
 | 				reg = <0x340000 0x100000>; | 
 | 			}; | 
 | 		}; | 
 | 	}; | 
 | }; | 
 |  | 
 | &sai2 { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &sata { | 
 | 	status = "okay"; | 
 | }; | 
 |  | 
 | &uart0 { | 
 | 	status = "okay"; | 
 | }; |