// SPDX-License-Identifier: (GPL-2.0 OR MIT)
//
// Copyright (C) 2021 emtrion GmbH
// Author: Frank Erdrich <frank.erdrich@emtrion.com>
//

/ {
	aliases {
		boardid = &boardID;
		mmc0 = &usdhc1;
		mmc1 = &usdhc2;
	};

	chosen {
		stdout-path = &uart1;
	};

	reg_wall_5p0: regulator-wall5p0 {
		compatible = "regulator-fixed";
		regulator-name = "Main-Supply";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		regulator-boot-on;
	};

	reg_base3p3: regulator-base3p3 {
		compatible = "regulator-fixed";
		vin-supply = <&reg_wall_5p0>;
		regulator-name = "3V3-avari";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
		regulator-boot-on;
	};

	reg_base1p5: regulator-base1p5 {
		compatible = "regulator-fixed";
		vin-supply = <&reg_base3p3>;
		regulator-name = "1V5-avari";
		regulator-min-microvolt = <1500000>;
		regulator-max-microvolt = <1500000>;
		regulator-always-on;
		regulator-boot-on;
	};

	reg_usb_otg: regulator-otgvbus {
		compatible = "regulator-fixed";
		vin-supply = <&reg_wall_5p0>;
		regulator-name = "OTG_VBUS";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&gpio1 8 GPIO_ACTIVE_LOW>;
		regulator-always-on;
	};

	clk_codec: clock-codec {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <12000000>;
	};

	sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "SGTL5000-Card";
		simple-audio-card,format = "i2s";
		simple-audio-card,bitclock-master = <&codec_dai>;
		simple-audio-card,frame-master = <&codec_dai>;
		simple-audio-card,widgets = "Headphone", "Headphone Jack";
		simple-audio-card,routing = "Headphone Jack", "HP_OUT";

		cpu_dai: simple-audio-card,cpu {
			sound-dai = <&sai2>;
		};

		codec_dai: simple-audio-card,codec {
			sound-dai = <&sgtl5000>;
		};
	};
};

&ecspi1 {
	status = "okay";
};

&i2c2 {
	status = "okay";
};

&i2c1 {
	clock-frequency = <100000>;
	status = "okay";

	sgtl5000: audio-codec@a {
		compatible = "fsl,sgtl5000";
		reg = <0x0a>;
		#sound-dai-cells = <0>;
		clocks = <&clk_codec>;
		VDDA-supply = <&reg_base3p3>;
		VDDIO-supply = <&reg_base3p3>;
	};

	boardID: gpio@3a {
		compatible = "nxp,pca8574";
		reg = <0x3a>;
		gpio-controller;
		#gpio-cells = <1>;
	};
};

&sai2 {
	status = "okay";
};

&uart2 {
	uart-has-rtscts;
	status = "okay";
};

&uart3 {
	status = "okay";
};

&uart4 {
	status = "okay";
};

&usbotg1 {
	status = "okay";
};

&usbotg2 {
	dr_mode = "host";
	status = "disabled";
};

&usdhc2 {
	status = "okay";
};