/*
 * Copyright 2015 Sutajio Ko-Usagi PTE LTD
 *
 * 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 as
 *     published by the Free Software Foundation; either version 2 of
 *     the License, or (at your option) any later version.
 *
 *     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.
 *
 *     You should have received a copy of the GNU General Public
 *     License along with this file; if not, write to the Free
 *     Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
 *     MA 02110-1301 USA
 *
 * 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 "imx6q.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
	model = "Kosagi Novena Dual/Quad";
	compatible = "kosagi,imx6q-novena", "fsl,imx6q";

	chosen {
		stdout-path = &uart2;
	};

	backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm1 0 10000000>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_backlight_novena>;
		power-supply = <&reg_lvds_lcd>;
		brightness-levels = <0 3 6 12 16 24 32 48 64 96 128 192 255>;
		default-brightness-level = <12>;
	};

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

		user-button {
			label = "User Button";
			gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_POWER>;
		};

		lid {
			label = "Lid";
			gpios = <&gpio4 12 GPIO_ACTIVE_LOW>;
			linux,input-type = <5>;	/* EV_SW */
			linux,code = <0>;	/* SW_LID */
		};
	};

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

		heartbeat {
			label = "novena:white:panel";
			gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "default-on";
		};
	};

	panel: panel {
		compatible = "innolux,n133hse-ea1", "simple-panel";
		backlight = <&backlight>;
	};

	reg_2p5v: regulator-2p5v {
		compatible = "regulator-fixed";
		regulator-name = "2P5V";
		regulator-min-microvolt = <2500000>;
		regulator-max-microvolt = <2500000>;
		regulator-always-on;
	};

	reg_3p3v: regulator-3p3v {
		compatible = "regulator-fixed";
		regulator-name = "3P3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
	};

	reg_audio_codec: regulator-audio-codec {
		compatible = "regulator-fixed";
		regulator-name = "es8328-power";
		regulator-boot-on;
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		startup-delay-us = <400000>;
		gpio = <&gpio5 17 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_display: regulator-display {
		compatible = "regulator-fixed";
		regulator-name = "lcd-display-power";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		startup-delay-us = <200000>;
		gpio = <&gpio5 28 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_lvds_lcd: regulator-lvds-lcd {
		compatible = "regulator-fixed";
		regulator-name = "lcd-lvds-power";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_pcie: regulator-pcie {
		compatible = "regulator-fixed";
		regulator-name = "pcie-bus-power";
		regulator-min-microvolt = <1500000>;
		regulator-max-microvolt = <1500000>;
		gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		regulator-always-on;
	};

	reg_sata: regulator-sata {
		compatible = "regulator-fixed";
		regulator-name = "sata-power";
		regulator-boot-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		startup-delay-us = <10000>;
		gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};

	reg_usb_otg_vbus: regulator-usb-otg-vbus {
		compatible = "regulator-fixed";
		regulator-name = "usb_otg_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		enable-active-high;
	};

	sound {
		compatible = "fsl,imx-audio-es8328";
		model = "imx-audio-es8328";
		ssi-controller = <&ssi1>;
		audio-codec = <&codec>;
		audio-amp-supply = <&reg_audio_codec>;
		jack-gpio = <&gpio5 15 GPIO_ACTIVE_HIGH>;
		audio-routing =
			"Speaker", "LOUT2",
			"Speaker", "ROUT2",
			"Speaker", "audio-amp",
			"Headphone", "ROUT1",
			"Headphone", "LOUT1",
			"LINPUT1", "Mic Jack",
			"RINPUT1", "Mic Jack",
			"Mic Jack", "Mic Bias";
		mux-int-port = <0x1>;
		mux-ext-port = <0x3>;
	};
};

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

&ecspi3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi3_novena>;
	status = "okay";
};

&fec {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet_novena>;
	phy-mode = "rgmii";
	phy-reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
	rxc-skew-ps = <3000>;
	rxdv-skew-ps = <0>;
	txc-skew-ps = <3000>;
	txen-skew-ps = <0>;
	rxd0-skew-ps = <0>;
	rxd1-skew-ps = <0>;
	rxd2-skew-ps = <0>;
	rxd3-skew-ps = <0>;
	txd0-skew-ps = <3000>;
	txd1-skew-ps = <3000>;
	txd2-skew-ps = <3000>;
	txd3-skew-ps = <3000>;
	status = "okay";
};

&hdmi {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_hdmi_novena>;
	ddc-i2c-bus = <&i2c2>;
	status = "okay";
};

&i2c1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c1_novena>;
	status = "okay";

	accel: mma8452@1c {
		compatible = "fsl,mma8452";
		reg = <0x1c>;
	};

	rtc: pcf8523@68 {
		compatible = "nxp,pcf8523";
		reg = <0x68>;
	};

	sbs_battery: bq20z75@0b {
		compatible = "sbs,sbs-battery";
		reg = <0x0b>;
		sbs,i2c-retry-count = <50>;
	};

	touch: stmpe811@44 {
		compatible = "st,stmpe811";
		reg = <0x44>;
		#address-cells = <1>;
		#size-cells = <0>;
		irq-gpio = <&gpio5 13 GPIO_ACTIVE_HIGH>;
		id = <0>;
		blocks = <0x5>;
		irq-trigger = <0x1>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_stmpe_novena>;
		vio-supply = <&reg_3p3v>;
		vcc-supply = <&reg_3p3v>;

		stmpe_touchscreen {
			compatible = "st,stmpe-ts";
			st,sample-time = <4>;
			st,mod-12b = <1>;
			st,ref-sel = <0>;
			st,adc-freq = <1>;
			st,ave-ctrl = <1>;
			st,touch-det-delay = <2>;
			st,settling = <2>;
			st,fraction-z = <7>;
			st,i-drive = <1>;
		};
	};
};

&i2c2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2_novena>;
	status = "okay";

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

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

			reg_sw1c: sw1c {
				regulator-min-microvolt = <300000>;
				regulator-max-microvolt = <1875000>;
				regulator-boot-on;
				regulator-always-on;
			};

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

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

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

			reg_sw4: sw4 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <3300000>;
			};

			reg_swbst: swbst {
				regulator-min-microvolt = <5000000>;
				regulator-max-microvolt = <5150000>;
				regulator-boot-on;
			};

			reg_snvs: vsnvs {
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <3000000>;
				regulator-boot-on;
				regulator-always-on;
			};

			reg_vref: vrefddr {
				regulator-boot-on;
				regulator-always-on;
			};

			reg_vgen1: vgen1 {
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1550000>;
			};

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

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

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

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

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

&i2c3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3_novena>;
	status = "okay";

	codec: es8328@11 {
		compatible = "everest,es8328";
		reg = <0x11>;
		DVDD-supply = <&reg_audio_codec>;
		AVDD-supply = <&reg_audio_codec>;
		PVDD-supply = <&reg_audio_codec>;
		HPVDD-supply = <&reg_audio_codec>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_sound_novena>;
		clocks = <&clks IMX6QDL_CLK_CKO1>;
		assigned-clocks = <&clks IMX6QDL_CLK_CKO>,
				  <&clks IMX6QDL_CLK_CKO1_SEL>,
				  <&clks IMX6QDL_CLK_PLL4_AUDIO>,
				  <&clks IMX6QDL_CLK_CKO1>;
		assigned-clock-parents = <&clks IMX6QDL_CLK_CKO1>,
					 <&clks IMX6QDL_CLK_PLL4_AUDIO_DIV>,
					 <&clks IMX6QDL_CLK_OSC>,
					 <&clks IMX6QDL_CLK_CKO1_PODF>;
		assigned-clock-rates = <0 0 722534400 22579200>;
	};
};

&kpp {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_kpp_novena>;
	linux,keymap = <
		MATRIX_KEY(1, 1, KEY_CONFIG)
	>;
	status = "okay";
};

&ldb {
	fsl,dual-channel;
	status = "okay";

	lvds-channel@0 {
		fsl,data-mapping = "jeida";
		fsl,data-width = <24>;
		fsl,panel = <&panel>;
		status = "okay";
	};
};

&pcie {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pcie_novena>;
	reset-gpio = <&gpio3 29 GPIO_ACTIVE_LOW>;
	status = "okay";
};

&pwm1 {
	status = "okay";
};

&sata {
	target-supply = <&reg_sata>;
	fsl,transmit-level-mV = <1025>;
	fsl,transmit-boost-mdB = <0>;
	fsl,transmit-atten-16ths = <8>;
	status = "okay";
};

&ssi1 {
	status = "okay";
};

&uart2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart2_novena>;
	status = "okay";
};

&uart3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart3_novena>;
	status = "okay";
};

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

&usbotg {
	vbus-supply = <&reg_usb_otg_vbus>;
	dr_mode = "otg";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbotg_novena>;
	disable-over-current;
	status = "okay";
};

&usbh1 {
	vbus-supply = <&reg_swbst>;
	status = "okay";
};

&usdhc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc2_novena>;
	cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
	wp-gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
	bus-width = <4>;
	status = "okay";
};

&usdhc3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc3_novena>;
	bus-width = <4>;
	non-removable;
	status = "okay";
};

&iomuxc {
	pinctrl_audmux_novena: audmuxgrp-novena {
		fsl,pins = <
			MX6QDL_PAD_CSI0_DAT7__AUD3_RXD		0x130b0
			MX6QDL_PAD_CSI0_DAT4__AUD3_TXC		0x130b0
			MX6QDL_PAD_CSI0_DAT5__AUD3_TXD		0x110b0
			MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS		0x130b0
		>;
	};

	pinctrl_backlight_novena: backlightgrp-novena {
		fsl,pins = <
			MX6QDL_PAD_DISP0_DAT8__PWM1_OUT		0x1b0b0
			MX6QDL_PAD_CSI0_DAT10__GPIO5_IO28	0x1b0b1
			MX6QDL_PAD_KEY_ROW4__GPIO4_IO15		0x1b0b1
		>;
	};

	pinctrl_ecspi3_novena: ecspi3grp-novena {
		fsl,pins = <
			MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO	0x100b1
			MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI	0x100b1
			MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK	0x100b1
		>;
	};

	pinctrl_enet_novena: enetgrp-novena {
		fsl,pins = <
			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b0b0
			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b0b0
			MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b020
			MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b028
			MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b028
			MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b028
			MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b028
			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b028
			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b0b0
			MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b030
			MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b030
			MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b030
			MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b030
			MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b030
			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b030
			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x4001b0a8
			/* Ethernet reset */
			MX6QDL_PAD_EIM_D23__GPIO3_IO23		0x1b0b1
		>;
	};

	pinctrl_fpga_gpio: fpgagpiogrp-novena {
		fsl,pins = <
			/* FPGA power */
			MX6QDL_PAD_SD1_DAT1__GPIO1_IO17		0x1b0b1
			/* Reset */
			MX6QDL_PAD_DISP0_DAT13__GPIO5_IO07	0x1b0b1
			/* FPGA GPIOs */
			MX6QDL_PAD_EIM_DA0__GPIO3_IO00		0x1b0b1
			MX6QDL_PAD_EIM_DA1__GPIO3_IO01		0x1b0b1
			MX6QDL_PAD_EIM_DA2__GPIO3_IO02		0x1b0b1
			MX6QDL_PAD_EIM_DA3__GPIO3_IO03		0x1b0b1
			MX6QDL_PAD_EIM_DA4__GPIO3_IO04		0x1b0b1
			MX6QDL_PAD_EIM_DA5__GPIO3_IO05		0x1b0b1
			MX6QDL_PAD_EIM_DA6__GPIO3_IO06		0x1b0b1
			MX6QDL_PAD_EIM_DA7__GPIO3_IO07		0x1b0b1
			MX6QDL_PAD_EIM_DA8__GPIO3_IO08		0x1b0b1
			MX6QDL_PAD_EIM_DA9__GPIO3_IO09		0x1b0b1
			MX6QDL_PAD_EIM_DA10__GPIO3_IO10		0x1b0b1
			MX6QDL_PAD_EIM_DA11__GPIO3_IO11		0x1b0b1
			MX6QDL_PAD_EIM_DA12__GPIO3_IO12		0x1b0b1
			MX6QDL_PAD_EIM_DA13__GPIO3_IO13		0x1b0b1
			MX6QDL_PAD_EIM_DA14__GPIO3_IO14		0x1b0b1
			MX6QDL_PAD_EIM_DA15__GPIO3_IO15		0x1b0b1
			MX6QDL_PAD_EIM_A16__GPIO2_IO22		0x1b0b1
			MX6QDL_PAD_EIM_A17__GPIO2_IO21		0x1b0b1
			MX6QDL_PAD_EIM_A18__GPIO2_IO20		0x1b0b1
			MX6QDL_PAD_EIM_CS0__GPIO2_IO23		0x1b0b1
			MX6QDL_PAD_EIM_CS1__GPIO2_IO24		0x1b0b1
			MX6QDL_PAD_EIM_LBA__GPIO2_IO27		0x1b0b1
			MX6QDL_PAD_EIM_OE__GPIO2_IO25		0x1b0b1
			MX6QDL_PAD_EIM_RW__GPIO2_IO26		0x1b0b1
			MX6QDL_PAD_EIM_WAIT__GPIO5_IO00		0x1b0b1
			MX6QDL_PAD_EIM_BCLK__GPIO6_IO31		0x1b0b1
		>;
	};

	pinctrl_fpga_eim: fpgaeimgrp-novena {
		fsl,pins = <
			/* FPGA power */
			MX6QDL_PAD_SD1_DAT1__GPIO1_IO17		0x1b0b1
			/* Reset */
			MX6QDL_PAD_DISP0_DAT13__GPIO5_IO07	0x1b0b1
			/* FPGA GPIOs */
			MX6QDL_PAD_EIM_DA0__EIM_AD00		0xb0f1
			MX6QDL_PAD_EIM_DA1__EIM_AD01		0xb0f1
			MX6QDL_PAD_EIM_DA2__EIM_AD02		0xb0f1
			MX6QDL_PAD_EIM_DA3__EIM_AD03		0xb0f1
			MX6QDL_PAD_EIM_DA4__EIM_AD04		0xb0f1
			MX6QDL_PAD_EIM_DA5__EIM_AD05		0xb0f1
			MX6QDL_PAD_EIM_DA6__EIM_AD06		0xb0f1
			MX6QDL_PAD_EIM_DA7__EIM_AD07		0xb0f1
			MX6QDL_PAD_EIM_DA8__EIM_AD08		0xb0f1
			MX6QDL_PAD_EIM_DA9__EIM_AD09		0xb0f1
			MX6QDL_PAD_EIM_DA10__EIM_AD10		0xb0f1
			MX6QDL_PAD_EIM_DA11__EIM_AD11		0xb0f1
			MX6QDL_PAD_EIM_DA12__EIM_AD12		0xb0f1
			MX6QDL_PAD_EIM_DA13__EIM_AD13		0xb0f1
			MX6QDL_PAD_EIM_DA14__EIM_AD14		0xb0f1
			MX6QDL_PAD_EIM_DA15__EIM_AD15		0xb0f1
			MX6QDL_PAD_EIM_A16__EIM_ADDR16		0xb0f1
			MX6QDL_PAD_EIM_A17__EIM_ADDR17		0xb0f1
			MX6QDL_PAD_EIM_A18__EIM_ADDR18		0xb0f1
			MX6QDL_PAD_EIM_CS0__EIM_CS0_B		0xb0f1
			MX6QDL_PAD_EIM_CS1__EIM_CS1_B		0xb0f1
			MX6QDL_PAD_EIM_LBA__EIM_LBA_B		0xb0f1
			MX6QDL_PAD_EIM_OE__EIM_OE_B		0xb0f1
			MX6QDL_PAD_EIM_RW__EIM_RW		0xb0f1
			MX6QDL_PAD_EIM_WAIT__EIM_WAIT_B		0xb0f1
			MX6QDL_PAD_EIM_BCLK__EIM_BCLK		0xb0f1
		>;
	};

	pinctrl_gpio_keys_novena: gpiokeysgrp-novena {
		fsl,pins = <
			/* User button */
			MX6QDL_PAD_KEY_COL4__GPIO4_IO14		0x1b0b0
			/* PCIe Wakeup */
			MX6QDL_PAD_EIM_D22__GPIO3_IO22		0x1f0e0
			/* Lid switch */
			MX6QDL_PAD_KEY_COL3__GPIO4_IO12		0x1b0b0
		>;
	};

	pinctrl_hdmi_novena: hdmigrp-novena {
		fsl,pins = <
			MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE	0x1f8b0
			MX6QDL_PAD_EIM_A24__GPIO5_IO04		0x1b0b1
		>;
	};

	pinctrl_i2c1_novena: i2c1grp-novena {
		fsl,pins = <
			MX6QDL_PAD_EIM_D21__I2C1_SCL		0x4001b8b1
			MX6QDL_PAD_EIM_D28__I2C1_SDA		0x4001b8b1
		>;
	};

	pinctrl_i2c2_novena: i2c2grp-novena {
		fsl,pins = <
			MX6QDL_PAD_EIM_EB2__I2C2_SCL		0x4001b8b1
			MX6QDL_PAD_EIM_D16__I2C2_SDA		0x4001b8b1
		>;
	};

	pinctrl_i2c3_novena: i2c3grp-novena {
		fsl,pins = <
			MX6QDL_PAD_EIM_D17__I2C3_SCL		0x4001b8b1
			MX6QDL_PAD_EIM_D18__I2C3_SDA		0x4001b8b1
		>;
	};

	pinctrl_kpp_novena: kppgrp-novena {
		fsl,pins = <
			/* Front panel button */
			MX6QDL_PAD_KEY_ROW1__KEY_ROW1		0x1b0b1
			/* Fake column driver, not connected */
			MX6QDL_PAD_KEY_COL1__KEY_COL1		0x1b0b1
		>;
	};

	pinctrl_leds_novena: ledsgrp-novena {
		fsl,pins = <
			MX6QDL_PAD_SD1_DAT3__GPIO1_IO21		0x1b0b1
		>;
	};

	pinctrl_pcie_novena: pciegrp-novena {
		fsl,pins = <
			/* Reset */
			MX6QDL_PAD_EIM_D29__GPIO3_IO29		0x1b0b1
			/* Power On */
			MX6QDL_PAD_GPIO_17__GPIO7_IO12		0x1b0b1
			/* Wifi kill */
			MX6QDL_PAD_EIM_A22__GPIO2_IO16		0x1b0b1
		>;
	};

	pinctrl_sata_novena: satagrp-novena {
		fsl,pins = <
			MX6QDL_PAD_EIM_D30__GPIO3_IO30		0x1b0b1
		>;
	};

	pinctrl_senoko_novena: senokogrp-novena {
		fsl,pins = <
			/* Senoko IRQ line */
			MX6QDL_PAD_SD1_CLK__GPIO1_IO20		0x13048
			/* Senoko reset line */
			MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21	0x1b0b1
		>;
	};

	pinctrl_sound_novena: soundgrp-novena {
		fsl,pins = <
			/* Audio power regulator */
			MX6QDL_PAD_DISP0_DAT23__GPIO5_IO17	0x1b0b1
			/* Headphone plug */
			MX6QDL_PAD_DISP0_DAT21__GPIO5_IO15	0x1b0b1
			MX6QDL_PAD_GPIO_0__CCM_CLKO1		0x000b0
		>;
	};

	pinctrl_stmpe_novena: stmpegrp-novena {
		fsl,pins = <
			/* Touchscreen interrupt */
			MX6QDL_PAD_DISP0_DAT19__GPIO5_IO13	0x1b0b1
		>;
	};

	pinctrl_uart2_novena: uart2grp-novena {
		fsl,pins = <
			MX6QDL_PAD_EIM_D26__UART2_TX_DATA	0x1b0b1
			MX6QDL_PAD_EIM_D27__UART2_RX_DATA	0x1b0b1
		>;
	};

	pinctrl_uart3_novena: uart3grp-novena {
		fsl,pins = <
			MX6QDL_PAD_EIM_D24__UART3_TX_DATA	0x1b0b1
			MX6QDL_PAD_EIM_D25__UART3_RX_DATA	0x1b0b1
		>;
	};

	pinctrl_uart4_novena: uart4grp-novena {
		fsl,pins = <
			MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA	0x1b0b1
			MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA	0x1b0b1
		>;
	};

	pinctrl_usbotg_novena: usbotggrp-novena {
		fsl,pins = <
			MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x17059
		>;
	};

	pinctrl_usdhc2_novena: usdhc2grp-novena {
		fsl,pins = <
			MX6QDL_PAD_SD2_CMD__SD2_CMD		0x170f9
			MX6QDL_PAD_SD2_CLK__SD2_CLK		0x100f9
			MX6QDL_PAD_SD2_DAT0__SD2_DATA0		0x170f9
			MX6QDL_PAD_SD2_DAT1__SD2_DATA1		0x170f9
			MX6QDL_PAD_SD2_DAT2__SD2_DATA2		0x170f9
			MX6QDL_PAD_SD2_DAT3__SD2_DATA3		0x170f9
			/* Write protect */
			MX6QDL_PAD_GPIO_2__GPIO1_IO02		0x1b0b1
			/* Card detect */
			MX6QDL_PAD_GPIO_4__GPIO1_IO04		0x1b0b1
		>;
	};

	pinctrl_usdhc3_novena: usdhc3grp-novena {
		fsl,pins = <
			MX6QDL_PAD_SD3_CMD__SD3_CMD		0x170f9
			MX6QDL_PAD_SD3_CLK__SD3_CLK		0x100f9
			MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x170f9
			MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x170f9
			MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x170f9
			MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x170f9
		>;
	};
};
