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

	leds-brightness {
		compatible = "pwm-leds";

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

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

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

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

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

		alarm4 {
			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-mux@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>;
	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
			/* 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
		>;
	};
};
