// 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";
	compatible = "fsl,ls1021a-tsn", "fsl,ls1021a";

	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";
				rx-internal-delay-ps = <0>;
				tx-internal-delay-ps = <0>;
				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";
		reg = <0x1e>;
	};

	/* Audio codec (SAI2) */
	audio-codec@2a {
		compatible = "fsl,sgtl5000";
		VDDIO-supply = <&reg_vddio_codec>;
		VDDA-supply = <&reg_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";
};
