// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2016 Andreas Färber
 */

#include "imx6sx.dtsi"

/ {
	compatible = "fsl,imx6sx";

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

	leds {
		compatible = "gpio-leds";

		led-red {
			label = "udoo-neo:red:mmc";
			gpios = <&gpio6 0 GPIO_ACTIVE_HIGH>;
			default-state = "off";
			linux,default-trigger = "mmc0";
		};

		led-orange {
			label = "udoo-neo:orange:user";
			gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;
			default-state = "keep";
		};
	};

	reg_sdio_pwr: regulator-sdio-pwr {
		compatible = "regulator-fixed";
		gpio = <&gpio6 1 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-name = "SDIO_PWR";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
	};

	reg_usb_otg1_vbus: regulator-usb-otg1-vbus {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_otg1_reg>;
		regulator-name = "usb_otg1_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_usb_otg2_vbus: regulator-usb-otg2-vbus {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_otg2_reg>;
		regulator-name = "usb_otg2_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&gpio4 12 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_wlan: regulator-wlan {
		compatible = "regulator-fixed";
		regulator-name = "wlan-en-regulator";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		gpio = <&gpio2 12 GPIO_ACTIVE_HIGH>;
		startup-delay-us = <70000>;
		enable-active-high;
	};
};

&fec1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet1>;
	phy-mode = "rmii";
	phy-reset-duration = <10>;
	phy-reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
};

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c1>;
	clock-frequency = <100000>;
	status = "okay";

	pmic: pmic@8 {
		compatible = "fsl,pfuze3000";
		reg = <0x08>;

		regulators {
			sw1a_reg: sw1a {
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1475000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};

			sw1c_reg: sw1b {
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1475000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};

			sw2_reg: sw2 {
				regulator-min-microvolt = <1500000>;
				regulator-max-microvolt = <1850000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw3a_reg: sw3 {
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <1650000>;
				regulator-boot-on;
				regulator-always-on;
			};

			swbst_reg: swbst {
				regulator-min-microvolt = <5000000>;
				regulator-max-microvolt = <5150000>;
			};

			snvs_reg: vsnvs {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3000000>;
				regulator-boot-on;
				regulator-always-on;
			};

			vref_reg: vrefddr {
				regulator-boot-on;
				regulator-always-on;
			};

			vgen1_reg: vldo1 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen2_reg: vldo2 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1550000>;
			};

			vgen3_reg: vccsd {
				regulator-min-microvolt = <2850000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen4_reg: v33 {
				regulator-min-microvolt = <2850000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen5_reg: vldo3 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			vgen6_reg: vldo4 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};
		};
	};
};

&i2c2 { /* Brick snap in sensors connector */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2>;
	clock-frequency = <100000>;
	status = "okay";
};

&i2c3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3>;
	clock-frequency = <100000>;
	status = "okay";

	hdmi-transmitter@70 {
		compatible = "nxp,tda998x";
		reg = <0x70>;
		interrupts-extended = <&gpio3 27 IRQ_TYPE_LEVEL_LOW>;

		ports {
			port {
				hdmi: endpoint {
					remote-endpoint = <&lcdc>;
				};
			};
		};
	};
};

&i2c4 { /* Onboard Motion sensors */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c4>;
	clock-frequency = <100000>;
	status = "disabled";
};

&lcdif1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_lcd>;
	status = "okay";

	port {
		lcdc: endpoint {
			remote-endpoint = <&hdmi>;
		};
	};
};

&iomuxc {
	pinctrl_bt_reg: btreggrp {
		fsl,pins =
			<MX6SX_PAD_KEY_ROW2__GPIO2_IO_17	0x15059>;
	};

	pinctrl_enet1: enet1grp {
		fsl,pins =
			<MX6SX_PAD_ENET1_CRS__GPIO2_IO_1	0xa0b1>,
			<MX6SX_PAD_ENET1_MDC__ENET1_MDC		0xa0b1>,
			<MX6SX_PAD_ENET1_MDIO__ENET1_MDIO	0xa0b1>,
			<MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0	0xa0b1>,
			<MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1	0xa0b1>,
			<MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN	0xa0b1>,

			<MX6SX_PAD_ENET1_TX_CLK__ENET1_REF_CLK1	0x3081>,
			<MX6SX_PAD_ENET2_TX_CLK__GPIO2_IO_9	0x3081>,
			<MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0	0x3081>,
			<MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1	0x3081>,
			<MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN	0x3081>,
			<MX6SX_PAD_RGMII1_RXC__ENET1_RX_ER	0x3081>,

			<MX6SX_PAD_ENET2_RX_CLK__ENET2_REF_CLK_25M	0x91>;
	};

	pinctrl_i2c1: i2c1grp {
		fsl,pins =
			<MX6SX_PAD_GPIO1_IO00__I2C1_SCL		0x4001b8b1>,
			<MX6SX_PAD_GPIO1_IO01__I2C1_SDA		0x4001b8b1>;
	};

	pinctrl_i2c2: i2c2grp {
		fsl,pins =
			<MX6SX_PAD_GPIO1_IO03__I2C2_SDA		0x4001b8b1>,
			<MX6SX_PAD_GPIO1_IO02__I2C2_SCL		0x4001b8b1>;
	};

	pinctrl_i2c3: i2c3grp {
		fsl,pins =
			<MX6SX_PAD_KEY_ROW4__I2C3_SDA			0x4001b8b1>,
			<MX6SX_PAD_KEY_COL4__I2C3_SCL			0x4001b8b1>;
	};

	pinctrl_i2c4: i2c4grp {
		fsl,pins =
			<MX6SX_PAD_USB_H_DATA__I2C4_SDA		0x4001b8b1>,
			<MX6SX_PAD_USB_H_STROBE__I2C4_SCL	0x4001b8b1>;
	};

	pinctrl_lcd: lcdgrp {
		fsl,pins = <
			MX6SX_PAD_LCD1_DATA00__LCDIF1_DATA_0		0x4001b0b0
			MX6SX_PAD_LCD1_DATA01__LCDIF1_DATA_1		0x4001b0b0
			MX6SX_PAD_LCD1_DATA02__LCDIF1_DATA_2		0x4001b0b0
			MX6SX_PAD_LCD1_DATA03__LCDIF1_DATA_3		0x4001b0b0
			MX6SX_PAD_LCD1_DATA04__LCDIF1_DATA_4		0x4001b0b0
			MX6SX_PAD_LCD1_DATA05__LCDIF1_DATA_5		0x4001b0b0
			MX6SX_PAD_LCD1_DATA06__LCDIF1_DATA_6		0x4001b0b0
			MX6SX_PAD_LCD1_DATA07__LCDIF1_DATA_7		0x4001b0b0
			MX6SX_PAD_LCD1_DATA08__LCDIF1_DATA_8		0x4001b0b0
			MX6SX_PAD_LCD1_DATA09__LCDIF1_DATA_9		0x4001b0b0
			MX6SX_PAD_LCD1_DATA10__LCDIF1_DATA_10		0x4001b0b0
			MX6SX_PAD_LCD1_DATA11__LCDIF1_DATA_11		0x4001b0b0
			MX6SX_PAD_LCD1_DATA12__LCDIF1_DATA_12		0x4001b0b0
			MX6SX_PAD_LCD1_DATA13__LCDIF1_DATA_13		0x4001b0b0
			MX6SX_PAD_LCD1_DATA14__LCDIF1_DATA_14		0x4001b0b0
			MX6SX_PAD_LCD1_DATA15__LCDIF1_DATA_15		0x4001b0b0
			MX6SX_PAD_LCD1_DATA16__LCDIF1_DATA_16		0x4001b0b0
			MX6SX_PAD_LCD1_DATA17__LCDIF1_DATA_17		0x4001b0b0
			MX6SX_PAD_LCD1_DATA18__LCDIF1_DATA_18		0x4001b0b0
			MX6SX_PAD_LCD1_DATA19__LCDIF1_DATA_19		0x4001b0b0
			MX6SX_PAD_LCD1_DATA20__LCDIF1_DATA_20		0x4001b0b0
			MX6SX_PAD_LCD1_DATA21__LCDIF1_DATA_21		0x4001b0b0
			MX6SX_PAD_LCD1_DATA22__LCDIF1_DATA_22		0x4001b0b0
			MX6SX_PAD_LCD1_DATA23__LCDIF1_DATA_23		0x4001b0b0
			MX6SX_PAD_LCD1_CLK__LCDIF1_CLK		0x4001b0b0
			MX6SX_PAD_LCD1_ENABLE__LCDIF1_ENABLE		0x4001b0b0
			MX6SX_PAD_LCD1_VSYNC__LCDIF1_VSYNC		0x4001b0b0
			MX6SX_PAD_LCD1_HSYNC__LCDIF1_HSYNC		0x4001b0b0
			MX6SX_PAD_LCD1_RESET__GPIO3_IO_27		0x4001b0b0
		>;
	};

	pinctrl_uart1: uart1grp {
		fsl,pins =
			<MX6SX_PAD_GPIO1_IO04__UART1_DCE_TX	0x1b0b1>,
			<MX6SX_PAD_GPIO1_IO05__UART1_DCE_RX	0x1b0b1>;
	};

	pinctrl_uart2: uart2grp {
		fsl,pins =
			<MX6SX_PAD_GPIO1_IO06__UART2_DCE_TX	0x1b0b1>,
			<MX6SX_PAD_GPIO1_IO07__UART2_DCE_RX	0x1b0b1>;
	};

	pinctrl_uart3: uart3grp {
		fsl,pins =
			<MX6SX_PAD_SD3_DATA4__UART3_DCE_RX	0x13059>,
			<MX6SX_PAD_SD3_DATA5__UART3_DCE_TX	0x13059>,
			<MX6SX_PAD_SD3_DATA6__UART3_DCE_RTS	0x13059>,
			<MX6SX_PAD_SD3_DATA7__UART3_DCE_CTS	0x13059>;
	};

	pinctrl_uart5: uart5grp {
		fsl,pins =
			<MX6SX_PAD_SD4_DATA4__UART5_DCE_RX	0x1b0b1>,
			<MX6SX_PAD_SD4_DATA5__UART5_DCE_TX	0x1b0b1>;
	};

	pinctrl_uart6: uart6grp {
		fsl,pins =
			<MX6SX_PAD_CSI_DATA00__UART6_RI_B	0x1b0b1>,
			<MX6SX_PAD_CSI_DATA01__UART6_DSR_B	0x1b0b1>,
			<MX6SX_PAD_CSI_DATA02__UART6_DTR_B	0x1b0b1>,
			<MX6SX_PAD_CSI_DATA03__UART6_DCD_B	0x1b0b1>,
			<MX6SX_PAD_CSI_DATA04__UART6_DCE_RX	0x1b0b1>,
			<MX6SX_PAD_CSI_DATA05__UART6_DCE_TX	0x1b0b1>,
			<MX6SX_PAD_CSI_DATA06__UART6_DCE_RTS	0x1b0b1>,
			<MX6SX_PAD_CSI_DATA07__UART6_DCE_CTS	0x1b0b1>;
	};

	pinctrl_otg1_reg: otg1grp {
		fsl,pins =
			<MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9	0x10b0>;
	};

	pinctrl_otg2_reg: otg2grp {
		fsl,pins =
			<MX6SX_PAD_NAND_RE_B__GPIO4_IO_12	0x10b0>;
	};

	pinctrl_usb_otg1: usbotg1grp {
		fsl,pins =
			<MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID	0x17059>,
			<MX6SX_PAD_GPIO1_IO08__USB_OTG1_OC	0x10b0>;
	};

	pinctrl_usb_otg2: usbot2ggrp {
		fsl,pins =
			<MX6SX_PAD_QSPI1A_DATA0__USB_OTG2_OC	0x10b0>;
	};

	pinctrl_usdhc2: usdhc2grp {
		fsl,pins =
			<MX6SX_PAD_SD2_CMD__USDHC2_CMD		0x17059>,
			<MX6SX_PAD_SD2_CLK__USDHC2_CLK		0x10059>,
			<MX6SX_PAD_SD2_DATA0__USDHC2_DATA0	0x17059>,
			<MX6SX_PAD_SD2_DATA1__USDHC2_DATA1	0x17059>,
			<MX6SX_PAD_SD2_DATA2__USDHC2_DATA2	0x17059>,
			<MX6SX_PAD_SD2_DATA3__USDHC2_DATA3	0x17059>,
			<MX6SX_PAD_SD1_DATA0__GPIO6_IO_2	0x17059>; /* CD */
	};

	pinctrl_usdhc3: usdhc3grp {
		fsl,pins =
			<MX6SX_PAD_KEY_COL2__GPIO2_IO_12	0x15059>,
			<MX6SX_PAD_KEY_ROW1__GPIO2_IO_16	0x13059>,
			<MX6SX_PAD_SD3_DATA0__USDHC3_DATA0	0x17069>,
			<MX6SX_PAD_SD3_DATA1__USDHC3_DATA1	0x17069>,
			<MX6SX_PAD_SD3_DATA2__USDHC3_DATA2	0x17069>,
			<MX6SX_PAD_SD3_DATA3__USDHC3_DATA3	0x17069>,
			<MX6SX_PAD_SD3_CMD__USDHC3_CMD		0x17069>,
			<MX6SX_PAD_SD3_CLK__USDHC3_CLK		0x10069>,
			<MX6SX_PAD_CSI_MCLK__OSC32K_32K_OUT	0x10059>;
	};
};

&uart1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart1>;
	status = "okay";
};

/* Cortex-M4 serial */
&uart2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart2>;
	status = "disabled";
};

&uart3 { /* Bluetooth - only on Extended/Full versions */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart3>;
	uart-has-rtscts;
	status = "disabled";

	bluetooth {
		compatible = "ti,wl1831-st";
		enable-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_bt_reg>;
		max-speed = <921600>;
	};
};

/* Arduino serial */
&uart5 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart5>;
	status = "disabled";
};

&uart6 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart6>;
	uart-has-rtscts;
	status = "disabled";
};

&usbotg1 { /* J2 micro USB port */
	vbus-supply = <&reg_usb_otg1_vbus>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usb_otg1>;
	status = "okay";
};

&usbotg2 { /* J3 host USB port */
	vbus-supply = <&reg_usb_otg2_vbus>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usb_otg2>;
	dr_mode = "host";
	status = "okay";
};

&usdhc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc2>;
	vmmc-supply = <&reg_sdio_pwr>;
	bus-width = <4>;
	cd-gpios = <&gpio6 2 GPIO_ACTIVE_LOW>;
	no-1-8-v;
	keep-power-in-suspend;
	wakeup-source;
	status = "okay";
};

&usdhc3 { /* Wi-Fi */
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc3>;
	non-removable;
	vmmc-supply = <&reg_wlan>;
	cap-power-off-card;
	wakeup-source;
	keep-power-in-suspend;
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	wlcore: wlcore@2 {
		compatible = "ti,wl1831";
		reg = <2>;
		interrupt-parent = <&gpio2>;
		interrupts = <16 IRQ_TYPE_EDGE_RISING>;
		ref-clock-frequency = <38400000>;
		tcxo-clock-frequency = <26000000>;
	};
};
