// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2017-2022 Toradex
 */

/ {
	chosen {
		stdout-path = "serial0:115200n8";
	};

	gpio-keys {
		compatible = "gpio-keys";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_snvs_gpiokeys>;

		power {
			label = "Wake-Up";
			gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;
			linux,code = <KEY_WAKEUP>;
			debounce-interval = <10>;
			wakeup-source;
		};
	};

	reg_3v3: regulator-3v3 {
		compatible = "regulator-fixed";
		regulator-name = "3.3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	reg_5v0: regulator-5v0 {
		compatible = "regulator-fixed";
		regulator-name = "5V";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
	};

	reg_usbh_vbus: regulator-usbh-vbus {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_usbh_reg>;
		regulator-name = "VCC_USB[1-4]";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&gpio1 2 GPIO_ACTIVE_LOW>;
		vin-supply = <&reg_5v0>;
	};
};

&adc1 {
	status = "okay";
};

&ecspi1 {
	status = "okay";

	num-cs = <2>;
	cs-gpios = <
		&gpio3 26 GPIO_ACTIVE_HIGH /* SODIMM 86 LCD_DATA21 */
		&gpio4 28 GPIO_ACTIVE_HIGH /* SODIMM 65 CSI_DATA07 */
	>;
};

/*
 * Following SODIMM Pins should not be accessed as GPIO on Aster board:
 * 134 - AIN5_SCL (no connection)
 * 127 - Voltage Level Translator OE# signal (IC11 and IC12)
 *
 * To configure GPIO to LED5, please disable FEC2 and uncomment the following:
 *	&iomuxc {
 *		pinctrl-names = "default";
 *		pinctrl-0 = <
 *			&pinctrl_gpio1
 *			&pinctrl_gpio2
 *			&pinctrl_gpio3
 *			&pinctrl_gpio4
 *			&pinctrl_gpio6 - for non-WiFi modules only
 *			&pinctrl_gpio7
 *			&pinctrl_gpio_aster
 *		>;
 *
 *		pinctrl_gpio_aster: gpio-aster {
 *			fsl,pins = <
 *				MX6UL_PAD_GPIO1_IO07__GPIO1_IO07    0x1b0b0
 *			>;
 *		};
 *  };
 */

&i2c1 {
	status = "okay";

	m41t0m6: rtc@68 {
		compatible = "st,m41t0";
		reg = <0x68>;
	};
};

/* PWM <A> */
&pwm4 {
	status = "okay";
};

/* PWM <B> */
&pwm5 {
	status = "okay";
};

/* PWM <C> */
&pwm6 {
	status = "okay";
};

/* PWM <D> */
&pwm7 {
	status = "okay";
};

&uart1 {
	status = "okay";
};

&uart2 {
	status = "okay";
};

&uart5 {
	status = "okay";
};

&usbotg1 {
	disable-over-current;
	vbus-supply = <&reg_usbh_vbus>;
	status = "okay";
};

&usbotg2 {
	disable-over-current;
	vbus-supply = <&reg_usbh_vbus>;
	status = "okay";
};

&usdhc1 {
	vmmc-supply = <&reg_3v3>;
	status = "okay";
};