// SPDX-License-Identifier: (GPL-2.0 OR MIT)
//
// Device Tree file for LX2160A-CEx7
//
// Copyright 2019 SolidRun Ltd.

/dts-v1/;

#include "fsl-lx2160a.dtsi"

/ {
	model = "SolidRun LX2160A COM Express Type 7 module";
	compatible = "solidrun,lx2160a-cex7", "fsl,lx2160a";

	aliases {
		crypto = &crypto;
	};

	sb_3v3: regulator-sb3v3 {
		compatible = "regulator-fixed";
		regulator-name = "RT7290";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
	};
};

&crypto {
	status = "okay";
};

&dpmac17 {
	phy-handle = <&rgmii_phy1>;
	phy-connection-type = "rgmii-id";
};

&emdio1 {
	status = "okay";

	rgmii_phy1: ethernet-phy@1 {
		reg = <1>;
		qca,smarteee-tw-us-1g = <24>;
	};
};

&esdhc1 {
	mmc-hs200-1_8v;
	mmc-hs400-1_8v;
	bus-width = <8>;
	status = "okay";
};

&i2c0 {
	status = "okay";

	i2c-switch@77 {
		compatible = "nxp,pca9547";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x77>;

		i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;

			eeprom@50 {
				compatible = "atmel,24c512";
				reg = <0x50>;
			};

			eeprom@51 {
				compatible = "atmel,spd";
				reg = <0x51>;
			};

			eeprom@53 {
				compatible = "atmel,spd";
				reg = <0x53>;
			};

			eeprom@57 {
				compatible = "atmel,24c02";
				reg = <0x57>;
			};
		};

		i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;

			fan-temperature-ctrlr@18 {
				compatible = "ti,amc6821";
				reg = <0x18>;
				cooling-min-state = <0>;
				cooling-max-state = <9>;
				#cooling-cells = <2>;
			};
		};

		i2c@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;

			regulator@5c {
				compatible = "lltc,ltc3882";
				reg = <0x5c>;
			};
		};

		i2c@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;

			temperature-sensor@48 {
				compatible = "nxp,sa56004";
				reg = <0x48>;
				vcc-supply = <&sb_3v3>;
			};
		};

		sfp0_i2c: i2c@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;
		};

		sfp1_i2c: i2c@5 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <5>;
		};

		sfp2_i2c: i2c@6 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <6>;
		};

		sfp3_i2c: i2c@7 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <7>;
		};
	};
};

&i2c2 {
	status = "okay";
};

&i2c4 {
	status = "okay";

	rtc@51 {
		compatible = "nxp,pcf2129";
		reg = <0x51>;
	};
};

&fspi {
	status = "okay";

	flash@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "micron,m25p80";
		m25p,fast-read;
		spi-max-frequency = <50000000>;
		reg = <0>;
		/* The following setting enables 1-1-8 (CMD-ADDR-DATA) mode */
		spi-rx-bus-width = <8>;
		spi-tx-bus-width = <1>;
	};
};

&usb0 {
	status = "okay";
};

&usb1 {
	status = "okay";
};
