code:
/*
 * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
 *
 * 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 "imx6dl-tx6s-8035.dts"
#include "imx6qdl-tx6-mb7.dtsi"

/ {
	model = "Ka-Ro electronics TX6U-8035 Module on MB7 baseboard";
};


code:
/*
 * Copyright 2015-2017 Lothar Waßmann <LW@KARO-electronics.de>
 *
 * 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 "imx6dl.dtsi"
#include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"

/ {
	model = "Ka-Ro electronics TX6S-8035 Module";
	compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";

	cpus {
		/delete-node/ cpu@1;
	};
};

&ds1339 {
	status = "disabled";
};

&gpmi {
	status = "disabled";
};

&usdhc4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc4>;
	bus-width = <4>;
	non-removable;
	no-1-8-v;
	fsl,wp-controller;
	status = "okay";
};

&iomuxc {
	pinctrl_usdhc4: usdhc4grp {
		fsl,pins = <
			MX6QDL_PAD_SD4_CMD__SD4_CMD		0x070b1
			MX6QDL_PAD_SD4_CLK__SD4_CLK		0x070b1
			MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x070b1
			MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x070b1
			MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x070b1
			MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x070b1
			MX6QDL_PAD_NANDF_ALE__SD4_RESET		0x0b0b1
		>;
	};
};

repo_name: angery/linux


code:
/*
 * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
 *
 * 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 "imx6dl.dtsi"
#include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"

/ {
	model = "Ka-Ro electronics TX6U-801x Module";
	compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
};


code:
/*
 * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
 *
 * 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 "imx6dl-tx6u-8033.dts"
#include "imx6qdl-tx6-mb7.dtsi"

/ {
	model = "Ka-Ro electronics TX6U-8033 Module on MB7 baseboard";
};


code:
/*
 * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
 *
 * 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 "imx6dl.dtsi"
#include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"

/ {
	model = "Ka-Ro electronics TX6U-8033 Module";
	compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
};

&ds1339 {
	status = "disabled";
};

&gpmi {
	status = "disabled";
};

&usdhc4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc4>;
	bus-width = <4>;
	non-removable;
	no-1-8-v;
	fsl,wp-controller;
	status = "okay";
};

&iomuxc {
	pinctrl_usdhc4: usdhc4grp {
		fsl,pins = <
			MX6QDL_PAD_SD4_CMD__SD4_CMD		0x070b1
			MX6QDL_PAD_SD4_CLK__SD4_CLK		0x070b1
			MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x070b1
			MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x070b1
			MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x070b1
			MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x070b1
			MX6QDL_PAD_NANDF_ALE__SD4_RESET		0x0b0b1
		>;
	};
};


code:
/*
 * Copyright 2017 Lothar Waßmann <LW@KARO-electronics.de>
 *
 * 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 "imx6dl-tx6u-801x.dts"
#include "imx6qdl-tx6-mb7.dtsi"

/ {
	model = "Ka-Ro electronics TX6U-8030/-8010/-8012 Module on MB7 baseboard";
};


code:
/*
 * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
 *
 * 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 "imx6dl.dtsi"
#include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lvds.dtsi"

/ {
	model = "Ka-Ro electronics TX6U-811x Module";
	compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
};


code:
/*
 * Copyright 2016-2017 Lothar Waßmann <LW@KARO-electronics.de>
 *
 * 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 "imx6dl-tx6u-811x.dts"
#include "imx6qdl-tx6-mb7.dtsi"

/ {
	model = "Ka-Ro electronics TX6U-8130/-8110 Module on MB7 baseboard";
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright 2013 Freescale Semiconductor, Inc.
 *
 * Author: Fabio Estevam <fabio.estevam@freescale.com>
 */
/dts-v1/;
#include "imx6dl.dtsi"
#include "imx6qdl-udoo.dtsi"

/ {
	model = "Udoo i.MX6 Dual-lite Board";
	compatible = "udoo,imx6dl-udoo", "fsl,imx6dl";
};


code:
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright (c) 2016 Protonic Holland
 * Copyright (c) 2020 Oleksij Rempel <kernel@pengutronix.de>, Pengutronix
 */

/dts-v1/;
#include "imx6dl.dtsi"
#include "imx6qdl-vicut1.dtsi"

/ {
	model = "Kverneland TGO";
	compatible = "kvg,victgo", "fsl,imx6dl";

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

		key-power {
			label = "Power Button";
			gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_POWER>;
			wakeup-source;
		};

		key-enter {
			label = "Rotary Key";
			gpios = <&gpio2 05 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_ENTER>;
			wakeup-source;
		};
	};

	iio-hwmon {
		compatible = "iio-hwmon";
		io-channels = <&vdiv_vaccu>, <&vdiv_hitch_pos>;
	};

	panel {
		compatible = "lg,lb070wv8";
		backlight = <&backlight_lcd>;
		power-supply = <&reg_3v3>;

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

	clk50m_phy: phy-clock {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <50000000>;
	};

	rotary-encoder {
		compatible = "rotary-encoder";
		pinctrl-0 = <&pinctrl_rotary_ch>;
		gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>,
			<&gpio2 4 GPIO_ACTIVE_HIGH>;
		linux,axis = <REL_WHEEL>;
		rotary-encoder,steps-per-period = <4>;
		rotary-encoder,relative-axis;
		rotary-encoder,rollover;
		wakeup-source;
	};

	thermal-zones {
		chassis-thermal {
			polling-delay = <20000>;
			polling-delay-passive = <0>;
			thermal-sensors = <&tsens0>;
		};

		touch-thermal0 {
			polling-delay = <20000>;
			polling-delay-passive = <0>;
			thermal-sensors = <&touch_temp0>;
		};

		touch-thermal1 {
			polling-delay = <20000>;
			polling-delay-passive = <0>;
			thermal-sensors = <&touch_temp1>;
		};
	};

	touchscreen {
		compatible = "resistive-adc-touch";
		io-channels = <&adc_ts 1>, <&adc_ts 3>, <&adc_ts 4>,
                              <&adc_ts 5>;
		io-channel-names = "y", "z1", "z2", "x";
		touchscreen-min-pressure = <64687>;
		touchscreen-inverted-y;
		touchscreen-x-plate-ohms = <300>;
		touchscreen-y-plate-ohms = <800>;
	};

	touch_temp0: touch-temperature-sensor0 {
		compatible = "generic-adc-thermal";
		#thermal-sensor-cells = <0>;
		io-channels = <&adc_ts 0>;
		io-channel-names = "sensor-channel";
		temperature-lookup-table = <    (-40000) 736
						85000 474>;
	};

	touch_temp1: touch-temperature-sensor1 {
		compatible = "generic-adc-thermal";
		#thermal-sensor-cells = <0>;
		io-channels = <&adc_ts 7>;
		io-channel-names = "sensor-channel";
		temperature-lookup-table = <    (-40000) 826
						85000 609>;
	};

	vdiv_vaccu: voltage-divider-vaccu {
		compatible = "voltage-divider";
		io-channels = <&adc_ts 2>;
		output-ohms = <2500>;
		full-ohms = <64000>;
		#io-channel-cells = <0>;
	};

	vdiv_hitch_pos: voltage-divider-hitch-pos {
		compatible = "voltage-divider";
		io-channels = <&adc_ts 6>;
		output-ohms = <3300>;
		full-ohms = <13300>;
		#io-channel-cells = <0>;
	};
};

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

	adc_ts: adc@0 {
		compatible = "ti,tsc2046e-adc";
		reg = <0>;
		pinctrl-0 = <&pinctrl_touchscreen>;
		pinctrl-names = "default";
		spi-max-frequency = <1000000>;
		interrupts-extended = <&gpio5 8 IRQ_TYPE_LEVEL_LOW>;
		#io-channel-cells = <1>;

		#address-cells = <1>;
		#size-cells = <0>;

		channel@1 {
			reg = <1>;
			settling-time-us = <700>;
			oversampling-ratio = <5>;
		};

		channel@3 {
			reg = <3>;
			settling-time-us = <700>;
			oversampling-ratio = <5>;
		};

		channel@4 {
			reg = <4>;
			settling-time-us = <700>;
			oversampling-ratio = <5>;
		};

		channel@5 {
			reg = <5>;
			settling-time-us = <700>;
			oversampling-ratio = <5>;
		};
	};
};

&fec {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet>;
	phy-mode = "rmii";
	clocks = <&clks IMX6QDL_CLK_ENET>,
		 <&clks IMX6QDL_CLK_ENET>,
		 <&clk50m_phy>;
	clock-names = "ipg", "ahb", "ptp";
	phy-handle = <&rmii_phy>;
	status = "okay";

	mdio {
		#address-cells = <1>;
		#size-cells = <0>;

		/* Microchip KSZ8081RNA PHY */
		rmii_phy: ethernet-phy@0 {
			reg = <0>;
			interrupts-extended = <&gpio4 30 IRQ_TYPE_LEVEL_LOW>;
			reset-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
			reset-assert-us = <10000>;
			reset-deassert-us = <300>;
		};
	};
};

&gpio1 {
	gpio-line-names =
		"CAN1_TERM", "SD1_CD", "ITU656_RESET", "CAM1_MIRROR",
			"CAM2_MIRROR", "", "", "SMBALERT",
		"DEBUG_0", "DEBUG_1", "", "", "", "", "", "",
		"SD1_DATA0", "SD1_DATA1", "SD1_CMD", "SD1_DATA2", "SD1_CLK",
			"SD1_DATA3", "ETH_MDIO", "",
		"", "", "", "", "", "", "", "ETH_MDC";
};

&gpio4 {
	gpio-line-names =
		"", "", "", "", "", "", "UART4_TXD", "UART4_RXD",
		"UART5_TXD", "UART5_RXD", "CAN1_TX", "CAN1_RX", "CAN1_SR",
			"CAN2_SR", "CAN2_TX", "CAN2_RX",
		"", "", "DIP1_FB", "", "VCAM_EN", "ON1_CTRL", "ON2_CTRL",
			"HITCH_IN_OUT",
		"LIGHT_ON", "", "ETH_RESET", "CONTACT_IN", "BL_EN",
			"BL_PWM", "ETH_INT", "ISB_LED";
};

&gpio5 {
	gpio-line-names =
		"", "", "", "", "", "", "", "",
		"TSC_PENIRQ", "TSC_BUSY", "ECSPI2_MOSI", "ECSPI2_MISO",
			"ECSPI2_SS0", "ECSPI2_SCLK", "", "",
		"", "", "ITU656_CLK", "I2S_MCLK", "ITU656_PDN", "AUDIO_RESET",
			"I2S_BITCLK", "I2S_DOUT",
		"I2S_LRCLK", "I2S_DIN", "I2C1_SDA", "I2C1_SCL", "YACO_AUX_RX",
			"YACO_AUX_TX", "ITU656_D0", "ITU656_D1";
};

&gpio6 {
	gpio-line-names =
		"ITU656_D2", "ITU656_D3", "ITU656_D4", "ITU656_D5",
			"ITU656_D6", "ITU656_D7", "", "",
		"", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "", "",
		"", "", "", "", "", "", "", "";
};

&i2c1 {
	keypad@70 {
		compatible = "holtek,ht16k33";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_keypad>;
		reg = <0x70>;
		refresh-rate-hz = <20>;
		debounce-delay-ms = <50>;
		interrupts-extended = <&gpio4 5 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>;
		keypad,num-rows = <12>;
		keypad,num-columns = <3>;
		linux,keymap = <
			MATRIX_KEY(2, 0, KEY_F6)
			MATRIX_KEY(3, 0, KEY_F8)
			MATRIX_KEY(4, 0, KEY_F10)
			MATRIX_KEY(5, 0, KEY_F4)
			MATRIX_KEY(6, 0, KEY_F2)
			MATRIX_KEY(2, 1, KEY_F5)
			MATRIX_KEY(3, 1, KEY_F7)
			MATRIX_KEY(4, 1, KEY_F9)
			MATRIX_KEY(5, 1, KEY_F3)
			MATRIX_KEY(6, 1, KEY_F1)
		      >;
	};
};

&iomuxc {
	pinctrl_ecspi2: ecspi2grp {
		fsl,pins = <
			MX6QDL_PAD_DISP0_DAT16__ECSPI2_MOSI		0x100b1
			MX6QDL_PAD_DISP0_DAT17__ECSPI2_MISO		0x100b1
			MX6QDL_PAD_DISP0_DAT18__GPIO5_IO12		0x100b1
			MX6QDL_PAD_DISP0_DAT19__ECSPI2_SCLK		0x100b1
		>;
	};

	pinctrl_enet: enetgrp {
		fsl,pins = <
			/* MX6QDL_ENET_PINGRP4 */
			MX6QDL_PAD_ENET_MDC__ENET_MDC			0x1b0b0
			MX6QDL_PAD_ENET_MDIO__ENET_MDIO			0x1b0b0
			MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0		0x1b0b0
			MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1		0x1b0b0
			MX6QDL_PAD_ENET_RX_ER__ENET_RX_ER		0x1b0b0
			MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN		0x1b0b0
			MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0		0x1b0b0
			MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1		0x1b0b0
			MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN		0x1b0b0
			MX6QDL_PAD_GPIO_16__ENET_REF_CLK		0x1b0b0
			/* Phy reset */
			MX6QDL_PAD_DISP0_DAT5__GPIO4_IO26		0x1b0b0
			/* nINTRP */
			MX6QDL_PAD_DISP0_DAT9__GPIO4_IO30		0x1b0b0
		>;
	};

	pinctrl_gpiokeys: gpiokeygrp {
		fsl,pins = <
			/* ROTARY_BTN */
			MX6QDL_PAD_NANDF_D5__GPIO2_IO05			0x1b0b0
			/* nON_SWITCH */
			MX6QDL_PAD_EIM_CS0__GPIO2_IO23			0x1b0b0
		>;
	};

	pinctrl_keypad: keypadgrp {
		fsl,pins = <
			MX6QDL_PAD_GPIO_19__GPIO4_IO05			0x1b0b0
		>;
	};

	pinctrl_rotary_ch: rotarychgrp {
		fsl,pins = <
			MX6QDL_PAD_NANDF_D3__GPIO2_IO03			0x1b0b0
			MX6QDL_PAD_NANDF_D4__GPIO2_IO04			0x1b0b0
		>;
	};

	pinctrl_touchscreen: touchscreengrp {
		fsl,pins = <
			MX6QDL_PAD_DISP0_DAT14__GPIO5_IO08		0x1b0b0
			MX6QDL_PAD_DISP0_DAT15__GPIO5_IO09		0x1b0b0
		>;
	};
};


code:
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright (c) 2014 Protonic Holland
 */

/dts-v1/;
#include "imx6dl.dtsi"
#include "imx6qdl-vicut1.dtsi"
#include "imx6qdl-vicut1-12inch.dtsi"

/ {
	model = "Kverneland UT1 Board";
	compatible = "kvg,vicut1", "fsl,imx6dl";
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright 2013 Freescale Semiconductor, Inc.
 *
 * Author: Fabio Estevam <fabio.estevam@freescale.com>
 */
/dts-v1/;
#include "imx6dl.dtsi"
#include "imx6qdl-wandboard-revb1.dtsi"

/ {
	model = "Wandboard i.MX6 Dual Lite Board rev B1";
	compatible = "wand,imx6dl-wandboard", "fsl,imx6dl";

	memory@10000000 {
		device_type = "memory";
		reg = <0x10000000 0x40000000>;
	};
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright 2013 Freescale Semiconductor, Inc.
 *
 * Author: Fabio Estevam <fabio.estevam@freescale.com>
 */
/dts-v1/;
#include "imx6dl.dtsi"
#include "imx6qdl-wandboard-revd1.dtsi"

/ {
	model = "Wandboard i.MX6 Dual Lite Board revD1";
	compatible = "wand,imx6dl-wandboard", "fsl,imx6dl";

	memory@10000000 {
		device_type = "memory";
		reg = <0x10000000 0x40000000>;
	};
};


code:
// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright 2013 Freescale Semiconductor, Inc.
 *
 * Author: Fabio Estevam <fabio.estevam@freescale.com>
 */
/dts-v1/;
#include "imx6dl.dtsi"
#include "imx6qdl-wandboard-revc1.dtsi"

/ {
	model = "Wandboard i.MX6 Dual Lite Board";
	compatible = "wand,imx6dl-wandboard", "fsl,imx6dl";

	memory@10000000 {
		device_type = "memory";
		reg = <0x10000000 0x40000000>;
	};
};


code:
// SPDX-License-Identifier: GPL-2.0
//
// Copyright (C) 2015-2018 Y Soft Corporation, a.s.

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/pwm/pwm.h>

/ {
	aliases: aliases {
		ethernet1 = &eth1;
		ethernet2 = &eth2;
		mmc0 = &usdhc3;
		mmc1 = &usdhc4;
	};

	backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>;
		brightness-levels = <0 32 64 128 255>;
		default-brightness-level = <32>;
		num-interpolated-steps = <8>;
		power-supply = <&sw2_reg>;
		status = "disabled";
	};

	lcd_display: display {
		compatible = "fsl,imx-parallel-display";
		#address-cells = <1>;
		#size-cells = <0>;
		interface-pix-fmt = "rgb24";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_ipu1>;
		status = "disabled";

		port@0 {
			reg = <0>;

			lcd_display_in: endpoint {
				remote-endpoint = <&ipu1_di0_disp0>;
			};
		};

		port@1 {
			reg = <1>;

			lcd_display_out: endpoint {
				remote-endpoint = <&lcd_panel_in>;
			};
		};
	};

	panel: panel {
		compatible = "dataimage,scf0700c48ggu18";
		power-supply = <&sw2_reg>;
		backlight = <&backlight>;
		status = "disabled";

		port {
			lcd_panel_in: endpoint {
				remote-endpoint = <&lcd_display_out>;
			};
		};
	};

	reg_pcie: regulator-pcie {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_pcie_reg>;
		regulator-name = "MPCIE_3V3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&gpio3 19 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		status = "disabled";
	};

	reg_usb_h1_vbus: regulator-usb-h1-vbus {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_usbh1_vbus>;
		regulator-name = "usb_h1_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&gpio1 29 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		status = "disabled";
	};

	reg_usb_otg_vbus: regulator-usb-otg-vbus {
		compatible = "regulator-fixed";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_usbotg_vbus>;
		regulator-name = "usb_otg_vbus";
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
		enable-active-high;
		status = "okay";
	};
};

&fec {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet>;
	phy-mode = "rgmii-id";
	phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
	phy-reset-duration = <20>;
	phy-supply = <&sw2_reg>;
	status = "okay";

	fixed-link {
		speed = <1000>;
		full-duplex;
	};

	mdio {
		#address-cells = <1>;
		#size-cells = <0>;

		phy_port2: phy@1 {
			reg = <1>;
		};

		phy_port3: phy@2 {
			reg = <2>;
		};

		switch@10 {
			compatible = "qca,qca8334";
			reg = <10>;

			switch_ports: ports {
				#address-cells = <1>;
				#size-cells = <0>;

				ethphy0: port@0 {
					reg = <0>;
					label = "cpu";
					phy-mode = "rgmii-id";
					ethernet = <&fec>;

					fixed-link {
						speed = <1000>;
						full-duplex;
					};
				};

				eth2: port@2 {
					reg = <2>;
					label = "eth2";
					phy-handle = <&phy_port2>;
				};

				eth1: port@3 {
					reg = <3>;
					label = "eth1";
					phy-handle = <&phy_port3>;
				};
			};
		};
	};
};

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

&i2c2 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2>;
	status = "okay";

	pmic@8 {
		compatible = "fsl,pfuze200";
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_pmic>;
		reg = <0x8>;

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

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

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

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

			swbst_reg: swbst {
				regulator-min-microvolt = <5000000>;
				regulator-max-microvolt = <5150000>;
			};

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

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

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

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

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

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

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

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

	leds: led-controller@30 {
		compatible = "ti,lp5562";
		reg = <0x30>;
		clock-mode = /bits/ 8 <1>;
		status = "disabled";
		#address-cells = <1>;
		#size-cells = <0>;

		chan@0 {
			chan-name = "R";
			led-cur = /bits/ 8 <0x20>;
			max-cur = /bits/ 8 <0x60>;
			reg = <0>;
			color = <LED_COLOR_ID_RED>;
		};

		chan@1 {
			chan-name = "G";
			led-cur = /bits/ 8 <0x20>;
			max-cur = /bits/ 8 <0x60>;
			reg = <1>;
			color = <LED_COLOR_ID_GREEN>;
		};

		chan@2 {
			chan-name = "B";
			led-cur = /bits/ 8 <0x20>;
			max-cur = /bits/ 8 <0x60>;
			reg = <2>;
			color = <LED_COLOR_ID_BLUE>;
		};
	};

	eeprom@57 {
		compatible = "atmel,24c128";
		reg = <0x57>;
		pagesize = <64>;
		status = "okay";
	};

	touchscreen: touchscreen@5c {
		compatible = "pixcir,pixcir_tangoc";
		reg = <0x5c>;
		pinctrl-0 = <&pinctrl_touch>;
		interrupt-parent = <&gpio4>;
		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
		attb-gpio = <&gpio4 5 GPIO_ACTIVE_HIGH>;
		reset-gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
		touchscreen-size-x = <800>;
		touchscreen-size-y = <480>;
		status = "disabled";
	};
};

&i2c3 {
	clock-frequency = <100000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c3>;
	status = "okay";

	oled_1309: oled@3c {
		compatible = "solomon,ssd1309fb-i2c";
		reg = <0x3c>;
		solomon,height = <64>;
		solomon,width = <128>;
		solomon,page-offset = <0>;
		solomon,segment-no-remap;
		solomon,prechargep2 = <15>;
		reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>;
		vbat-supply = <&sw2_reg>;
		status = "disabled";
	};

	oled_1305: oled@3d {
		compatible = "solomon,ssd1305fb-i2c";
		reg = <0x3d>;
		solomon,height = <64>;
		solomon,width = <128>;
		solomon,page-offset = <0>;
		solomon,col-offset = <4>;
		solomon,prechargep2 = <15>;
		reset-gpios = <&gpio_oled 1 GPIO_ACTIVE_LOW>;
		vbat-supply = <&sw2_reg>;
		status = "disabled";
	};

	gpio_oled: gpio@41 {
		compatible = "nxp,pca9536";
		gpio-controller;
		#gpio-cells = <2>;
		reg = <0x41>;
		vcc-supply = <&sw2_reg>;
		status = "disabled";
	};

	touchkeys: keys@5a {
		compatible = "fsl,mpr121-touchkey";
		reg = <0x5a>;
		vdd-supply = <&sw2_reg>;
		autorepeat;
		linux,keycodes = <KEY_1>, <KEY_2>, <KEY_3>, <KEY_4>, <KEY_5>,
				<KEY_6>, <KEY_7>, <KEY_8>, <KEY_9>,
				<KEY_BACKSPACE>, <KEY_0>, <KEY_ENTER>;
		poll-interval = <50>;
		status = "disabled";
	};
};

&iomuxc {
	pinctrl_enet: enetgrp {
		fsl,pins = <
			MX6QDL_PAD_ENET_MDIO__ENET_MDIO		0x1b020
			MX6QDL_PAD_ENET_MDC__ENET_MDC		0x1b020
			MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b020
			MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b020
			MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b020
			MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b020
			MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b020
			MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b020
			MX6QDL_PAD_RGMII_RXC__RGMII_RXC		0x1b020
			MX6QDL_PAD_RGMII_RD0__RGMII_RD0		0x1b020
			MX6QDL_PAD_RGMII_RD1__RGMII_RD1		0x1b020
			MX6QDL_PAD_RGMII_RD2__RGMII_RD2		0x1b020
			MX6QDL_PAD_RGMII_RD3__RGMII_RD3		0x1b020
			MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL	0x1b020
			MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK	0x1b010
			MX6QDL_PAD_GPIO_16__ENET_REF_CLK	0x1b010
			MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25	0x1b098
		>;
	};

	pinctrl_hdmi_cec: hdmicecgrp {
		fsl,pins = <
			MX6QDL_PAD_EIM_A25__HDMI_TX_CEC_LINE	0x1b898
		>;
	};

	pinctrl_i2c2: i2c2grp {
		fsl,pins = <
			MX6QDL_PAD_KEY_COL3__I2C2_SCL	0x4001b899
			MX6QDL_PAD_KEY_ROW3__I2C2_SDA	0x4001b899
		>;
	};

	pinctrl_i2c3: i2c3grp {
		fsl,pins = <
			MX6QDL_PAD_GPIO_3__I2C3_SCL	0x4001b899
			MX6QDL_PAD_GPIO_6__I2C3_SDA	0x4001b899
		>;
	};

	pinctrl_ipu1: ipu1grp {
		fsl,pins = <
			MX6QDL_PAD_DI0_DISP_CLK__IPU1_DI0_DISP_CLK	0x10
			MX6QDL_PAD_DI0_PIN2__IPU1_DI0_PIN02		0x10
			MX6QDL_PAD_DI0_PIN3__IPU1_DI0_PIN03		0x10
			MX6QDL_PAD_DISP0_DAT0__IPU1_DISP0_DATA00	0x10
			MX6QDL_PAD_DISP0_DAT1__IPU1_DISP0_DATA01	0x10
			MX6QDL_PAD_DISP0_DAT2__IPU1_DISP0_DATA02	0x10
			MX6QDL_PAD_DISP0_DAT3__IPU1_DISP0_DATA03	0x10
			MX6QDL_PAD_DISP0_DAT4__IPU1_DISP0_DATA04	0x10
			MX6QDL_PAD_DISP0_DAT5__IPU1_DISP0_DATA05	0x10
			MX6QDL_PAD_DISP0_DAT6__IPU1_DISP0_DATA06	0x10
			MX6QDL_PAD_DISP0_DAT7__IPU1_DISP0_DATA07	0x10
			MX6QDL_PAD_DISP0_DAT8__IPU1_DISP0_DATA08	0x10
			MX6QDL_PAD_DISP0_DAT9__IPU1_DISP0_DATA09	0x10
			MX6QDL_PAD_DISP0_DAT10__IPU1_DISP0_DATA10	0x10
			MX6QDL_PAD_DISP0_DAT11__IPU1_DISP0_DATA11	0x10
			MX6QDL_PAD_DISP0_DAT12__IPU1_DISP0_DATA12	0x10
			MX6QDL_PAD_DISP0_DAT13__IPU1_DISP0_DATA13	0x10
			MX6QDL_PAD_DISP0_DAT14__IPU1_DISP0_DATA14	0x10
			MX6QDL_PAD_DISP0_DAT15__IPU1_DISP0_DATA15	0x10
			MX6QDL_PAD_DISP0_DAT16__IPU1_DISP0_DATA16	0x10
			MX6QDL_PAD_DISP0_DAT17__IPU1_DISP0_DATA17	0x10
			MX6QDL_PAD_DISP0_DAT18__IPU1_DISP0_DATA18	0x10
			MX6QDL_PAD_DISP0_DAT19__IPU1_DISP0_DATA19	0x10
			MX6QDL_PAD_DISP0_DAT20__IPU1_DISP0_DATA20	0x10
			MX6QDL_PAD_DISP0_DAT21__IPU1_DISP0_DATA21	0x10
			MX6QDL_PAD_DISP0_DAT22__IPU1_DISP0_DATA22	0x10
			MX6QDL_PAD_DISP0_DAT23__IPU1_DISP0_DATA23	0x10
		>;
	};

	pinctrl_pcie: pciegrp {
		fsl,pins = <
			MX6QDL_PAD_GPIO_17__GPIO7_IO12		0x1b098
			MX6QDL_PAD_KEY_COL4__GPIO4_IO14		0x1b098
			MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20	0x1b098
		>;
	};

	pinctrl_pcie_reg: pciereggrp {
		fsl,pins = <
			MX6QDL_PAD_EIM_D19__GPIO3_IO19	0x1b098
		>;
	};

	pinctrl_pmic: pmicgrp {
		fsl,pins = <
			MX6QDL_PAD_GPIO_18__GPIO7_IO13	0x1b098
		>;
	};

	pinctrl_pwm1: pwm1grp {
		fsl,pins = <
			MX6QDL_PAD_GPIO_9__PWM1_OUT	0x8
		>;
	};

	pinctrl_touch: touchgrp {
		fsl,pins = <
			MX6QDL_PAD_GPIO_19__GPIO4_IO05	0x1b098
			MX6QDL_PAD_GPIO_2__GPIO1_IO02	0x1b098
		>;
	};

	pinctrl_uart1: uart1grp {
		fsl,pins = <
			MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA	0x1b0a8
			MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA	0x1b0a8
		>;
	};

	pinctrl_uart2: uart2grp {
		fsl,pins = <
			MX6QDL_PAD_GPIO_7__UART2_TX_DATA	0x1b098
			MX6QDL_PAD_GPIO_8__UART2_RX_DATA	0x1b098
		>;
	};

	pinctrl_usbh1: usbh1grp {
		fsl,pins = <
			MX6QDL_PAD_EIM_D30__USB_H1_OC	0x1b098
		>;
	};

	pinctrl_usbh1_vbus: usbh1-vbus {
		fsl,pins = <
			MX6QDL_PAD_ENET_TXD1__GPIO1_IO29	0x98
		>;
	};

	pinctrl_usbotg: usbotggrp {
		fsl,pins = <
			MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID	0x1b098
			MX6QDL_PAD_EIM_D21__USB_OTG_OC		0x1b098
		>;
	};

	pinctrl_usbotg_vbus: usbotg-vbus {
		fsl,pins = <
			MX6QDL_PAD_EIM_D22__GPIO3_IO22	0x98
		>;
	};

	pinctrl_usdhc3: usdhc3grp {
		fsl,pins = <
			MX6QDL_PAD_EIM_A16__GPIO2_IO22	0x1b018
			MX6QDL_PAD_SD3_RST__GPIO7_IO08	0x1b018
			MX6QDL_PAD_SD3_CMD__SD3_CMD	0x17059
			MX6QDL_PAD_SD3_CLK__SD3_CLK	0x10059
			MX6QDL_PAD_SD3_DAT0__SD3_DATA0	0x17059
			MX6QDL_PAD_SD3_DAT1__SD3_DATA1	0x17059
			MX6QDL_PAD_SD3_DAT2__SD3_DATA2	0x17059
			MX6QDL_PAD_SD3_DAT3__SD3_DATA3	0x17059
		>;
	};

	pinctrl_usdhc4: usdhc4grp {
		fsl,pins = <
			MX6QDL_PAD_SD4_CMD__SD4_CMD	0x1f069
			MX6QDL_PAD_SD4_CLK__SD4_CLK	0x10069
			MX6QDL_PAD_SD4_DAT0__SD4_DATA0	0x17069
			MX6QDL_PAD_SD4_DAT1__SD4_DATA1	0x17069
			MX6QDL_PAD_SD4_DAT2__SD4_DATA2	0x17069
			MX6QDL_PAD_SD4_DAT3__SD4_DATA3	0x17069
			MX6QDL_PAD_SD4_DAT4__SD4_DATA4	0x17069
			MX6QDL_PAD_SD4_DAT5__SD4_DATA5	0x17069
			MX6QDL_PAD_SD4_DAT6__SD4_DATA6	0x17069
			MX6QDL_PAD_SD4_DAT7__SD4_DATA7	0x17069
		>;
	};

	pinctrl_wdog: wdoggrp {
		fsl,pins = <
			MX6QDL_PAD_GPIO_1__WDOG2_B	0x1b0b0
		>;
	};
};

&ipu1_di0_disp0 {
	remote-endpoint = <&lcd_display_in>;
};

&pcie {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pcie>;
	reset-gpio = <&gpio7 12 GPIO_ACTIVE_LOW>;
	vpcie-supply = <&reg_pcie>;
	status = "disabled";
};

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

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

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

&usbh1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbh1>;
	vbus-supply = <&reg_usb_h1_vbus>;
	over-current-active-low;
	status = "disabled";
};

&usbotg {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usbotg>;
	vbus-supply = <&reg_usb_otg_vbus>;
	over-current-active-low;
	srp-disable;
	hnp-disable;
	adp-disable;
	status = "okay";
};

&usbphy1 {
	fsl,tx-d-cal = <106>;
	status = "okay";
};

&usbphy2 {
	fsl,tx-d-cal = <109>;
	status = "disabled";
};

&usdhc3 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc3>;
	bus-width = <4>;
	cd-gpios = <&gpio7 8 GPIO_ACTIVE_LOW>;
	wp-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
	no-1-8-v;
	keep-power-in-suspend;
	wakeup-source;
	vmmc-supply = <&sw2_reg>;
	status = "disabled";
};

&usdhc4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc4>;
	bus-width = <8>;
	non-removable;
	no-1-8-v;
	keep-power-in-suspend;
	vmmc-supply = <&sw2_reg>;
	status = "okay";
};

&wdog1 {
	status = "disabled";
};

&wdog2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_wdog>;
	fsl,ext-reset-output;
	status = "okay";
};


code:
// SPDX-License-Identifier: GPL-2.0
//
// Copyright (C) 2015-2018 Y Soft Corporation, a.s.

/dts-v1/;

#include "imx6dl.dtsi"
#include "imx6dl-yapp4-common.dtsi"

/ {
	model = "Y Soft IOTA Draco i.MX6Solo board";
	compatible = "ysoft,imx6dl-yapp4-draco", "fsl,imx6dl";

	memory@10000000 {
		device_type = "memory";
		reg = <0x10000000 0x20000000>;
	};
};

&backlight {
	status = "okay";
};

&lcd_display {
	status = "okay";
};

&leds {
	status = "okay";
};

&panel {
	status = "okay";
};

&pwm1 {
	status = "okay";
};

&reg_usb_h1_vbus {
	status = "okay";
};

&touchscreen {
	status = "okay";
};

&usbh1 {
	status = "okay";
};

&usbphy2 {
	status = "okay";
};

&usdhc3 {
	status = "okay";
};


code:
// SPDX-License-Identifier: GPL-2.0
//
// Copyright (C) 2015-2018 Y Soft Corporation, a.s.

/dts-v1/;

#include "imx6dl.dtsi"
#include "imx6dl-yapp4-common.dtsi"

/ {
	model = "Y Soft IOTA Hydra i.MX6DualLite board";
	compatible = "ysoft,imx6dl-yapp4-hydra", "fsl,imx6dl";

	memory@10000000 {
		device_type = "memory";
		reg = <0x10000000 0x80000000>;
	};
};

&gpio_oled {
	status = "okay";
};

&hdmi {
	status = "okay";
};

&leds {
	status = "okay";
};

&oled_1305 {
	status = "okay";
};

&oled_1309 {
	status = "okay";
};

&pcie {
	status = "okay";
};

&reg_pcie {
	status = "okay";
};

&touchkeys {
	status = "okay";
};

&usdhc3 {
	status = "okay";
};


code:
// SPDX-License-Identifier: GPL-2.0
//
// Copyright (C) 2020 Y Soft Corporation, a.s.

/dts-v1/;

#include "imx6dl.dtsi"
#include "imx6dl-yapp4-common.dtsi"

/ {
	model = "Y Soft IOTA Orion i.MX6DualLite board";
	compatible = "ysoft,imx6dl-yapp4-orion", "fsl,imx6dl";

	memory@10000000 {
		device_type = "memory";
		reg = <0x10000000 0xf0000000>;
	};
};

&gpio_oled {
	status = "okay";
};

&leds {
	status = "okay";
};

&oled_1305 {
	status = "okay";
};

&oled_1309 {
	status = "okay";
};

&reg_usb_h1_vbus {
	status = "okay";
};

&touchkeys {
	status = "okay";
};

&uart2 {
	status = "disabled";
};

&usbh1 {
	status = "okay";
};

&usbphy2 {
	status = "okay";
};


code:
// SPDX-License-Identifier: GPL-2.0
//
// Copyright (C) 2015-2018 Y Soft Corporation, a.s.

/dts-v1/;

#include "imx6dl.dtsi"
#include "imx6dl-yapp4-common.dtsi"

/ {
	model = "Y Soft IOTA Ursa i.MX6Solo board";
	compatible = "ysoft,imx6dl-yapp4-ursa", "fsl,imx6dl";

	memory@10000000 {
		device_type = "memory";
		reg = <0x10000000 0x20000000>;
	};
};

&aliases {
	/delete-property/ ethernet1;
};

&backlight {
	status = "okay";
};

&lcd_display {
	status = "okay";
};

&panel {
	status = "okay";
};

&pwm1 {
	status = "okay";
};

&reg_usb_h1_vbus {
	status = "okay";
};

&switch_ports {
	/delete-node/ port@3;
};

&touchscreen {
	status = "okay";
};

&usbh1 {
	status = "okay";
};

&usbphy2 {
	status = "okay";
};


code:
// SPDX-License-Identifier: GPL-2.0
//
// Copyright 2013 Freescale Semiconductor, Inc.

#include <dt-bindings/interrupt-controller/irq.h>
#include "imx6dl-pinfunc.h"
#include "imx6qdl.dtsi"

/ {
	aliases {
		i2c3 = &i2c4;
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu0: cpu@0 {
			compatible = "arm,cortex-a9";
			device_type = "cpu";
			reg = <0>;
			next-level-cache = <&L2>;
			operating-points = <
				/* kHz    uV */
				996000  1250000
				792000  1175000
				396000  1150000
			>;
			fsl,soc-operating-points = <
				/* ARM kHz  SOC-PU uV */
				996000	1175000
				792000	1175000
				396000	1175000
			>;
			clock-latency = <61036>; /* two CLK32 periods */
			#cooling-cells = <2>;
			clocks = <&clks IMX6QDL_CLK_ARM>,
				 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>,
				 <&clks IMX6QDL_CLK_STEP>,
				 <&clks IMX6QDL_CLK_PLL1_SW>,
				 <&clks IMX6QDL_CLK_PLL1_SYS>;
			clock-names = "arm", "pll2_pfd2_396m", "step",
				      "pll1_sw", "pll1_sys";
			arm-supply = <&reg_arm>;
			pu-supply = <&reg_pu>;
			soc-supply = <&reg_soc>;
			nvmem-cells = <&cpu_speed_grade>;
			nvmem-cell-names = "speed_grade";
		};

		cpu@1 {
			compatible = "arm,cortex-a9";
			device_type = "cpu";
			reg = <1>;
			next-level-cache = <&L2>;
			operating-points = <
				/* kHz    uV */
				996000  1250000
				792000  1175000
				396000  1150000
			>;
			fsl,soc-operating-points = <
				/* ARM kHz  SOC-PU uV */
				996000	1175000
				792000	1175000
				396000	1175000
			>;
			clock-latency = <61036>; /* two CLK32 periods */
			#cooling-cells = <2>;
			clocks = <&clks IMX6QDL_CLK_ARM>,
				 <&clks IMX6QDL_CLK_PLL2_PFD2_396M>,
				 <&clks IMX6QDL_CLK_STEP>,
				 <&clks IMX6QDL_CLK_PLL1_SW>,
				 <&clks IMX6QDL_CLK_PLL1_SYS>;
			clock-names = "arm", "pll2_pfd2_396m", "step",
				      "pll1_sw", "pll1_sys";
			arm-supply = <&reg_arm>;
			pu-supply = <&reg_pu>;
			soc-supply = <&reg_soc>;
		};
	};

	soc: soc {
		ocram: sram@900000 {
			compatible = "mmio-sram";
			reg = <0x00900000 0x20000>;
			ranges = <0 0x00900000 0x20000>;
			#address-cells = <1>;
			#size-cells = <1>;
			clocks = <&clks IMX6QDL_CLK_OCRAM>;
		};

		aips1: bus@2000000 {
			pxp: pxp@20f0000 {
				reg = <0x020f0000 0x4000>;
				interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
			};

			epdc: epdc@20f4000 {
				reg = <0x020f4000 0x4000>;
				interrupts = <0 97 IRQ_TYPE_LEVEL_HIGH>;
			};
		};

		aips2: bus@2100000 {
			i2c4: i2c@21f8000 {
				#address-cells = <1>;
				#size-cells = <0>;
				compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
				reg = <0x021f8000 0x4000>;
				interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
				clocks = <&clks IMX6DL_CLK_I2C4>;
				status = "disabled";
			};
		};
	};

	capture-subsystem {
		compatible = "fsl,imx-capture-subsystem";
		ports = <&ipu1_csi0>, <&ipu1_csi1>;
	};

	display-subsystem {
		compatible = "fsl,imx-display-subsystem";
		ports = <&ipu1_di0>, <&ipu1_di1>;
	};
};

&gpio1 {
	gpio-ranges = <&iomuxc  0 131 2>, <&iomuxc  2 137 8>, <&iomuxc 10 189 2>,
		      <&iomuxc 12 194 1>, <&iomuxc 13 193 1>, <&iomuxc 14 192 1>,
		      <&iomuxc 15 191 1>, <&iomuxc 16 185 2>, <&iomuxc 18 184 1>,
		      <&iomuxc 19 187 1>, <&iomuxc 20 183 1>, <&iomuxc 21 188 1>,
		      <&iomuxc 22 123 3>, <&iomuxc 25 121 1>, <&iomuxc 26 127 1>,
		      <&iomuxc 27 126 1>, <&iomuxc 28 128 1>, <&iomuxc 29 130 1>,
		      <&iomuxc 30 129 1>, <&iomuxc 31 122 1>;
};

&gpio2 {
	gpio-ranges = <&iomuxc  0 161 8>, <&iomuxc  8 208 8>, <&iomuxc 16  74 1>,
		      <&iomuxc 17  73 1>, <&iomuxc 18  72 1>, <&iomuxc 19  71 1>,
		      <&iomuxc 20  70 1>, <&iomuxc 21  69 1>, <&iomuxc 22  68 1>,
		      <&iomuxc 23  79 2>, <&iomuxc 25 118 2>, <&iomuxc 27 117 1>,
		      <&iomuxc 28 113 4>;
};

&gpio3 {
	gpio-ranges = <&iomuxc  0 97  2>, <&iomuxc 2 105 8>, <&iomuxc 10 99 6>,
		      <&iomuxc 16 81 16>;
};

&gpio4 {
	gpio-ranges = <&iomuxc  5 136 1>, <&iomuxc  6 145 1>, <&iomuxc  7 150 1>,
		      <&iomuxc  8 146 1>, <&iomuxc  9 151 1>, <&iomuxc 10 147 1>,
		      <&iomuxc 11 152 1>, <&iomuxc 12 148 1>, <&iomuxc 13 153 1>,
		      <&iomuxc 14 149 1>, <&iomuxc 15 154 1>, <&iomuxc 16  39 7>,
		      <&iomuxc 23  56 1>, <&iomuxc 24  61 7>, <&iomuxc 31  46 1>;
};

&gpio5 {
	gpio-ranges = <&iomuxc  0 120 1>, <&iomuxc  2 77 1>, <&iomuxc  4 76 1>,
		      <&iomuxc  5  47 9>, <&iomuxc 14 57 4>, <&iomuxc 18 37 1>,
		      <&iomuxc 19  36 1>, <&iomuxc 20 35 1>, <&iomuxc 21 38 1>,
		      <&iomuxc 22  29 6>, <&iomuxc 28 19 4>;
};

&gpio6 {
	gpio-ranges = <&iomuxc  0  23 6>, <&iomuxc  6  75 1>, <&iomuxc  7 156 1>,
		      <&iomuxc  8 155 1>, <&iomuxc  9 170 1>, <&iomuxc 10 169 1>,
		      <&iomuxc 11 157 1>, <&iomuxc 14 158 3>, <&iomuxc 17 204 1>,
		      <&iomuxc 18 203 1>, <&iomuxc 19 182 1>, <&iomuxc 20 177 4>,
		      <&iomuxc 24 175 1>, <&iomuxc 25 171 1>, <&iomuxc 26 181 1>,
		      <&iomuxc 27 172 3>, <&iomuxc 30 176 1>, <&iomuxc 31  78 1>;
};

&gpio7 {
	gpio-ranges = <&iomuxc 0 202 1>, <&iomuxc  1 201 1>, <&iomuxc  2 196 1>,
		      <&iomuxc 3 195 1>, <&iomuxc  4 197 4>, <&iomuxc  8 205 1>,
		      <&iomuxc 9 207 1>, <&iomuxc 10 206 1>, <&iomuxc 11 133 3>;
};

&gpr {
	ipu1_csi0_mux {
		compatible = "video-mux";
		mux-controls = <&mux 0>;
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;

			ipu1_csi0_mux_from_mipi_vc0: endpoint {
				remote-endpoint = <&mipi_vc0_to_ipu1_csi0_mux>;
			};
		};

		port@1 {
			reg = <1>;

			ipu1_csi0_mux_from_mipi_vc1: endpoint {
				remote-endpoint = <&mipi_vc1_to_ipu1_csi0_mux>;
			};
		};

		port@2 {
			reg = <2>;

			ipu1_csi0_mux_from_mipi_vc2: endpoint {
				remote-endpoint = <&mipi_vc2_to_ipu1_csi0_mux>;
			};
		};

		port@3 {
			reg = <3>;

			ipu1_csi0_mux_from_mipi_vc3: endpoint {
				remote-endpoint = <&mipi_vc3_to_ipu1_csi0_mux>;
			};
		};

		port@4 {
			reg = <4>;

			ipu1_csi0_mux_from_parallel_sensor: endpoint {
			};
		};

		port@5 {
			reg = <5>;

			ipu1_csi0_mux_to_ipu1_csi0: endpoint {
				remote-endpoint = <&ipu1_csi0_from_ipu1_csi0_mux>;
			};
		};
	};

	ipu1_csi1_mux {
		compatible = "video-mux";
		mux-controls = <&mux 1>;
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;

			ipu1_csi1_mux_from_mipi_vc0: endpoint {
				remote-endpoint = <&mipi_vc0_to_ipu1_csi1_mux>;
			};
		};

		port@1 {
			reg = <1>;

			ipu1_csi1_mux_from_mipi_vc1: endpoint {
				remote-endpoint = <&mipi_vc1_to_ipu1_csi1_mux>;
			};
		};

		port@2 {
			reg = <2>;

			ipu1_csi1_mux_from_mipi_vc2: endpoint {
				remote-endpoint = <&mipi_vc2_to_ipu1_csi1_mux>;
			};
		};

		port@3 {
			reg = <3>;

			ipu1_csi1_mux_from_mipi_vc3: endpoint {
				remote-endpoint = <&mipi_vc3_to_ipu1_csi1_mux>;
			};
		};

		port@4 {
			reg = <4>;

			ipu1_csi1_mux_from_parallel_sensor: endpoint {
			};
		};

		port@5 {
			reg = <5>;

			ipu1_csi1_mux_to_ipu1_csi1: endpoint {
				remote-endpoint = <&ipu1_csi1_from_ipu1_csi1_mux>;
			};
		};
	};
};

&gpt {
	compatible = "fsl,imx6dl-gpt";
};

&hdmi {
	compatible = "fsl,imx6dl-hdmi";
};

&iomuxc {
	compatible = "fsl,imx6dl-iomuxc";
};

&ipu1_csi1 {
	ipu1_csi1_from_ipu1_csi1_mux: endpoint {
		remote-endpoint = <&ipu1_csi1_mux_to_ipu1_csi1>;
	};
};

&ldb {
	clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>, <&clks IMX6QDL_CLK_LDB_DI1_SEL>,
		 <&clks IMX6QDL_CLK_IPU1_DI0_SEL>, <&clks IMX6QDL_CLK_IPU1_DI1_SEL>,
		 <&clks IMX6QDL_CLK_LDB_DI0>, <&clks IMX6QDL_CLK_LDB_DI1>;
	clock-names = "di0_pll", "di1_pll",
		      "di0_sel", "di1_sel",
		      "di0", "di1";
};

&mipi_csi {
	port@1 {
		reg = <1>;
		#address-cells = <1>;
		#size-cells = <0>;

		mipi_vc0_to_ipu1_csi0_mux: endpoint@0 {
			reg = <0>;
			remote-endpoint = <&ipu1_csi0_mux_from_mipi_vc0>;
		};

		mipi_vc0_to_ipu1_csi1_mux: endpoint@1 {
			reg = <1>;
			remote-endpoint = <&ipu1_csi1_mux_from_mipi_vc0>;
		};
	};

	port@2 {
		reg = <2>;
		#address-cells = <1>;
		#size-cells = <0>;

		mipi_vc1_to_ipu1_csi0_mux: endpoint@0 {
			reg = <0>;
			remote-endpoint = <&ipu1_csi0_mux_from_mipi_vc1>;
		};

		mipi_vc1_to_ipu1_csi1_mux: endpoint@1 {
			reg = <1>;
			remote-endpoint = <&ipu1_csi1_mux_from_mipi_vc1>;
		};
	};

	port@3 {
		reg = <3>;
		#address-cells = <1>;
		#size-cells = <0>;

		mipi_vc2_to_ipu1_csi0_mux: endpoint@0 {
			reg = <0>;
			remote-endpoint = <&ipu1_csi0_mux_from_mipi_vc2>;
		};

		mipi_vc2_to_ipu1_csi1_mux: endpoint@1 {
			reg = <1>;
			remote-endpoint = <&ipu1_csi1_mux_from_mipi_vc2>;
		};
	};

	port@4 {
		reg = <4>;
		#address-cells = <1>;
		#size-cells = <0>;

		mipi_vc3_to_ipu1_csi0_mux: endpoint@0 {
			reg = <0>;
			remote-endpoint = <&ipu1_csi0_mux_from_mipi_vc3>;
		};

		mipi_vc3_to_ipu1_csi1_mux: endpoint@1 {
			reg = <1>;
			remote-endpoint = <&ipu1_csi1_mux_from_mipi_vc3>;
		};
	};
};

&mux {
	mux-reg-masks = <0x34 0x00000007>, /* IPU_CSI0_MUX */
			<0x34 0x00000038>, /* IPU_CSI1_MUX */
			<0x0c 0x0000000c>, /* HDMI_MUX_CTL */
			<0x0c 0x000000c0>, /* LVDS0_MUX_CTL */
			<0x0c 0x00000300>, /* LVDS1_MUX_CTL */
			<0x28 0x00000003>, /* DCIC1_MUX_CTL */
			<0x28 0x0000000c>; /* DCIC2_MUX_CTL */
};

&vpu {
	compatible = "fsl,imx6dl-vpu", "cnm,coda960";
};


code:
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2014-2022 Toradex
 * Copyright 2012 Freescale Semiconductor, Inc.
 * Copyright 2011 Linaro Ltd.
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "imx6q.dtsi"
#include "imx6qdl-apalis.dtsi"

/ {
	model = "Toradex Apalis iMX6Q/D Module on Apalis Evaluation Board";
	compatible = "toradex,apalis_imx6q-eval", "toradex,apalis_imx6q",
		     "fsl,imx6q";

	aliases {
		i2c0 = &i2c1;
		i2c1 = &i2c3;
		i2c2 = &i2c2;
		rtc0 = &rtc_i2c;
		rtc1 = &snvs_rtc;
	};

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

	reg_pcie_switch: regulator-pcie-switch {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
		regulator-max-microvolt = <1800000>;
		regulator-min-microvolt = <1800000>;
		regulator-name = "pcie_switch";
		startup-delay-us = <100000>;
		status = "okay";
	};

	reg_3v3_sw: regulator-3v3-sw {
		compatible = "regulator-fixed";
		regulator-always-on;
		regulator-max-microvolt = <3300000>;
		regulator-min-microvolt = <3300000>;
		regulator-name = "3.3V_SW";
	};
};

&can1 {
	xceiver-supply = <&reg_3v3_sw>;
	status = "okay";
};

&can2 {
	xceiver-supply = <&reg_3v3_sw>;
	status = "okay";
};

/* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
&i2c1 {
	status = "okay";

	pcie-switch@58 {
		compatible = "plx,pex8605";
		reg = <0x58>;
	};

	/* M41T0M6 real time clock on carrier board */
	rtc_i2c: rtc@68 {
		compatible = "st,m41t0";
		reg = <0x68>;
	};
};

/*
 * I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier
 * board)
 */
&i2c3 {
	status = "okay";
};

&pcie {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_reset_moci>;
	/* active-high meaning opposite of regular PERST# active-low polarity */
	reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
	reset-gpio-active-high;
	vpcie-supply = <&reg_pcie_switch>;
	status = "okay";
};

&pwm1 {
	status = "okay";
};

&pwm2 {
	status = "okay";
};

&pwm3 {
	status = "okay";
};

&pwm4 {
	status = "okay";
};

&reg_usb_host_vbus {
	status = "okay";
};

&reg_usb_otg_vbus {
	status = "okay";
};

&sata {
	status = "okay";
};

&sound_spdif {
	status = "okay";
};

&spdif {
	status = "okay";
};

&uart1 {
	status = "okay";
};

&uart2 {
	status = "okay";
};

&uart4 {
	status = "okay";
};

&uart5 {
	status = "okay";
};

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

&usbotg {
	vbus-supply = <&reg_usb_otg_vbus>;
	status = "okay";
};

/* MMC1 */
&usdhc1 {
	status = "okay";
};

/* SD1 */
&usdhc2 {
	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc2 &pinctrl_sd_cd>;
	status = "okay";
};


code:
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2014-2022 Toradex
 * Copyright 2012 Freescale Semiconductor, Inc.
 * Copyright 2011 Linaro Ltd.
 */

#include "imx6q-apalis-ixora-v1.2.dts"

/ {
	model = "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board V1.1";
	compatible = "toradex,apalis_imx6q-ixora-v1.1", "toradex,apalis_imx6q",
		     "fsl,imx6q";

};

/delete-node/ &eeprom;
/delete-node/ &reg_3v3_vmmc;
/delete-node/ &reg_can1_supply;
/delete-node/ &reg_can2_supply;

&can1 {
	/delete-property/ xceiver-supply;
};

&can2 {
	/delete-property/ xceiver-supply;
};

/* MMC1 */
&usdhc1 {
	/delete-property/ cap-power-off-card;
	/delete-property/ pinctrl-1;
	/delete-property/ vmmc-supply;
	pinctrl-names = "default";
};


code:
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2014-2022 Toradex
 * Copyright 2012 Freescale Semiconductor, Inc.
 * Copyright 2011 Linaro Ltd.
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "imx6q.dtsi"
#include "imx6qdl-apalis.dtsi"

/ {
	model = "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board V1.2";
	compatible = "toradex,apalis_imx6q-ixora-v1.2", "toradex,apalis_imx6q",
		     "fsl,imx6q";

	aliases {
		i2c0 = &i2c1;
		i2c1 = &i2c3;
		i2c2 = &i2c2;
		rtc0 = &rtc_i2c;
		rtc1 = &snvs_rtc;
	};

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

	leds {
		compatible = "gpio-leds";

		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_leds_ixora>;

		led4-green {
			gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
			label = "LED_4_GREEN";
		};

		led4-red {
			gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
			label = "LED_4_RED";
		};

		led5-green {
			gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
			label = "LED_5_GREEN";
		};

		led5-red {
			gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
			label = "LED_5_RED";
		};
	};

	reg_3v3_vmmc: regulator-3v3-vmmc {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio2 0 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_enable_3v3_vmmc>;
		regulator-max-microvolt = <3300000>;
		regulator-min-microvolt = <3300000>;
		regulator-name = "3v3_vmmc";
		startup-delay-us = <100>;
	};

	reg_can1_supply: regulator-can1-supply {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio2 3 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_enable_can1_power>;
		regulator-name = "can1_supply";
	};

	reg_can2_supply: regulator-can2-supply {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio3 15 GPIO_ACTIVE_HIGH>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_enable_can2_power>;
		regulator-name = "can2_supply";
	};
};

&can1 {
	xceiver-supply = <&reg_can1_supply>;
	status = "okay";
};

&can2 {
	xceiver-supply = <&reg_can2_supply>;
	status = "okay";
};

&gpio1 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart24_forceoff>;

	/*
	 * uart-2-4-on-x21-enable-hog enables the UART transceiver for Apalis
	 * UART2 and UART3. If one wants to disable the transceiver force
	 * the GPIO to output-low, if one wants to control the transceiver
	 * from user space delete the hog node.
	 */
	uart-2-4-on-x21-enable-hog {
		gpio-hog;
		gpios = <11 GPIO_ACTIVE_HIGH>; /* MXM3 180 */
		output-high;
	};
};

/* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
&i2c1 {
	status = "okay";

	/* M41T0M6 real time clock on carrier board */
	rtc_i2c: rtc@68 {
		compatible = "st,m41t0";
		reg = <0x68>;
	};

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

/*
 * I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier
 * board)
 */
&i2c3 {
	status = "okay";
};

&pcie {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_reset_moci>;
	/* active-high meaning opposite of regular PERST# active-low polarity */
	reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
	reset-gpio-active-high;
	status = "okay";
};

&pwm1 {
	status = "okay";
};

&pwm2 {
	status = "okay";
};

&pwm3 {
	status = "okay";
};

&pwm4 {
	status = "okay";
};

&reg_usb_host_vbus {
	status = "okay";
};

&reg_usb_otg_vbus {
	status = "okay";
};

&sata {
	status = "okay";
};

&sound_spdif {
	status = "okay";
};

&spdif {
	status = "okay";
};

&uart1 {
	status = "okay";
};

&uart2 {
	status = "okay";
};

&uart4 {
	status = "okay";
};

&uart5 {
	status = "okay";
};

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

&usbotg {
	vbus-supply = <&reg_usb_otg_vbus>;
	status = "okay";
};

/* MMC1 */
&usdhc1 {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&pinctrl_usdhc1_4bit &pinctrl_mmc_cd>;
	pinctrl-1 = <&pinctrl_usdhc1_4bit_sleep &pinctrl_mmc_cd_sleep>;
	bus-width = <4>;
	cap-power-off-card;
	vmmc-supply = <&reg_3v3_vmmc>;
	status = "okay";
};

&iomuxc {
	pinctrl_enable_3v3_vmmc: enable3v3vmmcgrp {
		fsl,pins = <
			MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x1b0b0
		>;
	};

	pinctrl_enable_can1_power: enablecan1powergrp {
		fsl,pins = <
			MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x1b0b0
		>;
	};

	pinctrl_enable_can2_power: enablecan2powergrp {
		fsl,pins = <
			MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x1b0b0
		>;
	};

	pinctrl_uart24_forceoff: uart24forceoffgrp {
		fsl,pins = <
			MX6QDL_PAD_SD2_CMD__GPIO1_IO11 0x1b0b0
		>;
	};

	pinctrl_leds_ixora: ledsixoragrp {
		fsl,pins = <
			MX6QDL_PAD_SD2_DAT1__GPIO1_IO14 0x1b0b0
			MX6QDL_PAD_SD2_DAT3__GPIO1_IO12 0x1b0b0
			MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0
			MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0
		>;
	};

	pinctrl_mmc_cd_sleep: mmccdslpgrp {
		fsl,pins = <
			 /* MMC1 CD */
			MX6QDL_PAD_DI0_PIN4__GPIO4_IO20 0x0
		>;
	};

	pinctrl_usdhc1_4bit_sleep: usdhc1-4bitslpgrp {
		fsl,pins = <
			MX6QDL_PAD_SD1_CMD__SD1_CMD     0x3000
			MX6QDL_PAD_SD1_CLK__SD1_CLK     0x3000
			MX6QDL_PAD_SD1_DAT0__SD1_DATA0  0x3000
			MX6QDL_PAD_SD1_DAT1__SD1_DATA1  0x3000
			MX6QDL_PAD_SD1_DAT2__SD1_DATA2  0x3000
			MX6QDL_PAD_SD1_DAT3__SD1_DATA3  0x3000
		>;
	};
};


code:
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright 2014-2022 Toradex
 * Copyright 2012 Freescale Semiconductor, Inc.
 * Copyright 2011 Linaro Ltd.
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include "imx6q.dtsi"
#include "imx6qdl-apalis.dtsi"

/ {
	model = "Toradex Apalis iMX6Q/D Module on Ixora Carrier Board";
	compatible = "toradex,apalis_imx6q-ixora", "toradex,apalis_imx6q",
		     "fsl,imx6q";

	aliases {
		i2c0 = &i2c1;
		i2c1 = &i2c3;
		i2c2 = &i2c2;
		rtc0 = &rtc_i2c;
		rtc1 = &snvs_rtc;
	};

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

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

		led4-green {
			gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
			label = "LED_4_GREEN";
		};

		led4-red {
			gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>;
			label = "LED_4_RED";
		};

		led5-green {
			gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>;
			label = "LED_5_GREEN";
		};

		led5-red {
			gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
			label = "LED_5_RED";
		};
	};
};

&can1 {
	status = "okay";
};

&can2 {
	status = "okay";
};

/* I2C1_SDA/SCL on MXM3 209/211 (e.g. RTC on carrier board) */
&i2c1 {
	status = "okay";

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

	/* M41T0M6 real time clock on carrier board */
	rtc_i2c: rtc@68 {
		compatible = "st,m41t0";
		reg = <0x68>;
	};
};

/*
 * I2C3_SDA/SCL (CAM) on MXM3 pin 201/203 (e.g. camera sensor on carrier
 * board)
 */
&i2c3 {
	status = "okay";
};

&pcie {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_reset_moci>;
	/* active-high meaning opposite of regular PERST# active-low polarity */
	reset-gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>;
	reset-gpio-active-high;
	status = "okay";
};

&pwm1 {
	status = "okay";
};

&pwm2 {
	status = "okay";
};

&pwm3 {
	status = "okay";
};

&pwm4 {
	status = "okay";
};

&reg_usb_host_vbus {
	status = "okay";
};

&reg_usb_otg_vbus {
	status = "okay";
};

&sata {
	status = "okay";
};

&sound_spdif {
	status = "okay";
};

&spdif {
	status = "okay";
};

&uart1 {
	status = "okay";
};

&uart2 {
	status = "okay";
};

&uart4 {
	status = "okay";
};

&uart5 {
	status = "okay";
};

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

&usbotg {
	vbus-supply = <&reg_usb_otg_vbus>;
	status = "okay";
};

/* SD1 */
&usdhc2 {
	cd-gpios = <&gpio6 14 GPIO_ACTIVE_LOW>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc2 &pinctrl_sd_cd>;
	status = "okay";
};

&iomuxc {
	pinctrl_leds_ixora: ledsixoragrp {
		fsl,pins = <
			MX6QDL_PAD_SD1_DAT1__GPIO1_IO17 0x1b0b0
			MX6QDL_PAD_SD1_DAT3__GPIO1_IO21 0x1b0b0
			MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x1b0b0
			MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x1b0b0
		>;
	};
};


code:
// SPDX-License-Identifier: GPL-2.0+ OR MIT
//
// Copyright 2015 Armadeus Systems <support@armadeus.com>

/dts-v1/;
#include "imx6q.dtsi"
#include "imx6qdl-apf6.dtsi"
#include "imx6qdl-apf6dev.dtsi"

/ {
	model = "Armadeus APF6 Quad / Dual Module on APF6Dev Board";
	compatible = "armadeus,imx6q-apf6dev", "armadeus,imx6q-apf6", "fsl,imx6q";

	memory@10000000 {
		device_type = "memory";
		reg = <0x10000000 0x40000000>;
	};
};

&sata {
	status = "okay";
};


code:
// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright 2011 Freescale Semiconductor, Inc.
 * Copyright 2011 Linaro Ltd.
 */

/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include "imx6q.dtsi"

/ {
	model = "Freescale i.MX6 Quad Armadillo2 Board";
	compatible = "fsl,imx6q-arm2", "fsl,imx6q";

	memory@10000000 {
		device_type = "memory";
		reg = <0x10000000 0x80000000>;
	};

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

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

		reg_usb_otg_vbus: regulator@1 {
			compatible = "regulator-fixed";
			reg = <1>;
			regulator-name = "usb_otg_vbus";
			regulator-min-microvolt = <5000000>;
			regulator-max-microvolt = <5000000>;
			gpio = <&gpio3 22 0>;
			enable-active-high;
		};
	};

	leds {
		compatible = "gpio-leds";

		debug-led {
			label = "Heartbeat";
			gpios = <&gpio3 25 0>;
			linux,default-trigger = "heartbeat";
		};
	};
};

&gpmi {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_gpmi_nand>;
	status = "disabled"; /* gpmi nand conflicts with SD */
};

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

	imx6q-arm2 {
		pinctrl_hog: hoggrp {
			fsl,pins = <
				MX6QDL_PAD_EIM_D25__GPIO3_IO25 0x80000000
			>;
		};

		pinctrl_enet: enetgrp {
			fsl,pins = <
				MX6QDL_PAD_KEY_COL1__ENET_MDIO		0x1b0b0
				MX6QDL_PAD_KEY_COL2__ENET_MDC		0x1b0b0
				MX6QDL_PAD_RGMII_TXC__RGMII_TXC		0x1b030
				MX6QDL_PAD_RGMII_TD0__RGMII_TD0		0x1b030
				MX6QDL_PAD_RGMII_TD1__RGMII_TD1		0x1b030
				MX6QDL_PAD_RGMII_TD2__RGMII_TD2		0x1b030
				MX6QDL_PAD_RGMII_TD3__RGMII_TD3		0x1b030
				MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL	0x1b030
				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_6__ENET_IRQ		0x000b1
			>;
		};

		pinctrl_gpmi_nand: gpminandgrp {
			fsl,pins = <
				MX6QDL_PAD_NANDF_CLE__NAND_CLE		0xb0b1
				MX6QDL_PAD_NANDF_ALE__NAND_ALE		0xb0b1
				MX6QDL_PAD_NANDF_WP_B__NAND_WP_B	0xb0b1
				MX6QDL_PAD_NANDF_RB0__NAND_READY_B	0xb000
				MX6QDL_PAD_NANDF_CS0__NAND_CE0_B	0xb0b1
				MX6QDL_PAD_NANDF_CS1__NAND_CE1_B	0xb0b1
				MX6QDL_PAD_SD4_CMD__NAND_RE_B		0xb0b1
				MX6QDL_PAD_SD4_CLK__NAND_WE_B		0xb0b1
				MX6QDL_PAD_NANDF_D0__NAND_DATA00	0xb0b1
				MX6QDL_PAD_NANDF_D1__NAND_DATA01	0xb0b1
				MX6QDL_PAD_NANDF_D2__NAND_DATA02	0xb0b1
				MX6QDL_PAD_NANDF_D3__NAND_DATA03	0xb0b1
				MX6QDL_PAD_NANDF_D4__NAND_DATA04	0xb0b1
				MX6QDL_PAD_NANDF_D5__NAND_DATA05	0xb0b1
				MX6QDL_PAD_NANDF_D6__NAND_DATA06	0xb0b1
				MX6QDL_PAD_NANDF_D7__NAND_DATA07	0xb0b1
				MX6QDL_PAD_SD4_DAT0__NAND_DQS		0x00b1
			>;
		};

		pinctrl_uart2: uart2grp {
			fsl,pins = <
				MX6QDL_PAD_EIM_D26__UART2_RX_DATA	0x1b0b1
				MX6QDL_PAD_EIM_D27__UART2_TX_DATA	0x1b0b1
				MX6QDL_PAD_EIM_D28__UART2_DTE_CTS_B	0x1b0b1
				MX6QDL_PAD_EIM_D29__UART2_DTE_RTS_B	0x1b0b1
			>;
		};

		pinctrl_uart4: uart4grp {
			fsl,pins = <
				MX6QDL_PAD_KEY_COL0__UART4_TX_DATA	0x1b0b1
				MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA	0x1b0b1
			>;
		};

		pinctrl_usbotg: usbotggrp {
			fsl,pins = <
				MX6QDL_PAD_GPIO_1__USB_OTG_ID		0x17059
			>;
		};

		pinctrl_usdhc3: usdhc3grp {
			fsl,pins = <
				MX6QDL_PAD_SD3_CMD__SD3_CMD		0x17059
				MX6QDL_PAD_SD3_CLK__SD3_CLK		0x10059
				MX6QDL_PAD_SD3_DAT0__SD3_DATA0		0x17059
				MX6QDL_PAD_SD3_DAT1__SD3_DATA1		0x17059
				MX6QDL_PAD_SD3_DAT2__SD3_DATA2		0x17059
				MX6QDL_PAD_SD3_DAT3__SD3_DATA3		0x17059
				MX6QDL_PAD_SD3_DAT4__SD3_DATA4		0x17059
				MX6QDL_PAD_SD3_DAT5__SD3_DATA5		0x17059
				MX6QDL_PAD_SD3_DAT6__SD3_DATA6		0x17059
				MX6QDL_PAD_SD3_DAT7__SD3_DATA7		0x17059
			>;
		};

		pinctrl_usdhc3_cdwp: usdhc3cdwp {
			fsl,pins = <
				MX6QDL_PAD_NANDF_CS0__GPIO6_IO11 0x80000000
				MX6QDL_PAD_NANDF_CS1__GPIO6_IO14 0x80000000
			>;
		};

		pinctrl_usdhc4: usdhc4grp {
			fsl,pins = <
				MX6QDL_PAD_SD4_CMD__SD4_CMD		0x17059
				MX6QDL_PAD_SD4_CLK__SD4_CLK		0x10059
				MX6QDL_PAD_SD4_DAT0__SD4_DATA0		0x17059
				MX6QDL_PAD_SD4_DAT1__SD4_DATA1		0x17059
				MX6QDL_PAD_SD4_DAT2__SD4_DATA2		0x17059
				MX6QDL_PAD_SD4_DAT3__SD4_DATA3		0x17059
				MX6QDL_PAD_SD4_DAT4__SD4_DATA4		0x17059
				MX6QDL_PAD_SD4_DAT5__SD4_DATA5		0x17059
				MX6QDL_PAD_SD4_DAT6__SD4_DATA6		0x17059
				MX6QDL_PAD_SD4_DAT7__SD4_DATA7		0x17059
			>;
		};
	};
};

&fec {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_enet>;
	phy-mode = "rgmii";
	/delete-property/ interrupts;
	interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>,
			      <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
	fsl,err006687-workaround-present;
	status = "okay";
};

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

&usdhc3 {
	cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
	wp-gpios = <&gpio6 14 GPIO_ACTIVE_HIGH>;
	vmmc-supply = <&reg_3p3v>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc3
		     &pinctrl_usdhc3_cdwp>;
	status = "okay";
};

&usdhc4 {
	non-removable;
	vmmc-supply = <&reg_3p3v>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc4>;
	status = "okay";
};

&uart2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_uart2>;
	fsl,dte-mode;
	uart-has-rtscts;
	status = "okay";
};

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


code:
/*
 * Copyright 2015 Timesys Corporation.
 * Copyright 2015 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 "imx6q-bx50v3.dtsi"

/ {
	model = "General Electric B450v3";
	compatible = "ge,imx6q-b450v3", "advantech,imx6q-ba16", "fsl,imx6q";

	chosen {
		stdout-path = &uart3;
	};

	panel-lvds0 {
		compatible = "innolux,g121x1-l03";
		backlight = <&backlight_lvds>;
		power-supply = <&reg_lvds>;

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

&ldb {
	status = "okay";

	lvds0: lvds-channel@0 {
		fsl,data-mapping = "spwg";
		fsl,data-width = <24>;
		status = "okay";

		port@4 {
			reg = <4>;

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

&pca9539 {
	gpio-line-names = "AMB_P_INT1#", "AMB_P_INT2#", "BT_EN", "WLAN_EN",
			  "", "SM_D_ACT", "DP1_RST#", "",
			  "WD15S_EN", "WD15S_DIS#", "", "",
			  "", "", "", "";

	P04-hog {
		gpio-hog;
		gpios = <4 0>;
		output-low;
		line-name = "PCA9539-P04";
	};

	P07-hog {
		gpio-hog;
		gpios = <7 0>;
		output-low;
		line-name = "PCA9539-P07";
	};
};

&pci_root {
	/* Intel Corporation I210 Gigabit Network Connection */
	switch_nic: ethernet@3,0 {
		compatible = "pci8086,1533";
		reg = <0x00010000 0 0 0 0>;
	};
};

&switch_ports {
	port@0 {
		reg = <0>;
		label = "enacq";
		phy-handle = <&switchphy0>;
	};

	port@1 {
		reg = <1>;
		label = "eneport1";
		phy-handle = <&switchphy1>;
	};

	port@2 {
		reg = <2>;
		label = "enix";
		phy-handle = <&switchphy2>;
	};

	port@3 {
		reg = <3>;
		label = "enid";
		phy-handle = <&switchphy3>;
	};

	port@4 {
		reg = <4>;
		label = "cpu";
		ethernet = <&switch_nic>;
		phy-handle = <&switchphy4>;
	};

	port@5 {
		reg = <5>;
		label = "enembc";

		/* connected to Ethernet MAC of AT91RM9200 in MII mode */
		fixed-link {
			speed = <100>;
			full-duplex;
		};
	};
};


code:
/*
 * Copyright 2015 Timesys Corporation.
 * Copyright 2015 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 "imx6q-bx50v3.dtsi"

/ {
	model = "General Electric B650v3";
	compatible = "ge,imx6q-b650v3", "advantech,imx6q-ba16", "fsl,imx6q";

	chosen {
		stdout-path = &uart3;
	};

	panel-lvds0 {
		compatible = "innolux,g121x1-l03";
		backlight = <&backlight_lvds>;
		power-supply = <&reg_lvds>;

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

&ldb {
	status = "okay";

	lvds0: lvds-channel@0 {
		fsl,data-mapping = "spwg";
		fsl,data-width = <24>;
		status = "okay";

		port@4 {
			reg = <4>;

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

&pca9539 {
	gpio-line-names = "AMB_P_INT1#", "AMB_P_INT2#", "BT_EN", "WLAN_EN",
			  "", "SM_D_ACT", "DP1_RST#", "",
			  "WD15S_EN", "WD15S_DIS#", "", "",
			  "", "", "", "";

	P07-hog {
		gpio-hog;
		gpios = <7 0>;
		output-low;
		line-name = "PCA9539-P07";
	};
};

&usbphy1 {
	fsl,tx-cal-45-dn-ohms = <55>;
	fsl,tx-cal-45-dp-ohms = <55>;
	fsl,tx-d-cal = <100>;
};

&pci_root {
	/* Intel Corporation I210 Gigabit Network Connection */
	switch_nic: ethernet@3,0 {
		compatible = "pci8086,1533";
		reg = <0x00010000 0 0 0 0>;
	};
};

&switch_ports {
	port@0 {
		reg = <0>;
		label = "enacq";
		phy-handle = <&switchphy0>;
	};

	port@1 {
		reg = <1>;
		label = "eneport1";
		phy-handle = <&switchphy1>;
	};

	port@2 {
		reg = <2>;
		label = "enix";
		phy-handle = <&switchphy2>;
	};

	port@3 {
		reg = <3>;
		label = "enid";
		phy-handle = <&switchphy3>;
	};

	port@4 {
		reg = <4>;
		label = "cpu";
		ethernet = <&switch_nic>;
		phy-handle = <&switchphy4>;
	};

	port@5 {
		reg = <5>;
		label = "enembc";

		/* connected to Ethernet MAC of AT91RM9200 in MII mode */
		fixed-link {
			speed = <100>;
			full-duplex;
		};
	};
};


code:
/*
 * Copyright 2015 Timesys Corporation.
 * Copyright 2015 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 "imx6q-bx50v3.dtsi"

/ {
	model = "General Electric B850v3";
	compatible = "ge,imx6q-b850v3", "advantech,imx6q-ba16", "fsl,imx6q";

	chosen {
		stdout-path = &uart3;
	};
};

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

	lvds0: lvds-channel@0 {
		fsl,data-mapping = "spwg";
		fsl,data-width = <24>;
		status = "okay";

		port@4 {
			reg = <4>;

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

&i2c2 {
	pca9547_ddc: mux@70 {
		compatible = "nxp,pca9547";
		reg = <0x70>;
		#address-cells = <1>;
		#size-cells = <0>;

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

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

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

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

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

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

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

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

&hdmi {
	ddc-i2c-bus = <&mux2_i2c1>;
};

&mux1_i2c1 {
	ads7830@4a {
		compatible = "ti,ads7830";
		reg = <0x4a>;
	};
};

&mux2_i2c2 {
	clock-frequency = <100000>;

	stdp2690@72 {
		compatible = "megachips,stdp2690-ge-b850v3-fw";
		reg = <0x72>;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;

				stdp2690_in: endpoint {
					remote-endpoint = <&stdp4028_out>;
				};
			};

			port@1 {
				reg = <1>;

				stdp2690_out: endpoint {
					/* Connector for external display */
				};
			};
		};
	};

	stdp4028@73 {
		compatible = "megachips,stdp4028-ge-b850v3-fw";
		reg = <0x73>;
		interrupt-parent = <&gpio2>;
		interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;

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

			port@1 {
				reg = <1>;

				stdp4028_out: endpoint {
					remote-endpoint = <&stdp2690_in>;
				};
			};
		};
	};
};

&pca9539 {
	gpio-line-names = "AMB_P_INT1#", "AMB_P_INT2#", "BT_EN", "WLAN_EN",
			  "REMOTE_ON_PML#", "SM_D_ACT", "DP1_RST#", "DP2_RST#",
			  "", "", "", "",
			  "", "", "", "";

	P10-hog {
		gpio-hog;
		gpios = <8 0>;
		output-low;
		line-name = "PCA9539-P10";
	};

	P11-hog {
		gpio-hog;
		gpios = <9 0>;
		output-low;
		line-name = "PCA9539-P11";
	};
};

&pci_root {
	/* PLX Technology, Inc. PEX 8605 PCI Express 4-port Gen2 Switch */
	bridge@1,0 {
		compatible = "pci10b5,8605";
		reg = <0x00010000 0 0 0 0>;

		#address-cells = <3>;
		#size-cells = <2>;
		#interrupt-cells = <1>;

		bridge@2,1 {
			compatible = "pci10b5,8605";
			reg = <0x00020800 0 0 0 0>;

			#address-cells = <3>;
			#size-cells = <2>;
			#interrupt-cells = <1>;

			/* Intel Corporation I210 Gigabit Network Connection */
			ethernet@3,0 {
				compatible = "pci8086,1533";
				reg = <0x00030000 0 0 0 0>;
			};
		};

		bridge@2,2 {
			compatible = "pci10b5,8605";
			reg = <0x00021000 0 0 0 0>;

			#address-cells = <3>;
			#size-cells = <2>;
			#interrupt-cells = <1>;

			/* Intel Corporation I210 Gigabit Network Connection */
			switch_nic: ethernet@4,0 {
				compatible = "pci8086,1533";
				reg = <0x00040000 0 0 0 0>;
			};
		};
	};
};

&switch_ports {
	port@0 {
		reg = <0>;
		label = "eneport1";
		phy-handle = <&switchphy0>;
	};

	port@1 {
		reg = <1>;
		label = "eneport2";
		phy-handle = <&switchphy1>;
	};

	port@2 {
		reg = <2>;
		label = "enix";
		phy-handle = <&switchphy2>;
	};

	port@3 {
		reg = <3>;
		label = "enid";
		phy-handle = <&switchphy3>;
	};

	port@4 {
		reg = <4>;
		label = "cpu";
		ethernet = <&switch_nic>;
		phy-handle = <&switchphy4>;
	};
};