/*
 * Copyright 2014 General Electric Company
 *
 * This file is dual-licensed: you can use it either under the terms
 * of the GPL or the X11 license, at your option. Note that this dual
 * licensing only applies to this file, and not this project as a
 * whole.
 *
 *  a) This file 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.
 *
 *     This file is distributed in the hope that it will be useful,
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *     GNU General Public License for more details.
 *
 * Or, alternatively,
 *
 *  b) Permission is hereby granted, free of charge, to any person
 *     obtaining a copy of this software and associated documentation
 *     files (the "Software"), to deal in the Software without
 *     restriction, including without limitation the rights to use,
 *     copy, modify, merge, publish, distribute, sublicense, and/or
 *     sell copies of the Software, and to permit persons to whom the
 *     Software is furnished to do so, subject to the following
 *     conditions:
 *
 *     The above copyright notice and this permission notice shall be
 *     included in all copies or substantial portions of the Software.
 *
 *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 *     OTHER DEALINGS IN THE SOFTWARE.
 */

/dts-v1/;

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

/ {
	model = "General Electric CS ONE";
	compatible = "ge,imx53-cpuvo", "fsl,imx53";

	aliases {
		spi0 = &cspi;
		spi1 = &ecspi1;
		spi2 = &ecspi2;
	};

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

	memory@70000000 {
		device_type = "memory";
		reg = <0x70000000 0x20000000>,
		      <0xb0000000 0x20000000>;
	};

	cko2_11M: sgtl-clock-cko2 {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <11289600>;
	};

	achc_24M: achc-clock {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <24000000>;
	};

	sgtlsound: sound {
		compatible = "fsl,imx53-cpuvo-sgtl5000",
			     "fsl,imx-audio-sgtl5000";
		model = "imx53-cpuvo-sgtl5000";
		ssi-controller = <&ssi2>;
		audio-codec = <&sgtl5000>;
		audio-routing =
			"MIC_IN", "Mic Jack",
			"Mic Jack", "Mic Bias",
			"Headphone Jack", "HP_OUT";
		mux-int-port = <2>;
		mux-ext-port = <6>;
	};

	reg_sgtl5k: regulator-sgtl5k {
		compatible = "regulator-fixed";
		regulator-name = "regulator-sgtl5k";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
	};

	reg_usb_otg_vbus: regulator-usb-otg-vbus {
		compatible = "regulator-fixed";
		regulator-name = "usbotg_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		pinctrl-0 = <&pinctrl_usb_otg_vbus>;
		gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_usb_vbus: regulator-usb-vbus {
		compatible = "regulator-fixed";
		regulator-name = "usbh1_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
	};

	reg_usbh2_vbus: regulator-usbh2-vbus {
		compatible = "regulator-fixed";
		regulator-name = "usbh2_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_usbh2_vbus>;
		gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_usbh3_vbus: regulator-usbh3-vbus {
		compatible = "regulator-fixed";
		regulator-name = "usbh3_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_usbh3_vbus>;
		gpio = <&gpio5 27 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_tsiref: regulator-tsiref {
		compatible = "regulator-fixed";
		regulator-name = "tsiref";
		regulator-min-microvolt = <2500000>;
		regulator-max-microvolt = <2500000>;
		regulator-always-on;
	};

	reg_3v3: regulator-3v3 {
		/* TPS54320 */
		compatible = "regulator-fixed";
		regulator-name = "3V3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
	};

	reg_3v3_lcd: regulator-3v3-lcd {
		/* MIC2009 */
		compatible = "regulator-fixed";
		regulator-name = "LCD_3V3";
		vin-supply = <&reg_3v3>;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
	};

	pwm_bl: backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm2 0 50000>;
		brightness-levels = <0 2 5 7 10 12 15 17 20 22 25 28 30 33 35
				     38 40 43 45 48 51 53 56 58 61 63 66 68 71
				     73 76 79 81 84 86 89 91 94 96 99 102 104
				     107 109 112 114 117 119 122 124 127 130
				     132 135 137 140 142 145 147 150 153 155
				     158 160 163 165 168 170 173 175 178 181
				     183 186 188 191 193 196 198 201 204 206
				     209 211 214 216 219 221 224 226 229 232
				     234 237 239 242 244 247 249 252 255>;
		default-brightness-level = <0>;
		enable-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
		power-supply = <&reg_3v3_lcd>;
	};

	led-controller-1 {
		compatible = "pwm-leds";

		led-1 {
			label = "alarm-brightness";
			pwms = <&pwm1 0 100000>;
			max-brightness = <255>;
		};
	};

	led-controller-2 {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_alarmled_pins>;

		led-2 {
			label = "alarm:red";
			gpios = <&gpio7 3 GPIO_ACTIVE_HIGH>;
		};

		led-3 {
			label = "alarm:yellow";
			gpios = <&gpio7 7 GPIO_ACTIVE_HIGH>;
		};

		led-4 {
			label = "alarm:blue";
			gpios = <&gpio7 8 GPIO_ACTIVE_HIGH>;
		};

		led-5 {
			label = "alarm:silenced";
			gpios = <&gpio7 13 GPIO_ACTIVE_HIGH>;
		};
	};

	gpio-poweroff {
		compatible = "gpio-poweroff";
		gpios = <&gpio3 9 GPIO_ACTIVE_HIGH>;
	};

	gpio-restart {
		compatible = "gpio-restart";
		gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
		active-delay = <100>;
		inactive-delay = <10>;
		wait-delay = <100>;
	};

	power-gpio-keys {
		compatible = "gpio-keys";

		power-button {
			label = "Power button";
			gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
			linux,code = <KEY_POWER>;
		};
	};

	touch-lock-key {
		compatible = "gpio-keys";

		touch-lock-button {
			label = "Touch lock button";
			gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_F12>;
		};
	};

	usbphy2: usbphy-2 {
		compatible = "usb-nop-xceiv";
		vcc-supply = <&reg_3v3>;
		reset-gpios = <&gpio4 4 GPIO_ACTIVE_LOW>;
		clock-names = "main_clk";
		clock-frequency = <24000000>;
		clocks = <&clks IMX5_CLK_CKO2>;
		assigned-clocks = <&clks IMX5_CLK_CKO2_SEL>, <&clks IMX5_CLK_OSC>;
		assigned-clock-parents = <&clks IMX5_CLK_OSC>;
	};

	usbphy3: usbphy-3 {
		compatible = "usb-nop-xceiv";
		vcc-supply = <&reg_3v3>;
		reset-gpios = <&gpio2 19 GPIO_ACTIVE_LOW>;
		clock-names = "main_clk";

		clock-frequency = <24000000>;
		clocks = <&clks IMX5_CLK_CKO2>;
		assigned-clocks = <&clks IMX5_CLK_CKO2_SEL>, <&clks IMX5_CLK_OSC>;
		assigned-clock-parents = <&clks IMX5_CLK_OSC>;
	};

	panel-lvds0 {
		compatible = "nvd,9128";
		power-supply = <&reg_3v3_lcd>;

		port {
			panel_in_lvds0: endpoint {
				remote-endpoint = <&lvds0_out>;
			};
		};
	};
};

&usbphy0 {
	vcc-supply = <&reg_3v3>;
};

&usbphy1 {
	vcc-supply = <&reg_3v3>;
};

&audmux {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_audmux>;
	status = "okay";
};

&cpu0 {
	/* CPU rated to 1GHz, not 1.2GHz as per the default settings */
	operating-points = <
		/* kHz   uV */
		166666  850000
		400000  900000
		800000  1050000
		1000000 1200000
	>;
};

&ecspi1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi1>;
	cs-gpios = <&gpio5 17 GPIO_ACTIVE_LOW
		    &gpio4 10 GPIO_ACTIVE_LOW
		    &gpio4 11 GPIO_ACTIVE_LOW
		    &gpio4 12 GPIO_ACTIVE_LOW>;
	status = "okay";

	spidev0: spi@1 {
		compatible = "ge,achc", "nxp,kinetis-k20";
		reg = <1>, <0>;
		vdd-supply = <&reg_3v3>;
		vdda-supply = <&reg_3v3>;
		clocks = <&achc_24M>;
		reset-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
	};

	gpioxra0: gpio@2 {
		compatible = "exar,xra1403";
		reg = <2>;
		gpio-controller;
		#gpio-cells = <2>;
		spi-max-frequency = <1000000>;
	};

	gpioxra1: gpio@3 {
		compatible = "exar,xra1403";
		reg = <3>;
		gpio-controller;
		#gpio-cells = <2>;
		spi-max-frequency = <1000000>;
	};
};

&ecspi2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi2>;
	cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>;
	status = "okay";

	da9053@0 {
		compatible = "dlg,da9053-aa";
		reg = <0>;
		interrupt-parent = <&gpio3>;
		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
		spi-max-frequency = <1000000>;
		dlg,tsi-as-adc;
		tsiref-supply = <&reg_tsiref>;

		regulators {
			buck1_reg: buck1 {
				regulator-name = "BUCKCORE";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <2075000>;
				regulator-always-on;
			};

			buck2_reg: buck2 {
				regulator-name = "BUCKPRO";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <2075000>;
				regulator-always-on;
			};

			buck3_reg: buck3 {
				regulator-name = "BUCKMEM";
				regulator-min-microvolt = <925000>;
				regulator-max-microvolt = <2500000>;
				regulator-always-on;
			};

			buck4_reg: buck4 {
				regulator-name = "BUCKPERI";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3600000>;
				regulator-always-on;
			};

			ldo1_reg: ldo1 {
				regulator-name = "ldo1_1v3";
				regulator-min-microvolt = <600000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
			};

			ldo2_reg: ldo2 {
				regulator-name = "ldo2_1v3";
				regulator-min-microvolt = <600000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
			};

			ldo3_reg: ldo3 {
				regulator-name = "ldo3_3v3";
				regulator-min-microvolt = <1725000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			ldo4_reg: ldo4 {
				regulator-name = "ldo4_2v775";
				regulator-min-microvolt = <1725000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};

			ldo5_reg: ldo5 {
				regulator-name = "ldo5_3v3";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3600000>;
				regulator-always-on;
			};

			ldo6_reg: ldo6 {
				regulator-name = "ldo6_1v3";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3600000>;
				regulator-always-on;
			};

			ldo7_reg: ldo7 {
				regulator-name = "ldo7_2v75";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3600000>;
				regulator-always-on;
			};

			ldo8_reg: ldo8 {
				regulator-name = "ldo8_1v8";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3600000>;
				regulator-always-on;
			};

			ldo9_reg: ldo9 {
				regulator-name = "ldo9_1v5";
				regulator-min-microvolt = <1250000>;
				regulator-max-microvolt = <3650000>;
				regulator-always-on;
			};

			ldo10_reg: ldo10 {
				regulator-name = "ldo10_1v3";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3600000>;
				regulator-always-on;
			};
		};
	};

};

&esdhc3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_esdhc3>;
	bus-width = <8>;
	status = "okay";
};

&fec {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_fec>;
	phy-supply = <&reg_3v3>;
	phy-mode = "rmii";
	phy-reset-gpios = <&gpio2 16 GPIO_ACTIVE_LOW>;
	status = "okay";
};

&i2c1 {
	pinctrl-names = "default", "gpio";
	pinctrl-0 = <&pinctrl_i2c1>;
	pinctrl-1 = <&pinctrl_i2c1_gpio>;
	sda-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
	scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
	status = "okay";

	i2c-switch@70 {
		compatible = "nxp,pca9547";
		#address-cells = <1>;
		#size-cells = <0>;
		reg = <0x70>;
		reset-gpios = <&gpio2 18 GPIO_ACTIVE_LOW>;

		i2c4: i2c@0 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0>;

			sgtl5000: codec@a {
				compatible = "fsl,sgtl5000";
				reg = <0xa>;
				#sound-dai-cells = <0>;
				VDDA-supply = <&reg_sgtl5k>;
				VDDIO-supply = <&reg_sgtl5k>;
				clocks = <&cko2_11M>;
				status = "okay";
			};
		};

		i2c5: i2c@1 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <1>;

			rtc@30 {
			       compatible = "sii,s35390a";
			       reg = <0x30>;
			};

			temp@48 {
				compatible = "ti,tmp112";
				reg = <0x48>;
			};

			mma8453q: accelerometer@1c {
				compatible = "fsl,mma8453";
				reg = <0x1c>;
				interrupt-parent = <&gpio1>;
				interrupts = <6 IRQ_TYPE_NONE>;
				interrupt-names = "INT1";
			};

			mpl3115: pressure-sensor@60 {
				compatible = "fsl,mpl3115";
				reg = <0x60>;
			};

			eeprom: eeprom@50 {
				compatible = "atmel,24c08";
				reg = <0x50>;
			};
		};

		i2c6: i2c@2 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <2>;
		};

		i2c7: i2c@3 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <3>;
		};

		i2c8: i2c@4 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <4>;
		};

		i2c9: i2c@5 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <5>;
		};

		i2c10: i2c@6 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <6>;
		};

		i2c11: i2c@7 {
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <7>;
		};
	};
};

&i2c2 {
	pinctrl-names = "default", "gpio";
	pinctrl-0 = <&pinctrl_i2c2>;
	pinctrl-1 = <&pinctrl_i2c2_gpio>;
	sda-gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
	scl-gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
	status = "okay";

	touchscreen@4b {
		compatible = "atmel,maxtouch";
		reset-gpio = <&gpio5 19 GPIO_ACTIVE_LOW>;
		reg = <0x4b>;
		interrupt-parent = <&gpio5>;
		interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
	};
};

&i2c3 {
	pinctrl-names = "default", "gpio";
	pinctrl-0 = <&pinctrl_i2c3>;
	pinctrl-1 = <&pinctrl_i2c3_gpio>;
	sda-gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>;
	scl-gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

&ldb {
	status = "okay";

	lvds0: lvds-channel@0 {
		status = "okay";

		port@2 {
			lvds0_out: endpoint {
				remote-endpoint = <&panel_in_lvds0>;
			};
		};
	};
};

&pmu {
	secure-reg-access;
};

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

&pwm2 {
	#pwm-cells = <2>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm2>;
	status = "okay";
};

&ssi2 {
	status = "okay";
};

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

&uart2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart2>;
	fsl,dma-info = <24 20>;
	status = "okay";
};

&uart3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart3>;
	uart-has-rtscts;
	status = "okay";
};

&uart4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart4>;
	status = "okay";
};

&uart5 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart5>;
	fsl,dma-info = <4096 4>;
	status = "okay";
};

&usbotg {
	dr_mode = "otg";
	phy_type = "utmi";
	vbus-supply = <&reg_usb_otg_vbus>;
	pinctrl-0 = <&pinctrl_usb_otg>;
	status = "okay";
};

&usbh1 {
	vbus-supply = <&reg_usb_vbus>;
	phy_type = "utmi";
	dr_mode = "host";
	status = "okay";
};

&usbh2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbh2>;
	phy_type = "ulpi";
	dr_mode = "host";
	fsl,usbphy = <&usbphy2>;
	vbus-supply = <&reg_usbh2_vbus>;
	status = "okay";
};

&usbh3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbh3>;
	phy_type = "ulpi";
	dr_mode = "host";
	vbus-supply = <&reg_usbh3_vbus>;
	fsl,usbphy = <&usbphy3>;
	status = "okay";
};

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

	pinctrl_audmux: audmuxgrp {
		fsl,pins = <
			MX53_PAD_DISP0_DAT19__AUDMUX_AUD5_RXD	0x400
			MX53_PAD_DISP0_DAT17__AUDMUX_AUD5_TXD	0x400
			MX53_PAD_DISP0_DAT16__AUDMUX_AUD5_TXC	0x400
			MX53_PAD_DISP0_DAT18__AUDMUX_AUD5_TXFS	0x400
			MX53_PAD_DI0_PIN15__AUDMUX_AUD6_TXC	0x400
			MX53_PAD_DI0_PIN3__AUDMUX_AUD6_TXFS	0x400
			MX53_PAD_DI0_PIN4__AUDMUX_AUD6_RXD	0x400
			MX53_PAD_DI0_PIN2__AUDMUX_AUD6_TXD	0x400
		>;
	};

	pinctrl_ecspi1: ecspi1grp {
		fsl,pins = <
			MX53_PAD_DISP0_DAT21__ECSPI1_MOSI	0x400
			MX53_PAD_DISP0_DAT22__ECSPI1_MISO	0x400
			MX53_PAD_DISP0_DAT20__ECSPI1_SCLK	0x400
			/* ECSPI1_SS0, must treat as GPIO for EzPort */
			MX53_PAD_DISP0_DAT23__GPIO5_17		0x400
			MX53_PAD_KEY_COL2__GPIO4_10		0x0
			MX53_PAD_KEY_ROW2__GPIO4_11		0x0
			MX53_PAD_KEY_COL3__GPIO4_12		0x0
		>;
	};

	pinctrl_ecspi2: ecspi2grp {
		fsl,pins = <
			MX53_PAD_EIM_CS1__ECSPI2_MOSI		0x0
			MX53_PAD_EIM_OE__ECSPI2_MISO		0x0
			MX53_PAD_EIM_CS0__ECSPI2_SCLK		0x0
			MX53_PAD_EIM_RW__GPIO2_26		0x0
		>;
	};

	pinctrl_esdhc1: esdhc1grp {
		fsl,pins = <
			MX53_PAD_SD1_DATA0__ESDHC1_DAT0		0x1d5
			MX53_PAD_SD1_DATA1__ESDHC1_DAT1		0x1d5
			MX53_PAD_SD1_DATA2__ESDHC1_DAT2		0x1d5
			MX53_PAD_SD1_DATA3__ESDHC1_DAT3		0x1d5
			MX53_PAD_SD1_CMD__ESDHC1_CMD		0x1d5
			MX53_PAD_SD1_CLK__ESDHC1_CLK		0x1d5
		>;
	};

	pinctrl_esdhc3: esdhc3grp {
		fsl,pins = <
			MX53_PAD_PATA_DATA8__ESDHC3_DAT0	0x1d5
			MX53_PAD_PATA_DATA9__ESDHC3_DAT1	0x1d5
			MX53_PAD_PATA_DATA10__ESDHC3_DAT2	0x1d5
			MX53_PAD_PATA_DATA11__ESDHC3_DAT3	0x1d5
			MX53_PAD_PATA_DATA0__ESDHC3_DAT4	0x1d5
			MX53_PAD_PATA_DATA1__ESDHC3_DAT5	0x1d5
			MX53_PAD_PATA_DATA2__ESDHC3_DAT6	0x1d5
			MX53_PAD_PATA_DATA3__ESDHC3_DAT7	0x1d5
			MX53_PAD_PATA_RESET_B__ESDHC3_CMD	0x1d5
			MX53_PAD_PATA_IORDY__ESDHC3_CLK		0x1d5
		>;
	};

	pinctrl_fec: fecgrp {
		fsl,pins = <
			MX53_PAD_FEC_MDC__FEC_MDC		0x0
			MX53_PAD_FEC_MDIO__FEC_MDIO		0x0
			MX53_PAD_FEC_REF_CLK__FEC_TX_CLK	0x0
			MX53_PAD_FEC_RX_ER__FEC_RX_ER		0x0
			MX53_PAD_FEC_CRS_DV__FEC_RX_DV		0x0
			MX53_PAD_FEC_RXD1__FEC_RDATA_1		0x0
			MX53_PAD_FEC_RXD0__FEC_RDATA_0		0x0
			MX53_PAD_FEC_TX_EN__FEC_TX_EN		0x0
			MX53_PAD_FEC_TXD1__FEC_TDATA_1		0x0
			MX53_PAD_FEC_TXD0__FEC_TDATA_0		0x0
		>;
	};

	pinctrl_hog_rev6: hoggrp {
		fsl,pins = <
			/* CKO2 */
			MX53_PAD_GPIO_3__CCM_CLKO2		0x4
			/* DEFIB_SYNC_MARKER_IN_IRQ */
			MX53_PAD_GPIO_5__GPIO1_5		0x0
			/* ACCELEROMETER_DATA_RDY_N */
			MX53_PAD_GPIO_6__GPIO1_6		0x0
			/* TEMPERATURE_ALERT_N */
			MX53_PAD_GPIO_7__GPIO1_7		0x0
			/* BAROMETRIC_PRESSURE_DATA_RDY_N */
			MX53_PAD_GPIO_8__GPIO1_8		0x0
			/* DOCKING_I2C_INTERFACE_IRQ_N */
			MX53_PAD_PATA_DATA4__GPIO2_4		0x0
			/* PWR_OUT_TO_DOCK_FAULT_N */
			MX53_PAD_PATA_DATA5__GPIO2_5		0x0
			/* ENABLE_PWR_TO_DOCK_N */
			MX53_PAD_PATA_DATA6__GPIO2_6		0x0
			/* HOST_CONTROLLED_RESET_TO_DOCKING_CONNECTOR_N */
			MX53_PAD_PATA_DATA7__GPIO2_7		0x0
			/* REMOTE_ON_REQUEST_FROM_DOCKING_CONNECTOR_IS_ACTIVE_N */
			MX53_PAD_PATA_DATA12__GPIO2_12		0x0
			/* DOCK_PRESENT_N */
			MX53_PAD_PATA_DATA13__GPIO2_13		0x0
			/* ECG_MARKER_IN_FROM_DOCKING_CONNECTOR_IRQ */
			MX53_PAD_PATA_DATA14__GPIO2_14		0x0
			/* ENABLE_ECG_MARKER_INTERFACE_TO_DOCKING_CONNECTOR */
			MX53_PAD_PATA_DATA15__GPIO2_15		0x0
			/* RESET_IMX535_ETHERNET_PHY_N */
			MX53_PAD_EIM_A22__GPIO2_16		0x0
			/* ENABLE_PWR_TO_LCD_AND_UI_INTERFACE */
			MX53_PAD_EIM_A21__GPIO2_17		0x0
			/* RESET_I2C1_BUS_SEGMENT_MUX_N */
			MX53_PAD_EIM_A20__GPIO2_18		0x0
			/* RESET_IMX535_USB_HOST3_PHY_N */
			MX53_PAD_EIM_A19__GPIO2_19		0x0
			/* ESDHC3_EMMC_NAND_RST_N */
			MX53_PAD_EIM_A18__GPIO2_20		0x0
			/* LCD_AND_UI_INTERFACE_PWR_FAULT_N */
			MX53_PAD_EIM_A17__GPIO2_21		0x0
			/* POWER_DOWN_LVDS0_DESERIALIZER_N */
			MX53_PAD_EIM_A16__GPIO2_22		0x0
			/* POWER_DOWN_LVDS1_DESERIALIZER_N */
			MX53_PAD_EIM_LBA__GPIO2_27		0x0
			/* RESET_DP0_TRANSMITTER_N */
			MX53_PAD_EIM_EB0__GPIO2_28		0x0
			/* RESET_DP1_TRANSMITTER_N */
			MX53_PAD_EIM_EB1__GPIO2_29		0x0
			/* ENABLE_SPDIF_AUDIO_TO_DP0 */
			MX53_PAD_EIM_DA0__GPIO3_0		0x0
			/* ENABLE_SPDIF_AUDIO_TO_DP1 */
			MX53_PAD_EIM_DA1__GPIO3_1		0x0
			/* LVDS1_MUX_CTRL */
			MX53_PAD_EIM_DA2__GPIO3_2		0x0
			/* LVDS0_MUX_CTRL */
			MX53_PAD_EIM_DA3__GPIO3_3		0x0
			/* DP1_TRANSMITTER_IRQ */
			MX53_PAD_EIM_DA4__GPIO3_4		0x0
			/* DP0_TRANSMITTER_IRQ */
			MX53_PAD_EIM_DA5__GPIO3_5		0x0
			/* USB_RESET_N */
			MX53_PAD_EIM_DA6__GPIO3_6		0x0
			/* ENABLE_BATTERY_CHARGER */
			MX53_PAD_EIM_DA7__GPIO3_7		0x0
			/* SOFTWARE_CONTROLLED_PWR_CYCLE */
			MX53_PAD_EIM_DA8__GPIO3_8		0x0
			/* SOFTWARE_CONTROLLED_POWERDOWN */
			MX53_PAD_EIM_DA9__GPIO3_9		0x0
			/* DC_PWR_IN_OK */
			MX53_PAD_EIM_DA10__GPIO3_10		0x0
			/* BATT_PRESENT_N */
			MX53_PAD_EIM_DA11__GPIO3_11		0xe4
			/* PMIC_IRQ_N */
			MX53_PAD_EIM_DA12__GPIO3_12		0x0
			/* PMIC_VDD_FAULT_STATUS_N */
			MX53_PAD_EIM_DA13__GPIO3_13		0x0
			/* IMX535_ETHERNET_PHY_STATUS_IRQ_N */
			MX53_PAD_EIM_DA14__GPIO3_14		0x0
			/* NOT USED - AVAILABLE 3.3V GPIO */
			MX53_PAD_EIM_DA15__GPIO3_15		0x0
			/* NOT USED - AVAILABLE 3.3V GPIO */
			MX53_PAD_EIM_D22__GPIO3_22		0x0
			/* NOT USED - AVAILABLE 3.3V GPIO */
			MX53_PAD_EIM_D24__GPIO3_24		0x0
			/* NBP_PUMP_VALVE_PWR_ENABLE */
			MX53_PAD_EIM_D25__GPIO3_25		0x0
			/* NIBP_RESET_N */
			MX53_PAD_EIM_D26__GPIO3_26		0x0
			/* LATCHED_OVERPRESSURE_N */
			MX53_PAD_EIM_D27__GPIO3_27		0x0
			/* NBP_SBWTCLK */
			MX53_PAD_EIM_D29__GPIO3_29		0x0
			/* ENABLE_WIFI_MODULE */
			MX53_PAD_GPIO_11__GPIO4_1		0x400
			/* WIFI_MODULE_IRQ_N */
			MX53_PAD_GPIO_12__GPIO4_2		0x400
			/* ENABLE_BLUETOOTH_MODULE */
			MX53_PAD_GPIO_13__GPIO4_3		0x400
			/* RESET_IMX535_USB_HOST2_PHY_N */
			MX53_PAD_GPIO_14__GPIO4_4		0x400
			/* ONKEY_IS_DEPRESSED */
			MX53_PAD_KEY_ROW3__GPIO4_13		0x0
			/* UNUSED_GPIO_TO_ALARM_LIGHT_BOARD */
			MX53_PAD_EIM_WAIT__GPIO5_0		0x0
			/* DISPLAY_LOCK_BUTTON_IS_DEPRESSED_N */
			MX53_PAD_EIM_A25__GPIO5_2		0x0
			/* I2C_PCAP_TOUCHSCREEN_IRQ_N */
			MX53_PAD_EIM_A24__GPIO5_4		0x0
			/* NOT USED - AVAILABLE 1.8V GPIO */
			MX53_PAD_DISP0_DAT13__GPIO5_7		0x400
			/* NOT USED - AVAILABLE 1.8V GPIO */
			MX53_PAD_DISP0_DAT14__GPIO5_8		0x400
			/* NOT USED - AVAILABLE 1.8V GPIO */
			MX53_PAD_DISP0_DAT15__GPIO5_9		0x400
			/* HOST_CONTROLLED_RESET_TO_LCD_N */
			MX53_PAD_CSI0_PIXCLK__GPIO5_18		0x0
			/* HOST_CONTROLLED_RESET_TO_PCAP_N */
			MX53_PAD_CSI0_MCLK__GPIO5_19		0x0
			/* LR_SCAN_CTRL */
			MX53_PAD_CSI0_DATA_EN__GPIO5_20		0x0
			/* UD_SCAN_CTRL */
			MX53_PAD_CSI0_VSYNC__GPIO5_21		0x0
			/* DATA_WIDTH_CTRL */
			MX53_PAD_CSI0_DAT10__GPIO5_28		0x0
			/* BACKLIGHT_ENABLE */
			MX53_PAD_CSI0_DAT11__GPIO5_29		0x0
			/* MED_USB_PORT_1_HOST_SELECT */
			MX53_PAD_EIM_A23__GPIO6_6		0x0
			/* MED_USB_PORT_2_HOST_SELECT */
			MX53_PAD_NANDF_CLE__GPIO6_7		0x0
			/* MED_USB_PORT_3_HOST_SELECT */
			MX53_PAD_NANDF_ALE__GPIO6_8		0x0
			/* MED_USB_PORT_4_HOST_SELECT */
			MX53_PAD_NANDF_WP_B__GPIO6_9		0x0
			/* MED_USB_PORT_5_HOST_SELECT */
			MX53_PAD_NANDF_RB0__GPIO6_10		0x0
			/* MED_USB_PORT_6_HOST_SELECT */
			MX53_PAD_NANDF_CS0__GPIO6_11		0x0
			/* MED_USB_PORT_7_HOST_SELECT */
			MX53_PAD_NANDF_WE_B__GPIO6_12		0x0
			/* MED_USB_PORT_8_HOST_SELECT */
			MX53_PAD_NANDF_RE_B__GPIO6_13		0x0
			/* MED_USB_PORT_TO_IMX_SELECT_0 */
			MX53_PAD_NANDF_CS1__GPIO6_14		0x0
			/* MED_USB_PORT_TO_IMX_SELECT_1 */
			MX53_PAD_NANDF_CS2__GPIO6_15		0x0
			/* MED_USB_PORT_TO_IMX_SELECT_2 */
			MX53_PAD_NANDF_CS3__GPIO6_16		0x0
			/* POWER_AND_BOOT_STATUS_INDICATOR */
			MX53_PAD_PATA_INTRQ__GPIO7_2		0x1e4
			/* RUNNING_ON_BATTERY_INDICATOR_GREEN */
			MX53_PAD_GPIO_16__GPIO7_11		0x0
			/* BATTERY_STATUS_INDICATOR_AMBER */
			MX53_PAD_GPIO_17__GPIO7_12		0x0
		>;
	};

	pinctrl_i2c1: i2c1grp {
		fsl,pins = <
			MX53_PAD_EIM_D21__I2C1_SCL		0x400001e4
			MX53_PAD_EIM_D28__I2C1_SDA		0x400001e4
		>;
	};

	pinctrl_i2c1_gpio: i2c1gpiogrp {
		fsl,pins = <
			MX53_PAD_EIM_D28__GPIO3_28		0x1e4
			MX53_PAD_EIM_D21__GPIO3_21		0x1e4
		>;
	};

	pinctrl_i2c2: i2c2grp {
		fsl,pins = <
			MX53_PAD_EIM_EB2__I2C2_SCL		0x400001e4
			MX53_PAD_EIM_D16__I2C2_SDA		0x400001e4
		>;
	};

	pinctrl_i2c2_gpio: i2c2gpiogrp {
		fsl,pins = <
			MX53_PAD_EIM_D16__GPIO3_16		0x1e4
			MX53_PAD_EIM_EB2__GPIO2_30		0x1e4
		>;
	};

	pinctrl_i2c3: i2c3grp {
		fsl,pins = <
			MX53_PAD_EIM_D17__I2C3_SCL		0x400001e4
			MX53_PAD_EIM_D18__I2C3_SDA		0x400001e4
		>;
	};

	pinctrl_i2c3_gpio: i2c3gpiogrp {
		fsl,pins = <
			MX53_PAD_EIM_D18__GPIO3_18		0x1e4
			MX53_PAD_EIM_D17__GPIO3_17		0x1e4
		>;
	};

	pinctrl_pwm1: pwm1grp {
		fsl,pins = <
			MX53_PAD_GPIO_9__PWM1_PWMO		0x5
		>;
	};

	pinctrl_pwm2: pwm2grp {
		fsl,pins = <
			MX53_PAD_DISP0_DAT9__PWM2_PWMO		0x5
		>;
	};

	pinctrl_uart1: uart1grp {
		fsl,pins = <
			MX53_PAD_PATA_DIOW__UART1_TXD_MUX	0x1e4
			MX53_PAD_PATA_DMACK__UART1_RXD_MUX	0x1e4
		>;
	};

	pinctrl_uart2: uart2grp {
		fsl,pins = <
			MX53_PAD_PATA_DMARQ__UART2_TXD_MUX	0x1e4
			MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX	0x1e4
		>;
	};

	pinctrl_uart3: uart3grp {
		fsl,pins = <
			MX53_PAD_PATA_CS_0__UART3_TXD_MUX	0x1e4
			MX53_PAD_PATA_CS_1__UART3_RXD_MUX	0x1e4
			MX53_PAD_EIM_D23__UART3_CTS		0x1e4
			MX53_PAD_EIM_EB3__UART3_RTS		0x1e4
		>;
	};

	pinctrl_uart4: uart4grp {
		fsl,pins = <
			MX53_PAD_KEY_COL0__UART4_TXD_MUX	0x1e4
			MX53_PAD_KEY_ROW0__UART4_RXD_MUX	0x1e4
		>;
	};

	pinctrl_uart5: uart5grp {
		fsl,pins = <
			MX53_PAD_KEY_COL1__UART5_TXD_MUX	0x1e4
			MX53_PAD_KEY_ROW1__UART5_RXD_MUX	0x1e4
		>;
	};

	pinctrl_usb_otg_vbus: usb-otg-vbusgrp {
		fsl,pins = <
			/* USB_HS_OTG_VBUS_ENABLE */
			MX53_PAD_KEY_ROW4__GPIO4_15		0x1c4
		>;
	};

	pinctrl_usbh2: usbh2grp {
		fsl,pins = <
			/* USB H2 */
			MX53_PAD_DISP0_DAT0__USBOH3_USBH2_DATA_0 0x180
			MX53_PAD_DISP0_DAT1__USBOH3_USBH2_DATA_1 0x180
			MX53_PAD_DISP0_DAT2__USBOH3_USBH2_DATA_2 0x180
			MX53_PAD_DISP0_DAT3__USBOH3_USBH2_DATA_3 0x180
			MX53_PAD_DISP0_DAT4__USBOH3_USBH2_DATA_4 0x180
			MX53_PAD_DISP0_DAT5__USBOH3_USBH2_DATA_5 0x180
			MX53_PAD_DISP0_DAT6__USBOH3_USBH2_DATA_6 0x180
			MX53_PAD_DISP0_DAT7__USBOH3_USBH2_DATA_7 0x180
			MX53_PAD_DISP0_DAT10__USBOH3_USBH2_STP	 0x180
			MX53_PAD_DISP0_DAT11__USBOH3_USBH2_NXT	 0x180
			MX53_PAD_DISP0_DAT12__USBOH3_USBH2_CLK	 0x180
			MX53_PAD_DI0_DISP_CLK__USBOH3_USBH2_DIR	 0x5
			MX53_PAD_EIM_D30__USBOH3_USBH2_OC	 0x180
		>;
	};

	pinctrl_usbh2_vbus: usbh2-vbusgrp {
		fsl,pins = <
			/* USB_HS_HOST2_VBUS_ENABLE */
			MX53_PAD_EIM_D31__GPIO3_31		0x0
		>;
	};

	pinctrl_usbh3_vbus: usbh3-vbusgrp {
		fsl,pins = <
			/* USB_HS_HOST3_VBUS_ENABLE */
			MX53_PAD_CSI0_DAT9__GPIO5_27		0x0
		>;
	};

	pinctrl_usbh3: usbh3grp {
		fsl,pins = <
			/* USB H3 */
			MX53_PAD_CSI0_DAT12__USBOH3_USBH3_DATA_0 0x180
			MX53_PAD_CSI0_DAT13__USBOH3_USBH3_DATA_1 0x180
			MX53_PAD_CSI0_DAT14__USBOH3_USBH3_DATA_2 0x180
			MX53_PAD_CSI0_DAT15__USBOH3_USBH3_DATA_3 0x180
			MX53_PAD_CSI0_DAT16__USBOH3_USBH3_DATA_4 0x180
			MX53_PAD_CSI0_DAT17__USBOH3_USBH3_DATA_5 0x180
			MX53_PAD_CSI0_DAT18__USBOH3_USBH3_DATA_6 0x180
			MX53_PAD_CSI0_DAT19__USBOH3_USBH3_DATA_7 0x180
			MX53_PAD_CSI0_DAT7__USBOH3_USBH3_DIR	 0x5
			MX53_PAD_CSI0_DAT6__USBOH3_USBH3_CLK	 0x180
			MX53_PAD_CSI0_DAT5__USBOH3_USBH3_NXT	 0x180
			MX53_PAD_CSI0_DAT4__USBOH3_USBH3_STP	 0x180
			MX53_PAD_CSI0_DAT8__USBOH3_USBH3_OC	 0x180
		>;
	};

	pinctrl_usb_otg: usbotggrp {
		fsl,pins = <
			/* USB_OTG_FAULT_N */
			MX53_PAD_KEY_COL4__USBOH3_USBOTG_OC	0x180
		>;
	};

	pinctrl_alarmled_pins: qmx6alarmledgrp {
		fsl,pins = <
			/* ACTIVATE_ALARM_LIGHT_RED */
			MX53_PAD_PATA_DIOR__GPIO7_3		0x0
			/* ACTIVATE_ALARM_LIGHT_YELLOW */
			MX53_PAD_PATA_DA_1__GPIO7_7		0x0
			/* ACTIVATE_ALARM_LIGHT_CYAN */
			MX53_PAD_PATA_DA_2__GPIO7_8		0x0
			/* AUDIO_ALARMS_SILENCED_INDICATOR */
			MX53_PAD_GPIO_18__GPIO7_13		0x0
		>;
	};
};
