/*
 * Copyright (C) 2015 Freescale Semiconductor, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

/dts-v1/;

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

/ {
	model = "Freescale i.MX7 DDR3 12x12 ARM2 Board";
	compatible = "fsl,imx7d-12x12-ddr3-arm2", "fsl,imx7d";

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

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

		volume-up {
			label = "Volume Up";
			gpios = <&gpio3 17 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEUP>;
		};

		volume-down {
			label = "Volume Down";
			gpios = <&gpio3 18 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEDOWN>;
		};
	};

	pxp_v4l2_out {
		compatible = "fsl,imx7d-pxp-v4l2", "fsl,imx6sx-pxp-v4l2", "fsl,imx6sl-pxp-v4l2";
		status = "okay";
	};

	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;

		reg_sd3_vmmc: sd3_vmmc {
			compatible = "regulator-fixed";
			regulator-name = "VCC_SD3";
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
			gpio = <&gpio6 11 GPIO_ACTIVE_HIGH>;
			enable-active-high;
		};

		reg_usb_otg1_vbus: regulator@0 {
			compatible = "regulator-fixed";
			reg = <0>;
			regulator-name = "usb_otg1_vbus";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			gpio = <&gpio4 5 GPIO_ACTIVE_HIGH>;
			enable-active-high;
		};

		reg_usb_otg2_vbus: regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "usb_otg2_vbus";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			gpio = <&gpio4 7 GPIO_ACTIVE_HIGH>;
			enable-active-high;
		};

		reg_vref_1v8: regulator@2 {
			compatible = "regulator-fixed";
			regulator-name = "vref-1v8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

		reg_can1_3v3: can1-3v3 {
			compatible = "regulator-fixed";
			regulator-name = "can1-3v3";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			gpio = <&gpio1 2 GPIO_ACTIVE_LOW>;
		};

		reg_can2_3v3: can2-3v3 {
			compatible = "regulator-fixed";
			regulator-name = "can2-3v3";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
		};
	};

	memory {
		reg = <0x80000000 0x80000000>;
	};
};

&adc1 {
	vref-supply = <&reg_vref_1v8>;
	status = "okay";
};

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

&ecspi4 {
	fsl,spi-num-chipselects = <4>;
	cs-gpios = <&gpio5 3 0>, <&gpio5 4 0>, <&gpio5 5 0>, <&gpio5 6 0>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi4_1 &pinctrl_ecspi4_cs_1>;
	status = "disabled";

	flash: m25p80@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "st,m25p32";
		spi-max-frequency = <20000000>;
		reg = <0>;
	};
};

&epxp {
	status = "okay";
};

&flexcan1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_flexcan1>;
	xceiver-supply = <&reg_can1_3v3>;
	status = "disabled";
};

&flexcan2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_flexcan2>;
	xceiver-supply = <&reg_can2_3v3>;
	status = "disabled";
};

&i2c1 {
	clock-frequency = <100000>;
	pinctrl-names = "default", "gpio";
	pinctrl-0 = <&pinctrl_i2c1_1>;
	pinctrl-1 = <&pinctrl_i2c1_1_gpio>;
	scl-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
	sda-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
	status = "okay";

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

		regulators {
			sw1a_reg: sw1a {
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <3300000>;
				regulator-boot-on;
				regulator-always-on;
				regulator-ramp-delay = <6250>;
			};
			/* use sw1c_reg to align with pfuze100/pfuze200 */
			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;
			};
		};
	};
};

&i2c3 {
	clock-frequency = <100000>;
	pinctrl-names = "default", "gpio";
	pinctrl-0 = <&pinctrl_i2c3_1>;
	pinctrl-1 = <&pinctrl_i2c3_1_gpio>;
	scl-gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
	sda-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

&iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_hog_1>;

	imx7d-12x12-ddr3-arm2 {
		pinctrl_hog_1: hoggrp-1 {
			fsl,pins = <
				MX7D_PAD_GPIO1_IO14__GPIO1_IO14 	0x59
				MX7D_PAD_GPIO1_IO15__GPIO1_IO15 	0x59
				MX7D_PAD_SD2_RESET_B__GPIO5_IO11 	0x59
			>;
		};

		pinctrl_ecspi4_cs_1: ecspi4_cs_grp-1 {
			fsl,pins = <
				MX7D_PAD_SD1_CLK__GPIO5_IO3 	0x2
				MX7D_PAD_SD1_CMD__GPIO5_IO4 	0x2
				MX7D_PAD_SD1_DATA0__GPIO5_IO5 	0x2
				MX7D_PAD_SD1_DATA1__GPIO5_IO6 	0x2
			>;
		};

		pinctrl_ecspi4_1: ecspi4grp-1 {
			fsl,pins = <
				MX7D_PAD_SD1_RESET_B__ECSPI4_SCLK 	0x2
				MX7D_PAD_SD1_WP__ECSPI4_MOSI 		0x2
				MX7D_PAD_SD1_CD_B__ECSPI4_MISO 	 	0x2
			>;
		};

		pinctrl_flexcan1: flexcan1grp {
			fsl,pins = <
				MX7D_PAD_SD3_DATA5__FLEXCAN1_TX 	0x59
				MX7D_PAD_SD3_DATA7__FLEXCAN1_RX 	0x59
			>;
		};

		pinctrl_flexcan2: flexcan2grp {
			fsl,pins = <
				MX7D_PAD_SD3_DATA6__FLEXCAN2_TX 	0x59
				MX7D_PAD_SD3_DATA4__FLEXCAN2_RX 	0x59
			>;
		};

		pinctrl_gpio_keys: gpio_keysgrp {
			fsl,pins = <
				MX7D_PAD_LCD_DATA12__GPIO3_IO17 0x32
				MX7D_PAD_LCD_DATA13__GPIO3_IO18 0x32
			>;
		};

		pinctrl_i2c3_1: i2c3grp-1 {
			fsl,pins = <
				MX7D_PAD_ENET1_RGMII_RD0__I2C3_SCL 0x4000007f
				MX7D_PAD_ENET1_RGMII_RD1__I2C3_SDA 0x4000007f
			>;
		};

		pinctrl_i2c3_1_gpio: i2c3grp-1-gpio {
			fsl,pins = <
				MX7D_PAD_ENET1_RGMII_RD0__GPIO7_IO0 0x7f
				MX7D_PAD_ENET1_RGMII_RD1__GPIO7_IO1 0x7f
			>;
		};

		pinctrl_i2c4_1: i2c4grp-1 {
			fsl,pins = <
				MX7D_PAD_ENET1_RGMII_TD2__I2C4_SCL 0x4000007f
				MX7D_PAD_ENET1_RGMII_TD3__I2C4_SDA 0x4000007f
			>;
		};

		pinctrl_lcdif_dat: lcdifdatgrp {
			fsl,pins = <
				MX7D_PAD_EPDC_DATA00__LCD_DATA0  0x4001b0b0
				MX7D_PAD_EPDC_DATA01__LCD_DATA1  0x4001b0b0
				MX7D_PAD_EPDC_DATA02__LCD_DATA2  0x4001b0b0
				MX7D_PAD_EPDC_DATA03__LCD_DATA3  0x4001b0b0
				MX7D_PAD_EPDC_DATA04__LCD_DATA4  0x4001b0b0
				MX7D_PAD_EPDC_DATA05__LCD_DATA5  0x4001b0b0
				MX7D_PAD_EPDC_DATA06__LCD_DATA6  0x4001b0b0
				MX7D_PAD_EPDC_DATA07__LCD_DATA7  0x4001b0b0
				MX7D_PAD_EPDC_DATA08__LCD_DATA8  0x4001b0b0
				MX7D_PAD_EPDC_DATA09__LCD_DATA9  0x4001b0b0
				MX7D_PAD_EPDC_DATA10__LCD_DATA10 0x4001b0b0
				MX7D_PAD_EPDC_DATA11__LCD_DATA11 0x4001b0b0
				MX7D_PAD_EPDC_DATA12__LCD_DATA12 0x4001b0b0
				MX7D_PAD_EPDC_DATA13__LCD_DATA13 0x4001b0b0
				MX7D_PAD_EPDC_DATA14__LCD_DATA14 0x4001b0b0
				MX7D_PAD_EPDC_DATA15__LCD_DATA15 0x4001b0b0
				MX7D_PAD_EPDC_SDLE__LCD_DATA16   0x4001b0b0
				MX7D_PAD_EPDC_SDOE__LCD_DATA17   0x4001b0b0
				MX7D_PAD_EPDC_SDSHR__LCD_DATA18  0x4001b0b0
				MX7D_PAD_EPDC_SDCE0__LCD_DATA19  0x4001b0b0
				MX7D_PAD_EPDC_SDCE1__LCD_DATA20  0x4001b0b0
				MX7D_PAD_EPDC_SDCE2__LCD_DATA21  0x4001b0b0
				MX7D_PAD_EPDC_SDCE3__LCD_DATA22  0x4001b0b0
				MX7D_PAD_EPDC_GDCLK__LCD_DATA23  0x4001b0b0
			>;
		};

		pinctrl_lcdif_ctrl: lcdifctrlgrp {
			fsl,pins = <
				MX7D_PAD_EPDC_SDCLK__LCD_CLK 		0x4001b0b0
				MX7D_PAD_EPDC_BDR1__LCD_ENABLE 		0x4001b0b0
				MX7D_PAD_EPDC_PWR_STAT__LCD_VSYNC 	0x4001b0b0
				MX7D_PAD_EPDC_PWR_COM__LCD_HSYNC 	0x4001b0b0
			>;
		};

		pinctrl_pwm1: pwm1grp {
			fsl,pins = <
				MX7D_PAD_GPIO1_IO08__PWM1_OUT 0x110b0
			>;
		};

		pinctrl_uart1_1: uart1grp-1 {
			fsl,pins = <
				MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX 0x79
				MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX 0x79
			>;
		};

		pinctrl_usdhc2_1: usdhc2grp-1 {
			fsl,pins = <
				MX7D_PAD_SD2_CMD__SD2_CMD     	0x59
				MX7D_PAD_SD2_CLK__SD2_CLK     	0x19
				MX7D_PAD_SD2_DATA0__SD2_DATA0 	0x59
				MX7D_PAD_SD2_DATA1__SD2_DATA1 	0x59
				MX7D_PAD_SD2_DATA2__SD2_DATA2 	0x59
				MX7D_PAD_SD2_DATA3__SD2_DATA3 	0x59
				MX7D_PAD_ECSPI1_SCLK__SD2_DATA4 0x59
				MX7D_PAD_ECSPI1_MOSI__SD2_DATA5 0x59
				MX7D_PAD_ECSPI1_MISO__SD2_DATA6 0x59
				MX7D_PAD_ECSPI1_SS0__SD2_DATA7 	0x59
			>;
		};

		pinctrl_usdhc2_1_100mhz: usdhc2grp-1_100mhz {
			fsl,pins = <
				MX7D_PAD_SD2_CMD__SD2_CMD     	0x5a
				MX7D_PAD_SD2_CLK__SD2_CLK     	0x1a
				MX7D_PAD_SD2_DATA0__SD2_DATA0 	0x5a
				MX7D_PAD_SD2_DATA1__SD2_DATA1 	0x5a
				MX7D_PAD_SD2_DATA2__SD2_DATA2 	0x5a
				MX7D_PAD_SD2_DATA3__SD2_DATA3 	0x5a
				MX7D_PAD_ECSPI1_SCLK__SD2_DATA4 0x5a
				MX7D_PAD_ECSPI1_MOSI__SD2_DATA5 0x5a
				MX7D_PAD_ECSPI1_MISO__SD2_DATA6 0x5a
				MX7D_PAD_ECSPI1_SS0__SD2_DATA7 	0x5a
			>;
		};

		pinctrl_usdhc2_1_200mhz: usdhc2grp-1_200mhz {
			fsl,pins = <
				MX7D_PAD_SD2_CMD__SD2_CMD     	0x5b
				MX7D_PAD_SD2_CLK__SD2_CLK     	0x1b
				MX7D_PAD_SD2_DATA0__SD2_DATA0 	0x5b
				MX7D_PAD_SD2_DATA1__SD2_DATA1 	0x5b
				MX7D_PAD_SD2_DATA2__SD2_DATA2 	0x5b
				MX7D_PAD_SD2_DATA3__SD2_DATA3 	0x5b
				MX7D_PAD_ECSPI1_SCLK__SD2_DATA4 0x5b
				MX7D_PAD_ECSPI1_MOSI__SD2_DATA5 0x5b
				MX7D_PAD_ECSPI1_MISO__SD2_DATA6 0x5b
				MX7D_PAD_ECSPI1_SS0__SD2_DATA7 	0x5b
			>;
		};

		pinctrl_usdhc3_1: usdhc3grp-1 {
			fsl,pins = <
				MX7D_PAD_SD3_CMD__SD3_CMD	    0x59
				MX7D_PAD_SD3_CLK__SD3_CLK	    0x19
				MX7D_PAD_SD3_DATA0__SD3_DATA0   0x59
				MX7D_PAD_SD3_DATA1__SD3_DATA1   0x59
				MX7D_PAD_SD3_DATA2__SD3_DATA2   0x59
				MX7D_PAD_SD3_DATA3__SD3_DATA3   0x59
			>;
		};
	};
};

&iomuxc_lpsr {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_hog_2>;

	imx7d-12x12-ddr3-arm2 {
		pinctrl_hog_2: hoggrp-2 {
			fsl,pins = <
				MX7D_PAD_GPIO1_IO02__GPIO1_IO2 	0x59 /* flexcan stby1 */
				MX7D_PAD_GPIO1_IO03__GPIO1_IO3  0x59 /* flexcan stby2 */
				MX7D_PAD_GPIO1_IO01__ANATOP_24M_OUT 0x80000000
			>;
		};

		pinctrl_i2c1_1: i2c1grp-1 {
			fsl,pins = <
				MX7D_PAD_GPIO1_IO04__I2C1_SCL 	0x4000007f
				MX7D_PAD_GPIO1_IO05__I2C1_SDA   0x4000007f
			>;
		};

		pinctrl_i2c1_1_gpio: i2c1grp-1-gpio {
			fsl,pins = <
				MX7D_PAD_GPIO1_IO05__GPIO1_IO5 	0x7f
				MX7D_PAD_GPIO1_IO06__GPIO1_IO6   0x7f
			>;
		};

		pinctrl_i2c2_1: i2c2grp-1 {
			fsl,pins = <
				MX7D_PAD_GPIO1_IO06__I2C2_SCL 	0x4000007f
				MX7D_PAD_GPIO1_IO07__I2C2_SDA 	0x4000007f
			>;
		};
	};
};

&lcdif {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_lcdif_dat
		     &pinctrl_lcdif_ctrl>;
	display = <&display0>;
	status = "okay";

	display0: display {
		bits-per-pixel = <16>;
		bus-width = <24>;

		display-timings {
			native-mode = <&timing0>;
			timing0: timing0 {
				clock-frequency = <33500000>;
				hactive = <800>;
				vactive = <480>;
				hback-porch = <89>;
				hfront-porch = <164>;
				vback-porch = <23>;
				vfront-porch = <10>;
				hsync-len = <10>;
				vsync-len = <10>;
				hsync-active = <0>;
				vsync-active = <0>;
				de-active = <1>;
				pixelclk-active = <0>;
			};
		};
	};
};

&sdma {
	status = "okay";
};

&pcie {
	pinctrl-names = "default";
	status = "disabled";
};

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

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

&usbh {
	status = "okay";
};

&usbotg1 {
	vbus-supply = <&reg_usb_otg1_vbus>;
	srp-disable;
	hnp-disable;
	adp-disable;
	status = "okay";
};

&usbotg2 {
	vbus-supply = <&reg_usb_otg2_vbus>;
	srp-disable;
	hnp-disable;
	adp-disable;
	status = "okay";
};

&usdhc2 {
	pinctrl-names = "default", "state_100mhz", "state_200mhz";
	pinctrl-0 = <&pinctrl_usdhc2_1>;
	pinctrl-1 = <&pinctrl_usdhc2_1_100mhz>;
	pinctrl-2 = <&pinctrl_usdhc2_1_200mhz>;
	assigned-clocks = <&clks IMX7D_USDHC2_ROOT_CLK>;
	assigned-clocks-rates = <400000000>;
	bus-width = <8>;
	tuning-step = <2>;
	non-removable;
	keep-power-in-suspend;
	status = "okay";
};

&usdhc3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc3_1>;
	vmmc-supply = <&reg_sd3_vmmc>;
	cd-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
	wp-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
	keep-power-in-suspend;
	enable-sdio-wakeup;
	no-1-8-v;
	status = "okay";
};
