// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Copyright 2016 Freescale Semiconductor, Inc.
 * Copyright 2017-2018 NXP.
 *
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "imx6sll.dtsi"

/ {
	model = "Freescale i.MX6SLL EVK Board";
	compatible = "fsl,imx6sll-evk", "fsl,imx6sll";

	chosen {
		stdout-path = &uart1;
	};

	memory@80000000 {
		device_type = "memory";
		reg = <0x80000000 0x80000000>;
	};

	backlight_display: backlight-display {
		compatible = "pwm-backlight";
		pwms = <&pwm1 0 5000000>;
		brightness-levels = <0 4 8 16 32 64 128 255>;
		default-brightness-level = <6>;
		status = "okay";
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_led>;

		user {
			label = "debug";
			gpios = <&gpio2 4 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "heartbeat";
		};
	};

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

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

	reg_aud3v: regulator-aud3v {
		compatible = "regulator-fixed";
		regulator-name = "wm8962-supply-3v15";
		regulator-min-microvolt = <3150000>;
		regulator-max-microvolt = <3150000>;
		regulator-boot-on;
	};

	reg_aud4v: regulator-aud4v {
		compatible = "regulator-fixed";
		regulator-name = "wm8962-supply-4v2";
		regulator-min-microvolt = <4325000>;
		regulator-max-microvolt = <4325000>;
		regulator-boot-on;
	};

	reg_lcd_3v3: regulator-lcd-3v3 {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_reg_lcd_3v3>;
		regulator-name = "lcd-3v3";
		gpio = <&gpio4 3 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_lcd_5v: regulator-lcd-5v {
		compatible = "regulator-fixed";
		regulator-name = "lcd-5v0";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
	};

	reg_sd1_vmmc: regulator-sd1-vmmc {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_reg_sd1_vmmc>;
		regulator-name = "SD1_SPWR";
		regulator-min-microvolt = <3000000>;
		regulator-max-microvolt = <3000000>;
		gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_sd3_vmmc: regulator-sd3-vmmc {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_reg_sd3_vmmc>;
		regulator-name = "SD3_WIFI";
		regulator-min-microvolt = <3000000>;
		regulator-max-microvolt = <3000000>;
		gpio = <&gpio4 4 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	panel {
		compatible = "sii,43wvf1g";
		backlight = <&backlight_display>;
		dvdd-supply = <&reg_lcd_3v3>;
		avdd-supply = <&reg_lcd_5v>;

		port {
			panel_in: endpoint {
				remote-endpoint = <&display_out>;
			};
		};
	};
};

&cpu0 {
	arm-supply = <&sw1a_reg>;
	soc-supply = <&sw1c_reg>;
};

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

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

		regulators {
			sw1a_reg: sw1ab {
				regulator-min-microvolt = <300000>;
				regulator-max-microvolt = <1875000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};

			sw1c_reg: sw1c {
				regulator-min-microvolt = <300000>;
				regulator-max-microvolt = <1875000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};

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

			sw3a_reg: sw3a {
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1975000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw3b_reg: sw3b {
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1975000>;
				regulator-boot-on;
				regulator-always-on;
			};

			sw4_reg: sw4 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <3300000>;
				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: vgen1 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1550000>;
				regulator-always-on;
			};

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

			vgen3_reg: vgen3 {
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
			};

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

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

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

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

	port {
		display_out: endpoint {
			remote-endpoint = <&panel_in>;
		};
	};
};

&pwm1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm1>;
	status = "okay";
};

&reg_3p0 {
	vin-supply = <&sw2_reg>;
};

&snvs_poweroff {
	status = "okay";
};

&snvs_pwrkey {
	status = "okay";
};

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

&usdhc1 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc1>;
	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
	cd-gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
	wp-gpios = <&gpio4 22 GPIO_ACTIVE_HIGH>;
	keep-power-in-suspend;
	wakeup-source;
	vmmc-supply = <&reg_sd1_vmmc>;
	status = "okay";
};

&usbotg1 {
	vbus-supply = <&reg_usb_otg1_vbus>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbotg1>;
	disable-over-current;
	srp-disable;
	hnp-disable;
	adp-disable;
	status = "okay";
};

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

&usdhc3 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc3>;
	pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
	cd-gpios = <&gpio3 22 GPIO_ACTIVE_LOW>;
	keep-power-in-suspend;
	wakeup-source;
	vmmc-supply = <&reg_sd3_vmmc>;
	status = "okay";
};

&wdog1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wdog1>;
	fsl,ext-reset-output;
};

&iomuxc {
	pinctrl_reg_sd3_vmmc: sd3vmmcgrp {
		fsl,pins = <
			MX6SLL_PAD_KEY_COL6__GPIO4_IO04 0x17059
		>;
	};

	pinctrl_usb_otg1_vbus: vbus1grp {
		fsl,pins = <
			MX6SLL_PAD_KEY_COL4__GPIO4_IO00 0x17059
		>;
	};

	pinctrl_usb_otg2_vbus: vbus2grp {
		fsl,pins = <
			MX6SLL_PAD_KEY_COL5__GPIO4_IO02 0x17059
		>;
	};

	pinctrl_reg_lcd_3v3: reglcd3v3grp {
		fsl,pins = <
			MX6SLL_PAD_KEY_ROW5__GPIO4_IO03 0x17059
		>;
	};

	pinctrl_reg_sd1_vmmc: sd1vmmcgrp {
		fsl,pins = <
			MX6SLL_PAD_KEY_COL3__GPIO3_IO30 0x17059
		>;
	};

	pinctrl_uart1: uart1grp {
		fsl,pins = <
			MX6SLL_PAD_UART1_TXD__UART1_DCE_TX 0x1b0b1
			MX6SLL_PAD_UART1_RXD__UART1_DCE_RX 0x1b0b1
		>;
	};

	pinctrl_usdhc1: usdhc1grp {
		fsl,pins = <
			MX6SLL_PAD_SD1_CMD__SD1_CMD	0x17059
			MX6SLL_PAD_SD1_CLK__SD1_CLK	0x13059
			MX6SLL_PAD_SD1_DATA0__SD1_DATA0	0x17059
			MX6SLL_PAD_SD1_DATA1__SD1_DATA1	0x17059
			MX6SLL_PAD_SD1_DATA2__SD1_DATA2	0x17059
			MX6SLL_PAD_SD1_DATA3__SD1_DATA3	0x17059
		>;
	};

	pinctrl_usdhc1_100mhz: usdhc1grp_100mhz {
		fsl,pins = <
			MX6SLL_PAD_SD1_CMD__SD1_CMD	0x170b9
			MX6SLL_PAD_SD1_CLK__SD1_CLK	0x130b9
			MX6SLL_PAD_SD1_DATA0__SD1_DATA0	0x170b9
			MX6SLL_PAD_SD1_DATA1__SD1_DATA1	0x170b9
			MX6SLL_PAD_SD1_DATA2__SD1_DATA2	0x170b9
			MX6SLL_PAD_SD1_DATA3__SD1_DATA3	0x170b9
		>;
	};

	pinctrl_usdhc1_200mhz: usdhc1grp_200mhz {
		fsl,pins = <
			MX6SLL_PAD_SD1_CMD__SD1_CMD	0x170f9
			MX6SLL_PAD_SD1_CLK__SD1_CLK	0x130f9
			MX6SLL_PAD_SD1_DATA0__SD1_DATA0	0x170f9
			MX6SLL_PAD_SD1_DATA1__SD1_DATA1	0x170f9
			MX6SLL_PAD_SD1_DATA2__SD1_DATA2	0x170f9
			MX6SLL_PAD_SD1_DATA3__SD1_DATA3	0x170f9
		>;
	};

	pinctrl_usbotg1: usbotg1grp {
		fsl,pins = <
			MX6SLL_PAD_EPDC_PWR_COM__USB_OTG1_ID 0x17059
		>;
	};

	pinctrl_usdhc3: usdhc3grp {
		fsl,pins = <
			MX6SLL_PAD_SD3_CMD__SD3_CMD		0x17061
			MX6SLL_PAD_SD3_CLK__SD3_CLK		0x13061
			MX6SLL_PAD_SD3_DATA0__SD3_DATA0		0x17061
			MX6SLL_PAD_SD3_DATA1__SD3_DATA1		0x17061
			MX6SLL_PAD_SD3_DATA2__SD3_DATA2		0x17061
			MX6SLL_PAD_SD3_DATA3__SD3_DATA3		0x17061
			MX6SLL_PAD_REF_CLK_32K__GPIO3_IO22	0x17059
		>;
	};

	pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
		fsl,pins = <
			MX6SLL_PAD_SD3_CMD__SD3_CMD		0x170a1
			MX6SLL_PAD_SD3_CLK__SD3_CLK		0x130a1
			MX6SLL_PAD_SD3_DATA0__SD3_DATA0		0x170a1
			MX6SLL_PAD_SD3_DATA1__SD3_DATA1		0x170a1
			MX6SLL_PAD_SD3_DATA2__SD3_DATA2		0x170a1
			MX6SLL_PAD_SD3_DATA3__SD3_DATA3		0x170a1
			MX6SLL_PAD_REF_CLK_32K__GPIO3_IO22	0x17059
		>;
	};

	pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
		fsl,pins = <
			MX6SLL_PAD_SD3_CMD__SD3_CMD		0x170e9
			MX6SLL_PAD_SD3_CLK__SD3_CLK		0x130f9
			MX6SLL_PAD_SD3_DATA0__SD3_DATA0		0x170e9
			MX6SLL_PAD_SD3_DATA1__SD3_DATA1		0x170e9
			MX6SLL_PAD_SD3_DATA2__SD3_DATA2		0x170e9
			MX6SLL_PAD_SD3_DATA3__SD3_DATA3		0x170e9
			MX6SLL_PAD_REF_CLK_32K__GPIO3_IO22	0x17059
		>;
	};

	pinctrl_i2c1: i2c1grp {
		fsl,pins = <
			MX6SLL_PAD_I2C1_SCL__I2C1_SCL	 0x4001b8b1
			MX6SLL_PAD_I2C1_SDA__I2C1_SDA	 0x4001b8b1
		>;
	};

	pinctrl_lcd: lcdgrp {
		fsl,pins = <
			MX6SLL_PAD_LCD_DATA00__LCD_DATA00	0x79
			MX6SLL_PAD_LCD_DATA01__LCD_DATA01	0x79
			MX6SLL_PAD_LCD_DATA02__LCD_DATA02	0x79
			MX6SLL_PAD_LCD_DATA03__LCD_DATA03	0x79
			MX6SLL_PAD_LCD_DATA04__LCD_DATA04	0x79
			MX6SLL_PAD_LCD_DATA05__LCD_DATA05	0x79
			MX6SLL_PAD_LCD_DATA06__LCD_DATA06	0x79
			MX6SLL_PAD_LCD_DATA07__LCD_DATA07	0x79
			MX6SLL_PAD_LCD_DATA08__LCD_DATA08	0x79
			MX6SLL_PAD_LCD_DATA09__LCD_DATA09	0x79
			MX6SLL_PAD_LCD_DATA10__LCD_DATA10	0x79
			MX6SLL_PAD_LCD_DATA11__LCD_DATA11	0x79
			MX6SLL_PAD_LCD_DATA12__LCD_DATA12	0x79
			MX6SLL_PAD_LCD_DATA13__LCD_DATA13	0x79
			MX6SLL_PAD_LCD_DATA14__LCD_DATA14	0x79
			MX6SLL_PAD_LCD_DATA15__LCD_DATA15	0x79
			MX6SLL_PAD_LCD_DATA16__LCD_DATA16	0x79
			MX6SLL_PAD_LCD_DATA17__LCD_DATA17	0x79
			MX6SLL_PAD_LCD_DATA18__LCD_DATA18	0x79
			MX6SLL_PAD_LCD_DATA19__LCD_DATA19	0x79
			MX6SLL_PAD_LCD_DATA20__LCD_DATA20	0x79
			MX6SLL_PAD_LCD_DATA21__LCD_DATA21	0x79
			MX6SLL_PAD_LCD_DATA22__LCD_DATA22	0x79
			MX6SLL_PAD_LCD_DATA23__LCD_DATA23	0x79
			MX6SLL_PAD_LCD_CLK__LCD_CLK		0x79
			MX6SLL_PAD_LCD_ENABLE__LCD_ENABLE	0x79
			MX6SLL_PAD_LCD_HSYNC__LCD_HSYNC		0x79
			MX6SLL_PAD_LCD_VSYNC__LCD_VSYNC		0x79
			MX6SLL_PAD_LCD_RESET__LCD_RESET		0x79
		>;
	};

	pinctrl_led: ledgrp {
		fsl,pins = <
			MX6SLL_PAD_EPDC_VCOM1__GPIO2_IO04	0x17059
		>;
	};

	pinctrl_pwm1: pmw1grp {
		fsl,pins = <
			MX6SLL_PAD_PWM1__PWM1_OUT   0x110b0
		>;
	};

	pinctrl_wdog1: wdog1grp	{
		fsl,pins = <
			MX6SLL_PAD_WDOG_B__WDOG1_B   0x170b0
		>;
	};
};
