// 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-mux@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";
};