// 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>;
	};
};

&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>;
			};
		};
	};
};

&i2c2 {
	status = "okay";
};

&i2c4 {
	status = "okay";

	rtc@51 {
		compatible = "nxp,pcf2129";
		reg = <0x51>;
		// IRQ10_B
		interrupts = <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
	};
};

&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";
};
