/*
 * 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 = "&uart1: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>;
	};

	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>;
	};

	leds {
		compatible = "pwm-leds";

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

	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@0 {
		compatible = "ge,achc";
		reg = <0>;
		spi-max-frequency = <1000000>;
	};

	spidev1: spi@1 {
		compatible = "ge,achc";
		reg = <1>;
		spi-max-frequency = <1000000>;
	};

	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>;
	num-chipselects = <1>;
	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_HIGH>;
		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 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm1>;
	status = "okay";
};

&pwm2 {
	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>;
	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>;
	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
			/* 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
			/* RUNNING_ON_BATTERY_INDICATOR_GREEN */
			MX53_PAD_GPIO_16__GPIO7_11		0x0
			/* BATTERY_STATUS_INDICATOR_AMBER */
			MX53_PAD_GPIO_17__GPIO7_12		0x0
			/* AUDIO_ALARMS_SILENCED_INDICATOR */
			MX53_PAD_GPIO_18__GPIO7_13		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
		>;
	};
};
