Commit da7920e3 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'imx-dt-4.15' of...

Merge tag 'imx-dt-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt

Pull "i.MX device tree updates for 4.15" from Shawn Guo:

 - New board support: i.MX51 ZII RDU1, i.MX53 GE Healthcare PPD, i.MX6
   TX modules for MB7 from  Ka-Ro Electronics, i.MX6 Wandboard revd1
   variants, i.MX6 LWN DISPLAY5 board, Pistachio i.MX6Q board, i.MX6SX
   Vining-2000 board.
 - Use the 'vpcie-supply' property for PCIe device for boards
   imx6qdl-sabresd, imx6q-novena and imx6q-cm-fx6.
 - A series from Jagan Teki to update imx6qdl-icore board with audio,
   touch and CAN support.
 - Switch to nvmem for accessing OCOTP from tempmon for i.MX6SX and add
   tempmon support for i.MX6UL.
 - A bunch of patches from Lothar Waßmann updating Ka-Ro i.MX28, i.MX53
   and i.MX6 TX modules.
 - Fix DTC warnings in i.MX device trees, dropping leading zeros from
   unit address, correcting display nodes notation and display port
   names, fixing nodes with unit name and no reg property.
 - Other random device updates for various board support.

* tag 'imx-dt-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (63 commits)
  ARM: dts: imx53-tx53: fix interrupt flags
  ARM: dts: imx28-tx28: fix interrupt flags
  ARM: dts: display5: Device tree description of LWN's DISPLAY5 board
  ARM: dts: imx53-qsb-common: Fix 'led_gpio7_7@0' node with unit name and no reg property
  ARM: dts: imx53-m53evk: Fix 'led_gpio@0' node with unit name and no reg property
  ARM: dts: imx53: Fix 'usbphy@x' node with unit name and no reg property
  ARM: dts: imx51-ts4800: Fix 'port@0' node with unit name and no reg property
  ARM: dts: imx51-apf51dev: Fix 'backlight@bl1' node with unit name and no reg property
  ARM: dts: imx: add ZII RDU1 board
  ARM: dts: imx: add support for TX6 modules on MB7 baseboard
  ARM: dts: imx: add support for TX6QP
  ARM: dts: imx6-tx6: add a .dtsi file for the MB7 baseboard
  ARM: dts: imx6-tx6: move display configuration to .dtsi file
  ARM: dts: imx6-tx6: add support for I2C bus recovery
  ARM: dts: imx6-tx6: convert to using simple-audio-card
  ARM: dts: imx6-tx6: specify ethernet phy reset post-delay
  ARM: dts: imx6-tx6: improve ethernet related pinctrl setup
  ARM: dts: imx6-tx6: add trickle-charge config for DS1339
  ARM: dts: imx6-tx6: remove obsolete ipu1 alias
  ARM: dts: imx6-tx6: remove obsolete eeti,egalax_ts
  ...

[arnd: made sure we have no new leading zeroes in unit address during merge]
parents 0292f8a8 27e1acb7
* GE Healthcare USB Management Controller
A device which handles data aquisition from compatible USB based peripherals.
SPI is used for device management.
Note: This device does not expose the peripherals as USB devices.
Required properties:
- compatible : Should be "ge,achc"
Required SPI properties:
- reg : Should be address of the device chip select within
the controller.
- spi-max-frequency : Maximum SPI clocking speed of device in Hz, should be
1MHz for the GE ACHC.
Example:
spidev0: spi@0 {
compatible = "ge,achc";
reg = <0>;
spi-max-frequency = <1000000>;
};
...@@ -348,12 +348,14 @@ dtb-$(CONFIG_SOC_IMX51) += \ ...@@ -348,12 +348,14 @@ dtb-$(CONFIG_SOC_IMX51) += \
imx51-babbage.dtb \ imx51-babbage.dtb \
imx51-digi-connectcore-jsk.dtb \ imx51-digi-connectcore-jsk.dtb \
imx51-eukrea-mbimxsd51-baseboard.dtb \ imx51-eukrea-mbimxsd51-baseboard.dtb \
imx51-ts4800.dtb imx51-ts4800.dtb \
imx51-zii-rdu1.dtb
dtb-$(CONFIG_SOC_IMX53) += \ dtb-$(CONFIG_SOC_IMX53) += \
imx53-ard.dtb \ imx53-ard.dtb \
imx53-cx9020.dtb \ imx53-cx9020.dtb \
imx53-m53evk.dtb \ imx53-m53evk.dtb \
imx53-mba53.dtb \ imx53-mba53.dtb \
imx53-ppd.dtb \
imx53-qsb.dtb \ imx53-qsb.dtb \
imx53-qsrb.dtb \ imx53-qsrb.dtb \
imx53-smd.dtb \ imx53-smd.dtb \
...@@ -395,14 +397,19 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ ...@@ -395,14 +397,19 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6dl-ts4900.dtb \ imx6dl-ts4900.dtb \
imx6dl-tx6dl-comtft.dtb \ imx6dl-tx6dl-comtft.dtb \
imx6dl-tx6s-8034.dtb \ imx6dl-tx6s-8034.dtb \
imx6dl-tx6s-8034-mb7.dtb \
imx6dl-tx6s-8035.dtb \ imx6dl-tx6s-8035.dtb \
imx6dl-tx6s-8035-mb7.dtb \
imx6dl-tx6u-801x.dtb \ imx6dl-tx6u-801x.dtb \
imx6dl-tx6u-80xx-mb7.dtb \
imx6dl-tx6u-8033.dtb \ imx6dl-tx6u-8033.dtb \
imx6dl-tx6u-8033-mb7.dtb \
imx6dl-tx6u-811x.dtb \ imx6dl-tx6u-811x.dtb \
imx6dl-tx6u-81xx-mb7.dtb \ imx6dl-tx6u-81xx-mb7.dtb \
imx6dl-udoo.dtb \ imx6dl-udoo.dtb \
imx6dl-wandboard.dtb \ imx6dl-wandboard.dtb \
imx6dl-wandboard-revb1.dtb \ imx6dl-wandboard-revb1.dtb \
imx6dl-wandboard-revd1.dtb \
imx6q-apalis-eval.dtb \ imx6q-apalis-eval.dtb \
imx6q-apalis-ixora.dtb \ imx6q-apalis-ixora.dtb \
imx6q-apalis-ixora-v1.1.dtb \ imx6q-apalis-ixora-v1.1.dtb \
...@@ -414,6 +421,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ ...@@ -414,6 +421,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6q-cm-fx6.dtb \ imx6q-cm-fx6.dtb \
imx6q-cubox-i.dtb \ imx6q-cubox-i.dtb \
imx6q-dfi-fs700-m60.dtb \ imx6q-dfi-fs700-m60.dtb \
imx6q-display5-tianma-tm070-1280x768.dtb \
imx6q-dmo-edmqmx6.dtb \ imx6q-dmo-edmqmx6.dtb \
imx6q-evi.dtb \ imx6q-evi.dtb \
imx6q-gk802.dtb \ imx6q-gk802.dtb \
...@@ -441,6 +449,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ ...@@ -441,6 +449,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6q-nitrogen6_som2.dtb \ imx6q-nitrogen6_som2.dtb \
imx6q-novena.dtb \ imx6q-novena.dtb \
imx6q-phytec-pbab01.dtb \ imx6q-phytec-pbab01.dtb \
imx6q-pistachio.dtb \
imx6q-rex-pro.dtb \ imx6q-rex-pro.dtb \
imx6q-sabreauto.dtb \ imx6q-sabreauto.dtb \
imx6q-sabrelite.dtb \ imx6q-sabrelite.dtb \
...@@ -454,17 +463,25 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ ...@@ -454,17 +463,25 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6q-tx6q-1020.dtb \ imx6q-tx6q-1020.dtb \
imx6q-tx6q-1020-comtft.dtb \ imx6q-tx6q-1020-comtft.dtb \
imx6q-tx6q-1036.dtb \ imx6q-tx6q-1036.dtb \
imx6q-tx6q-1036-mb7.dtb \
imx6q-tx6q-10x0-mb7.dtb \
imx6q-tx6q-1110.dtb \ imx6q-tx6q-1110.dtb \
imx6q-tx6q-11x0-mb7.dtb \ imx6q-tx6q-11x0-mb7.dtb \
imx6q-udoo.dtb \ imx6q-udoo.dtb \
imx6q-utilite-pro.dtb \ imx6q-utilite-pro.dtb \
imx6q-wandboard.dtb \ imx6q-wandboard.dtb \
imx6q-wandboard-revb1.dtb \ imx6q-wandboard-revb1.dtb \
imx6q-wandboard-revd1.dtb \
imx6q-zii-rdu2.dtb \ imx6q-zii-rdu2.dtb \
imx6qp-nitrogen6_max.dtb \ imx6qp-nitrogen6_max.dtb \
imx6qp-nitrogen6_som2.dtb \ imx6qp-nitrogen6_som2.dtb \
imx6qp-sabreauto.dtb \ imx6qp-sabreauto.dtb \
imx6qp-sabresd.dtb \ imx6qp-sabresd.dtb \
imx6qp-tx6qp-8037.dtb \
imx6qp-tx6qp-8037-mb7.dtb \
imx6qp-tx6qp-8137.dtb \
imx6qp-tx6qp-8137-mb7.dtb \
imx6qp-wandboard-revd1.dtb \
imx6qp-zii-rdu2.dtb imx6qp-zii-rdu2.dtb
dtb-$(CONFIG_SOC_IMX6SL) += \ dtb-$(CONFIG_SOC_IMX6SL) += \
imx6sl-evk.dtb \ imx6sl-evk.dtb \
...@@ -475,6 +492,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \ ...@@ -475,6 +492,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
imx6sx-sdb-reva.dtb \ imx6sx-sdb-reva.dtb \
imx6sx-sdb-sai.dtb \ imx6sx-sdb-sai.dtb \
imx6sx-sdb.dtb \ imx6sx-sdb.dtb \
imx6sx-softing-vining-2000.dtb \
imx6sx-udoo-neo-basic.dtb \ imx6sx-udoo-neo-basic.dtb \
imx6sx-udoo-neo-extended.dtb \ imx6sx-udoo-neo-extended.dtb \
imx6sx-udoo-neo-full.dtb imx6sx-udoo-neo-full.dtb
......
...@@ -64,7 +64,7 @@ &audmux { ...@@ -64,7 +64,7 @@ &audmux {
&esdhc1 { &esdhc1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_esdhc1>; pinctrl-0 = <&pinctrl_esdhc1>;
cd-gpios = <&gpio1 20>; cd-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
status = "okay"; status = "okay";
}; };
......
...@@ -295,6 +295,14 @@ &ssi1 { ...@@ -295,6 +295,14 @@ &ssi1 {
status = "okay"; status = "okay";
}; };
&tsc {
status = "okay";
};
&tscadc {
status = "okay";
};
&uart1 { &uart1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>; pinctrl-0 = <&pinctrl_uart1>;
......
/* /*
* Copyright 2012 Shawn Guo <shawn.guo@linaro.org> * Copyright 2012 Shawn Guo <shawn.guo@linaro.org>
* Copyright 2013 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* The code contained herein is licensed under the GNU General Public * This file is dual-licensed: you can use it either under the terms
* License. You may obtain a copy of the GNU General Public License * of the GPL or the X11 license, at your option. Note that this dual
* Version 2 at the following locations: * licensing only applies to this file, and not this project as a
* whole.
* *
* http://www.opensource.org/licenses/gpl-license.html * a) This file is free software; you can redistribute it and/or
* http://www.gnu.org/copyleft/gpl.html * 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/; /dts-v1/;
...@@ -45,14 +75,8 @@ onewire { ...@@ -45,14 +75,8 @@ onewire {
status = "disabled"; status = "disabled";
}; };
regulators { reg_usb0_vbus: regulator-usb0-vbus {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
reg_usb0_vbus: regulator@0 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <0>;
regulator-name = "usb0_vbus"; regulator-name = "usb0_vbus";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
...@@ -60,9 +84,8 @@ reg_usb0_vbus: regulator@0 { ...@@ -60,9 +84,8 @@ reg_usb0_vbus: regulator@0 {
enable-active-high; enable-active-high;
}; };
reg_usb1_vbus: regulator@1 { reg_usb1_vbus: regulator-usb1-vbus {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <1>;
regulator-name = "usb1_vbus"; regulator-name = "usb1_vbus";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
...@@ -70,27 +93,24 @@ reg_usb1_vbus: regulator@1 { ...@@ -70,27 +93,24 @@ reg_usb1_vbus: regulator@1 {
enable-active-high; enable-active-high;
}; };
reg_2p5v: regulator@2 { reg_2p5v: regulator-2p5v {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <2>;
regulator-name = "2P5V"; regulator-name = "2P5V";
regulator-min-microvolt = <2500000>; regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>; regulator-max-microvolt = <2500000>;
regulator-always-on; regulator-always-on;
}; };
reg_3p3v: regulator@3 { reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <3>;
regulator-name = "3P3V"; regulator-name = "3P3V";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
regulator-always-on; regulator-always-on;
}; };
reg_can_xcvr: regulator@4 { reg_can_xcvr: regulator-can-xcvr {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <4>;
regulator-name = "CAN XCVR"; regulator-name = "CAN XCVR";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
...@@ -99,9 +119,8 @@ reg_can_xcvr: regulator@4 { ...@@ -99,9 +119,8 @@ reg_can_xcvr: regulator@4 {
pinctrl-0 = <&tx28_flexcan_xcvr_pins>; pinctrl-0 = <&tx28_flexcan_xcvr_pins>;
}; };
reg_lcd: regulator@5 { reg_lcd: regulator-lcd-power {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <5>;
regulator-name = "LCD POWER"; regulator-name = "LCD POWER";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
...@@ -109,9 +128,8 @@ reg_lcd: regulator@5 { ...@@ -109,9 +128,8 @@ reg_lcd: regulator@5 {
enable-active-high; enable-active-high;
}; };
reg_lcd_reset: regulator@6 { reg_lcd_reset: regulator-lcd-reset {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <6>;
regulator-name = "LCD RESET"; regulator-name = "LCD RESET";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
...@@ -121,7 +139,6 @@ reg_lcd_reset: regulator@6 { ...@@ -121,7 +139,6 @@ reg_lcd_reset: regulator@6 {
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
}; };
};
clocks { clocks {
#address-cells = <1>; #address-cells = <1>;
...@@ -312,7 +329,7 @@ gpio5: pca953x@20 { ...@@ -312,7 +329,7 @@ gpio5: pca953x@20 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&tx28_pca9554_pins>; pinctrl-0 = <&tx28_pca9554_pins>;
interrupt-parent = <&gpio3>; interrupt-parent = <&gpio3>;
interrupts = <28 0>; interrupts = <28 IRQ_TYPE_NONE>;
gpio-controller; gpio-controller;
#gpio-cells = <2>; #gpio-cells = <2>;
interrupt-controller; interrupt-controller;
...@@ -336,7 +353,7 @@ touchscreen: tsc2007@48 { ...@@ -336,7 +353,7 @@ touchscreen: tsc2007@48 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&tx28_tsc2007_pins>; pinctrl-0 = <&tx28_tsc2007_pins>;
interrupt-parent = <&gpio3>; interrupt-parent = <&gpio3>;
interrupts = <20 0>; interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>; pendown-gpio = <&gpio3 20 GPIO_ACTIVE_LOW>;
ti,x-plate-ohms = /bits/ 16 <660>; ti,x-plate-ohms = /bits/ 16 <660>;
}; };
...@@ -344,6 +361,8 @@ touchscreen: tsc2007@48 { ...@@ -344,6 +361,8 @@ touchscreen: tsc2007@48 {
ds1339: rtc@68 { ds1339: rtc@68 {
compatible = "mxim,ds1339"; compatible = "mxim,ds1339";
reg = <0x68>; reg = <0x68>;
trickle-resistor-ohms = <250>;
trickle-diode-disable;
}; };
}; };
......
...@@ -65,7 +65,7 @@ &audmux { ...@@ -65,7 +65,7 @@ &audmux {
&esdhc1 { &esdhc1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_esdhc1>; pinctrl-0 = <&pinctrl_esdhc1>;
cd-gpios = <&gpio3 24>; cd-gpios = <&gpio3 24 GPIO_ACTIVE_LOW>;
status = "okay"; status = "okay";
}; };
......
...@@ -443,6 +443,7 @@ sdma: sdma@63fb0000 { ...@@ -443,6 +443,7 @@ sdma: sdma@63fb0000 {
clocks = <&clks IMX5_CLK_SDMA_GATE>, clocks = <&clks IMX5_CLK_SDMA_GATE>,
<&clks IMX5_CLK_SDMA_GATE>; <&clks IMX5_CLK_SDMA_GATE>;
clock-names = "ipg", "ahb"; clock-names = "ipg", "ahb";
#dma-cells = <3>;
fsl,sdma-ram-script-name = "imx/sdma/sdma-imx50.bin"; fsl,sdma-ram-script-name = "imx/sdma/sdma-imx50.bin";
}; };
......
...@@ -16,7 +16,7 @@ / { ...@@ -16,7 +16,7 @@ / {
model = "Armadeus Systems APF51Dev docking/development board"; model = "Armadeus Systems APF51Dev docking/development board";
compatible = "armadeus,imx51-apf51dev", "armadeus,imx51-apf51", "fsl,imx51"; compatible = "armadeus,imx51-apf51dev", "armadeus,imx51-apf51", "fsl,imx51";
backlight@bl1{ backlight {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_backlight>; pinctrl-0 = <&pinctrl_backlight>;
compatible = "gpio-backlight"; compatible = "gpio-backlight";
...@@ -24,7 +24,7 @@ backlight@bl1{ ...@@ -24,7 +24,7 @@ backlight@bl1{
default-on; default-on;
}; };
display@di1 { disp1 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "bgr666"; interface-pix-fmt = "bgr666";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -51,7 +51,7 @@ lw700 { ...@@ -51,7 +51,7 @@ lw700 {
port { port {
display_in: endpoint { display_in: endpoint {
remote-endpoint = <&ipu_di0_disp0>; remote-endpoint = <&ipu_di0_disp1>;
}; };
}; };
}; };
...@@ -120,7 +120,7 @@ &iomuxc { ...@@ -120,7 +120,7 @@ &iomuxc {
pinctrl-0 = <&pinctrl_hog>; pinctrl-0 = <&pinctrl_hog>;
imx51-apf51dev { imx51-apf51dev {
pinctrl_backlight: bl1grp { pinctrl_backlight: backlightgrp {
fsl,pins = < fsl,pins = <
MX51_PAD_DI1_D1_CS__GPIO3_4 0x1F5 MX51_PAD_DI1_D1_CS__GPIO3_4 0x1F5
>; >;
...@@ -218,6 +218,6 @@ MX51_PAD_DI1_PIN3__DI1_PIN3 0x5 ...@@ -218,6 +218,6 @@ MX51_PAD_DI1_PIN3__DI1_PIN3 0x5
}; };
}; };
&ipu_di0_disp0 { &ipu_di0_disp1 {
remote-endpoint = <&display_in>; remote-endpoint = <&display_in>;
}; };
...@@ -39,7 +39,7 @@ clk_26M: codec_clock { ...@@ -39,7 +39,7 @@ clk_26M: codec_clock {
}; };
}; };
display0: display@di0 { display1: disp1 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb24"; interface-pix-fmt = "rgb24";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -61,12 +61,12 @@ timing0: dvi { ...@@ -61,12 +61,12 @@ timing0: dvi {
port { port {
display0_in: endpoint { display0_in: endpoint {
remote-endpoint = <&ipu_di0_disp0>; remote-endpoint = <&ipu_di0_disp1>;
}; };
}; };
}; };
display1: display@di1 { display2: disp2 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb565"; interface-pix-fmt = "rgb565";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -93,7 +93,7 @@ timing1: claawvga { ...@@ -93,7 +93,7 @@ timing1: claawvga {
port { port {
display1_in: endpoint { display1_in: endpoint {
remote-endpoint = <&ipu_di1_disp1>; remote-endpoint = <&ipu_di1_disp2>;
}; };
}; };
}; };
...@@ -348,11 +348,11 @@ sgtl5000: codec@a { ...@@ -348,11 +348,11 @@ sgtl5000: codec@a {
}; };
}; };
&ipu_di0_disp0 { &ipu_di0_disp1 {
remote-endpoint = <&display0_in>; remote-endpoint = <&display0_in>;
}; };
&ipu_di1_disp1 { &ipu_di1_disp2 {
remote-endpoint = <&display1_in>; remote-endpoint = <&display1_in>;
}; };
......
...@@ -50,7 +50,7 @@ backlight: backlight { ...@@ -50,7 +50,7 @@ backlight: backlight {
power-supply = <&backlight_reg>; power-supply = <&backlight_reg>;
}; };
display0: display@di0 { display1: disp1 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb24"; interface-pix-fmt = "rgb24";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -71,9 +71,9 @@ display-timings { ...@@ -71,9 +71,9 @@ display-timings {
}; };
}; };
port@0 { port {
display0_in: endpoint { display0_in: endpoint {
remote-endpoint = <&ipu_di0_disp0>; remote-endpoint = <&ipu_di0_disp1>;
}; };
}; };
}; };
...@@ -107,7 +107,7 @@ rtc: m41t00@68 { ...@@ -107,7 +107,7 @@ rtc: m41t00@68 {
}; };
}; };
&ipu_di0_disp0 { &ipu_di0_disp1 {
remote-endpoint = <&display0_in>; remote-endpoint = <&display0_in>;
}; };
......
/*
* Copyright (C) 2017 Zodiac Inflight Innovations
*
* 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 , 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 "imx51.dtsi"
#include <dt-bindings/sound/fsl-imx-audmux.h>
/ {
model = "ZII RDU1 Board";
compatible = "zii,imx51-rdu1", "fsl,imx51";
chosen {
stdout-path = &uart1;
};
aliases {
mdio-gpio0 = &mdio_gpio;
rtc0 = &ds1341;
};
clk_26M_osc: 26M_osc {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <26000000>;
};
clk_26M_osc_gate: 26M_gate {
compatible = "gpio-gate-clock";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_clk26mhz>;
clocks = <&clk_26M_osc>;
#clock-cells = <0>;
enable-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>;
};
clk_26M_usb: usbhost_gate {
compatible = "gpio-gate-clock";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbgate26mhz>;
clocks = <&clk_26M_osc_gate>;
#clock-cells = <0>;
enable-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
};
clk_26M_snd: snd_gate {
compatible = "gpio-gate-clock";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sndgate26mhz>;
clocks = <&clk_26M_osc_gate>;
#clock-cells = <0>;
enable-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
};
reg_5p0v_main: regulator-5p0v-main {
compatible = "regulator-fixed";
regulator-name = "5V_MAIN";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
disp0 {
compatible = "fsl,imx-parallel-display";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu_disp1>;
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
display_in: endpoint {
remote-endpoint = <&ipu_di0_disp1>;
};
};
port@1 {
reg = <1>;
display_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
panel {
/* no compatible here, bootloader will patch in correct one */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_panel>;
power-supply = <&reg_3p3v>;
enable-gpios = <&gpio3 3 GPIO_ACTIVE_HIGH>;
status = "disabled";
port {
panel_in: endpoint {
remote-endpoint = <&display_out>;
};
};
};
i2c_gpio: i2c-gpio {
compatible = "i2c-gpio";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_swi2c>;
gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>, /* sda */
<&gpio3 4 GPIO_ACTIVE_HIGH>; /* scl */
i2c-gpio,delay-us = <50>;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
sgtl5000: codec@a {
compatible = "fsl,sgtl5000";
reg = <0x0a>;
clocks = <&clk_26M_snd>;
VDDA-supply = <&vdig_reg>;
VDDIO-supply = <&vvideo_reg>;
#sound-dai-cells = <0>;
};
};
spi_gpio: spi-gpio {
compatible = "spi-gpio";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpiospi0>;
status = "okay";
gpio-sck = <&gpio4 15 GPIO_ACTIVE_HIGH>;
gpio-mosi = <&gpio4 12 GPIO_ACTIVE_HIGH>;
gpio-miso = <&gpio4 11 GPIO_ACTIVE_HIGH>;
num-chipselects = <1>;
cs-gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>;
eeprom@0 {
compatible = "eeprom-93xx46";
reg = <0>;
spi-max-frequency = <1000000>;
spi-cs-high;
data-size = <8>;
};
};
mdio_gpio: mdio-gpio {
compatible = "virtual,mdio-gpio";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_swmdio>;
gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>, /* mdc */
<&gpio3 25 GPIO_ACTIVE_HIGH>; /* mdio */
#address-cells = <1>;
#size-cells = <0>;
switch@0 {
compatible = "marvell,mv88e6085";
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
dsa,member = <0 0>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
label = "cpu";
ethernet = <&fec>;
fixed-link {
speed = <100>;
full-duplex;
};
};
port@1 {
reg = <1>;
label = "netaux";
};
port@3 {
reg = <3>;
label = "netright";
};
port@4 {
reg = <4>;
label = "netleft";
};
};
};
};
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "RDU1 audio";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&sound_codec>;
simple-audio-card,frame-master = <&sound_codec>;
simple-audio-card,widgets =
"Headphone", "Headphone Jack";
simple-audio-card,routing =
"Headphone Jack", "HPLEFT",
"Headphone Jack", "HPRIGHT";
simple-audio-card,aux-devs = <&tpa6130a2>;
sound_cpu: simple-audio-card,cpu {
sound-dai = <&ssi2>;
};
sound_codec: simple-audio-card,codec {
sound-dai = <&sgtl5000>;
clocks = <&clk_26M_snd>;
};
};
usbh1phy: usbphy1 {
compatible = "usb-nop-xceiv";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh1phy>;
clocks = <&clk_26M_usb>;
clock-names = "main_clk";
reset-gpios = <&gpio4 8 GPIO_ACTIVE_LOW>;
vcc-supply = <&vusb_reg>;
};
usbh2phy: usbphy2 {
compatible = "usb-nop-xceiv";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh2phy>;
clocks = <&clk_26M_usb>;
clock-names = "main_clk";
reset-gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;
vcc-supply = <&vusb_reg>;
};
};
&audmux {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_audmux>;
status = "okay";
ssi2 {
fsl,audmux-port = <1>;
fsl,port-config = <
(IMX_AUDMUX_V2_PTCR_SYN |
IMX_AUDMUX_V2_PTCR_TFSEL(2) |
IMX_AUDMUX_V2_PTCR_TCSEL(2) |
IMX_AUDMUX_V2_PTCR_TFSDIR |
IMX_AUDMUX_V2_PTCR_TCLKDIR)
IMX_AUDMUX_V2_PDCR_RXDSEL(2)
>;
};
aud3 {
fsl,audmux-port = <2>;
fsl,port-config = <
IMX_AUDMUX_V2_PTCR_SYN
IMX_AUDMUX_V2_PDCR_RXDSEL(1)
>;
};
};
&cpu {
cpu-supply = <&sw1_reg>;
};
&ecspi1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi1>;
cs-gpios = <&gpio4 24 GPIO_ACTIVE_HIGH>,
<&gpio4 25 GPIO_ACTIVE_LOW>;
status = "okay";
pmic@0 {
compatible = "fsl,mc13892";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pmic>;
spi-max-frequency = <6000000>;
spi-cs-high;
reg = <0>;
interrupt-parent = <&gpio1>;
interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
fsl,mc13xxx-uses-adc;
regulators {
sw1_reg: sw1 {
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1375000>;
regulator-boot-on;
regulator-always-on;
};
sw2_reg: sw2 {
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1850000>;
regulator-boot-on;
regulator-always-on;
};
sw3_reg: sw3 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1850000>;
regulator-boot-on;
regulator-always-on;
};
sw4_reg: sw4 {
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1850000>;
regulator-boot-on;
regulator-always-on;
};
vpll_reg: vpll {
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
vdig_reg: vdig {
regulator-min-microvolt = <1650000>;
regulator-max-microvolt = <1650000>;
regulator-boot-on;
};
vsd_reg: vsd {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3150000>;
};
vusb_reg: vusb {
regulator-always-on;
};
vusb2_reg: vusb2 {
regulator-min-microvolt = <2400000>;
regulator-max-microvolt = <2775000>;
regulator-boot-on;
regulator-always-on;
};
vvideo_reg: vvideo {
regulator-min-microvolt = <2775000>;
regulator-max-microvolt = <2775000>;
};
vaudio_reg: vaudio {
regulator-min-microvolt = <2300000>;
regulator-max-microvolt = <3000000>;
};
vcam_reg: vcam {
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <3000000>;
};
vgen1_reg: vgen1 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
vgen2_reg: vgen2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3150000>;
regulator-always-on;
};
vgen3_reg: vgen3 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2900000>;
regulator-always-on;
};
};
leds {
#address-cells = <1>;
#size-cells = <0>;
led-control = <0x0 0x0 0x3f83f8 0x0>;
sysled0 {
reg = <3>;
label = "system:green:status";
linux,default-trigger = "default-on";
};
sysled1 {
reg = <4>;
label = "system:green:act";
linux,default-trigger = "heartbeat";
};
};
};
flash@1 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "atmel,at45db642d", "atmel,at45", "atmel,dataflash";
spi-max-frequency = <25000000>;
reg = <1>;
};
};
&esdhc1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_esdhc1>;
bus-width = <4>;
non-removable;
status = "okay";
};
&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fec>;
phy-mode = "mii";
phy-reset-gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
phy-supply = <&vgen3_reg>;
status = "okay";
};
&i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";
eeprom@50 {
compatible = "atmel,24c04";
pagesize = <16>;
reg = <0x50>;
};
tpa6130a2: amp@60 {
compatible = "ti,tpa6130a2";
reg = <0x60>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ampgpio>;
power-gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
Vdd-supply = <&reg_3p3v>;
};
ds1341: rtc@68 {
compatible = "maxim,ds1341";
reg = <0x68>;
};
/* touch nodes default disabled, bootloader will enable the right one */
touchscreen@4b {
compatible = "atmel,maxtouch";
reg = <0x4b>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ts>;
interrupt-parent = <&gpio3>;
interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
status = "disabled";
};
touchscreen@4c {
compatible = "atmel,maxtouch";
reg = <0x4c>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ts>;
interrupt-parent = <&gpio3>;
interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
status = "disabled";
};
touchscreen@20 {
compatible = "syna,rmi4_i2c";
reg = <0x20>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ts>;
interrupt-parent = <&gpio3>;
interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
status = "disabled";
#address-cells = <1>;
#size-cells = <0>;
rmi4-f01@1 {
reg = <0x1>;
syna,nosleep-mode = <2>;
};
rmi4-f11@11 {
reg = <0x11>;
touch-inverted-y;
touch-swapped-x-y;
syna,sensor-type = <1>;
};
};
};
&ipu_di0_disp1 {
remote-endpoint = <&display_in>;
};
&ssi2 {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
status = "okay";
};
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>;
status = "okay";
};
&usbh1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh1>;
dr_mode = "host";
phy_type = "ulpi";
fsl,usbphy = <&usbh1phy>;
disable-over-current;
vbus-supply = <&reg_5p0v_main>;
status = "okay";
};
&usbh2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh2>;
dr_mode = "host";
phy_type = "ulpi";
fsl,usbphy = <&usbh2phy>;
disable-over-current;
vbus-supply = <&reg_5p0v_main>;
status = "okay";
};
&usbphy0 {
vcc-supply = <&vusb_reg>;
};
&usbotg {
dr_mode = "host";
disable-over-current;
phy_type = "utmi_wide";
vbus-supply = <&reg_5p0v_main>;
status = "okay";
};
&iomuxc {
pinctrl_ampgpio: ampgpiogrp {
fsl,pins = <
MX51_PAD_GPIO1_9__GPIO1_9 0x5e
>;
};
pinctrl_audmux: audmuxgrp {
fsl,pins = <
MX51_PAD_AUD3_BB_TXD__AUD3_TXD 0xa5
MX51_PAD_AUD3_BB_RXD__AUD3_RXD 0x85
MX51_PAD_AUD3_BB_CK__AUD3_TXC 0xa5
MX51_PAD_AUD3_BB_FS__AUD3_TXFS 0x85
>;
};
pinctrl_clk26mhz: clk26mhzgrp {
fsl,pins = <
MX51_PAD_DI1_PIN12__GPIO3_1 0x85
>;
};
pinctrl_ecspi1: ecspi1grp {
fsl,pins = <
MX51_PAD_CSPI1_MISO__ECSPI1_MISO 0x185
MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI 0x185
MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK 0x185
MX51_PAD_CSPI1_SS0__GPIO4_24 0x85
MX51_PAD_CSPI1_SS1__GPIO4_25 0x85
>;
};
pinctrl_esdhc1: esdhc1grp {
fsl,pins = <
MX51_PAD_SD1_CMD__SD1_CMD 0x400020d5
MX51_PAD_SD1_CLK__SD1_CLK 0x20d5
MX51_PAD_SD1_DATA0__SD1_DATA0 0x20d5
MX51_PAD_SD1_DATA1__SD1_DATA1 0x20d5
MX51_PAD_SD1_DATA2__SD1_DATA2 0x20d5
MX51_PAD_SD1_DATA3__SD1_DATA3 0x20d5
>;
};
pinctrl_fec: fecgrp {
fsl,pins = <
MX51_PAD_EIM_EB2__FEC_MDIO 0x1f5
MX51_PAD_NANDF_D9__FEC_RDATA0 0x2180
MX51_PAD_EIM_EB3__FEC_RDATA1 0x180
MX51_PAD_EIM_CS2__FEC_RDATA2 0x180
MX51_PAD_EIM_CS3__FEC_RDATA3 0x180
MX51_PAD_EIM_CS4__FEC_RX_ER 0x180
MX51_PAD_NANDF_D11__FEC_RX_DV 0x2084
MX51_PAD_EIM_CS5__FEC_CRS 0x180
MX51_PAD_NANDF_RB2__FEC_COL 0x2180
MX51_PAD_NANDF_RB3__FEC_RX_CLK 0x2180
MX51_PAD_NANDF_CS2__FEC_TX_ER 0x2004
MX51_PAD_NANDF_CS3__FEC_MDC 0x2004
MX51_PAD_NANDF_D8__FEC_TDATA0 0x2180
MX51_PAD_NANDF_CS4__FEC_TDATA1 0x2004
MX51_PAD_NANDF_CS5__FEC_TDATA2 0x2004
MX51_PAD_NANDF_CS6__FEC_TDATA3 0x2004
MX51_PAD_DISP2_DAT9__FEC_TX_EN 0x2004
MX51_PAD_DISP2_DAT13__FEC_TX_CLK 0x2180
MX51_PAD_EIM_A20__GPIO2_14 0x85
>;
};
pinctrl_gpiospi0: gpiospi0grp {
fsl,pins = <
MX51_PAD_CSI2_D18__GPIO4_11 0x85
MX51_PAD_CSI2_D19__GPIO4_12 0x85
MX51_PAD_CSI2_HSYNC__GPIO4_14 0x85
MX51_PAD_CSI2_PIXCLK__GPIO4_15 0x85
>;
};
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX51_PAD_KEY_COL4__I2C2_SCL 0x400001ed
MX51_PAD_KEY_COL5__I2C2_SDA 0x400001ed
>;
};
pinctrl_ipu_disp1: ipudisp1grp {
fsl,pins = <
MX51_PAD_DISP1_DAT0__DISP1_DAT0 0x5
MX51_PAD_DISP1_DAT1__DISP1_DAT1 0x5
MX51_PAD_DISP1_DAT2__DISP1_DAT2 0x5
MX51_PAD_DISP1_DAT3__DISP1_DAT3 0x5
MX51_PAD_DISP1_DAT4__DISP1_DAT4 0x5
MX51_PAD_DISP1_DAT5__DISP1_DAT5 0x5
MX51_PAD_DISP1_DAT6__DISP1_DAT6 0x5
MX51_PAD_DISP1_DAT7__DISP1_DAT7 0x5
MX51_PAD_DISP1_DAT8__DISP1_DAT8 0x5
MX51_PAD_DISP1_DAT9__DISP1_DAT9 0x5
MX51_PAD_DISP1_DAT10__DISP1_DAT10 0x5
MX51_PAD_DISP1_DAT11__DISP1_DAT11 0x5
MX51_PAD_DISP1_DAT12__DISP1_DAT12 0x5
MX51_PAD_DISP1_DAT13__DISP1_DAT13 0x5
MX51_PAD_DISP1_DAT14__DISP1_DAT14 0x5
MX51_PAD_DISP1_DAT15__DISP1_DAT15 0x5
MX51_PAD_DISP1_DAT16__DISP1_DAT16 0x5
MX51_PAD_DISP1_DAT17__DISP1_DAT17 0x5
MX51_PAD_DISP1_DAT18__DISP1_DAT18 0x5
MX51_PAD_DISP1_DAT19__DISP1_DAT19 0x5
MX51_PAD_DISP1_DAT20__DISP1_DAT20 0x5
MX51_PAD_DISP1_DAT21__DISP1_DAT21 0x5
MX51_PAD_DISP1_DAT22__DISP1_DAT22 0x5
MX51_PAD_DISP1_DAT23__DISP1_DAT23 0x5
MX51_PAD_DI1_PIN2__DI1_PIN2 0x5
MX51_PAD_DI1_PIN3__DI1_PIN3 0x5
MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK 0x5
>;
};
pinctrl_panel: panelgrp {
fsl,pins = <
MX51_PAD_DI1_D0_CS__GPIO3_3 0x85
>;
};
pinctrl_pmic: pmicgrp {
fsl,pins = <
MX51_PAD_GPIO1_4__GPIO1_4 0x1e0
MX51_PAD_GPIO1_8__GPIO1_8 0x21e2
>;
};
pinctrl_sndgate26mhz: sndgate26mhzgrp {
fsl,pins = <
MX51_PAD_CSPI1_RDY__GPIO4_26 0x85
>;
};
pinctrl_swi2c: swi2cgrp {
fsl,pins = <
MX51_PAD_GPIO1_2__GPIO1_2 0xc5
MX51_PAD_DI1_D1_CS__GPIO3_4 0x400001f5
>;
};
pinctrl_swmdio: swmdiogrp {
fsl,pins = <
MX51_PAD_NANDF_D14__GPIO3_26 0x21e6
MX51_PAD_NANDF_D15__GPIO3_25 0x21e6
>;
};
pinctrl_ts: tsgrp {
fsl,pins = <
MX51_PAD_CSI1_D8__GPIO3_12 0x85
MX51_PAD_CSI1_D9__GPIO3_13 0x85
>;
};
pinctrl_uart1: uart1grp {
fsl,pins = <
MX51_PAD_UART1_RXD__UART1_RXD 0x1c5
MX51_PAD_UART1_TXD__UART1_TXD 0x1c5
MX51_PAD_UART1_RTS__UART1_RTS 0x1c4
MX51_PAD_UART1_CTS__UART1_CTS 0x1c4
>;
};
pinctrl_uart2: uart2grp {
fsl,pins = <
MX51_PAD_UART2_RXD__UART2_RXD 0xc5
MX51_PAD_UART2_TXD__UART2_TXD 0xc5
>;
};
pinctrl_uart3: uart3grp {
fsl,pins = <
MX51_PAD_EIM_D25__UART3_RXD 0x1c5
MX51_PAD_EIM_D26__UART3_TXD 0x1c5
>;
};
pinctrl_usbgate26mhz: usbgate26mhzgrp {
fsl,pins = <
MX51_PAD_DISP2_DAT6__GPIO1_19 0x85
>;
};
pinctrl_usbh1: usbh1grp {
fsl,pins = <
MX51_PAD_USBH1_STP__USBH1_STP 0x0
MX51_PAD_USBH1_CLK__USBH1_CLK 0x0
MX51_PAD_USBH1_DIR__USBH1_DIR 0x0
MX51_PAD_USBH1_NXT__USBH1_NXT 0x0
MX51_PAD_USBH1_DATA0__USBH1_DATA0 0x0
MX51_PAD_USBH1_DATA1__USBH1_DATA1 0x0
MX51_PAD_USBH1_DATA2__USBH1_DATA2 0x0
MX51_PAD_USBH1_DATA3__USBH1_DATA3 0x0
MX51_PAD_USBH1_DATA4__USBH1_DATA4 0x0
MX51_PAD_USBH1_DATA5__USBH1_DATA5 0x0
MX51_PAD_USBH1_DATA6__USBH1_DATA6 0x0
MX51_PAD_USBH1_DATA7__USBH1_DATA7 0x0
>;
};
pinctrl_usbh1phy: usbh1phygrp {
fsl,pins = <
MX51_PAD_NANDF_D0__GPIO4_8 0x85
>;
};
pinctrl_usbh2: usbh2grp {
fsl,pins = <
MX51_PAD_EIM_A26__USBH2_STP 0x0
MX51_PAD_EIM_A24__USBH2_CLK 0x0
MX51_PAD_EIM_A25__USBH2_DIR 0x0
MX51_PAD_EIM_A27__USBH2_NXT 0x0
MX51_PAD_EIM_D16__USBH2_DATA0 0x0
MX51_PAD_EIM_D17__USBH2_DATA1 0x0
MX51_PAD_EIM_D18__USBH2_DATA2 0x0
MX51_PAD_EIM_D19__USBH2_DATA3 0x0
MX51_PAD_EIM_D20__USBH2_DATA4 0x0
MX51_PAD_EIM_D21__USBH2_DATA5 0x0
MX51_PAD_EIM_D22__USBH2_DATA6 0x0
MX51_PAD_EIM_D23__USBH2_DATA7 0x0
>;
};
pinctrl_usbh2phy: usbh2phygrp {
fsl,pins = <
MX51_PAD_NANDF_D1__GPIO4_7 0x85
>;
};
};
...@@ -148,14 +148,14 @@ ipu: ipu@40000000 { ...@@ -148,14 +148,14 @@ ipu: ipu@40000000 {
ipu_di0: port@2 { ipu_di0: port@2 {
reg = <2>; reg = <2>;
ipu_di0_disp0: endpoint { ipu_di0_disp1: endpoint {
}; };
}; };
ipu_di1: port@3 { ipu_di1: port@3 {
reg = <3>; reg = <3>;
ipu_di1_disp1: endpoint { ipu_di1_disp2: endpoint {
}; };
}; };
}; };
......
...@@ -16,7 +16,7 @@ / { ...@@ -16,7 +16,7 @@ / {
model = "Aries/DENX M53EVK"; model = "Aries/DENX M53EVK";
compatible = "aries,imx53-m53evk", "denx,imx53-m53evk", "fsl,imx53"; compatible = "aries,imx53-m53evk", "denx,imx53-m53evk", "fsl,imx53";
display1: display@di1 { display1: disp1 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "bgr666"; interface-pix-fmt = "bgr666";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -183,7 +183,7 @@ MX53_PAD_GPIO_4__GPIO1_4 0x000b0 ...@@ -183,7 +183,7 @@ MX53_PAD_GPIO_4__GPIO1_4 0x000b0
>; >;
}; };
led_pin_gpio: led_gpio@0 { led_pin_gpio: led_gpio {
fsl,pins = < fsl,pins = <
MX53_PAD_PATA_DATA8__GPIO2_8 0x80000000 MX53_PAD_PATA_DATA8__GPIO2_8 0x80000000
MX53_PAD_PATA_DATA9__GPIO2_9 0x80000000 MX53_PAD_PATA_DATA9__GPIO2_9 0x80000000
......
...@@ -30,7 +30,7 @@ backlight { ...@@ -30,7 +30,7 @@ backlight {
power-supply = <&reg_backlight>; power-supply = <&reg_backlight>;
}; };
disp1: display@disp1 { disp1: disp1 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp1_1>; pinctrl-0 = <&pinctrl_disp1_1>;
......
/*
* Copyright 2014 General Electric Company
*
* This file is dual-licensed: you can use it either under the terms
* of the GPL or the X11 license, at your option. Note that this dual
* licensing only applies to this file, and not this project as a
* whole.
*
* a) This file is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This file is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* Or, alternatively,
*
* b) Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/dts-v1/;
#include "imx53.dtsi"
#include <dt-bindings/input/input.h>
/ {
model = "General Electric CS ONE";
compatible = "ge,imx53-cpuvo", "fsl,imx53";
aliases {
spi0 = &cspi;
spi1 = &ecspi1;
spi2 = &ecspi2;
};
chosen {
stdout-path = "&uart1:115200n8";
};
memory@70000000 {
device_type = "memory";
reg = <0x70000000 0x20000000>,
<0xb0000000 0x20000000>;
};
cko2_11M: sgtl-clock-cko2 {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <11289600>;
};
sgtlsound: sound {
compatible = "fsl,imx53-cpuvo-sgtl5000",
"fsl,imx-audio-sgtl5000";
model = "imx53-cpuvo-sgtl5000";
ssi-controller = <&ssi2>;
audio-codec = <&sgtl5000>;
audio-routing =
"MIC_IN", "Mic Jack",
"Mic Jack", "Mic Bias",
"Headphone Jack", "HP_OUT";
mux-int-port = <2>;
mux-ext-port = <6>;
};
reg_sgtl5k: regulator-sgtl5k {
compatible = "regulator-fixed";
regulator-name = "regulator-sgtl5k";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
reg_usb_otg_vbus: regulator-usb-otg-vbus {
compatible = "regulator-fixed";
regulator-name = "usbotg_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
pinctrl-0 = <&pinctrl_usb_otg_vbus>;
gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
reg_usb_vbus: regulator-usb-vbus {
compatible = "regulator-fixed";
regulator-name = "usbh1_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
reg_usbh2_vbus: regulator-usbh2-vbus {
compatible = "regulator-fixed";
regulator-name = "usbh2_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh2_vbus>;
gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
reg_usbh3_vbus: regulator-usbh3-vbus {
compatible = "regulator-fixed";
regulator-name = "usbh3_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh3_vbus>;
gpio = <&gpio5 27 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
pwm_bl: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 50000>;
brightness-levels = <0 2 5 7 10 12 15 17 20 22 25 28 30 33 35
38 40 43 45 48 51 53 56 58 61 63 66 68 71
73 76 79 81 84 86 89 91 94 96 99 102 104
107 109 112 114 117 119 122 124 127 130
132 135 137 140 142 145 147 150 153 155
158 160 163 165 168 170 173 175 178 181
183 186 188 191 193 196 198 201 204 206
209 211 214 216 219 221 224 226 229 232
234 237 239 242 244 247 249 252 255>;
default-brightness-level = <0>;
enable-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
};
leds {
compatible = "pwm-leds";
alarm-brightness {
pwms = <&pwm1 0 100000>;
max-brightness = <255>;
};
};
gpio-poweroff {
compatible = "gpio-poweroff";
gpios = <&gpio3 9 GPIO_ACTIVE_HIGH>;
};
gpio-restart {
compatible = "gpio-restart";
gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
active-delay = <100>;
inactive-delay = <10>;
wait-delay = <100>;
};
power-gpio-keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
power-button {
label = "Power button";
gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>;
linux,code = <KEY_POWER>;
};
};
touch-lock-key {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
touch-lock-button {
label = "Touch lock button";
gpios = <&gpio5 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_F12>;
};
};
usbphy2: usbphy2 {
compatible = "usb-nop-xceiv";
reset-gpios = <&gpio4 4 GPIO_ACTIVE_LOW>;
clock-names = "main_clk";
clock-frequency = <24000000>;
clocks = <&clks IMX5_CLK_CKO2>;
assigned-clocks = <&clks IMX5_CLK_CKO2_SEL>, <&clks IMX5_CLK_OSC>;
assigned-clock-parents = <&clks IMX5_CLK_OSC>;
};
usbphy3: usbphy3 {
compatible = "usb-nop-xceiv";
reset-gpios = <&gpio2 19 GPIO_ACTIVE_LOW>;
clock-names = "main_clk";
clock-frequency = <24000000>;
clocks = <&clks IMX5_CLK_CKO2>;
assigned-clocks = <&clks IMX5_CLK_CKO2_SEL>, <&clks IMX5_CLK_OSC>;
assigned-clock-parents = <&clks IMX5_CLK_OSC>;
};
panel-lvds0 {
compatible = "nvd,9128";
port {
panel_in_lvds0: endpoint {
remote-endpoint = <&lvds0_out>;
};
};
};
};
&audmux {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_audmux>;
status = "okay";
};
&cpu0 {
/* CPU rated to 1GHz, not 1.2GHz as per the default settings */
operating-points = <
/* kHz uV */
166666 850000
400000 900000
800000 1050000
1000000 1200000
>;
};
&ecspi1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi1>;
cs-gpios = <&gpio5 17 GPIO_ACTIVE_LOW
&gpio4 10 GPIO_ACTIVE_LOW
&gpio4 11 GPIO_ACTIVE_LOW
&gpio4 12 GPIO_ACTIVE_LOW>;
status = "okay";
spidev0: spi@0 {
compatible = "ge,achc";
reg = <0>;
spi-max-frequency = <1000000>;
};
spidev1: spi@1 {
compatible = "ge,achc";
reg = <1>;
spi-max-frequency = <1000000>;
};
gpioxra0: gpio@2 {
compatible = "exar,xra1403";
reg = <2>;
gpio-controller;
#gpio-cells = <2>;
spi-max-frequency = <1000000>;
};
gpioxra1: gpio@3 {
compatible = "exar,xra1403";
reg = <3>;
gpio-controller;
#gpio-cells = <2>;
spi-max-frequency = <1000000>;
};
};
&ecspi2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi2>;
num-chipselects = <1>;
cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>;
status = "okay";
da9053@0 {
compatible = "dlg,da9053-aa";
reg = <0>;
interrupt-parent = <&gpio3>;
interrupts = <12 0x8>;
spi-max-frequency = <1000000>;
regulators {
buck1_reg: buck1 {
regulator-name = "BUCKCORE";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <2075000>;
regulator-always-on;
};
buck2_reg: buck2 {
regulator-name = "BUCKPRO";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <2075000>;
regulator-always-on;
};
buck3_reg: buck3 {
regulator-name = "BUCKMEM";
regulator-min-microvolt = <925000>;
regulator-max-microvolt = <2500000>;
regulator-always-on;
};
buck4_reg: buck4 {
regulator-name = "BUCKPERI";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
ldo1_reg: ldo1 {
regulator-name = "ldo1_1v3";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo2_reg: ldo2 {
regulator-name = "ldo2_1v3";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo3_reg: ldo3 {
regulator-name = "ldo3_3v3";
regulator-min-microvolt = <1725000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
ldo4_reg: ldo4 {
regulator-name = "ldo4_2v775";
regulator-min-microvolt = <1725000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
ldo5_reg: ldo5 {
regulator-name = "ldo5_3v3";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
ldo6_reg: ldo6 {
regulator-name = "ldo6_1v3";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
ldo7_reg: ldo7 {
regulator-name = "ldo7_2v75";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
ldo8_reg: ldo8 {
regulator-name = "ldo8_1v8";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
ldo9_reg: ldo9 {
regulator-name = "ldo9_1v5";
regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <3650000>;
regulator-always-on;
};
ldo10_reg: ldo10 {
regulator-name = "ldo10_1v3";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <3600000>;
regulator-always-on;
};
};
};
};
&esdhc3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_esdhc3>;
bus-width = <8>;
status = "okay";
};
&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fec>;
phy-mode = "rmii";
phy-reset-gpios = <&gpio2 16 GPIO_ACTIVE_LOW>;
status = "okay";
};
&i2c1 {
pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c1>;
pinctrl-1 = <&pinctrl_i2c1_gpio>;
sda-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
status = "okay";
i2c-switch@70 {
compatible = "nxp,pca9547";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
reset-gpios = <&gpio2 18 GPIO_ACTIVE_LOW>;
i2c4: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
sgtl5000: codec@a {
compatible = "fsl,sgtl5000";
reg = <0xa>;
VDDA-supply = <&reg_sgtl5k>;
VDDIO-supply = <&reg_sgtl5k>;
clocks = <&cko2_11M>;
status = "okay";
};
};
i2c5: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
rtc@30 {
compatible = "sii,s35390a";
reg = <0x30>;
};
temp@48 {
compatible = "ti,tmp112";
reg = <0x48>;
};
mma8453q: accelerometer@1c {
compatible = "fsl,mma8453";
reg = <0x1c>;
interrupt-parent = <&gpio1>;
interrupts = <6 0>;
interrupt-names = "INT1";
};
mpl3115: pressure-sensor@60 {
compatible = "fsl,mpl3115";
reg = <0x60>;
};
eeprom: eeprom@50 {
compatible = "atmel,24c08";
reg = <0x50>;
};
};
i2c6: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c7: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
i2c8: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
i2c9: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
i2c10: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
i2c11: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c2 {
pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c2>;
pinctrl-1 = <&pinctrl_i2c2_gpio>;
sda-gpios = <&gpio3 16 GPIO_ACTIVE_HIGH>;
scl-gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;
status = "okay";
touchscreen@4b {
compatible = "atmel,maxtouch";
reg = <0x4b>;
interrupt-parent = <&gpio5>;
interrupts = <4 0x8>;
};
};
&i2c3 {
pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c3>;
pinctrl-1 = <&pinctrl_i2c3_gpio>;
sda-gpios = <&gpio3 18 GPIO_ACTIVE_HIGH>;
scl-gpios = <&gpio3 17 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&ldb {
status = "okay";
lvds0: lvds-channel@0 {
status = "okay";
port@2 {
reg = <2>;
lvds0_out: endpoint {
remote-endpoint = <&panel_in_lvds0>;
};
};
};
};
&pwm1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm1>;
status = "okay";
};
&pwm2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm2>;
status = "okay";
};
&ssi2 {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
status = "okay";
};
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>;
uart-has-rtscts;
status = "okay";
};
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>;
status = "okay";
};
&uart5 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart5>;
status = "okay";
};
&usbotg {
dr_mode = "otg";
phy_type = "utmi";
vbus-supply = <&reg_usb_otg_vbus>;
pinctrl-0 = <&pinctrl_usb_otg>;
status = "okay";
};
&usbh1 {
vbus-supply = <&reg_usb_vbus>;
phy_type = "utmi";
dr_mode = "host";
status = "okay";
};
&usbh2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh2>;
phy_type = "ulpi";
dr_mode = "host";
fsl,usbphy = <&usbphy2>;
vbus-supply = <&reg_usbh2_vbus>;
status = "okay";
};
&usbh3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh3>;
phy_type = "ulpi";
dr_mode = "host";
vbus-supply = <&reg_usbh3_vbus>;
fsl,usbphy = <&usbphy3>;
status = "okay";
};
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog_rev6>;
pinctrl_audmux: audmuxgrp {
fsl,pins = <
MX53_PAD_DISP0_DAT19__AUDMUX_AUD5_RXD 0x400
MX53_PAD_DISP0_DAT17__AUDMUX_AUD5_TXD 0x400
MX53_PAD_DISP0_DAT16__AUDMUX_AUD5_TXC 0x400
MX53_PAD_DISP0_DAT18__AUDMUX_AUD5_TXFS 0x400
MX53_PAD_DI0_PIN15__AUDMUX_AUD6_TXC 0x400
MX53_PAD_DI0_PIN3__AUDMUX_AUD6_TXFS 0x400
MX53_PAD_DI0_PIN4__AUDMUX_AUD6_RXD 0x400
MX53_PAD_DI0_PIN2__AUDMUX_AUD6_TXD 0x400
>;
};
pinctrl_ecspi1: ecspi1grp {
fsl,pins = <
MX53_PAD_DISP0_DAT21__ECSPI1_MOSI 0x400
MX53_PAD_DISP0_DAT22__ECSPI1_MISO 0x400
MX53_PAD_DISP0_DAT20__ECSPI1_SCLK 0x400
/* ECSPI1_SS0, must treat as GPIO for EzPort */
MX53_PAD_DISP0_DAT23__GPIO5_17 0x400
MX53_PAD_KEY_COL2__GPIO4_10 0x0
MX53_PAD_KEY_ROW2__GPIO4_11 0x0
MX53_PAD_KEY_COL3__GPIO4_12 0x0
>;
};
pinctrl_ecspi2: ecspi2grp {
fsl,pins = <
MX53_PAD_EIM_CS1__ECSPI2_MOSI 0x0
MX53_PAD_EIM_OE__ECSPI2_MISO 0x0
MX53_PAD_EIM_CS0__ECSPI2_SCLK 0x0
MX53_PAD_EIM_RW__GPIO2_26 0x0
>;
};
pinctrl_esdhc1: esdhc1grp {
fsl,pins = <
MX53_PAD_SD1_DATA0__ESDHC1_DAT0 0x1d5
MX53_PAD_SD1_DATA1__ESDHC1_DAT1 0x1d5
MX53_PAD_SD1_DATA2__ESDHC1_DAT2 0x1d5
MX53_PAD_SD1_DATA3__ESDHC1_DAT3 0x1d5
MX53_PAD_SD1_CMD__ESDHC1_CMD 0x1d5
MX53_PAD_SD1_CLK__ESDHC1_CLK 0x1d5
>;
};
pinctrl_esdhc3: esdhc3grp {
fsl,pins = <
MX53_PAD_PATA_DATA8__ESDHC3_DAT0 0x1d5
MX53_PAD_PATA_DATA9__ESDHC3_DAT1 0x1d5
MX53_PAD_PATA_DATA10__ESDHC3_DAT2 0x1d5
MX53_PAD_PATA_DATA11__ESDHC3_DAT3 0x1d5
MX53_PAD_PATA_DATA0__ESDHC3_DAT4 0x1d5
MX53_PAD_PATA_DATA1__ESDHC3_DAT5 0x1d5
MX53_PAD_PATA_DATA2__ESDHC3_DAT6 0x1d5
MX53_PAD_PATA_DATA3__ESDHC3_DAT7 0x1d5
MX53_PAD_PATA_RESET_B__ESDHC3_CMD 0x1d5
MX53_PAD_PATA_IORDY__ESDHC3_CLK 0x1d5
>;
};
pinctrl_fec: fecgrp {
fsl,pins = <
MX53_PAD_FEC_MDC__FEC_MDC 0x0
MX53_PAD_FEC_MDIO__FEC_MDIO 0x0
MX53_PAD_FEC_REF_CLK__FEC_TX_CLK 0x0
MX53_PAD_FEC_RX_ER__FEC_RX_ER 0x0
MX53_PAD_FEC_CRS_DV__FEC_RX_DV 0x0
MX53_PAD_FEC_RXD1__FEC_RDATA_1 0x0
MX53_PAD_FEC_RXD0__FEC_RDATA_0 0x0
MX53_PAD_FEC_TX_EN__FEC_TX_EN 0x0
MX53_PAD_FEC_TXD1__FEC_TDATA_1 0x0
MX53_PAD_FEC_TXD0__FEC_TDATA_0 0x0
>;
};
pinctrl_hog_rev6: hoggrp {
fsl,pins = <
/* CKO2 */
MX53_PAD_GPIO_3__CCM_CLKO2 0x4
/* DEFIB_SYNC_MARKER_IN_IRQ */
MX53_PAD_GPIO_5__GPIO1_5 0x0
/* ACCELEROMETER_DATA_RDY_N */
MX53_PAD_GPIO_6__GPIO1_6 0x0
/* TEMPERATURE_ALERT_N */
MX53_PAD_GPIO_7__GPIO1_7 0x0
/* BAROMETRIC_PRESSURE_DATA_RDY_N */
MX53_PAD_GPIO_8__GPIO1_8 0x0
/* DOCKING_I2C_INTERFACE_IRQ_N */
MX53_PAD_PATA_DATA4__GPIO2_4 0x0
/* PWR_OUT_TO_DOCK_FAULT_N */
MX53_PAD_PATA_DATA5__GPIO2_5 0x0
/* ENABLE_PWR_TO_DOCK_N */
MX53_PAD_PATA_DATA6__GPIO2_6 0x0
/* HOST_CONTROLLED_RESET_TO_DOCKING_CONNECTOR_N */
MX53_PAD_PATA_DATA7__GPIO2_7 0x0
/* REMOTE_ON_REQUEST_FROM_DOCKING_CONNECTOR_IS_ACTIVE_N */
MX53_PAD_PATA_DATA12__GPIO2_12 0x0
/* DOCK_PRESENT_N */
MX53_PAD_PATA_DATA13__GPIO2_13 0x0
/* ECG_MARKER_IN_FROM_DOCKING_CONNECTOR_IRQ */
MX53_PAD_PATA_DATA14__GPIO2_14 0x0
/* ENABLE_ECG_MARKER_INTERFACE_TO_DOCKING_CONNECTOR */
MX53_PAD_PATA_DATA15__GPIO2_15 0x0
/* RESET_IMX535_ETHERNET_PHY_N */
MX53_PAD_EIM_A22__GPIO2_16 0x0
/* ENABLE_PWR_TO_LCD_AND_UI_INTERFACE */
MX53_PAD_EIM_A21__GPIO2_17 0x0
/* RESET_I2C1_BUS_SEGMENT_MUX_N */
MX53_PAD_EIM_A20__GPIO2_18 0x0
/* RESET_IMX535_USB_HOST3_PHY_N */
MX53_PAD_EIM_A19__GPIO2_19 0x0
/* ESDHC3_EMMC_NAND_RST_N */
MX53_PAD_EIM_A18__GPIO2_20 0x0
/* LCD_AND_UI_INTERFACE_PWR_FAULT_N */
MX53_PAD_EIM_A17__GPIO2_21 0x0
/* POWER_DOWN_LVDS0_DESERIALIZER_N */
MX53_PAD_EIM_A16__GPIO2_22 0x0
/* POWER_DOWN_LVDS1_DESERIALIZER_N */
MX53_PAD_EIM_LBA__GPIO2_27 0x0
/* RESET_DP0_TRANSMITTER_N */
MX53_PAD_EIM_EB0__GPIO2_28 0x0
/* RESET_DP1_TRANSMITTER_N */
MX53_PAD_EIM_EB1__GPIO2_29 0x0
/* ENABLE_SPDIF_AUDIO_TO_DP0 */
MX53_PAD_EIM_DA0__GPIO3_0 0x0
/* ENABLE_SPDIF_AUDIO_TO_DP1 */
MX53_PAD_EIM_DA1__GPIO3_1 0x0
/* LVDS1_MUX_CTRL */
MX53_PAD_EIM_DA2__GPIO3_2 0x0
/* LVDS0_MUX_CTRL */
MX53_PAD_EIM_DA3__GPIO3_3 0x0
/* DP1_TRANSMITTER_IRQ */
MX53_PAD_EIM_DA4__GPIO3_4 0x0
/* DP0_TRANSMITTER_IRQ */
MX53_PAD_EIM_DA5__GPIO3_5 0x0
/* USB_RESET_N */
MX53_PAD_EIM_DA6__GPIO3_6 0x0
/* ENABLE_BATTERY_CHARGER */
MX53_PAD_EIM_DA7__GPIO3_7 0x0
/* SOFTWARE_CONTROLLED_PWR_CYCLE */
MX53_PAD_EIM_DA8__GPIO3_8 0x0
/* SOFTWARE_CONTROLLED_POWERDOWN */
MX53_PAD_EIM_DA9__GPIO3_9 0x0
/* DC_PWR_IN_OK */
MX53_PAD_EIM_DA10__GPIO3_10 0x0
/* BATT_PRESENT_N */
MX53_PAD_EIM_DA11__GPIO3_11 0xe4
/* PMIC_IRQ_N */
MX53_PAD_EIM_DA12__GPIO3_12 0x0
/* PMIC_VDD_FAULT_STATUS_N */
MX53_PAD_EIM_DA13__GPIO3_13 0x0
/* IMX535_ETHERNET_PHY_STATUS_IRQ_N */
MX53_PAD_EIM_DA14__GPIO3_14 0x0
/* NOT USED - AVAILABLE 3.3V GPIO */
MX53_PAD_EIM_DA15__GPIO3_15 0x0
/* NOT USED - AVAILABLE 3.3V GPIO */
MX53_PAD_EIM_D22__GPIO3_22 0x0
/* NOT USED - AVAILABLE 3.3V GPIO */
MX53_PAD_EIM_D24__GPIO3_24 0x0
/* NBP_PUMP_VALVE_PWR_ENABLE */
MX53_PAD_EIM_D25__GPIO3_25 0x0
/* NIBP_RESET_N */
MX53_PAD_EIM_D26__GPIO3_26 0x0
/* LATCHED_OVERPRESSURE_N */
MX53_PAD_EIM_D27__GPIO3_27 0x0
/* NBP_SBWTCLK */
MX53_PAD_EIM_D29__GPIO3_29 0x0
/* ENABLE_WIFI_MODULE */
MX53_PAD_GPIO_11__GPIO4_1 0x400
/* WIFI_MODULE_IRQ_N */
MX53_PAD_GPIO_12__GPIO4_2 0x400
/* ENABLE_BLUETOOTH_MODULE */
MX53_PAD_GPIO_13__GPIO4_3 0x400
/* RESET_IMX535_USB_HOST2_PHY_N */
MX53_PAD_GPIO_14__GPIO4_4 0x400
/* ONKEY_IS_DEPRESSED */
MX53_PAD_KEY_ROW3__GPIO4_13 0x0
/* UNUSED_GPIO_TO_ALARM_LIGHT_BOARD */
MX53_PAD_EIM_WAIT__GPIO5_0 0x0
/* DISPLAY_LOCK_BUTTON_IS_DEPRESSED_N */
MX53_PAD_EIM_A25__GPIO5_2 0x0
/* I2C_PCAP_TOUCHSCREEN_IRQ_N */
MX53_PAD_EIM_A24__GPIO5_4 0x0
/* NOT USED - AVAILABLE 1.8V GPIO */
MX53_PAD_DISP0_DAT13__GPIO5_7 0x400
/* NOT USED - AVAILABLE 1.8V GPIO */
MX53_PAD_DISP0_DAT14__GPIO5_8 0x400
/* NOT USED - AVAILABLE 1.8V GPIO */
MX53_PAD_DISP0_DAT15__GPIO5_9 0x400
/* HOST_CONTROLLED_RESET_TO_LCD_N */
MX53_PAD_CSI0_PIXCLK__GPIO5_18 0x0
/* HOST_CONTROLLED_RESET_TO_PCAP_N */
MX53_PAD_CSI0_MCLK__GPIO5_19 0x0
/* LR_SCAN_CTRL */
MX53_PAD_CSI0_DATA_EN__GPIO5_20 0x0
/* UD_SCAN_CTRL */
MX53_PAD_CSI0_VSYNC__GPIO5_21 0x0
/* DATA_WIDTH_CTRL */
MX53_PAD_CSI0_DAT10__GPIO5_28 0x0
/* BACKLIGHT_ENABLE */
MX53_PAD_CSI0_DAT11__GPIO5_29 0x0
/* MED_USB_PORT_1_HOST_SELECT */
MX53_PAD_EIM_A23__GPIO6_6 0x0
/* MED_USB_PORT_2_HOST_SELECT */
MX53_PAD_NANDF_CLE__GPIO6_7 0x0
/* MED_USB_PORT_3_HOST_SELECT */
MX53_PAD_NANDF_ALE__GPIO6_8 0x0
/* MED_USB_PORT_4_HOST_SELECT */
MX53_PAD_NANDF_WP_B__GPIO6_9 0x0
/* MED_USB_PORT_5_HOST_SELECT */
MX53_PAD_NANDF_RB0__GPIO6_10 0x0
/* MED_USB_PORT_6_HOST_SELECT */
MX53_PAD_NANDF_CS0__GPIO6_11 0x0
/* MED_USB_PORT_7_HOST_SELECT */
MX53_PAD_NANDF_WE_B__GPIO6_12 0x0
/* MED_USB_PORT_8_HOST_SELECT */
MX53_PAD_NANDF_RE_B__GPIO6_13 0x0
/* MED_USB_PORT_TO_IMX_SELECT_0 */
MX53_PAD_NANDF_CS1__GPIO6_14 0x0
/* MED_USB_PORT_TO_IMX_SELECT_1 */
MX53_PAD_NANDF_CS2__GPIO6_15 0x0
/* MED_USB_PORT_TO_IMX_SELECT_2 */
MX53_PAD_NANDF_CS3__GPIO6_16 0x0
/* POWER_AND_BOOT_STATUS_INDICATOR */
MX53_PAD_PATA_INTRQ__GPIO7_2 0x1e4
/* ACTIVATE_ALARM_LIGHT_RED */
MX53_PAD_PATA_DIOR__GPIO7_3 0x0
/* ACTIVATE_ALARM_LIGHT_YELLOW */
MX53_PAD_PATA_DA_1__GPIO7_7 0x0
/* ACTIVATE_ALARM_LIGHT_CYAN */
MX53_PAD_PATA_DA_2__GPIO7_8 0x0
/* RUNNING_ON_BATTERY_INDICATOR_GREEN */
MX53_PAD_GPIO_16__GPIO7_11 0x0
/* BATTERY_STATUS_INDICATOR_AMBER */
MX53_PAD_GPIO_17__GPIO7_12 0x0
/* AUDIO_ALARMS_SILENCED_INDICATOR */
MX53_PAD_GPIO_18__GPIO7_13 0x0
>;
};
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX53_PAD_EIM_D21__I2C1_SCL 0x400001e4
MX53_PAD_EIM_D28__I2C1_SDA 0x400001e4
>;
};
pinctrl_i2c1_gpio: i2c1gpiogrp {
fsl,pins = <
MX53_PAD_EIM_D28__GPIO3_28 0x1e4
MX53_PAD_EIM_D21__GPIO3_21 0x1e4
>;
};
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX53_PAD_EIM_EB2__I2C2_SCL 0x400001e4
MX53_PAD_EIM_D16__I2C2_SDA 0x400001e4
>;
};
pinctrl_i2c2_gpio: i2c2gpiogrp {
fsl,pins = <
MX53_PAD_EIM_D16__GPIO3_16 0x1e4
MX53_PAD_EIM_EB2__GPIO2_30 0x1e4
>;
};
pinctrl_i2c3: i2c3grp {
fsl,pins = <
MX53_PAD_EIM_D17__I2C3_SCL 0x400001e4
MX53_PAD_EIM_D18__I2C3_SDA 0x400001e4
>;
};
pinctrl_i2c3_gpio: i2c3gpiogrp {
fsl,pins = <
MX53_PAD_EIM_D18__GPIO3_18 0x1e4
MX53_PAD_EIM_D17__GPIO3_17 0x1e4
>;
};
pinctrl_pwm1: pwm1grp {
fsl,pins = <
MX53_PAD_GPIO_9__PWM1_PWMO 0x5
>;
};
pinctrl_pwm2: pwm2grp {
fsl,pins = <
MX53_PAD_DISP0_DAT9__PWM2_PWMO 0x5
>;
};
pinctrl_uart1: uart1grp {
fsl,pins = <
MX53_PAD_PATA_DIOW__UART1_TXD_MUX 0x1e4
MX53_PAD_PATA_DMACK__UART1_RXD_MUX 0x1e4
>;
};
pinctrl_uart2: uart2grp {
fsl,pins = <
MX53_PAD_PATA_DMARQ__UART2_TXD_MUX 0x1e4
MX53_PAD_PATA_BUFFER_EN__UART2_RXD_MUX 0x1e4
>;
};
pinctrl_uart3: uart3grp {
fsl,pins = <
MX53_PAD_PATA_CS_0__UART3_TXD_MUX 0x1e4
MX53_PAD_PATA_CS_1__UART3_RXD_MUX 0x1e4
MX53_PAD_EIM_D23__UART3_CTS 0x1e4
MX53_PAD_EIM_EB3__UART3_RTS 0x1e4
>;
};
pinctrl_uart4: uart4grp {
fsl,pins = <
MX53_PAD_KEY_COL0__UART4_TXD_MUX 0x1e4
MX53_PAD_KEY_ROW0__UART4_RXD_MUX 0x1e4
>;
};
pinctrl_uart5: uart5grp {
fsl,pins = <
MX53_PAD_KEY_COL1__UART5_TXD_MUX 0x1e4
MX53_PAD_KEY_ROW1__UART5_RXD_MUX 0x1e4
>;
};
pinctrl_usb_otg_vbus: usb-otg-vbusgrp {
fsl,pins = <
/* USB_HS_OTG_VBUS_ENABLE */
MX53_PAD_KEY_ROW4__GPIO4_15 0x1c4
>;
};
pinctrl_usbh2: usbh2grp {
fsl,pins = <
/* USB H2 */
MX53_PAD_DISP0_DAT0__USBOH3_USBH2_DATA_0 0x180
MX53_PAD_DISP0_DAT1__USBOH3_USBH2_DATA_1 0x180
MX53_PAD_DISP0_DAT2__USBOH3_USBH2_DATA_2 0x180
MX53_PAD_DISP0_DAT3__USBOH3_USBH2_DATA_3 0x180
MX53_PAD_DISP0_DAT4__USBOH3_USBH2_DATA_4 0x180
MX53_PAD_DISP0_DAT5__USBOH3_USBH2_DATA_5 0x180
MX53_PAD_DISP0_DAT6__USBOH3_USBH2_DATA_6 0x180
MX53_PAD_DISP0_DAT7__USBOH3_USBH2_DATA_7 0x180
MX53_PAD_DISP0_DAT10__USBOH3_USBH2_STP 0x180
MX53_PAD_DISP0_DAT11__USBOH3_USBH2_NXT 0x180
MX53_PAD_DISP0_DAT12__USBOH3_USBH2_CLK 0x180
MX53_PAD_DI0_DISP_CLK__USBOH3_USBH2_DIR 0x5
MX53_PAD_EIM_D30__USBOH3_USBH2_OC 0x180
>;
};
pinctrl_usbh2_vbus: usbh2-vbusgrp {
fsl,pins = <
/* USB_HS_HOST2_VBUS_ENABLE */
MX53_PAD_EIM_D31__GPIO3_31 0x0
>;
};
pinctrl_usbh3_vbus: usbh3-vbusgrp {
fsl,pins = <
/* USB_HS_HOST3_VBUS_ENABLE */
MX53_PAD_CSI0_DAT9__GPIO5_27 0x0
>;
};
pinctrl_usbh3: usbh3grp {
fsl,pins = <
/* USB H3 */
MX53_PAD_CSI0_DAT12__USBOH3_USBH3_DATA_0 0x180
MX53_PAD_CSI0_DAT13__USBOH3_USBH3_DATA_1 0x180
MX53_PAD_CSI0_DAT14__USBOH3_USBH3_DATA_2 0x180
MX53_PAD_CSI0_DAT15__USBOH3_USBH3_DATA_3 0x180
MX53_PAD_CSI0_DAT16__USBOH3_USBH3_DATA_4 0x180
MX53_PAD_CSI0_DAT17__USBOH3_USBH3_DATA_5 0x180
MX53_PAD_CSI0_DAT18__USBOH3_USBH3_DATA_6 0x180
MX53_PAD_CSI0_DAT19__USBOH3_USBH3_DATA_7 0x180
MX53_PAD_CSI0_DAT7__USBOH3_USBH3_DIR 0x5
MX53_PAD_CSI0_DAT6__USBOH3_USBH3_CLK 0x180
MX53_PAD_CSI0_DAT5__USBOH3_USBH3_NXT 0x180
MX53_PAD_CSI0_DAT4__USBOH3_USBH3_STP 0x180
MX53_PAD_CSI0_DAT8__USBOH3_USBH3_OC 0x180
>;
};
pinctrl_usb_otg: usbotggrp {
fsl,pins = <
/* USB_OTG_FAULT_N */
MX53_PAD_KEY_COL4__USBOH3_USBOTG_OC 0x180
>;
};
};
...@@ -22,7 +22,7 @@ memory { ...@@ -22,7 +22,7 @@ memory {
<0xb0000000 0x20000000>; <0xb0000000 0x20000000>;
}; };
display0: display@di0 { display0: disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb565"; interface-pix-fmt = "rgb565";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -172,7 +172,7 @@ MX53_PAD_GPIO_16__GPIO7_11 0x80000000 ...@@ -172,7 +172,7 @@ MX53_PAD_GPIO_16__GPIO7_11 0x80000000
>; >;
}; };
led_pin_gpio7_7: led_gpio7_7@0 { led_pin_gpio7_7: led_gpio7_7 {
fsl,pins = < fsl,pins = <
MX53_PAD_PATA_DA_1__GPIO7_7 0x80000000 MX53_PAD_PATA_DA_1__GPIO7_7 0x80000000
>; >;
......
/* /*
* Copyright 2013 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2013-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* The code contained herein is licensed under the GNU General Public * This file is dual-licensed: you can use it either under the terms
* License. You may obtain a copy of the GNU General Public License * of the GPL or the X11 license, at your option. Note that this dual
* Version 2 at the following locations: * licensing only applies to this file, and not this project as a
* whole.
* *
* http://www.opensource.org/licenses/gpl-license.html * a) This file is free software; you can redistribute it and/or
* http://www.gnu.org/copyleft/gpl.html * 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/; /dts-v1/;
...@@ -24,7 +54,7 @@ aliases { ...@@ -24,7 +54,7 @@ aliases {
}; };
soc { soc {
display: display@di0 { display: disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb24"; interface-pix-fmt = "rgb24";
pinctrl-names = "default"; pinctrl-names = "default";
...@@ -173,10 +203,8 @@ backlight: backlight { ...@@ -173,10 +203,8 @@ backlight: backlight {
default-brightness-level = <50>; default-brightness-level = <50>;
}; };
regulators { reg_lcd_pwr: regulator-lcd-pwr {
reg_lcd_pwr: regulator@5 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <5>;
regulator-name = "LCD POWER"; regulator-name = "LCD POWER";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
...@@ -185,9 +213,8 @@ reg_lcd_pwr: regulator@5 { ...@@ -185,9 +213,8 @@ reg_lcd_pwr: regulator@5 {
regulator-boot-on; regulator-boot-on;
}; };
reg_lcd_reset: regulator@6 { reg_lcd_reset: regulator-lcd-reset {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <6>;
regulator-name = "LCD RESET"; regulator-name = "LCD RESET";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
...@@ -195,7 +222,6 @@ reg_lcd_reset: regulator@6 { ...@@ -195,7 +222,6 @@ reg_lcd_reset: regulator@6 {
enable-active-high; enable-active-high;
regulator-boot-on; regulator-boot-on;
}; };
};
}; };
&i2c3 { &i2c3 {
...@@ -228,7 +254,7 @@ touchscreen: tsc2007@48 { ...@@ -228,7 +254,7 @@ touchscreen: tsc2007@48 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_tsc2007>; pinctrl-0 = <&pinctrl_tsc2007>;
interrupt-parent = <&gpio3>; interrupt-parent = <&gpio3>;
interrupts = <26 0>; interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
gpios = <&gpio3 26 GPIO_ACTIVE_LOW>; gpios = <&gpio3 26 GPIO_ACTIVE_LOW>;
ti,x-plate-ohms = <660>; ti,x-plate-ohms = <660>;
wakeup-source; wakeup-source;
......
/* /*
* Copyright 2013 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2013-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.
* The code contained herein is licensed under the GNU General Public * The code contained herein is licensed under the GNU General Public
* License. You may obtain a copy of the GNU General Public License * License. You may obtain a copy of the GNU General Public License
* Version 2 at the following locations: * Version 2 at the following locations:
...@@ -63,10 +99,8 @@ backlight1: backlight1 { ...@@ -63,10 +99,8 @@ backlight1: backlight1 {
default-brightness-level = <50>; default-brightness-level = <50>;
}; };
regulators { reg_lcd_pwr0: regulator-lvds0-pwr {
reg_lcd_pwr0: regulator@5 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <5>;
regulator-name = "LVDS0 POWER"; regulator-name = "LVDS0 POWER";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
...@@ -75,9 +109,8 @@ reg_lcd_pwr0: regulator@5 { ...@@ -75,9 +109,8 @@ reg_lcd_pwr0: regulator@5 {
regulator-boot-on; regulator-boot-on;
}; };
reg_lcd_pwr1: regulator@6 { reg_lcd_pwr1: regulator-lvds1-pwr {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <6>;
regulator-name = "LVDS1 POWER"; regulator-name = "LVDS1 POWER";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
...@@ -85,29 +118,14 @@ reg_lcd_pwr1: regulator@6 { ...@@ -85,29 +118,14 @@ reg_lcd_pwr1: regulator@6 {
enable-active-high; enable-active-high;
regulator-boot-on; regulator-boot-on;
}; };
};
};
&i2c2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";
touchscreen2: eeti@4 {
compatible = "eeti,egalax_ts";
reg = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eeti2>;
interrupt-parent = <&gpio3>;
interrupts = <23 0>;
wakeup-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;
wakeup-source;
};
}; };
&i2c3 { &i2c3 {
pinctrl-names = "default"; pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c3>; pinctrl-0 = <&pinctrl_i2c3>;
pinctrl-1 = <&pinctrl_i2c3_gpio>;
scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
sda-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
status = "okay"; status = "okay";
sgtl5000: codec@a { sgtl5000: codec@a {
...@@ -117,28 +135,10 @@ sgtl5000: codec@a { ...@@ -117,28 +135,10 @@ sgtl5000: codec@a {
VDDIO-supply = <&reg_3v3>; VDDIO-supply = <&reg_3v3>;
clocks = <&mclk>; clocks = <&mclk>;
}; };
touchscreen1: eeti@4 {
compatible = "eeti,egalax_ts";
reg = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eeti1>;
interrupt-parent = <&gpio3>;
interrupts = <22 0>;
wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
wakeup-source;
};
}; };
&iomuxc { &iomuxc {
imx53-tx53-x13x { imx53-tx53-x13x {
pinctrl_i2c2: i2c2-grp1 {
fsl,pins = <
MX53_PAD_KEY_ROW3__I2C2_SDA 0xc0000000
MX53_PAD_KEY_COL3__I2C2_SCL 0xc0000000
>;
};
pinctrl_lvds0: lvds0grp { pinctrl_lvds0: lvds0grp {
fsl,pins = < fsl,pins = <
MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000 MX53_PAD_LVDS0_TX3_P__LDB_LVDS0_TX3 0x80000000
......
/* /*
* Copyright 2012 <LW@KARO-electronics.de> * Copyright 2012-2017 <LW@KARO-electronics.de>
* based on imx53-qsb.dts * based on imx53-qsb.dts
* Copyright 2011 Freescale Semiconductor, Inc. * Copyright 2011 Freescale Semiconductor, Inc.
* Copyright 2011 Linaro Ltd. * Copyright 2011 Linaro Ltd.
* *
* The code contained herein is licensed under the GNU General Public * This file is dual-licensed: you can use it either under the terms
* License. You may obtain a copy of the GNU General Public License * of the GPL or the X11 license, at your option. Note that this dual
* Version 2 at the following locations: * licensing only applies to this file, and not this project as a
* whole.
* *
* http://www.opensource.org/licenses/gpl-license.html * a) This file is free software; you can redistribute it and/or
* http://www.gnu.org/copyleft/gpl.html * 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.
*/ */
#include "imx53.dtsi" #include "imx53.dtsi"
...@@ -66,30 +96,22 @@ user { ...@@ -66,30 +96,22 @@ user {
}; };
}; };
regulators { reg_2v5: regulator-2v5 {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
reg_2v5: regulator@0 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <0>;
regulator-name = "2V5"; regulator-name = "2V5";
regulator-min-microvolt = <2500000>; regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>; regulator-max-microvolt = <2500000>;
}; };
reg_3v3: regulator@1 { reg_3v3: regulator-3v3 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <1>;
regulator-name = "3V3"; regulator-name = "3V3";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
reg_can_xcvr: regulator@2 { reg_can_xcvr: regulator-can-xcvr {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <2>;
regulator-name = "CAN XCVR"; regulator-name = "CAN XCVR";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
...@@ -98,9 +120,8 @@ reg_can_xcvr: regulator@2 { ...@@ -98,9 +120,8 @@ reg_can_xcvr: regulator@2 {
gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>; gpio = <&gpio4 21 GPIO_ACTIVE_HIGH>;
}; };
reg_usbh1_vbus: regulator@3 { reg_usbh1_vbus: regulator-usbh1-vbus {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <3>;
regulator-name = "usbh1_vbus"; regulator-name = "usbh1_vbus";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
...@@ -110,9 +131,8 @@ reg_usbh1_vbus: regulator@3 { ...@@ -110,9 +131,8 @@ reg_usbh1_vbus: regulator@3 {
enable-active-high; enable-active-high;
}; };
reg_usbotg_vbus: regulator@4 { reg_usbotg_vbus: regulator-usbotg-vbus {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
reg = <4>;
regulator-name = "usbotg_vbus"; regulator-name = "usbotg_vbus";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
...@@ -121,7 +141,6 @@ reg_usbotg_vbus: regulator@4 { ...@@ -121,7 +141,6 @@ reg_usbotg_vbus: regulator@4 {
gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>; gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
}; };
};
sound { sound {
compatible = "karo,tx53-audio-sgtl5000", "fsl,imx-audio-sgtl5000"; compatible = "karo,tx53-audio-sgtl5000", "fsl,imx-audio-sgtl5000";
...@@ -208,14 +227,17 @@ &fec { ...@@ -208,14 +227,17 @@ &fec {
phy0: ethernet-phy@0 { phy0: ethernet-phy@0 {
interrupt-parent = <&gpio2>; interrupt-parent = <&gpio2>;
interrupts = <4>; interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
device_type = "ethernet-phy"; device_type = "ethernet-phy";
}; };
}; };
&i2c1 { &i2c1 {
pinctrl-names = "default"; pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c1>; pinctrl-0 = <&pinctrl_i2c1>;
pinctrl-0 = <&pinctrl_i2c1_gpio>;
scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
sda-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
clock-frequency = <400000>; clock-frequency = <400000>;
status = "okay"; status = "okay";
...@@ -225,7 +247,9 @@ rtc1: ds1339@68 { ...@@ -225,7 +247,9 @@ rtc1: ds1339@68 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ds1339>; pinctrl-0 = <&pinctrl_ds1339>;
interrupt-parent = <&gpio4>; interrupt-parent = <&gpio4>;
interrupts = <20 0>; interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
trickle-resistor-ohms = <250>;
trickle-diode-disable;
}; };
}; };
...@@ -368,15 +392,29 @@ pinctrl_gpio_key: gpio-keygrp { ...@@ -368,15 +392,29 @@ pinctrl_gpio_key: gpio-keygrp {
pinctrl_i2c1: i2c1grp { pinctrl_i2c1: i2c1grp {
fsl,pins = < fsl,pins = <
MX53_PAD_EIM_D21__I2C1_SCL 0xc0000000 MX53_PAD_EIM_D21__I2C1_SCL 0x400001e4
MX53_PAD_EIM_D28__I2C1_SDA 0xc0000000 MX53_PAD_EIM_D28__I2C1_SDA 0x400001e4
>;
};
pinctrl_i2c1_gpio: i2c1-gpiogrp {
fsl,pins = <
MX53_PAD_EIM_D21__GPIO3_21 0x400001e6
MX53_PAD_EIM_D28__GPIO3_28 0x400001e6
>; >;
}; };
pinctrl_i2c3: i2c3grp { pinctrl_i2c3: i2c3grp {
fsl,pins = < fsl,pins = <
MX53_PAD_GPIO_3__I2C3_SCL 0xc0000000 MX53_PAD_GPIO_3__I2C3_SCL 0x400001e4
MX53_PAD_GPIO_6__I2C3_SDA 0xc0000000 MX53_PAD_GPIO_6__I2C3_SDA 0x400001e4
>;
};
pinctrl_i2c3_gpio: i2c3-gpiogrp {
fsl,pins = <
MX53_PAD_GPIO_3__GPIO1_3 0x400001e6
MX53_PAD_GPIO_6__GPIO1_6 0x400001e6
>; >;
}; };
......
...@@ -299,14 +299,14 @@ aipstz1: bridge@53f00000 { ...@@ -299,14 +299,14 @@ aipstz1: bridge@53f00000 {
reg = <0x53f00000 0x60>; reg = <0x53f00000 0x60>;
}; };
usbphy0: usbphy@0 { usbphy0: usbphy-0 {
compatible = "usb-nop-xceiv"; compatible = "usb-nop-xceiv";
clocks = <&clks IMX5_CLK_USB_PHY1_GATE>; clocks = <&clks IMX5_CLK_USB_PHY1_GATE>;
clock-names = "main_clk"; clock-names = "main_clk";
status = "okay"; status = "okay";
}; };
usbphy1: usbphy@1 { usbphy1: usbphy-1 {
compatible = "usb-nop-xceiv"; compatible = "usb-nop-xceiv";
clocks = <&clks IMX5_CLK_USB_PHY2_GATE>; clocks = <&clks IMX5_CLK_USB_PHY2_GATE>;
clock-names = "main_clk"; clock-names = "main_clk";
......
...@@ -52,7 +52,7 @@ memory { ...@@ -52,7 +52,7 @@ memory {
reg = <0x10000000 0x40000000>; reg = <0x10000000 0x40000000>;
}; };
display0: display@di0 { display0: disp0 {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
......
...@@ -32,7 +32,7 @@ memory { ...@@ -32,7 +32,7 @@ memory {
}; };
soc { soc {
display0: display@di0 { display0: disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb24"; interface-pix-fmt = "rgb24";
pinctrl-names = "default"; pinctrl-names = "default";
......
...@@ -21,7 +21,7 @@ memory { ...@@ -21,7 +21,7 @@ memory {
}; };
soc { soc {
display0: display@di0 { display0: disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb24"; interface-pix-fmt = "rgb24";
pinctrl-names = "default"; pinctrl-names = "default";
......
...@@ -88,7 +88,7 @@ wakeup { ...@@ -88,7 +88,7 @@ wakeup {
}; };
}; };
lcd_display: display@di0 { lcd_display: disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -57,3 +57,12 @@ &can1 { ...@@ -57,3 +57,12 @@ &can1 {
&can2 { &can2 {
status = "okay"; status = "okay";
}; };
&i2c1 {
max11801: touchscreen@48 {
compatible = "maxim,max11801";
reg = <0x48>;
interrupt-parent = <&gpio3>;
interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
};
};
/* /*
* Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -42,70 +42,16 @@ ...@@ -42,70 +42,16 @@
/dts-v1/; /dts-v1/;
#include "imx6dl.dtsi" #include "imx6dl.dtsi"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"
/ { / {
model = "Ka-Ro electronics TX6DL Module on CoMpact TFT"; model = "Ka-Ro electronics TX6DL Module on CoMpact TFT";
compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
};
aliases { &backlight {
display = &display;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 0>; pwms = <&pwm2 0 500000 0>;
power-supply = <&reg_3v3>; /delete-property/ turn-on-delay-ms;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
display: display@di0 {
compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp0_1>;
status = "okay";
port {
display0_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
display-timings {
native-mode = <&ET070001DM6>;
ET070001DM6: CoMTFT { /* same as ET0700 but with inverted pixel clock */
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
}; };
&can1 { &can1 {
...@@ -116,14 +62,14 @@ &can2 { ...@@ -116,14 +62,14 @@ &can2 {
xceiver-supply = <&reg_3v3>; xceiver-supply = <&reg_3v3>;
}; };
&ipu1_di0_disp0 {
remote-endpoint = <&display0_in>;
};
&kpp { &kpp {
status = "disabled"; status = "disabled";
}; };
&lcd_panel {
compatible = "edt,etm0700g0edh6";
};
&reg_can_xcvr { &reg_can_xcvr {
status = "disabled"; status = "disabled";
}; };
......
/*
* 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-8034.dts"
#include "imx6qdl-tx6-mb7.dtsi"
/ {
model = "Ka-Ro electronics TX6S-8034 Module on MB7 baseboard";
};
/* /*
* Copyright 2015-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2015-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -42,174 +42,15 @@ ...@@ -42,174 +42,15 @@
/dts-v1/; /dts-v1/;
#include "imx6dl.dtsi" #include "imx6dl.dtsi"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"
/ { / {
model = "Ka-Ro electronics TX6S-8034 Module"; model = "Ka-Ro electronics TX6S-8034 Module";
compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
aliases {
display = &display;
ipu1 = &ipu1;
};
cpus { cpus {
/delete-node/ cpu@1; /delete-node/ cpu@1;
}; };
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd0_pwr>;
enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
power-supply = <&reg_lcd1_pwr>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
display: display@di0 {
compatible = "fsl,imx-parallel-display";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp0_2>;
interface-pix-fmt = "rgb24";
status = "okay";
port {
display0_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
display-timings {
native-mode = <&vga>;
vga: VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hsync-len = <96>;
hfront-porch = <16>;
vback-porch = <31>;
vsync-len = <2>;
vfront-porch = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETV570 {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <114>;
hsync-len = <30>;
hfront-porch = <16>;
vback-porch = <32>;
vsync-len = <3>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0350 {
clock-frequency = <6413760>;
hactive = <320>;
vactive = <240>;
hback-porch = <34>;
hsync-len = <34>;
hfront-porch = <20>;
vback-porch = <15>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0430 {
clock-frequency = <9009000>;
hactive = <480>;
vactive = <272>;
hback-porch = <2>;
hsync-len = <41>;
hfront-porch = <2>;
vback-porch = <2>;
vsync-len = <10>;
vfront-porch = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
ET0500 {
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0700 { /* same as ET0500 */
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETQ570 {
clock-frequency = <6596040>;
hactive = <320>;
vactive = <240>;
hback-porch = <38>;
hsync-len = <30>;
hfront-porch = <30>;
vback-porch = <16>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
}; };
&ds1339 { &ds1339 {
...@@ -227,11 +68,3 @@ MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x070b1 ...@@ -227,11 +68,3 @@ MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x070b1
MX6QDL_PAD_SD3_CMD__GPIO7_IO02 0x170b0 /* SD1 CD */ MX6QDL_PAD_SD3_CMD__GPIO7_IO02 0x170b0 /* SD1 CD */
>; >;
}; };
&ipu1_di0_disp0 {
remote-endpoint = <&display0_in>;
};
&reg_lcd0_pwr {
status = "disabled";
};
/*
* 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";
};
/* /*
* Copyright 2015-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2015-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -42,174 +42,15 @@ ...@@ -42,174 +42,15 @@
/dts-v1/; /dts-v1/;
#include "imx6dl.dtsi" #include "imx6dl.dtsi"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"
/ { / {
model = "Ka-Ro electronics TX6S-8035 Module"; model = "Ka-Ro electronics TX6S-8035 Module";
compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
aliases {
display = &display;
ipu1 = &ipu1;
};
cpus { cpus {
/delete-node/ cpu@1; /delete-node/ cpu@1;
}; };
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd0_pwr>;
enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
power-supply = <&reg_lcd1_pwr>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
display: display@di0 {
compatible = "fsl,imx-parallel-display";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp0_2>;
interface-pix-fmt = "rgb24";
status = "okay";
port {
display0_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
display-timings {
native-mode = <&vga>;
vga: VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hsync-len = <96>;
hfront-porch = <16>;
vback-porch = <31>;
vsync-len = <2>;
vfront-porch = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETV570 {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <114>;
hsync-len = <30>;
hfront-porch = <16>;
vback-porch = <32>;
vsync-len = <3>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0350 {
clock-frequency = <6413760>;
hactive = <320>;
vactive = <240>;
hback-porch = <34>;
hsync-len = <34>;
hfront-porch = <20>;
vback-porch = <15>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0430 {
clock-frequency = <9009000>;
hactive = <480>;
vactive = <272>;
hback-porch = <2>;
hsync-len = <41>;
hfront-porch = <2>;
vback-porch = <2>;
vsync-len = <10>;
vfront-porch = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
ET0500 {
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0700 { /* same as ET0500 */
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETQ570 {
clock-frequency = <6596040>;
hactive = <320>;
vactive = <240>;
hback-porch = <38>;
hsync-len = <30>;
hfront-porch = <30>;
vback-porch = <16>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
}; };
&ds1339 { &ds1339 {
...@@ -220,14 +61,6 @@ &gpmi { ...@@ -220,14 +61,6 @@ &gpmi {
status = "disabled"; status = "disabled";
}; };
&ipu1_di0_disp0 {
remote-endpoint = <&display0_in>;
};
&reg_lcd0_pwr {
status = "disabled";
};
&usdhc4 { &usdhc4 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc4>; pinctrl-0 = <&pinctrl_usdhc4>;
......
/* /*
* Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -42,166 +42,9 @@ ...@@ -42,166 +42,9 @@
/dts-v1/; /dts-v1/;
#include "imx6dl.dtsi" #include "imx6dl.dtsi"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"
/ { / {
model = "Ka-Ro electronics TX6U-801x Module"; model = "Ka-Ro electronics TX6U-801x Module";
compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
aliases {
display = &display;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
power-supply = <&reg_3v3>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
display: display@di0 {
compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp0_1>;
status = "okay";
port {
display0_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
display-timings {
VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hsync-len = <96>;
hfront-porch = <16>;
vback-porch = <31>;
vsync-len = <2>;
vfront-porch = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETV570 {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <114>;
hsync-len = <30>;
hfront-porch = <16>;
vback-porch = <32>;
vsync-len = <3>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0350 {
clock-frequency = <6413760>;
hactive = <320>;
vactive = <240>;
hback-porch = <34>;
hsync-len = <34>;
hfront-porch = <20>;
vback-porch = <15>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0430 {
clock-frequency = <9009000>;
hactive = <480>;
vactive = <272>;
hback-porch = <2>;
hsync-len = <41>;
hfront-porch = <2>;
vback-porch = <2>;
vsync-len = <10>;
vfront-porch = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
ET0500 {
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0700 { /* same as ET0500 */
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETQ570 {
clock-frequency = <6596040>;
hactive = <320>;
vactive = <240>;
hback-porch = <38>;
hsync-len = <30>;
hfront-porch = <30>;
vback-porch = <16>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
};
&ipu1_di0_disp0 {
remote-endpoint = <&display0_in>;
}; };
/*
* 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";
};
/* /*
* Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -42,169 +42,11 @@ ...@@ -42,169 +42,11 @@
/dts-v1/; /dts-v1/;
#include "imx6dl.dtsi" #include "imx6dl.dtsi"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"
/ { / {
model = "Ka-Ro electronics TX6U-8033 Module"; model = "Ka-Ro electronics TX6U-8033 Module";
compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
aliases {
display = &display;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd0_pwr>;
enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
power-supply = <&reg_lcd1_pwr>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
display: display@di0 {
compatible = "fsl,imx-parallel-display";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp0_2>;
interface-pix-fmt = "rgb24";
status = "okay";
port {
display0_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
display-timings {
native-mode = <&vga>;
vga: VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hsync-len = <96>;
hfront-porch = <16>;
vback-porch = <31>;
vsync-len = <2>;
vfront-porch = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETV570 {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <114>;
hsync-len = <30>;
hfront-porch = <16>;
vback-porch = <32>;
vsync-len = <3>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0350 {
clock-frequency = <6413760>;
hactive = <320>;
vactive = <240>;
hback-porch = <34>;
hsync-len = <34>;
hfront-porch = <20>;
vback-porch = <15>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0430 {
clock-frequency = <9009000>;
hactive = <480>;
vactive = <272>;
hback-porch = <2>;
hsync-len = <41>;
hfront-porch = <2>;
vback-porch = <2>;
vsync-len = <10>;
vfront-porch = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
ET0500 {
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0700 { /* same as ET0500 */
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETQ570 {
clock-frequency = <6596040>;
hactive = <320>;
vactive = <240>;
hback-porch = <38>;
hsync-len = <30>;
hfront-porch = <30>;
vback-porch = <16>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
}; };
&ds1339 { &ds1339 {
...@@ -215,14 +57,6 @@ &gpmi { ...@@ -215,14 +57,6 @@ &gpmi {
status = "disabled"; status = "disabled";
}; };
&ipu1_di0_disp0 {
remote-endpoint = <&display0_in>;
};
&reg_lcd0_pwr {
status = "disabled";
};
&usdhc4 { &usdhc4 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc4>; pinctrl-0 = <&pinctrl_usdhc4>;
......
/*
* 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";
};
/* /*
* Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -42,137 +42,9 @@ ...@@ -42,137 +42,9 @@
/dts-v1/; /dts-v1/;
#include "imx6dl.dtsi" #include "imx6dl.dtsi"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lvds.dtsi"
/ { / {
model = "Ka-Ro electronics TX6U-811x Module"; model = "Ka-Ro electronics TX6U-811x Module";
compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl"; compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
aliases {
display = &lvds0;
lvds0 = &lvds0;
lvds1 = &lvds1;
};
backlight0: backlight0 {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 0>;
power-supply = <&reg_lcd0_pwr>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
backlight1: backlight1 {
compatible = "pwm-backlight";
pwms = <&pwm1 0 500000 0>;
power-supply = <&reg_lcd1_pwr>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
};
&i2c3 {
polytouch2: eeti@4 {
compatible = "eeti,egalax_ts";
reg = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eeti>;
interrupt-parent = <&gpio3>;
interrupts = <22 0>;
wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
wakeup-source;
};
};
&kpp {
status = "disabled"; /* pad conflict with backlight1 PWM */
};
&ldb {
status = "okay";
lvds0: lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
status = "okay";
display-timings {
native-mode = <&lvds_timing0>;
lvds_timing0: hsd100pxn1 {
clock-frequency = <65000000>;
hactive = <1024>;
vactive = <768>;
hback-porch = <220>;
hfront-porch = <40>;
vback-porch = <21>;
vfront-porch = <7>;
hsync-len = <60>;
vsync-len = <10>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
lvds1: lvds-channel@1 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
status = "disabled";
display-timings {
native-mode = <&lvds_timing1>;
lvds_timing1: hsd100pxn1 {
clock-frequency = <65000000>;
hactive = <1024>;
vactive = <768>;
hback-porch = <220>;
hfront-porch = <40>;
vback-porch = <21>;
vfront-porch = <7>;
hsync-len = <60>;
vsync-len = <10>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
&pwm1 {
status = "okay";
};
&iomuxc {
pinctrl_eeti: eetigrp {
fsl,pins = <
MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */
>;
};
}; };
/* /*
* Copyright 2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2016-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -40,216 +40,9 @@ ...@@ -40,216 +40,9 @@
*/ */
/dts-v1/; /dts-v1/;
#include "imx6dl.dtsi" #include "imx6dl-tx6u-811x.dts"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6-mb7.dtsi"
/ { / {
model = "Ka-Ro electronics TX6U-81xx Module on MB7 baseboard"; model = "Ka-Ro electronics TX6U-8130/-8110 Module on MB7 baseboard";
compatible = "karo,imx6dl-tx6dl", "fsl,imx6dl";
aliases {
display = &lvds0;
lvds0 = &lvds0;
lvds1 = &lvds1;
};
backlight0: backlight0 {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
power-supply = <&reg_lcd0_pwr>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
backlight1: backlight1 {
compatible = "pwm-backlight";
pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>;
power-supply = <&reg_lcd1_pwr>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
};
&can1 {
status = "disabled";
};
&can2 {
xceiver-supply = <&reg_3v3>;
};
&i2c3 {
polytouch1: eeti@4 {
compatible = "eeti,egalax_ts";
reg = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eeti>;
interrupts-extended = <&gpio3 22 IRQ_TYPE_EDGE_FALLING>;
wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
wakeup-source;
};
};
&kpp {
status = "disabled"; /* pads partially clash with backlight1 PWM */
};
&ldb {
status = "okay";
lvds0: lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
status = "okay";
display-timings {
native-mode = <&lvds0_timing1>;
lvds0_timing0: hsd100pxn1 {
clock-frequency = <65000000>;
hactive = <1024>;
vactive = <768>;
hback-porch = <220>;
hfront-porch = <40>;
vback-porch = <21>;
vfront-porch = <7>;
hsync-len = <60>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
lvds0_timing1: VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hfront-porch = <16>;
vback-porch = <31>;
vfront-porch = <12>;
hsync-len = <96>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
lvds0_timing2: nl12880bc20 {
clock-frequency = <71000000>;
hactive = <1280>;
vactive = <800>;
hback-porch = <50>;
hfront-porch = <50>;
vback-porch = <5>;
vfront-porch = <5>;
hsync-len = <60>;
vsync-len = <13>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
lvds1: lvds-channel@1 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
status = "okay";
display-timings {
native-mode = <&lvds1_timing2>;
lvds1_timing0: hsd100pxn1 {
clock-frequency = <65000000>;
hactive = <1024>;
vactive = <768>;
hback-porch = <220>;
hfront-porch = <40>;
vback-porch = <21>;
vfront-porch = <7>;
hsync-len = <60>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
lvds1_timing1: VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hfront-porch = <16>;
vback-porch = <31>;
vfront-porch = <12>;
hsync-len = <96>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
lvds1_timing2: nl12880bc20 {
clock-frequency = <71000000>;
hactive = <1280>;
vactive = <800>;
hback-porch = <50>;
hfront-porch = <50>;
vback-porch = <5>;
vfront-porch = <5>;
hsync-len = <60>;
vsync-len = <13>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
&pwm1 {
status = "okay";
};
&iomuxc {
pinctrl_eeti: eetigrp {
fsl,pins = <
MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */
>;
};
}; };
/*
* Copyright 2013 Freescale Semiconductor, Inc.
*
* Author: Fabio Estevam <fabio.estevam@freescale.com>
*
* This program 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.
*
*/
/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 {
reg = <0x10000000 0x40000000>;
};
};
...@@ -76,7 +76,7 @@ wakeup { ...@@ -76,7 +76,7 @@ wakeup {
}; };
}; };
lcd_display: display@di0 { lcd_display: disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -77,7 +77,7 @@ wakeup { ...@@ -77,7 +77,7 @@ wakeup {
}; };
}; };
lcd_display: display@di0 { lcd_display: disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -76,7 +76,7 @@ wakeup { ...@@ -76,7 +76,7 @@ wakeup {
}; };
}; };
lcd_display: display@di0 { lcd_display: disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -77,8 +77,7 @@ reg_pcie_power_on_gpio: regulator-pcie-power-on-gpio { ...@@ -77,8 +77,7 @@ reg_pcie_power_on_gpio: regulator-pcie-power-on-gpio {
regulator-name = "regulator-pcie-power-on-gpio"; regulator-name = "regulator-pcie-power-on-gpio";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
gpio = <&gpio2 24 GPIO_ACTIVE_HIGH>; gpio = <&gpio2 24 GPIO_ACTIVE_LOW>;
enable-active-high;
}; };
reg_usb_h1_vbus: usb_h1_vbus { reg_usb_h1_vbus: usb_h1_vbus {
...@@ -362,7 +361,7 @@ &pcie { ...@@ -362,7 +361,7 @@ &pcie {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcie>; pinctrl-0 = <&pinctrl_pcie>;
reset-gpio = <&gpio1 26 GPIO_ACTIVE_LOW>; reset-gpio = <&gpio1 26 GPIO_ACTIVE_LOW>;
vdd-supply = <&reg_pcie_power_on_gpio>; vpcie-supply = <&reg_pcie_power_on_gpio>;
status = "okay"; status = "okay";
}; };
......
/*
* Copyright 2017
* Lukasz Majewski, DENX Software Engineering, lukma@denx.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 licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without
* any warranty of any kind, whether express or implied.
*
* 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-display5.dtsi"
&panel {
compatible = "tianma,tm070jdhg30";
};
&ldb {
lvds0: lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
};
};
/*
* Copyright 2017
* Lukasz Majewski, DENX Software Engineering, lukma@denx.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 licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without
* any warranty of any kind, whether express or implied.
*
* 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/pwm/pwm.h>
#include <dt-bindings/sound/fsl-imx-audmux.h>
/ {
model = "Liebherr (LWN) display5 i.MX6 Quad Board";
compatible = "lwn,display5", "fsl,imx6q";
memory {
reg = <0x10000000 0x40000000>;
};
backlight_lvds: backlight {
compatible = "pwm-backlight";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_backlight>;
pwms = <&pwm2 0 5000000 0>;
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100 101 102 103 104 105 106 107 108 109
110 111 112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127 128 129
130 131 132 133 134 135 136 137 138 139
140 141 142 143 144 145 146 147 148 149
150 151 152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167 168 169
170 171 172 173 174 175 176 177 178 179
180 181 182 183 184 185 186 187 188 189
190 191 192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207 208 209
210 211 212 213 214 215 216 217 218 219
220 221 222 223 224 225 226 227 228 229
230 231 232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247 248 249
250 251 252 253 254 255>;
default-brightness-level = <250>;
enable-gpios = <&gpio5 7 GPIO_ACTIVE_HIGH>;
};
reg_lvds: regulator-lvds {
compatible = "regulator-fixed";
regulator-name = "lvds_ppen";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reg_lvds>;
gpio = <&gpio5 13 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
reg_usbh1_vbus: usb-h1-vbus {
compatible = "regulator-fixed";
gpio = <&gpio3 31 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbh1_vbus>;
regulator-name = "usb_h1_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-enable-ramp-delay = <300000>;
};
sound {
compatible = "simple-audio-card";
label = "tfa9879-mono";
simple-audio-card,dai-link {
/* DAC */
format = "i2s";
bitclock-master = <&dailink_master>;
frame-master = <&dailink_master>;
dailink_master: cpu {
sound-dai = <&ssi2>;
};
codec {
sound-dai = <&codec>;
};
};
};
panel: panel-lvds0 {
backlight = <&backlight_lvds>;
power-supply = <&reg_lvds>;
port {
panel_in_lvds0: endpoint {
remote-endpoint = <&lvds0_out>;
};
};
};
};
&audmux {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_audmux>;
status = "okay";
ssi2 {
fsl,audmux-port = <1>;
fsl,port-config = <
(IMX_AUDMUX_V2_PTCR_SYN |
IMX_AUDMUX_V2_PTCR_TFSEL(5) |
IMX_AUDMUX_V2_PTCR_TCSEL(5) |
IMX_AUDMUX_V2_PTCR_TFSDIR |
IMX_AUDMUX_V2_PTCR_TCLKDIR)
IMX_AUDMUX_V2_PDCR_RXDSEL(5)
>;
};
aud6 {
fsl,audmux-port = <5>;
fsl,port-config = <
(IMX_AUDMUX_V2_PTCR_RFSEL(8) |
IMX_AUDMUX_V2_PTCR_RCSEL(8) |
IMX_AUDMUX_V2_PTCR_TFSEL(1) |
IMX_AUDMUX_V2_PTCR_TCSEL(1) |
IMX_AUDMUX_V2_PTCR_RFSDIR |
IMX_AUDMUX_V2_PTCR_RCLKDIR |
IMX_AUDMUX_V2_PTCR_TFSDIR |
IMX_AUDMUX_V2_PTCR_TCLKDIR)
IMX_AUDMUX_V2_PDCR_RXDSEL(1)
>;
};
};
&ecspi2 {
cs-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi2 &pinctrl_ecspi2_cs &pinctrl_ecspi2_flwp>;
status = "okay";
s25fl256s: flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
spi-max-frequency = <40000000>;
reg = <0>;
partition@0 {
label = "SPL (spi)";
reg = <0x0 0x20000>;
read-only;
};
partition@1 {
label = "u-boot (spi)";
reg = <0x20000 0x100000>;
read-only;
};
partition@2 {
label = "uboot-env (spi)";
reg = <0x120000 0x10000>;
};
partition@3 {
label = "uboot-envr (spi)";
reg = <0x130000 0x10000>;
};
partition@4 {
label = "linux-recovery (spi)";
reg = <0x140000 0x800000>;
};
partition@5 {
label = "swupdate-fitImg (spi)";
reg = <0x940000 0x400000>;
};
partition@6 {
label = "swupdate-initramfs (spi)";
reg = <0xD40000 0x800000>;
};
};
};
&ecspi3 {
cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi3 &pinctrl_ecspi3_cs &pinctrl_ecspi3_flwp>;
status = "okay";
};
&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
phy-handle = <&ethernet_phy0>;
phy-mode = "rgmii-id";
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethernet_phy0: ethernet-phy@0 {
compatible = "marvell,88E1510";
device_type = "ethernet-phy";
/* Set LED0 control: */
/* On - Link, Blink - Activity, Off - No Link */
marvell,reg-init = <3 0x10 0 0x1011>;
max-speed = <100>;
reg = <0>;
};
};
};
&i2c1 {
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "okay";
codec: tfa9879@6C {
#sound-dai-cells = <0>;
compatible = "nxp,tfa9879";
reg = <0x6C>;
};
};
&i2c2 {
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";
};
&i2c3 {
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c3>;
status = "okay";
at24@50 {
compatible = "atmel,24c256";
pagesize = <64>;
reg = <0x50>;
};
pfuze100: pmic@8 {
compatible = "fsl,pfuze100";
reg = <0x08>;
regulators {
sw1a_reg: sw1ab {
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1875000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <6250>;
};
sw1c_reg: sw1c {
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 = <3950000>;
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;
};
sw4_reg: sw4 {
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3300000>;
};
swbst_reg: swbst {
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5150000>;
};
snvs_reg: vsnvs {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3000000>;
regulator-boot-on;
regulator-always-on;
};
vref_reg: vrefddr {
regulator-boot-on;
regulator-always-on;
};
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>;
};
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;
};
};
};
};
&ldb {
status = "okay";
lvds0: lvds-channel@0 {
status = "okay";
port@4 {
reg = <4>;
lvds0_out: endpoint {
remote-endpoint = <&panel_in_lvds0>;
};
};
};
};
&pwm2 {
#pwm-cells = <3>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm2>;
status = "okay";
};
&ssi2 {
status = "okay";
};
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>;
uart-has-rtscts;
status = "okay";
};
&uart5 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart5>;
status = "okay";
};
&usbh1 {
vbus-supply = <&reg_usbh1_vbus>;
pinctrl-0 = <&pinctrl_usbh1>;
status = "okay";
};
&usdhc4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc4>;
bus-width = <8>;
non-removable;
status = "okay";
};
&iomuxc {
pinctrl_audmux: audmuxgrp {
fsl,pins = <
/* I2S OUTPUT AUD6*/
MX6QDL_PAD_DI0_PIN4__AUD6_RXD 0x130b0
MX6QDL_PAD_DI0_PIN2__AUD6_TXD 0x130b0
MX6QDL_PAD_DI0_PIN3__AUD6_TXFS 0x130b0
MX6QDL_PAD_DI0_PIN15__AUD6_TXC 0x130b0
>;
};
pinctrl_backlight: dispgrp {
fsl,pins = <
/* BLEN_OUT */
MX6QDL_PAD_DISP0_DAT13__GPIO5_IO07 0x1b0b0
>;
};
pinctrl_ecspi2: ecspi2grp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT10__ECSPI2_MISO 0x100b1
MX6QDL_PAD_CSI0_DAT9__ECSPI2_MOSI 0x100b1
MX6QDL_PAD_CSI0_DAT8__ECSPI2_SCLK 0x100b1
>;
};
pinctrl_ecspi2_cs: ecspi2csgrp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT11__GPIO5_IO29 0x100b1
>;
};
pinctrl_ecspi2_flwp: ecspi2flwpgrp {
fsl,pins = <
MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x1b0b0
>;
};
pinctrl_ecspi3: ecspi3grp {
fsl,pins = <
MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO 0x100b1
MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI 0x100b1
MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK 0x100b1
>;
};
pinctrl_ecspi3_cs: ecspi3csgrp {
fsl,pins = <
MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24 0x1b0b0
>;
};
pinctrl_ecspi3_flwp: ecspi3flwpgrp {
fsl,pins = <
MX6QDL_PAD_DISP0_DAT6__GPIO4_IO27 0x1b0b0
>;
};
pinctrl_enet: enetgrp {
fsl,pins = <
MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1
MX6QDL_PAD_ENET_RXD0__GPIO1_IO27 0x1b0b0
>;
};
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
>;
};
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX6QDL_PAD_EIM_EB2__I2C2_SCL 0x4001b8b1
MX6QDL_PAD_EIM_D16__I2C2_SDA 0x4001b8b1
>;
};
pinctrl_i2c3: i2c3grp {
fsl,pins = <
MX6QDL_PAD_EIM_D17__I2C3_SCL 0x4001b8b1
MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
>;
};
pinctrl_pwm2: pwm2grp {
fsl,pins = <
MX6QDL_PAD_DISP0_DAT9__PWM2_OUT 0x1b0b1
>;
};
pinctrl_reg_lvds: reqlvdsgrp {
fsl,pins = <
/* LVDS_PPEN_OUT */
MX6QDL_PAD_DISP0_DAT19__GPIO5_IO13 0x1b0b0
>;
};
pinctrl_uart4: uart4grp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B 0x1b0b1
MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B 0x1b0b1
>;
};
pinctrl_uart5: uart5grp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA 0x1b0b1
>;
};
pinctrl_usbh1: usbh1grp {
fsl,pins = <
MX6QDL_PAD_EIM_D30__USB_H1_OC 0x030b0
>;
};
pinctrl_usbh1_vbus: usbh1_vbus_grp {
fsl,pins = <
MX6QDL_PAD_EIM_D31__GPIO3_IO31 0x1b0b0
>;
};
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
MX6QDL_PAD_NANDF_ALE__SD4_RESET 0x17059
>;
};
};
...@@ -392,8 +392,6 @@ &usdhc3 { ...@@ -392,8 +392,6 @@ &usdhc3 {
}; };
&iomuxc { &iomuxc {
imx6q-gw5400-a {
pinctrl_audmux: audmuxgrp { pinctrl_audmux: audmuxgrp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x130b0 MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x130b0
...@@ -514,5 +512,4 @@ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 ...@@ -514,5 +512,4 @@ MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
>; >;
}; };
};
}; };
...@@ -47,30 +47,6 @@ ...@@ -47,30 +47,6 @@
/ { / {
model = "Engicam i.CoreM6 Quad/Dual RQS Starter Kit"; model = "Engicam i.CoreM6 Quad/Dual RQS Starter Kit";
compatible = "engicam,imx6-icore-rqs", "fsl,imx6q"; compatible = "engicam,imx6-icore-rqs", "fsl,imx6q";
sound {
compatible = "fsl,imx-audio-sgtl5000";
model = "imx-audio-sgtl5000";
ssi-controller = <&ssi1>;
audio-codec = <&codec>;
audio-routing =
"MIC_IN", "Mic Jack",
"Mic Jack", "Mic Bias",
"Headphone Jack", "HP_OUT";
mux-int-port = <1>;
mux-ext-port = <4>;
};
};
&i2c3 {
codec: sgtl5000@a {
compatible = "fsl,sgtl5000";
reg = <0x0a>;
clocks = <&clks IMX6QDL_CLK_CKO>;
VDDA-supply = <&reg_2p5v>;
VDDIO-supply = <&reg_3p3v>;
VDDD-supply = <&reg_1p8v>;
};
}; };
&sata { &sata {
......
...@@ -158,7 +158,6 @@ reg_pcie: regulator-pcie { ...@@ -158,7 +158,6 @@ reg_pcie: regulator-pcie {
regulator-max-microvolt = <1500000>; regulator-max-microvolt = <1500000>;
gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>; gpio = <&gpio7 12 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
regulator-always-on;
}; };
reg_sata: regulator-sata { reg_sata: regulator-sata {
...@@ -447,6 +446,7 @@ &pcie { ...@@ -447,6 +446,7 @@ &pcie {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcie_novena>; pinctrl-0 = <&pinctrl_pcie_novena>;
reset-gpio = <&gpio3 29 GPIO_ACTIVE_LOW>; reset-gpio = <&gpio3 29 GPIO_ACTIVE_LOW>;
vpcie-supply = <&reg_pcie>;
status = "okay"; status = "okay";
}; };
......
/*
* Copyright (C) 2017 NutsBoard.Org
*
* Author: Wig Cheng <onlywig@gmail.com>
*
* 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.
*
* 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 <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "imx6q.dtsi"
/ {
model = "NutsBoard i.MX6 Quad Pistachio board";
compatible = "nutsboard,imx6q-pistachio", "fsl,imx6q";
chosen {
stdout-path = &uart4;
};
memory: memory {
reg = <0x10000000 0x80000000>;
};
reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "3P3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
reg_1p8v: regulator-1p8v {
compatible = "regulator-fixed";
regulator-name = "1P8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
wlan_en_reg: regulator-wlan_en {
compatible = "regulator-fixed";
regulator-name = "wlan-en-regulator";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&gpio2 24 GPIO_ACTIVE_HIGH>;
startup-delay-us = <70000>;
enable-active-high;
};
reg_usb_otg_vbus: regulator-usb_vbus {
compatible = "regulator-fixed";
regulator-name = "usb_otg_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
enable-active-high;
vin-supply = <&swbst_reg>;
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpio_keys>;
power {
label = "Power Button";
gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
gpio-key,wakeup;
linux,code = <KEY_POWER>;
};
};
sound {
compatible = "fsl,imx-sgtl5000",
"fsl,imx-audio-sgtl5000";
model = "audio-sgtl5000";
ssi-controller = <&ssi1>;
audio-codec = <&codec>;
audio-routing =
"MIC_IN", "Mic Jack",
"Mic Jack", "Mic Bias",
"Headphone Jack", "HP_OUT";
mux-int-port = <1>;
mux-ext-port = <3>;
};
backlight_lvds: backlight-lvds {
compatible = "pwm-backlight";
pwms = <&pwm1 0 50000>;
brightness-levels = <
0 /*1 2 3 4 5 6*/ 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100
>;
default-brightness-level = <94>;
status = "okay";
};
panel {
compatible = "hannstar,hsd100pxn1";
backlight = <&backlight_lvds>;
port {
panel_in: endpoint {
remote-endpoint = <&lvds0_out>;
};
};
};
};
&audmux {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_audmux>;
status = "okay";
};
&can2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexcan2>;
status = "okay";
};
&clks {
assigned-clocks = <&clks IMX6QDL_CLK_LDB_DI0_SEL>,
<&clks IMX6QDL_CLK_LDB_DI1_SEL>;
assigned-clock-parents = <&clks IMX6QDL_CLK_PLL3_USB_OTG>,
<&clks IMX6QDL_CLK_PLL3_USB_OTG>;
};
&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>;
phy-mode = "rgmii";
status = "okay";
};
&hdmi {
ddc-i2c-bus = <&i2c2>;
status = "okay";
};
&i2c1 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "okay";
codec: sgtl5000@a {
compatible = "fsl,sgtl5000";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1_sgtl5000>;
reg = <0x0a>;
clocks = <&clks IMX6QDL_CLK_CKO>;
VDDA-supply = <&reg_1p8v>;
VDDIO-supply = <&reg_1p8v>;
};
};
&i2c2 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c2>;
status = "okay";
pmic: pfuze100@8 {
compatible = "fsl,pfuze100";
reg = <0x08>;
regulators {
sw1a_reg: sw1ab {
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1875000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <6250>;
};
sw1c_reg: sw1c {
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;
regulator-ramp-delay = <6250>;
};
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;
};
sw4_reg: sw4 {
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3300000>;
};
swbst_reg: swbst {
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5150000>;
};
snvs_reg: vsnvs {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3000000>;
regulator-boot-on;
regulator-always-on;
};
vref_reg: vrefddr {
regulator-boot-on;
regulator-always-on;
};
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>;
};
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;
};
};
};
ar1021@4d {
compatible = "microchip,ar1021-i2c";
reg = <0x4d>;
interrupt-parent = <&gpio6>;
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
};
};
&i2c3 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c3>;
status = "okay";
};
&iomuxc {
pinctrl-names = "default";
pinctrl_hog: hoggrp {
fsl,pins = <
MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0 /*pcie power*/
MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1b0b0 /*LCD power*/
MX6QDL_PAD_EIM_D16__GPIO3_IO16 0x1b0b0 /*backlight power*/
MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x1b0b1 /*SD3 CD pin*/
MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x1b0b0 /*codec power*/
MX6QDL_PAD_EIM_A16__GPIO2_IO22 0x1b0b0 /*touch reset*/
MX6QDL_PAD_NANDF_ALE__GPIO6_IO08 0x1b0b01 /*touch irq*/
MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x1b0b0/*backlight pwr*/
MX6QDL_PAD_GPIO_16__GPIO7_IO11 0x1b0b0 /*gpio 5V_1*/
MX6QDL_PAD_EIM_A19__GPIO2_IO19 0x1b0b0 /*gpio 5V_2*/
MX6QDL_PAD_EIM_A24__GPIO5_IO04 0x1b0b0 /*gpio 5V_3*/
MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x1b0b0 /*gpio 5V_4*/
MX6QDL_PAD_NANDF_CLE__GPIO6_IO07 0x1b0b0 /*AUX_5V_EN*/
MX6QDL_PAD_NANDF_WP_B__GPIO6_IO09 0x1b0b0 /*AUX_5VB_EN*/
MX6QDL_PAD_NANDF_RB0__GPIO6_IO10 0x1b0b0 /*AUX_3V3_EN*/
MX6QDL_PAD_EIM_D21__GPIO3_IO21 0x1b0b0 /*I2C expander pwr*/
>;
};
pinctrl_audmux: audmuxgrp {
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_ecspi1: ecspi1grp {
fsl,pins = <
MX6QDL_PAD_KEY_COL1__ECSPI1_MISO 0x100b1
MX6QDL_PAD_KEY_ROW0__ECSPI1_MOSI 0x100b1
MX6QDL_PAD_KEY_COL0__ECSPI1_SCLK 0x100b1
MX6QDL_PAD_KEY_ROW1__GPIO4_IO09 0x1b0b0
>;
};
pinctrl_enet: enetgrp {
fsl,pins = <
MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b8b0
MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
/* AR8035 reset */
MX6QDL_PAD_EIM_A20__GPIO2_IO18 0x130b0
/* AR8035 interrupt */
MX6QDL_PAD_EIM_CS0__GPIO2_IO23 0x1b0b1
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
/* AR8035 CLK_25M --> ENET_REF_CLK (V22) */
MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x0a0b1
/* AR8035 pin strapping: IO voltage: pull up */
MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030
/* AR8035 pin strapping: PHYADDR#0: pull down */
MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x13030
/* AR8035 pin strapping: PHYADDR#1: pull down */
MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x13030
/* AR8035 pin strapping: MODE#1: pull up */
MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030
/* AR8035 pin strapping: MODE#3: pull up */
MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
/* AR8035 pin strapping: MODE#0: pull down */
MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x13030
>;
};
pinctrl_flexcan2: flexcan2grp {
fsl,pins = <
MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x1b0b0
MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b0b0
>;
};
pinctrl_gpio_keys: gpio_keysgrp {
fsl,pins = <
MX6QDL_PAD_SD4_DAT4__GPIO2_IO12 0x1b0b0
>;
};
pinctrl_hdmi_cec: hdmicecgrp {
fsl,pins = <
MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x108b0
>;
};
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
MX6QDL_PAD_CSI0_DAT9__I2C1_SCL 0x4001b8b1
>;
};
pinctrl_i2c2: i2c2grp {
fsl,pins = <
MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
>;
};
pinctrl_i2c3: i2c3grp {
fsl,pins = <
MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
>;
};
pinctrl_i2c1_sgtl5000: i2c1-sgtl5000grp {
fsl,pins = <
MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x000b0 /* sys_mclk */
MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x130b0 /*headphone det*/
MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x130b0 /*microphone det*/
>;
};
pinctrl_pwm1: pwm1grp {
fsl,pins = <
MX6QDL_PAD_GPIO_9__PWM1_OUT 0x1b0b1
>;
};
pinctrl_uart1: uart1grp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT10__UART1_RX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT11__UART1_TX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D20__UART1_CTS_B 0x1b0b1
MX6QDL_PAD_EIM_D19__UART1_RTS_B 0x1b0b1
MX6QDL_PAD_EIM_D23__UART1_DCD_B 0x1b0b0
MX6QDL_PAD_EIM_D24__UART1_DTR_B 0x1b0b0
MX6QDL_PAD_EIM_D25__UART1_DSR_B 0x1b0b0
>;
};
pinctrl_uart2: uart2grp {
fsl,pins = <
MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D28__UART2_CTS_B 0x1b0b1
MX6QDL_PAD_EIM_D29__UART2_RTS_B 0x1b0b1
>;
};
pinctrl_uart3: uart3grp {
fsl,pins = <
MX6QDL_PAD_SD4_CLK__UART3_RX_DATA 0x1b0b1
MX6QDL_PAD_SD4_CMD__UART3_TX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D30__UART3_CTS_B 0x1b0b1
MX6QDL_PAD_EIM_D31__UART3_RTS_B 0x1b0b1
>;
};
pinctrl_uart4: uart4grp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B 0x1b0b1
MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B 0x1b0b1
>;
};
pinctrl_uart5: uart5grp {
fsl,pins = <
MX6QDL_PAD_CSI0_DAT14__UART5_TX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT15__UART5_RX_DATA 0x1b0b1
MX6QDL_PAD_CSI0_DAT18__UART5_RTS_B 0x1b0b1
MX6QDL_PAD_CSI0_DAT19__UART5_CTS_B 0x1b0b1
MX6QDL_PAD_EIM_A21__GPIO2_IO17 0x15059 /*BT_EN*/
>;
};
pinctrl_usbotg: usbotggrp {
fsl,pins = <
MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
>;
};
pinctrl_usdhc1: usdhc1grp {
fsl,pins = <
MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17059
MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10059
MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059
MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059
MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059
MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059
MX6QDL_PAD_NANDF_D0__SD1_DATA4 0x17059
MX6QDL_PAD_NANDF_D1__SD1_DATA5 0x17059
MX6QDL_PAD_NANDF_D2__SD1_DATA6 0x17059
MX6QDL_PAD_NANDF_D3__SD1_DATA7 0x17059
>;
};
pinctrl_usdhc2: usdhc2grp {
fsl,pins = <
MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059
MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059
MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059
MX6QDL_PAD_EIM_RW__GPIO2_IO26 0x15059 /*WL_EN_LDO*/
MX6QDL_PAD_EIM_CS1__GPIO2_IO24 0x15059 /*WL_EN*/
MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18 0x15059 /*WL_IRQ*/
>;
};
pinctrl_usdhc3: usdhc3grp {
fsl,pins = <
MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17071
MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10071
MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17071
MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17071
MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17071
MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17071
>;
};
pinctrl_wdog: wdoggrp {
fsl,pins = <
MX6QDL_PAD_GPIO_1__WDOG2_B 0x1b0b00
>;
};
};
&ldb {
status = "okay";
lvds-channel@1 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
status = "okay";
port@4 {
reg = <4>;
lvds0_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
};
&pwm1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm1>;
status = "okay";
};
&snvs_poweroff {
status = "okay";
};
&ssi1 {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
uart-has-rtscts;
fsl,dte-mode;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
uart-has-rtscts;
status = "okay";
};
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>;
uart-has-rtscts;
status = "okay";
};
&uart4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>;
uart-has-rtscts;
status = "okay";
};
&uart5 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart5>;
fsl,uart-has-rtscts;
status = "okay";
};
&usbotg {
vbus-supply = <&reg_usb_otg_vbus>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbotg>;
disable-over-current;
srp-disable;
hnp-disable;
adp-disable;
status = "okay";
};
&usbh1 {
status = "okay";
};
&usbphy1 {
fsl,tx-d-cal = <0x5>;
};
&usbphy2 {
fsl,tx-d-cal = <0x5>;
};
&usdhc1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc1>;
bus-width = <8>;
keep-power-in-suspend;
vmmc-supply = <&reg_3p3v>;
status = "okay";
};
&usdhc2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2>;
bus-width = <4>;
vmmc-supply = <&wlan_en_reg>;
no-1-8-v;
keep-power-in-suspend;
non-removable;
cap-power-off-card;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
wlcore: wlcore@2 {
compatible = "ti,wl1835";
reg = <2>;
interrupt-parent = <&gpio5>;
interrupts = <18 IRQ_TYPE_LEVEL_HIGH>;
ref-clock-frequency = <38400000>;
tcxo-clock-frequency = <26000000>;
};
};
&usdhc3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc3>;
bus-width = <4>;
cd-gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
no-1-8-v;
keep-power-in-suspend;
wakeup-source;
status = "okay";
};
&sata {
status = "okay";
};
&wdog1 {
status = "okay";
};
/* /*
* Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -42,70 +42,16 @@ ...@@ -42,70 +42,16 @@
/dts-v1/; /dts-v1/;
#include "imx6q.dtsi" #include "imx6q.dtsi"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"
/ { / {
model = "Ka-Ro electronics TX6Q-1010 Module on CoMpact TFT"; model = "Ka-Ro electronics TX6Q-1010 Module on CoMpact TFT";
compatible = "karo,imx6q-tx6q", "fsl,imx6q"; compatible = "karo,imx6q-tx6q", "fsl,imx6q";
};
aliases { &backlight {
display = &display;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 0>; pwms = <&pwm2 0 500000 0>;
power-supply = <&reg_3v3>; /delete-property/ turn-on-delay-ms;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
display: display@di0 {
compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp0_1>;
status = "okay";
port {
display0_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
display-timings {
native-mode = <&ET070001DM6>;
ET070001DM6: CoMTFT { /* same as ET0700 but with inverted pixel clock */
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
}; };
&can1 { &can1 {
...@@ -116,14 +62,14 @@ &can2 { ...@@ -116,14 +62,14 @@ &can2 {
xceiver-supply = <&reg_3v3>; xceiver-supply = <&reg_3v3>;
}; };
&ipu1_di0_disp0 {
remote-endpoint = <&display0_in>;
};
&kpp { &kpp {
status = "disabled"; status = "disabled";
}; };
&lcd_panel {
compatible = "edt,etm0700g0edh6";
};
&reg_can_xcvr { &reg_can_xcvr {
status = "disabled"; status = "disabled";
}; };
......
/* /*
* Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -42,166 +42,13 @@ ...@@ -42,166 +42,13 @@
/dts-v1/; /dts-v1/;
#include "imx6q.dtsi" #include "imx6q.dtsi"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"
/ { / {
model = "Ka-Ro electronics TX6Q-1010 Module"; model = "Ka-Ro electronics TX6Q-1010/-1030 Module";
compatible = "karo,imx6q-tx6q", "fsl,imx6q"; compatible = "karo,imx6q-tx6q", "fsl,imx6q";
aliases {
display = &display;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
power-supply = <&reg_3v3>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
display: display@di0 {
compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp0_1>;
status = "okay";
port {
display0_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
display-timings {
VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hsync-len = <96>;
hfront-porch = <16>;
vback-porch = <31>;
vsync-len = <2>;
vfront-porch = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETV570 {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <114>;
hsync-len = <30>;
hfront-porch = <16>;
vback-porch = <32>;
vsync-len = <3>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0350 {
clock-frequency = <6413760>;
hactive = <320>;
vactive = <240>;
hback-porch = <34>;
hsync-len = <34>;
hfront-porch = <20>;
vback-porch = <15>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0430 {
clock-frequency = <9009000>;
hactive = <480>;
vactive = <272>;
hback-porch = <2>;
hsync-len = <41>;
hfront-porch = <2>;
vback-porch = <2>;
vsync-len = <10>;
vfront-porch = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
ET0500 {
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0700 { /* same as ET0500 */
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETQ570 {
clock-frequency = <6596040>;
hactive = <320>;
vactive = <240>;
hback-porch = <38>;
hsync-len = <30>;
hfront-porch = <30>;
vback-porch = <16>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
}; };
&ipu1_di0_disp0 { &ipu2 {
remote-endpoint = <&display0_in>; status = "disabled";
}; };
/* /*
* Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -42,70 +42,16 @@ ...@@ -42,70 +42,16 @@
/dts-v1/; /dts-v1/;
#include "imx6q.dtsi" #include "imx6q.dtsi"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"
/ { / {
model = "Ka-Ro electronics TX6Q-1020 Module on CoMpact TFT"; model = "Ka-Ro electronics TX6Q-1020 Module on CoMpact TFT";
compatible = "karo,imx6q-tx6q", "fsl,imx6q"; compatible = "karo,imx6q-tx6q", "fsl,imx6q";
};
aliases { &backlight {
display = &display;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 0>; pwms = <&pwm2 0 500000 0>;
power-supply = <&reg_3v3>; /delete-property/ turn-on-delay-ms;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
display: display@di0 {
compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp0_1>;
status = "okay";
port {
display0_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
display-timings {
native-mode = <&ET070001DM6>;
ET070001DM6: CoMTFT { /* same as ET0700 but with inverted pixel clock */
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
}; };
&can1 { &can1 {
...@@ -124,14 +70,14 @@ &gpmi { ...@@ -124,14 +70,14 @@ &gpmi {
status = "disabled"; status = "disabled";
}; };
&ipu1_di0_disp0 {
remote-endpoint = <&display0_in>;
};
&kpp { &kpp {
status = "disabled"; status = "disabled";
}; };
&lcd_panel {
compatible = "edt,etm0700g0edh6";
};
&reg_can_xcvr { &reg_can_xcvr {
status = "disabled"; status = "disabled";
}; };
......
/* /*
* Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -42,164 +42,11 @@ ...@@ -42,164 +42,11 @@
/dts-v1/; /dts-v1/;
#include "imx6q.dtsi" #include "imx6q.dtsi"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"
/ { / {
model = "Ka-Ro electronics TX6Q-1020 Module"; model = "Ka-Ro electronics TX6Q-1020 Module";
compatible = "karo,imx6q-tx6q", "fsl,imx6q"; compatible = "karo,imx6q-tx6q", "fsl,imx6q";
aliases {
display = &display;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
power-supply = <&reg_3v3>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
display: display@di0 {
compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "rgb24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp0_1>;
status = "okay";
port {
display0_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
display-timings {
VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hsync-len = <96>;
hfront-porch = <16>;
vback-porch = <31>;
vsync-len = <2>;
vfront-porch = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETV570 {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <114>;
hsync-len = <30>;
hfront-porch = <16>;
vback-porch = <32>;
vsync-len = <3>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0350 {
clock-frequency = <6413760>;
hactive = <320>;
vactive = <240>;
hback-porch = <34>;
hsync-len = <34>;
hfront-porch = <20>;
vback-porch = <15>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0430 {
clock-frequency = <9009000>;
hactive = <480>;
vactive = <272>;
hback-porch = <2>;
hsync-len = <41>;
hfront-porch = <2>;
vback-porch = <2>;
vsync-len = <10>;
vfront-porch = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
ET0500 {
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0700 { /* same as ET0500 */
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETQ570 {
clock-frequency = <6596040>;
hactive = <320>;
vactive = <240>;
hback-porch = <38>;
hsync-len = <30>;
hfront-porch = <30>;
vback-porch = <16>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
}; };
&ds1339 { &ds1339 {
...@@ -210,14 +57,15 @@ &gpmi { ...@@ -210,14 +57,15 @@ &gpmi {
status = "disabled"; status = "disabled";
}; };
&ipu1_di0_disp0 { &ipu2 {
remote-endpoint = <&display0_in>; status = "disabled";
}; };
&usdhc4 { &usdhc4 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc4>; pinctrl-0 = <&pinctrl_usdhc4>;
bus-width = <4>; bus-width = <4>;
non-removable;
no-1-8-v; no-1-8-v;
fsl,wp-controller; fsl,wp-controller;
status = "okay"; status = "okay";
......
/*
* 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 "imx6q-tx6q-1036.dts"
#include "imx6qdl-tx6-mb7.dtsi"
/ {
model = "Ka-Ro electronics TX6Q-1036 Module on MB7 baseboard";
};
/* /*
* Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -42,169 +42,11 @@ ...@@ -42,169 +42,11 @@
/dts-v1/; /dts-v1/;
#include "imx6q.dtsi" #include "imx6q.dtsi"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"
/ { / {
model = "Ka-Ro electronics TX6Q-1036 Module"; model = "Ka-Ro electronics TX6Q-1036 Module";
compatible = "karo,imx6q-tx6q", "fsl,imx6q"; compatible = "karo,imx6q-tx6q", "fsl,imx6q";
aliases {
display = &display;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd0_pwr>;
enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
power-supply = <&reg_lcd1_pwr>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
display: display@di0 {
compatible = "fsl,imx-parallel-display";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp0_2>;
interface-pix-fmt = "rgb24";
status = "okay";
port {
display0_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
display-timings {
native-mode = <&vga>;
vga: VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hsync-len = <96>;
hfront-porch = <16>;
vback-porch = <31>;
vsync-len = <2>;
vfront-porch = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETV570 {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <114>;
hsync-len = <30>;
hfront-porch = <16>;
vback-porch = <32>;
vsync-len = <3>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0350 {
clock-frequency = <6413760>;
hactive = <320>;
vactive = <240>;
hback-porch = <34>;
hsync-len = <34>;
hfront-porch = <20>;
vback-porch = <15>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0430 {
clock-frequency = <9009000>;
hactive = <480>;
vactive = <272>;
hback-porch = <2>;
hsync-len = <41>;
hfront-porch = <2>;
vback-porch = <2>;
vsync-len = <10>;
vfront-porch = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
ET0500 {
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0700 { /* same as ET0500 */
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETQ570 {
clock-frequency = <6596040>;
hactive = <320>;
vactive = <240>;
hback-porch = <38>;
hsync-len = <30>;
hfront-porch = <30>;
vback-porch = <16>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
}; };
&ds1339 { &ds1339 {
...@@ -215,18 +57,10 @@ &gpmi { ...@@ -215,18 +57,10 @@ &gpmi {
status = "disabled"; status = "disabled";
}; };
&ipu1_di0_disp0 {
remote-endpoint = <&display0_in>;
};
&ipu2 { &ipu2 {
status = "disabled"; status = "disabled";
}; };
&reg_lcd0_pwr {
status = "disabled";
};
&usdhc4 { &usdhc4 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc4>; pinctrl-0 = <&pinctrl_usdhc4>;
......
/*
* 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 "imx6q-tx6q-1010.dts"
#include "imx6qdl-tx6-mb7.dtsi"
/ {
model = "Ka-Ro electronics TX6Q-1010/-1030 Module on MB7 baseboard";
};
/* /*
* Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -42,141 +42,17 @@ ...@@ -42,141 +42,17 @@
/dts-v1/; /dts-v1/;
#include "imx6q.dtsi" #include "imx6q.dtsi"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lvds.dtsi"
/ { / {
model = "Ka-Ro electronics TX6Q-1110 Module"; model = "Ka-Ro electronics TX6Q-1110/-1130 Module";
compatible = "karo,imx6q-tx6q", "fsl,imx6q"; compatible = "karo,imx6q-tx6q", "fsl,imx6q";
aliases {
display = &lvds0;
lvds0 = &lvds0;
lvds1 = &lvds1;
};
backlight0: backlight0 {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 0>;
power-supply = <&reg_lcd0_pwr>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
backlight1: backlight1 {
compatible = "pwm-backlight";
pwms = <&pwm1 0 500000 0>;
power-supply = <&reg_lcd1_pwr>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
}; };
&i2c3 { &ipu2 {
polytouch1: eeti@4 {
compatible = "eeti,egalax_ts";
reg = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eeti>;
interrupt-parent = <&gpio3>;
interrupts = <22 0>;
wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
wakeup-source;
};
};
&kpp {
status = "disabled"; /* pad conflict with backlight1 PWM */
};
&ldb {
status = "okay";
lvds0: lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
status = "okay";
display-timings {
native-mode = <&lvds_timing0>;
lvds_timing0: hsd100pxn1 {
clock-frequency = <65000000>;
hactive = <1024>;
vactive = <768>;
hback-porch = <220>;
hfront-porch = <40>;
vback-porch = <21>;
vfront-porch = <7>;
hsync-len = <60>;
vsync-len = <10>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
lvds1: lvds-channel@1 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
status = "disabled"; status = "disabled";
display-timings {
native-mode = <&lvds_timing1>;
lvds_timing1: hsd100pxn1 {
clock-frequency = <65000000>;
hactive = <1024>;
vactive = <768>;
hback-porch = <220>;
hfront-porch = <40>;
vback-porch = <21>;
vfront-porch = <7>;
hsync-len = <60>;
vsync-len = <10>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
&pwm1 {
status = "okay";
}; };
&sata { &sata {
status = "okay"; status = "okay";
}; };
&iomuxc {
pinctrl_eeti: eetigrp {
fsl,pins = <
MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */
>;
};
};
/* /*
* Copyright 2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2016-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -40,225 +40,9 @@ ...@@ -40,225 +40,9 @@
*/ */
/dts-v1/; /dts-v1/;
#include "imx6q.dtsi" #include "imx6q-tx6q-1110.dts"
#include "imx6qdl-tx6.dtsi" #include "imx6qdl-tx6-mb7.dtsi"
/ { / {
model = "Ka-Ro electronics TX6Q-1110/-1130 Module on MB7 baseboard"; model = "Ka-Ro electronics TX6Q-1110/-1130 Module on MB7 baseboard";
compatible = "karo,imx6q-tx6q", "fsl,imx6q";
aliases {
display = &lvds0;
ipu1 = &ipu2;
lvds0 = &lvds0;
lvds1 = &lvds1;
};
backlight0: backlight0 {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
power-supply = <&reg_lcd0_pwr>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
backlight1: backlight1 {
compatible = "pwm-backlight";
pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>;
power-supply = <&reg_lcd1_pwr>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
};
&can1 {
status = "disabled";
};
&can2 {
xceiver-supply = <&reg_3v3>;
};
&i2c3 {
polytouch1: eeti@4 {
compatible = "eeti,egalax_ts";
reg = <0x04>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_eeti>;
interrupts-extended = <&gpio3 22 IRQ_TYPE_EDGE_FALLING>;
wakeup-gpios = <&gpio3 22 GPIO_ACTIVE_HIGH>;
wakeup-source;
};
};
&ipu2 {
status = "disabled";
};
&kpp {
status = "disabled"; /* pads partially clash with backlight1 PWM */
};
&ldb {
status = "okay";
lvds0: lvds-channel@0 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
status = "okay";
display-timings {
native-mode = <&lvds0_timing1>;
lvds0_timing0: hsd100pxn1 {
clock-frequency = <65000000>;
hactive = <1024>;
vactive = <768>;
hback-porch = <220>;
hfront-porch = <40>;
vback-porch = <21>;
vfront-porch = <7>;
hsync-len = <60>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
lvds0_timing1: VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hfront-porch = <16>;
vback-porch = <31>;
vfront-porch = <12>;
hsync-len = <96>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
lvds0_timing2: nl12880bc20 {
clock-frequency = <71000000>;
hactive = <1280>;
vactive = <800>;
hback-porch = <50>;
hfront-porch = <50>;
vback-porch = <5>;
vfront-porch = <5>;
hsync-len = <60>;
vsync-len = <13>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
lvds1: lvds-channel@1 {
fsl,data-mapping = "spwg";
fsl,data-width = <18>;
status = "okay";
display-timings {
native-mode = <&lvds1_timing2>;
lvds1_timing0: hsd100pxn1 {
clock-frequency = <65000000>;
hactive = <1024>;
vactive = <768>;
hback-porch = <220>;
hfront-porch = <40>;
vback-porch = <21>;
vfront-porch = <7>;
hsync-len = <60>;
vsync-len = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
lvds1_timing1: VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hfront-porch = <16>;
vback-porch = <31>;
vfront-porch = <12>;
hsync-len = <96>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
lvds1_timing2: nl12880bc20 {
clock-frequency = <71000000>;
hactive = <1280>;
vactive = <800>;
hback-porch = <50>;
hfront-porch = <50>;
vback-porch = <5>;
vfront-porch = <5>;
hsync-len = <60>;
vsync-len = <13>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
&pwm1 {
status = "okay";
};
&sata {
status = "okay";
};
&iomuxc {
pinctrl_eeti: eetigrp {
fsl,pins = <
MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b1 /* Interrupt */
>;
};
}; };
...@@ -188,6 +188,8 @@ parallel_display_out: endpoint { ...@@ -188,6 +188,8 @@ parallel_display_out: endpoint {
/delete-node/&hdmi_mux_1; /delete-node/&hdmi_mux_1;
&hdmi { &hdmi {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hdmicec>;
ddc-i2c-bus = <&i2c2>; ddc-i2c-bus = <&i2c2>;
status = "okay"; status = "okay";
}; };
...@@ -211,6 +213,12 @@ MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x1b0b0 ...@@ -211,6 +213,12 @@ MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x1b0b0
>; >;
}; };
pinctrl_hdmicec: hdmicecgrp {
fsl,pins = <
MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
>;
};
pinctrl_hpd: hpdgrp { pinctrl_hpd: hpdgrp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1b0b0 MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1b0b0
......
/*
* Copyright 2013 Freescale Semiconductor, Inc.
*
* Author: Fabio Estevam <fabio.estevam@freescale.com>
*
* This program 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.
*
*/
/dts-v1/;
#include "imx6q.dtsi"
#include "imx6qdl-wandboard-revd1.dtsi"
/ {
model = "Wandboard i.MX6 Quad Board revD1";
compatible = "wand,imx6q-wandboard", "fsl,imx6q";
memory {
reg = <0x10000000 0x80000000>;
};
};
&sata {
status = "okay";
};
...@@ -54,7 +54,7 @@ chosen { ...@@ -54,7 +54,7 @@ chosen {
stdout-path = &uart4; stdout-path = &uart4;
}; };
display@di0 { disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
interface-pix-fmt = "bgr666"; interface-pix-fmt = "bgr666";
pinctrl-names = "default"; pinctrl-names = "default";
......
...@@ -332,7 +332,6 @@ &wdog1 { ...@@ -332,7 +332,6 @@ &wdog1 {
}; };
&iomuxc { &iomuxc {
imx6qdl-gw51xx {
pinctrl_adv7180: adv7180grp { pinctrl_adv7180: adv7180grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_CSI0_DAT5__GPIO5_IO23 0x0001b0b0 MX6QDL_PAD_CSI0_DAT5__GPIO5_IO23 0x0001b0b0
...@@ -502,5 +501,4 @@ pinctrl_wdog: wdoggrp { ...@@ -502,5 +501,4 @@ pinctrl_wdog: wdoggrp {
MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0 MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0
>; >;
}; };
};
}; };
...@@ -423,7 +423,6 @@ &wdog1 { ...@@ -423,7 +423,6 @@ &wdog1 {
}; };
&iomuxc { &iomuxc {
imx6qdl-gw52xx {
pinctrl_audmux: audmuxgrp { pinctrl_audmux: audmuxgrp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x130b0 MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x130b0
...@@ -631,5 +630,4 @@ pinctrl_wdog: wdoggrp { ...@@ -631,5 +630,4 @@ pinctrl_wdog: wdoggrp {
MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0 MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0
>; >;
}; };
};
}; };
...@@ -415,7 +415,6 @@ &wdog1 { ...@@ -415,7 +415,6 @@ &wdog1 {
}; };
&iomuxc { &iomuxc {
imx6qdl-gw53xx {
pinctrl_audmux: audmuxgrp { pinctrl_audmux: audmuxgrp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x130b0 MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x130b0
...@@ -615,5 +614,4 @@ pinctrl_wdog: wdoggrp { ...@@ -615,5 +614,4 @@ pinctrl_wdog: wdoggrp {
MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0 MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0
>; >;
}; };
};
}; };
...@@ -468,7 +468,6 @@ &wdog2 { ...@@ -468,7 +468,6 @@ &wdog2 {
}; };
&iomuxc { &iomuxc {
imx6qdl-gw54xx {
pinctrl_audmux: audmuxgrp { pinctrl_audmux: audmuxgrp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x130b0 MX6QDL_PAD_SD2_DAT0__AUD4_RXD 0x130b0
...@@ -684,5 +683,4 @@ pinctrl_wdog: wdoggrp { ...@@ -684,5 +683,4 @@ pinctrl_wdog: wdoggrp {
MX6QDL_PAD_SD1_DAT3__WDOG2_B 0x1b0b0 MX6QDL_PAD_SD1_DAT3__WDOG2_B 0x1b0b0
>; >;
}; };
};
}; };
...@@ -320,7 +320,6 @@ &wdog1 { ...@@ -320,7 +320,6 @@ &wdog1 {
}; };
&iomuxc { &iomuxc {
imx6qdl-gw51xx {
pinctrl_flexcan1: flexcan1grp { pinctrl_flexcan1: flexcan1grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b0b1 MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b0b1
...@@ -425,5 +424,4 @@ pinctrl_wdog: wdoggrp { ...@@ -425,5 +424,4 @@ pinctrl_wdog: wdoggrp {
MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0 MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0
>; >;
}; };
};
}; };
...@@ -270,7 +270,6 @@ &wdog1 { ...@@ -270,7 +270,6 @@ &wdog1 {
}; };
&iomuxc { &iomuxc {
imx6qdl-gw552x {
pinctrl_gpio_leds: gpioledsgrp { pinctrl_gpio_leds: gpioledsgrp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x1b0b0 MX6QDL_PAD_KEY_COL0__GPIO4_IO06 0x1b0b0
...@@ -370,5 +369,4 @@ pinctrl_wdog: wdoggrp { ...@@ -370,5 +369,4 @@ pinctrl_wdog: wdoggrp {
MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0 MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0
>; >;
}; };
};
}; };
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/clock/imx6qdl-clock.h> #include <dt-bindings/clock/imx6qdl-clock.h>
#include <dt-bindings/sound/fsl-imx-audmux.h>
/ { / {
memory { memory {
...@@ -118,17 +119,77 @@ usb_hub: usb-hub { ...@@ -118,17 +119,77 @@ usb_hub: usb-hub {
clocks = <&clks IMX6QDL_CLK_LVDS2_GATE>; clocks = <&clks IMX6QDL_CLK_LVDS2_GATE>;
clock-names = "refclk"; clock-names = "refclk";
}; };
};
&clks { sound {
assigned-clocks = <&clks IMX6QDL_CLK_LVDS2_SEL>; compatible = "simple-audio-card";
assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>; simple-audio-card,name = "imx6qdl-icore-rqs-sgtl5000";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink_master>;
simple-audio-card,frame-master = <&dailink_master>;
simple-audio-card,widgets =
"Microphone", "Mic Jack",
"Headphone", "Headphone Jack",
"Line", "Line In Jack",
"Speaker", "Line Out Jack",
"Speaker", "Ext Spk";
simple-audio-card,routing =
"MIC_IN", "Mic Jack",
"Mic Jack", "Mic Bias",
"Headphone Jack", "HP_OUT";
simple-audio-card,cpu {
sound-dai = <&ssi1>;
};
dailink_master: simple-audio-card,codec {
sound-dai = <&sgtl5000>;
};
};
}; };
&audmux { &audmux {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_audmux>; pinctrl-0 = <&pinctrl_audmux>;
status = "okay"; status = "okay";
audmux_ssi1 {
fsl,audmux-port = <MX51_AUDMUX_PORT1_SSI0>;
fsl,port-config = <
(IMX_AUDMUX_V2_PTCR_TFSDIR |
IMX_AUDMUX_V2_PTCR_TFSEL(MX51_AUDMUX_PORT4) |
IMX_AUDMUX_V2_PTCR_TCLKDIR |
IMX_AUDMUX_V2_PTCR_TCSEL(MX51_AUDMUX_PORT4) |
IMX_AUDMUX_V2_PTCR_SYN)
IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT4)
>;
};
audmux_aud4 {
fsl,audmux-port = <MX51_AUDMUX_PORT4>;
fsl,port-config = <
IMX_AUDMUX_V2_PTCR_SYN
IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT1_SSI0)
>;
};
};
&can1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can1>;
xceiver-supply = <&reg_3p3v>;
status = "okay";
};
&can2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_can2>;
xceiver-supply = <&reg_3p3v>;
status = "okay";
};
&clks {
assigned-clocks = <&clks IMX6QDL_CLK_LVDS2_SEL>;
assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>;
}; };
&fec { &fec {
...@@ -174,6 +235,16 @@ &i2c3 { ...@@ -174,6 +235,16 @@ &i2c3 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c3>; pinctrl-0 = <&pinctrl_i2c3>;
status = "okay"; status = "okay";
sgtl5000: codec@a {
#sound-dai-cells = <0>;
compatible = "fsl,sgtl5000";
reg = <0x0a>;
clocks = <&clks IMX6QDL_CLK_CKO>;
VDDA-supply = <&reg_2p5v>;
VDDIO-supply = <&reg_3p3v>;
VDDD-supply = <&reg_1p8v>;
};
}; };
&pcie { &pcie {
...@@ -184,6 +255,7 @@ &pcie { ...@@ -184,6 +255,7 @@ &pcie {
}; };
&ssi1 { &ssi1 {
fsl,mode = "i2s-slave";
status = "okay"; status = "okay";
}; };
...@@ -270,6 +342,20 @@ MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0 ...@@ -270,6 +342,20 @@ MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0
>; >;
}; };
pinctrl_can1: can1grp {
fsl,pins = <
MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b020
MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x1b020
>;
};
pinctrl_can2: can2grp {
fsl,pins = <
MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x1b020
MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b020
>;
};
pinctrl_i2c1: i2c1grp { pinctrl_i2c1: i2c1grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
......
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h> #include <dt-bindings/input/input.h>
#include <dt-bindings/sound/fsl-imx-audmux.h>
/ { / {
memory { memory {
...@@ -55,6 +56,25 @@ backlight { ...@@ -55,6 +56,25 @@ backlight {
default-brightness-level = <7>; default-brightness-level = <7>;
}; };
reg_1p8v: regulator-1p8v {
compatible = "regulator-fixed";
regulator-name = "1P8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-always-on;
};
reg_2p5v: regulator-3p3v {
compatible = "regulator-fixed";
regulator-name = "2P5V";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2500000>;
regulator-boot-on;
regulator-always-on;
};
reg_3p3v: regulator-3p3v { reg_3p3v: regulator-3p3v {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "3P3V"; regulator-name = "3P3V";
...@@ -87,6 +107,59 @@ rmii_clk: clock-rmii-clk { ...@@ -87,6 +107,59 @@ rmii_clk: clock-rmii-clk {
#clock-cells = <0>; #clock-cells = <0>;
clock-frequency = <25000000>; /* 25MHz for example */ clock-frequency = <25000000>; /* 25MHz for example */
}; };
sound {
compatible = "simple-audio-card";
simple-audio-card,name = "imx6qdl-icore-sgtl5000";
simple-audio-card,format = "i2s";
simple-audio-card,bitclock-master = <&dailink_master>;
simple-audio-card,frame-master = <&dailink_master>;
simple-audio-card,widgets =
"Microphone", "Mic Jack",
"Headphone", "Headphone Jack",
"Line", "Line In Jack",
"Speaker", "Line Out Jack",
"Speaker", "Ext Spk";
simple-audio-card,routing =
"MIC_IN", "Mic Jack",
"Mic Jack", "Mic Bias",
"Headphone Jack", "HP_OUT";
simple-audio-card,cpu {
sound-dai = <&ssi1>;
};
dailink_master: simple-audio-card,codec {
sound-dai = <&sgtl5000>;
};
};
};
&audmux {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_audmux>;
status = "okay";
audmux_ssi1 {
fsl,audmux-port = <MX51_AUDMUX_PORT1_SSI0>;
fsl,port-config = <
(IMX_AUDMUX_V2_PTCR_TFSDIR |
IMX_AUDMUX_V2_PTCR_TFSEL(MX51_AUDMUX_PORT4) |
IMX_AUDMUX_V2_PTCR_TCLKDIR |
IMX_AUDMUX_V2_PTCR_TCSEL(MX51_AUDMUX_PORT4) |
IMX_AUDMUX_V2_PTCR_SYN)
IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT4)
>;
};
audmux_aud4 {
fsl,audmux-port = <MX51_AUDMUX_PORT4>;
fsl,port-config = <
IMX_AUDMUX_V2_PTCR_SYN
IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT1_SSI0)
>;
};
}; };
&can1 { &can1 {
...@@ -141,6 +214,16 @@ &i2c3 { ...@@ -141,6 +214,16 @@ &i2c3 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c3>; pinctrl-0 = <&pinctrl_i2c3>;
status = "okay"; status = "okay";
sgtl5000: codec@a {
#sound-dai-cells = <0>;
compatible = "fsl,sgtl5000";
reg = <0x0a>;
clocks = <&clks IMX6QDL_CLK_CKO>;
VDDA-supply = <&reg_2p5v>;
VDDIO-supply = <&reg_3p3v>;
VDDD-supply = <&reg_1p8v>;
};
}; };
&pwm3 { &pwm3 {
...@@ -149,6 +232,11 @@ &pwm3 { ...@@ -149,6 +232,11 @@ &pwm3 {
status = "okay"; status = "okay";
}; };
&ssi1 {
fsl,mode = "i2s-slave";
status = "okay";
};
&uart4 { &uart4 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart4>; pinctrl-0 = <&pinctrl_uart4>;
...@@ -178,6 +266,15 @@ &usdhc1 { ...@@ -178,6 +266,15 @@ &usdhc1 {
}; };
&iomuxc { &iomuxc {
pinctrl_audmux: audmux {
fsl,pins = <
MX6QDL_PAD_DISP0_DAT20__AUD4_TXC 0x130b0
MX6QDL_PAD_DISP0_DAT21__AUD4_TXD 0x110b0
MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS 0x130b0
MX6QDL_PAD_DISP0_DAT23__AUD4_RXD 0x130b0
>;
};
pinctrl_enet: enetgrp { pinctrl_enet: enetgrp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0 MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0
......
...@@ -256,7 +256,7 @@ backlight_lvds1: backlight-lvds1 { ...@@ -256,7 +256,7 @@ backlight_lvds1: backlight-lvds1 {
status = "okay"; status = "okay";
}; };
lcd_display: display@di0 { lcd_display: disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -120,7 +120,7 @@ volume-down { ...@@ -120,7 +120,7 @@ volume-down {
}; };
}; };
lcd_display: display@di0 { lcd_display: disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -197,7 +197,7 @@ backlight_lvds: backlight-lvds { ...@@ -197,7 +197,7 @@ backlight_lvds: backlight-lvds {
status = "okay"; status = "okay";
}; };
lcd_display: display@di0 { lcd_display: disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -221,7 +221,7 @@ backlight_lvds: backlight-lvds { ...@@ -221,7 +221,7 @@ backlight_lvds: backlight-lvds {
status = "okay"; status = "okay";
}; };
lcd_display: display@di0 { lcd_display: disp0 {
compatible = "fsl,imx-parallel-display"; compatible = "fsl,imx-parallel-display";
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
......
...@@ -67,7 +67,6 @@ reg_pcie: regulator@3 { ...@@ -67,7 +67,6 @@ reg_pcie: regulator@3 {
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
gpio = <&gpio3 19 0>; gpio = <&gpio3 19 0>;
regulator-always-on;
enable-active-high; enable-active-high;
}; };
}; };
...@@ -214,6 +213,8 @@ &fec { ...@@ -214,6 +213,8 @@ &fec {
}; };
&hdmi { &hdmi {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hdmi_cec>;
ddc-i2c-bus = <&i2c2>; ddc-i2c-bus = <&i2c2>;
status = "okay"; status = "okay";
}; };
...@@ -486,6 +487,12 @@ MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x1b0b0 ...@@ -486,6 +487,12 @@ MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x1b0b0
>; >;
}; };
pinctrl_hdmi_cec: hdmicecgrp {
fsl,pins = <
MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE 0x1f8b0
>;
};
pinctrl_i2c1: i2c1grp { pinctrl_i2c1: i2c1grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1 MX6QDL_PAD_CSI0_DAT8__I2C1_SDA 0x4001b8b1
...@@ -651,6 +658,7 @@ &pcie { ...@@ -651,6 +658,7 @@ &pcie {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pcie>; pinctrl-0 = <&pinctrl_pcie>;
reset-gpio = <&gpio7 12 GPIO_ACTIVE_LOW>; reset-gpio = <&gpio7 12 GPIO_ACTIVE_LOW>;
vpcie-supply = <&reg_pcie>;
status = "okay"; status = "okay";
}; };
......
/*
* 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.
*/
/ {
aliases {
display = &display;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd1_pwr>;
enable-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>;
power-supply = <&reg_3v3>;
turn-on-delay-ms = <35>;
/*
* a poor man's way to create a 1:1 relationship between
* the PWM value and the actual duty cycle
*/
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
lcd_panel: lcd-panel {
compatible = "edt,etm0700g0dh6";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcd0_pwr>;
enable-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
power-supply = <&reg_3v3>;
backlight = <&backlight>;
bus-format-override = "rgb24";
port {
lcd_panel_in: endpoint {
remote-endpoint = <&lcd_out>;
};
};
};
display: disp0 {
compatible = "fsl,imx-parallel-display";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_disp0_1>;
status = "okay";
port@0 {
reg = <0>;
lcd_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
port@1 {
reg = <1>;
lcd_out: endpoint {
remote-endpoint = <&lcd_panel_in>;
};
};
display-timings {
VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hsync-len = <96>;
hfront-porch = <16>;
vback-porch = <31>;
vsync-len = <2>;
vfront-porch = <12>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETV570 {
u-boot,panel-name = "edt,et057090dhu";
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <114>;
hsync-len = <30>;
hfront-porch = <16>;
vback-porch = <32>;
vsync-len = <3>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0350 {
u-boot,panel-name = "edt,et0350g0dh6";
clock-frequency = <6413760>;
hactive = <320>;
vactive = <240>;
hback-porch = <34>;
hsync-len = <34>;
hfront-porch = <20>;
vback-porch = <15>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0430 {
u-boot,panel-name = "edt,et0430g0dh6";
clock-frequency = <9009000>;
hactive = <480>;
vactive = <272>;
hback-porch = <2>;
hsync-len = <41>;
hfront-porch = <2>;
vback-porch = <2>;
vsync-len = <10>;
vfront-porch = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
ET0500 {
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ET0700 { /* same as ET0500 */
u-boot,panel-name = "edt,etm0700g0dh6";
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETQ570 {
clock-frequency = <6596040>;
hactive = <320>;
vactive = <240>;
hback-porch = <38>;
hsync-len = <30>;
hfront-porch = <30>;
vback-porch = <16>;
vsync-len = <3>;
vfront-porch = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
CoMTFT { /* same as ET0700 but with inverted pixel clock */
u-boot,panel-name = "edt,etm0700g0edh6";
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
&ipu1_di0_disp0 {
remote-endpoint = <&lcd_in>;
};
/*
* 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.
*/
/ {
aliases {
display = &lvds0;
lvds0 = &lvds0;
lvds1 = &lvds1;
};
backlight0: backlight0 {
compatible = "pwm-backlight";
pwms = <&pwm2 0 500000 0>;
power-supply = <&reg_lcd0_pwr>;
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
backlight1: backlight1 {
compatible = "pwm-backlight";
pwms = <&pwm1 0 500000 0>;
power-supply = <&reg_lcd1_pwr>;
brightness-levels = < 0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49
50 51 52 53 54 55 56 57 58 59
60 61 62 63 64 65 66 67 68 69
70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89
90 91 92 93 94 95 96 97 98 99
100>;
default-brightness-level = <50>;
};
lvds0_panel: lvds0-panel {
compatible = "nlt,nl12880bc20-spwg-24";
backlight = <&backlight0>;
power-supply = <&reg_3v3>;
port {
panel_in_lvds0: endpoint {
remote-endpoint = <&lvds0_out>;
};
};
};
lvds1_panel: lvds1-panel {
compatible = "nlt,nl12880bc20-spwg-24";
backlight = <&backlight1>;
power-supply = <&reg_3v3>;
port {
panel_in_lvds1: endpoint {
remote-endpoint = <&lvds1_out>;
};
};
};
};
&kpp {
status = "disabled"; /* pad conflict with backlight1 PWM */
};
&ldb {
status = "okay";
lvds0: lvds-channel@0 {
fsl,data-width = <18>;
status = "okay";
port@4 {
reg = <4>;
lvds0_out: endpoint {
remote-endpoint = <&panel_in_lvds0>;
};
};
display-timings {
hsd100pxn1 {
u-boot,panel-name = "hannstar,hsd100pxn1";
clock-frequency = <65000000>;
hactive = <1024>;
vactive = <768>;
hback-porch = <220>;
hfront-porch = <40>;
vback-porch = <21>;
vfront-porch = <7>;
hsync-len = <60>;
vsync-len = <10>;
de-active = <1>;
pixelclk-active = <1>;
};
VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hfront-porch = <16>;
vback-porch = <31>;
vfront-porch = <12>;
hsync-len = <96>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
nl12880bc20 {
u-boot,panel-name = "nlt,nl12880bc20-spwg-24";
clock-frequency = <71000000>;
hactive = <1280>;
vactive = <800>;
hback-porch = <50>;
hfront-porch = <50>;
vback-porch = <5>;
vfront-porch = <5>;
hsync-len = <60>;
vsync-len = <13>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
ET0700 {
u-boot,panel-name = "edt,etm0700g0dh6";
clock-frequency = <33264000>;
hactive = <800>;
vactive = <480>;
hback-porch = <88>;
hsync-len = <128>;
hfront-porch = <40>;
vback-porch = <33>;
vsync-len = <2>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
ETV570 {
u-boot,panel-name = "edt,et057090dhu";
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <114>;
hsync-len = <30>;
hfront-porch = <16>;
vback-porch = <32>;
vsync-len = <3>;
vfront-porch = <10>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
};
};
lvds1: lvds-channel@1 {
fsl,data-width = <18>;
status = "okay";
port@4 {
reg = <4>;
lvds1_out: endpoint {
remote-endpoint = <&panel_in_lvds1>;
};
};
display-timings {
hsd100pxn1 {
clock-frequency = <65000000>;
hactive = <1024>;
vactive = <768>;
hback-porch = <220>;
hfront-porch = <40>;
vback-porch = <21>;
vfront-porch = <7>;
hsync-len = <60>;
vsync-len = <10>;
de-active = <1>;
pixelclk-active = <1>;
};
VGA {
clock-frequency = <25200000>;
hactive = <640>;
vactive = <480>;
hback-porch = <48>;
hfront-porch = <16>;
vback-porch = <31>;
vfront-porch = <12>;
hsync-len = <96>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <0>;
};
nl12880bc20 {
clock-frequency = <71000000>;
hactive = <1280>;
vactive = <800>;
hback-porch = <50>;
hfront-porch = <50>;
vback-porch = <5>;
vfront-porch = <5>;
hsync-len = <60>;
vsync-len = <13>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <1>;
pixelclk-active = <1>;
};
};
};
};
&pwm1 {
status = "okay";
};
&reg_lcd0_pwr {
status = "okay";
};
&reg_lcd1_pwr {
status = "okay";
};
/*
* 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.
*/
/ {
backlight0 {
pwms = <&pwm1 0 500000 PWM_POLARITY_INVERTED>;
turn-on-delay-ms = <35>;
power-supply = <&reg_lcd1_pwr>;
};
backlight1 {
pwms = <&pwm2 0 500000 PWM_POLARITY_INVERTED>;
turn-on-delay-ms = <35>;
power-supply = <&reg_lcd1_pwr>;
};
lcd-panel {
compatible = "edt,et057090dhu";
bus-format-override = "rgb24";
pixelclk-active = <0>;
};
lvds0-panel {
compatible = "edt,etml1010g0dka";
bus-format-override = "spwg-18";
pixelclk-active = <0>;
};
lvds1-panel {
compatible = "edt,etml1010g0dka";
bus-format-override = "spwg-18";
pixelclk-active = <0>;
};
};
&can1 {
status = "disabled";
};
&can2 {
xceiver-supply = <&reg_3v3>;
};
&ds1339 {
/*
* The backup voltage of the module internal RTC is not wired
* by default on the MB7, so disable that RTC chip.
*/
status = "disabled";
};
&i2c3 {
rtc: mcp7940x@6f {
compatible = "microchip,mcp7940x";
reg = <0x6f>;
};
};
&reg_lcd0_pwr {
status = "disabled";
};
/* /*
* Copyright 2014-2016 Lothar Waßmann <LW@KARO-electronics.de> * Copyright 2014-2017 Lothar Waßmann <LW@KARO-electronics.de>
* *
* This file is dual-licensed: you can use it either under the terms * 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 * of the GPL or the X11 license, at your option. Note that this dual
...@@ -43,6 +43,7 @@ ...@@ -43,6 +43,7 @@
#include <dt-bindings/input/input.h> #include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pwm/pwm.h> #include <dt-bindings/pwm/pwm.h>
#include <dt-bindings/sound/fsl-imx-audmux.h>
/ { / {
aliases { aliases {
...@@ -145,7 +146,7 @@ reg_lcd0_pwr: regulator-lcd0-pwr { ...@@ -145,7 +146,7 @@ reg_lcd0_pwr: regulator-lcd0-pwr {
pinctrl-0 = <&pinctrl_lcd0_pwr>; pinctrl-0 = <&pinctrl_lcd0_pwr>;
gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>; gpio = <&gpio3 29 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
regulator-boot-on; status = "disabled";
}; };
reg_lcd1_pwr: regulator-lcd1-pwr { reg_lcd1_pwr: regulator-lcd1-pwr {
...@@ -157,7 +158,7 @@ reg_lcd1_pwr: regulator-lcd1-pwr { ...@@ -157,7 +158,7 @@ reg_lcd1_pwr: regulator-lcd1-pwr {
pinctrl-0 = <&pinctrl_lcd1_pwr>; pinctrl-0 = <&pinctrl_lcd1_pwr>;
gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>; gpio = <&gpio2 31 GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
regulator-boot-on; status = "disabled";
}; };
reg_usbh1_vbus: regulator-usbh1-vbus { reg_usbh1_vbus: regulator-usbh1-vbus {
...@@ -183,24 +184,56 @@ reg_usbotg_vbus: regulator-usbotg-vbus { ...@@ -183,24 +184,56 @@ reg_usbotg_vbus: regulator-usbotg-vbus {
}; };
sound { sound {
compatible = "karo,imx6qdl-tx6qdl-sgtl5000", compatible = "karo,imx6qdl-tx6-sgtl5000",
"fsl,imx-audio-sgtl5000"; "simple-audio-card";
model = "sgtl5000-audio"; simple-audio-card,name = "imx6qdl-tx6-sgtl5000-audio";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_audmux>; pinctrl-0 = <&pinctrl_audmux>;
ssi-controller = <&ssi1>; simple-audio-card,format = "i2s";
audio-codec = <&sgtl5000>; simple-audio-card,bitclock-master = <&codec_dai>;
audio-routing = simple-audio-card,frame-master = <&codec_dai>;
simple-audio-card,widgets =
"Microphone", "Mic Jack",
"Line", "Line In",
"Line", "Line Out",
"Headphone", "Headphone Jack";
simple-audio-card,routing =
"MIC_IN", "Mic Jack", "MIC_IN", "Mic Jack",
"Mic Jack", "Mic Bias", "Mic Jack", "Mic Bias",
"Headphone Jack", "HP_OUT"; "Headphone Jack", "HP_OUT";
mux-int-port = <1>;
mux-ext-port = <5>; cpu_dai: simple-audio-card,cpu {
sound-dai = <&ssi1>;
};
codec_dai: simple-audio-card,codec {
sound-dai = <&sgtl5000>;
};
}; };
}; };
&audmux { &audmux {
status = "okay"; status = "okay";
ssi1 {
fsl,audmux-port = <0>;
fsl,port-config = <
(IMX_AUDMUX_V2_PTCR_SYN |
IMX_AUDMUX_V2_PTCR_TFSEL(4) |
IMX_AUDMUX_V2_PTCR_TCSEL(4) |
IMX_AUDMUX_V2_PTCR_TFSDIR |
IMX_AUDMUX_V2_PTCR_TCLKDIR)
IMX_AUDMUX_V2_PDCR_RXDSEL(4)
>;
};
pins5 {
fsl,audmux-port = <4>;
fsl,port-config = <
IMX_AUDMUX_V2_PTCR_SYN
IMX_AUDMUX_V2_PDCR_RXDSEL(0)
>;
};
}; };
&can1 { &can1 {
...@@ -241,7 +274,7 @@ spidev1: spi@1 { ...@@ -241,7 +274,7 @@ spidev1: spi@1 {
&fec { &fec {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet>; pinctrl-0 = <&pinctrl_enet &pinctrl_enet_mdio &pinctrl_etnphy_rst>;
clocks = <&clks IMX6QDL_CLK_ENET>, clocks = <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET>, <&clks IMX6QDL_CLK_ENET>,
<&clks IMX6QDL_CLK_ENET_REF>, <&clks IMX6QDL_CLK_ENET_REF>,
...@@ -249,6 +282,7 @@ &fec { ...@@ -249,6 +282,7 @@ &fec {
clock-names = "ipg", "ahb", "ptp", "enet_out"; clock-names = "ipg", "ahb", "ptp", "enet_out";
phy-mode = "rmii"; phy-mode = "rmii";
phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>; phy-reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
phy-reset-post-delay = <10>;
phy-handle = <&etnphy>; phy-handle = <&etnphy>;
phy-supply = <&reg_3v3_etn>; phy-supply = <&reg_3v3_etn>;
status = "okay"; status = "okay";
...@@ -261,8 +295,9 @@ etnphy: ethernet-phy@0 { ...@@ -261,8 +295,9 @@ etnphy: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>; reg = <0>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet_mdio>; pinctrl-0 = <&pinctrl_etnphy_int>;
interrupts-extended = <&gpio7 1 IRQ_TYPE_EDGE_FALLING>; interrupt-parent = <&gpio7>;
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
}; };
}; };
}; };
...@@ -276,25 +311,34 @@ &gpmi { ...@@ -276,25 +311,34 @@ &gpmi {
}; };
&i2c1 { &i2c1 {
pinctrl-names = "default"; pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c1>; pinctrl-0 = <&pinctrl_i2c1>;
pinctrl-1 = <&pinctrl_i2c1_gpio>;
scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
sda-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
clock-frequency = <400000>; clock-frequency = <400000>;
status = "okay"; status = "okay";
ds1339: rtc@68 { ds1339: rtc@68 {
compatible = "dallas,ds1339"; compatible = "dallas,ds1339";
reg = <0x68>; reg = <0x68>;
trickle-resistor-ohms = <250>;
trickle-diode-disable;
}; };
}; };
&i2c3 { &i2c3 {
pinctrl-names = "default"; pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c3>; pinctrl-0 = <&pinctrl_i2c3>;
pinctrl-1 = <&pinctrl_i2c3_gpio>;
scl-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
sda-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
clock-frequency = <400000>; clock-frequency = <400000>;
status = "okay"; status = "okay";
sgtl5000: sgtl5000@a { sgtl5000: sgtl5000@a {
compatible = "fsl,sgtl5000"; compatible = "fsl,sgtl5000";
#sound-dai-cells = <0>;
reg = <0x0a>; reg = <0x0a>;
VDDA-supply = <&reg_2v5>; VDDA-supply = <&reg_2v5>;
VDDIO-supply = <&reg_3v3>; VDDIO-supply = <&reg_3v3>;
...@@ -332,8 +376,6 @@ &iomuxc { ...@@ -332,8 +376,6 @@ &iomuxc {
pinctrl_hog: hoggrp { pinctrl_hog: hoggrp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_SD3_DAT2__GPIO7_IO06 0x1b0b1 /* ETN PHY RESET */
MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x1b0b1 /* ETN PHY INT */
MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1b0b1 /* PWR BTN */ MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x1b0b1 /* PWR BTN */
>; >;
}; };
...@@ -451,12 +493,24 @@ MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 ...@@ -451,12 +493,24 @@ MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
>; >;
}; };
pinctrl_etnphy_int: etnphy-intgrp {
fsl,pins = <
MX6QDL_PAD_SD3_DAT4__GPIO7_IO01 0x1b0b1 /* ETN PHY INT */
>;
};
pinctrl_etnphy_power: etnphy-pwrgrp { pinctrl_etnphy_power: etnphy-pwrgrp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x1b0b1 /* ETN PHY POWER */ MX6QDL_PAD_EIM_D20__GPIO3_IO20 0x1b0b1 /* ETN PHY POWER */
>; >;
}; };
pinctrl_etnphy_rst: etnphy-rstgrp {
fsl,pins = <
MX6QDL_PAD_SD3_DAT2__GPIO7_IO06 0x1b0b1 /* ETN PHY RESET */
>;
};
pinctrl_flexcan1: flexcan1grp { pinctrl_flexcan1: flexcan1grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x1b0b0 MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x1b0b0
...@@ -504,6 +558,13 @@ MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 ...@@ -504,6 +558,13 @@ MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
>; >;
}; };
pinctrl_i2c1_gpio: i2c1-gpiogrp {
fsl,pins = <
MX6QDL_PAD_EIM_D21__GPIO3_IO21 0x4001b8b1
MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x4001b8b1
>;
};
pinctrl_i2c3: i2c3grp { pinctrl_i2c3: i2c3grp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1 MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1
...@@ -511,6 +572,13 @@ MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1 ...@@ -511,6 +572,13 @@ MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1
>; >;
}; };
pinctrl_i2c3_gpio: i2c3-gpiogrp {
fsl,pins = <
MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x4001b8b1
MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x4001b8b1
>;
};
pinctrl_kpp: kppgrp { pinctrl_kpp: kppgrp {
fsl,pins = < fsl,pins = <
MX6QDL_PAD_GPIO_9__KEY_COL6 0x1b0b1 MX6QDL_PAD_GPIO_9__KEY_COL6 0x1b0b1
......
/*
* Copyright 2013 Freescale Semiconductor, Inc.
*
* Author: Fabio Estevam <fabio.estevam@freescale.com>
*
* This program 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.
*
*/
#include "imx6qdl-wandboard.dtsi"
/ {
reg_eth_phy: regulator-eth-phy {
compatible = "regulator-fixed";
regulator-name = "ETH_PHY";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio7 13 GPIO_ACTIVE_LOW>;
};
};
&i2c3 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c3>;
status = "okay";
pmic: pfuze100@8 {
compatible = "fsl,pfuze100";
reg = <0x08>;
regulators {
sw1a_reg: sw1ab {
regulator-min-microvolt = <300000>;
regulator-max-microvolt = <1875000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <6250>;
};
sw1c_reg: sw1c {
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;
regulator-ramp-delay = <6250>;
};
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;
};
sw4_reg: sw4 {
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <3300000>;
};
swbst_reg: swbst {
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5150000>;
};
snvs_reg: vsnvs {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3000000>;
regulator-boot-on;
regulator-always-on;
};
vref_reg: vrefddr {
regulator-boot-on;
regulator-always-on;
};
vgen1_reg: vgen1 {
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1550000>;
};
vgen2_reg: vgen2 {
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-boot-on;
regulator-always-on;
};
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;
};
};
};
};
&fec {
phy-supply = <&reg_eth_phy>;
status = "okay";
};
&iomuxc {
pinctrl-0 = <&pinctrl_hog>;
imx6qdl-wandboard {
pinctrl_hog: hoggrp {
fsl,pins = <
MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
MX6QDL_PAD_EIM_D22__USB_OTG_PWR 0x80000000 /* USB Power Enable */
MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* USDHC1 CD */
MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000 /* uSDHC3 CD */
MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x1f0b1 /* RGMII PHY reset */
>;
};
pinctrl_enet: enetgrp {
fsl,pins = <
MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
MX6QDL_PAD_ENET_MDC__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_i2c3: i2c3grp {
fsl,pins = <
MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
MX6QDL_PAD_GPIO_16__I2C3_SDA 0x4001b8b1
>;
};
pinctrl_spdif: spdifgrp {
fsl,pins = <
MX6QDL_PAD_GPIO_19__SPDIF_OUT 0x1b0b0
>;
};
};
};
&usdhc2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2>;
bus-width = <4>;
no-1-8-v;
non-removable;
status = "okay";
};
...@@ -543,7 +543,7 @@ touchscreen@20 { ...@@ -543,7 +543,7 @@ touchscreen@20 {
rmi4-f01@1 { rmi4-f01@1 {
reg = <0x1>; reg = <0x1>;
syna,nosleep-mode = <1>; syna,nosleep-mode = <2>;
}; };
rmi4-f11@11 { rmi4-f11@11 {
...@@ -728,6 +728,7 @@ switchphy4: switchphy@4 { ...@@ -728,6 +728,7 @@ switchphy4: switchphy@4 {
&usbh1 { &usbh1 {
vbus-supply = <&reg_5p0v_main>; vbus-supply = <&reg_5p0v_main>;
disable-over-current;
status = "okay"; status = "okay";
}; };
......
...@@ -828,7 +828,7 @@ pd_pu: power-domain@1 { ...@@ -828,7 +828,7 @@ pd_pu: power-domain@1 {
gpr: iomuxc-gpr@20e0000 { gpr: iomuxc-gpr@20e0000 {
compatible = "fsl,imx6q-iomuxc-gpr", "syscon", "simple-mfd"; compatible = "fsl,imx6q-iomuxc-gpr", "syscon", "simple-mfd";
reg = <0x020e0000 0x38>; reg = <0x20e0000 0x38>;
mux: mux-controller { mux: mux-controller {
compatible = "mmio-mux"; compatible = "mmio-mux";
...@@ -838,7 +838,7 @@ mux: mux-controller { ...@@ -838,7 +838,7 @@ mux: mux-controller {
iomuxc: iomuxc@20e0000 { iomuxc: iomuxc@20e0000 {
compatible = "fsl,imx6dl-iomuxc", "fsl,imx6q-iomuxc"; compatible = "fsl,imx6dl-iomuxc", "fsl,imx6q-iomuxc";
reg = <0x020e0000 0x4000>; reg = <0x20e0000 0x4000>;
}; };
ldb: ldb { ldb: ldb {
......
/*
* 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 "imx6qp-tx6qp-8037.dts"
#include "imx6qdl-tx6-mb7.dtsi"
/ {
model = "Ka-Ro electronics TX6Q-8037 Module on MB7 baseboard";
};
/*
* 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 "imx6qp.dtsi"
#include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lcd.dtsi"
/ {
model = "Ka-Ro electronics TX6QP-8037 Module";
compatible = "karo,imx6qp-tx6qp", "fsl,imx6qp";
};
&ds1339 {
status = "disabled";
};
&gpmi {
status = "disabled";
};
&ipu2 {
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
>;
};
};
/*
* 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 "imx6qp-tx6qp-8137.dts"
#include "imx6qdl-tx6-mb7.dtsi"
/ {
model = "Ka-Ro electronics TX6Q-8137 Module on MB7 baseboard";
compatible = "karo,imx6qp-tx6qp", "fsl,imx6qp";
};
&ipu2 {
status = "disabled";
};
&sata {
status = "okay";
};
/*
* 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 "imx6qp.dtsi"
#include "imx6qdl-tx6.dtsi"
#include "imx6qdl-tx6-lvds.dtsi"
/ {
model = "Ka-Ro electronics TX6QP-8137 Module";
compatible = "karo,imx6qp-tx6qp", "fsl,imx6qp";
};
&ds1339 {
status = "disabled";
};
&gpmi {
status = "disabled";
};
&ipu2 {
status = "disabled";
};
&sata {
status = "okay";
};
&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
>;
};
};
/*
* Copyright 2013 Freescale Semiconductor, Inc.
*
* Author: Fabio Estevam <fabio.estevam@freescale.com>
*
* This program 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.
*
*/
/dts-v1/;
#include "imx6qp.dtsi"
#include "imx6qdl-wandboard-revd1.dtsi"
/ {
model = "Wandboard i.MX6 QuadPlus Board revD1";
compatible = "wand,imx6qp-wandboard", "fsl,imx6qp";
memory {
reg = <0x10000000 0x80000000>;
};
};
&sata {
status = "okay";
};
/*
* Copyright (C) 2016 Christoph Fritz <chf.fritz@googlemail.com>
*
* This program 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.
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "imx6sx.dtsi"
/ {
model = "Softing VIN|ING 2000";
compatible = "samtec,imx6sx-vining-2000", "fsl,imx6sx";
chosen {
stdout-path = &uart1;
};
memory {
reg = <0x80000000 0x40000000>;
};
reg_usb_otg1_vbus: regulator-usb_otg1_vbus {
compatible = "regulator-fixed";
regulator-name = "usb_otg1_vbus";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb_otg1>;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
reg_peri_3v3: regulator-peri_3v3 {
compatible = "regulator-fixed";
regulator-name = "peri_3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
pwmleds {
compatible = "pwm-leds";
red {
label = "red";
max-brightness = <255>;
pwms = <&pwm6 0 50000>;
};
green {
label = "green";
max-brightness = <255>;
pwms = <&pwm2 0 50000>;
};
blue {
label = "blue";
max-brightness = <255>;
pwms = <&pwm1 0 50000>;
};
};
};
&adc1 {
vref-supply = <&reg_peri_3v3>;
status = "okay";
};
&cpu0 {
/*
* This board has a shared rail of reg_arm and reg_soc (supplied by
* sw1a_reg) which is modeled below, but still this module behaves
* unstable without higher voltages. Hence, set higher voltages here.
*/
operating-points = <
/* kHz uV */
996000 1250000
792000 1175000
396000 1175000
198000 1175000
>;
fsl,soc-operating-points = <
/* ARM kHz SOC uV */
996000 1250000
792000 1175000
396000 1175000
198000 1175000
>;
};
&ecspi4 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ecspi4>;
cs-gpios = <&gpio7 4 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&fec1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet1>;
phy-supply = <&reg_peri_3v3>;
phy-reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
phy-reset-duration = <5>;
phy-mode = "rmii";
phy-handle = <&ethphy0>;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy0: ethernet0-phy@0 {
reg = <0>;
max-speed = <100>;
interrupt-parent = <&gpio2>;
interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
};
};
};
&fec2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet2>;
phy-supply = <&reg_peri_3v3>;
phy-reset-gpios = <&gpio5 21 GPIO_ACTIVE_LOW>;
phy-reset-duration = <5>;
phy-mode = "rmii";
phy-handle = <&ethphy1>;
status = "okay";
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethphy1: ethernet1-phy@0 {
reg = <0>;
max-speed = <100>;
interrupt-parent = <&gpio2>;
interrupts = <19 IRQ_TYPE_LEVEL_LOW>;
};
};
};
&flexcan1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexcan1>;
status = "okay";
};
&flexcan2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexcan2>;
status = "okay";
};
&i2c1 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "okay";
proximity: sx9500@28 {
compatible = "semtech,sx9500";
reg = <0x28>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sx9500>;
interrupt-parent = <&gpio2>;
interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
reset-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
};
pmic: pfuze100@8 {
compatible = "fsl,pfuze200";
reg = <0x08>;
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;
};
snvs_reg: vsnvs {
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3000000>;
regulator-boot-on;
regulator-always-on;
};
vref_reg: vrefddr {
regulator-boot-on;
regulator-always-on;
};
vgen1_reg: vgen1 {
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1550000>;
regulator-always-on;
};
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;
};
};
};
};
&i2c3 {
clock-frequency = <100000>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c3>;
status = "okay";
};
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpios>;
pinctrl_ecspi4: ecspi4grp {
fsl,pins = <
MX6SX_PAD_SD3_CLK__ECSPI4_SCLK 0x130b1
MX6SX_PAD_SD3_DATA3__ECSPI4_MISO 0x130b1
MX6SX_PAD_SD3_CMD__ECSPI4_MOSI 0x130b1
MX6SX_PAD_SD3_DATA2__GPIO7_IO_4 0x30b0
>;
};
pinctrl_enet1: enet1grp {
fsl,pins = <
MX6SX_PAD_RGMII1_RD0__ENET1_RX_DATA_0 0x30c1
MX6SX_PAD_RGMII1_RD1__ENET1_RX_DATA_1 0x30c1
MX6SX_PAD_RGMII1_TD0__ENET1_TX_DATA_0 0xa0f9
MX6SX_PAD_RGMII1_TD1__ENET1_TX_DATA_1 0xa0f9
MX6SX_PAD_RGMII1_RX_CTL__ENET1_RX_EN 0x30c1
MX6SX_PAD_RGMII1_TX_CTL__ENET1_TX_EN 0xa0f9
MX6SX_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4000a038
/* LAN8720 PHY Reset */
MX6SX_PAD_RGMII1_TD3__GPIO5_IO_9 0x10b0
/* MDIO */
MX6SX_PAD_ENET1_MDC__ENET1_MDC 0xa0f9
MX6SX_PAD_ENET1_MDIO__ENET1_MDIO 0xa0f9
/* IRQ from PHY */
MX6SX_PAD_KEY_ROW2__GPIO2_IO_17 0x10b0
>;
};
pinctrl_enet2: enet2grp {
fsl,pins = <
MX6SX_PAD_RGMII2_TD0__ENET2_TX_DATA_0 0x1b0b0
MX6SX_PAD_RGMII2_TD1__ENET2_TX_DATA_1 0x1b0b0
MX6SX_PAD_RGMII2_RD0__ENET2_RX_DATA_0 0x1b0b0
MX6SX_PAD_RGMII2_RD1__ENET2_RX_DATA_1 0x1b0b0
MX6SX_PAD_RGMII2_RX_CTL__ENET2_RX_EN 0x1b0b0
MX6SX_PAD_RGMII2_TX_CTL__ENET2_TX_EN 0x1b0b0
MX6SX_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4000a038
/* LAN8720 PHY Reset */
MX6SX_PAD_RGMII2_TD3__GPIO5_IO_21 0x10b0
/* MDIO */
MX6SX_PAD_ENET1_COL__ENET2_MDC 0xa0f9
MX6SX_PAD_ENET1_CRS__ENET2_MDIO 0xa0f9
/* IRQ from PHY */
MX6SX_PAD_KEY_ROW4__GPIO2_IO_19 0x10b0
>;
};
pinctrl_flexcan1: flexcan1grp {
fsl,pins = <
MX6SX_PAD_QSPI1B_DQS__CAN1_TX 0x1b0b0
MX6SX_PAD_QSPI1A_SS1_B__CAN1_RX 0x1b0b0
>;
};
pinctrl_flexcan2: flexcan2grp {
fsl,pins = <
MX6SX_PAD_QSPI1B_SS1_B__CAN2_RX 0x1b0b0
MX6SX_PAD_QSPI1A_DQS__CAN2_TX 0x1b0b0
>;
};
pinctrl_gpios: gpiosgrp {
fsl,pins = <
/* reset external uC */
MX6SX_PAD_QSPI1A_DATA3__GPIO4_IO_19 0x10b0
/* IRQ from external uC */
MX6SX_PAD_KEY_ROW0__GPIO2_IO_15 0x10b0
/* overcurrent detection */
MX6SX_PAD_GPIO1_IO08__GPIO1_IO_8 0x10b0
>;
};
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX6SX_PAD_GPIO1_IO01__I2C1_SDA 0x4001b8b1
MX6SX_PAD_GPIO1_IO00__I2C1_SCL 0x4001b8b1
>;
};
pinctrl_i2c3: i2c3grp {
fsl,pins = <
MX6SX_PAD_NAND_ALE__I2C3_SDA 0x4001b8b1
MX6SX_PAD_NAND_CLE__I2C3_SCL 0x4001b8b1
>;
};
pinctrl_pwm1: pwm1grp-1 {
fsl,pins = <
/* blue LED */
MX6SX_PAD_RGMII2_RD3__PWM1_OUT 0x1b0b1
>;
};
pinctrl_pwm2: pwm2grp-1 {
fsl,pins = <
/* green LED */
MX6SX_PAD_RGMII2_RD2__PWM2_OUT 0x1b0b1
>;
};
pinctrl_pwm6: pwm6grp-1 {
fsl,pins = <
/* red LED */
MX6SX_PAD_RGMII2_TD2__PWM6_OUT 0x1b0b1
>;
};
pinctrl_sx9500: sx9500grp {
fsl,pins = <
/* Reset */
MX6SX_PAD_KEY_COL0__GPIO2_IO_10 0x838
/* IRQ */
MX6SX_PAD_KEY_ROW1__GPIO2_IO_16 0x70e0
>;
};
pinctrl_uart1: uart1grp {
fsl,pins = <
MX6SX_PAD_GPIO1_IO04__UART1_TX 0x1b0b1
MX6SX_PAD_GPIO1_IO05__UART1_RX 0x1b0b1
>;
};
pinctrl_uart2: uart2grp {
fsl,pins = <
MX6SX_PAD_GPIO1_IO06__UART2_TX 0x1b0b1
MX6SX_PAD_GPIO1_IO07__UART2_RX 0x1b0b1
>;
};
pinctrl_usb_otg1: usbotg1grp {
fsl,pins = <
MX6SX_PAD_GPIO1_IO09__GPIO1_IO_9 0x10b0
>;
};
pinctrl_usb_otg1_id: usbotg1idgrp {
fsl,pins = <
MX6SX_PAD_GPIO1_IO10__ANATOP_OTG1_ID 0x17059
>;
};
pinctrl_usdhc2_50mhz: usdhc2grp-50mhz {
fsl,pins = <
MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x10059
MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x17059
MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x17059
MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x17059
MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x17059
MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x17059
MX6SX_PAD_LCD1_VSYNC__GPIO3_IO_28 0x1b000
MX6SX_PAD_LCD1_HSYNC__GPIO3_IO_26 0x10b0
>;
};
pinctrl_usdhc2_100mhz: usdhc2grp-100mhz {
fsl,pins = <
MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x100b9
MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x170b9
MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x170b9
MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x170b9
MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x170b9
MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x170b9
>;
};
pinctrl_usdhc2_200mhz: usdhc2grp-200mhz {
fsl,pins = <
MX6SX_PAD_SD2_CLK__USDHC2_CLK 0x100f9
MX6SX_PAD_SD2_CMD__USDHC2_CMD 0x170f9
MX6SX_PAD_SD2_DATA0__USDHC2_DATA0 0x170f9
MX6SX_PAD_SD2_DATA1__USDHC2_DATA1 0x170f9
MX6SX_PAD_SD2_DATA2__USDHC2_DATA2 0x170f9
MX6SX_PAD_SD2_DATA3__USDHC2_DATA3 0x170f9
>;
};
pinctrl_usdhc4_50mhz: usdhc4grp-50mhz {
fsl,pins = <
MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x10059
MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x17059
MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x17059
MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x17059
MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x17059
MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x17059
MX6SX_PAD_SD4_DATA4__USDHC4_DATA4 0x17059
MX6SX_PAD_SD4_DATA5__USDHC4_DATA5 0x17059
MX6SX_PAD_SD4_DATA6__USDHC4_DATA6 0x17059
MX6SX_PAD_SD4_DATA7__USDHC4_DATA7 0x17059
MX6SX_PAD_SD4_RESET_B__USDHC4_RESET_B 0x17068
>;
};
pinctrl_usdhc4_100mhz: usdhc4-100mhz {
fsl,pins = <
MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x100b9
MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x170b9
MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x170b9
MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x170b9
MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x170b9
MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x170b9
MX6SX_PAD_SD4_DATA4__USDHC4_DATA4 0x170b9
MX6SX_PAD_SD4_DATA5__USDHC4_DATA5 0x170b9
MX6SX_PAD_SD4_DATA6__USDHC4_DATA6 0x170b9
MX6SX_PAD_SD4_DATA7__USDHC4_DATA7 0x170b9
>;
};
pinctrl_usdhc4_200mhz: usdhc4-200mhz {
fsl,pins = <
MX6SX_PAD_SD4_CLK__USDHC4_CLK 0x100f9
MX6SX_PAD_SD4_CMD__USDHC4_CMD 0x170f9
MX6SX_PAD_SD4_DATA0__USDHC4_DATA0 0x170f9
MX6SX_PAD_SD4_DATA1__USDHC4_DATA1 0x170f9
MX6SX_PAD_SD4_DATA2__USDHC4_DATA2 0x170f9
MX6SX_PAD_SD4_DATA3__USDHC4_DATA3 0x170f9
MX6SX_PAD_SD4_DATA4__USDHC4_DATA4 0x170f9
MX6SX_PAD_SD4_DATA5__USDHC4_DATA5 0x170f9
MX6SX_PAD_SD4_DATA6__USDHC4_DATA6 0x170f9
MX6SX_PAD_SD4_DATA7__USDHC4_DATA7 0x170f9
>;
};
};
&pwm1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm1>;
status = "okay";
};
&pwm2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm2>;
status = "okay";
};
&pwm6 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm6>;
status = "okay";
};
&reg_arm {
vin-supply = <&sw1a_reg>;
};
&reg_soc {
vin-supply = <&sw1a_reg>;
};
&snvs_poweroff {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
status = "okay";
};
&usbotg1 {
vbus-supply = <&reg_usb_otg1_vbus>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb_otg1_id>;
status = "okay";
};
&usbotg2 {
dr_mode = "host";
status = "okay";
};
&usdhc2 {
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc2_50mhz>;
pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
cd-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>;
keep-power-in-suspend;
status = "okay";
};
&usdhc4 {
/* hs200-mode is currently unsupported because Vccq is on 3.1V, but
* not on necessary 1.8V.
*/
pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc4_50mhz>;
pinctrl-1 = <&pinctrl_usdhc4_100mhz>;
pinctrl-2 = <&pinctrl_usdhc4_200mhz>;
bus-width = <8>;
keep-power-in-suspend;
non-removable;
cap-mmc-hw-reset;
status = "okay";
};
...@@ -675,7 +675,8 @@ tempmon: tempmon { ...@@ -675,7 +675,8 @@ tempmon: tempmon {
compatible = "fsl,imx6sx-tempmon", "fsl,imx6q-tempmon"; compatible = "fsl,imx6sx-tempmon", "fsl,imx6q-tempmon";
interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
fsl,tempmon = <&anatop>; fsl,tempmon = <&anatop>;
fsl,tempmon-data = <&ocotp>; nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
nvmem-cell-names = "calib", "temp_grade";
clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>; clocks = <&clks IMX6SX_CLK_PLL3_USB_OTG>;
}; };
...@@ -994,9 +995,19 @@ weim: weim@21b8000 { ...@@ -994,9 +995,19 @@ weim: weim@21b8000 {
}; };
ocotp: ocotp@21bc000 { ocotp: ocotp@21bc000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,imx6sx-ocotp", "syscon"; compatible = "fsl,imx6sx-ocotp", "syscon";
reg = <0x021bc000 0x4000>; reg = <0x021bc000 0x4000>;
clocks = <&clks IMX6SX_CLK_OCOTP>; clocks = <&clks IMX6SX_CLK_OCOTP>;
tempmon_calib: calib@38 {
reg = <0x38 4>;
};
tempmon_temp_grade: temp-grade@20 {
reg = <0x20 4>;
};
}; };
sai1: sai@21d4000 { sai1: sai@21d4000 {
......
...@@ -147,6 +147,8 @@ ethphy1: ethernet-phy@1 { ...@@ -147,6 +147,8 @@ ethphy1: ethernet-phy@1 {
&lcdif { &lcdif {
assigned-clocks = <&clks IMX6UL_CLK_LCDIF_PRE_SEL>;
assigned-clock-parents = <&clks IMX6UL_CLK_PLL5_VIDEO_DIV>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcdif_dat pinctrl-0 = <&pinctrl_lcdif_dat
&pinctrl_lcdif_ctrl>; &pinctrl_lcdif_ctrl>;
......
...@@ -175,7 +175,7 @@ ethphy1: ethernet-phy@1 { ...@@ -175,7 +175,7 @@ ethphy1: ethernet-phy@1 {
reg = <1>; reg = <1>;
max-speed = <100>; max-speed = <100>;
interrupt-parent = <&gpio5>; interrupt-parent = <&gpio5>;
interrupts = <6 IRQ_TYPE_LEVEL_LOW 0>; interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
}; };
}; };
}; };
......
...@@ -424,7 +424,7 @@ &lcdif { ...@@ -424,7 +424,7 @@ &lcdif {
display = <&display>; display = <&display>;
status = "okay"; status = "okay";
display: display@di0 { display: disp0 {
bits-per-pixel = <32>; bits-per-pixel = <32>;
bus-width = <24>; bus-width = <24>;
status = "okay"; status = "okay";
......
...@@ -598,6 +598,15 @@ usbphy2: usbphy@20ca000 { ...@@ -598,6 +598,15 @@ usbphy2: usbphy@20ca000 {
fsl,anatop = <&anatop>; fsl,anatop = <&anatop>;
}; };
tempmon: tempmon {
compatible = "fsl,imx6ul-tempmon", "fsl,imx6sx-tempmon";
interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
fsl,tempmon = <&anatop>;
nvmem-cells = <&tempmon_calib>, <&tempmon_temp_grade>;
nvmem-cell-names = "calib", "temp_grade";
clocks = <&clks IMX6UL_CLK_PLL3_USB_OTG>;
};
snvs: snvs@20cc000 { snvs: snvs@20cc000 {
compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd"; compatible = "fsl,sec-v4.0-mon", "syscon", "simple-mfd";
reg = <0x020cc000 0x4000>; reg = <0x020cc000 0x4000>;
...@@ -861,9 +870,19 @@ mmdc: mmdc@21b0000 { ...@@ -861,9 +870,19 @@ mmdc: mmdc@21b0000 {
}; };
ocotp: ocotp-ctrl@21bc000 { ocotp: ocotp-ctrl@21bc000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,imx6ul-ocotp", "syscon"; compatible = "fsl,imx6ul-ocotp", "syscon";
reg = <0x021bc000 0x4000>; reg = <0x021bc000 0x4000>;
clocks = <&clks IMX6UL_CLK_OCOTP>; clocks = <&clks IMX6UL_CLK_OCOTP>;
tempmon_calib: calib@38 {
reg = <0x38 4>;
};
tempmon_temp_grade: temp-grade@20 {
reg = <0x20 4>;
};
}; };
lcdif: lcdif@21c8000 { lcdif: lcdif@21c8000 {
......
...@@ -52,6 +52,17 @@ memory { ...@@ -52,6 +52,17 @@ memory {
reg = <0x80000000 0x80000000>; reg = <0x80000000 0x80000000>;
}; };
reg_ap6212: regulator-ap6212 {
compatible = "regulator-fixed";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_reg_ap6212>;
regulator-name = "AP6212";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
gpio = <&gpio4 16 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
reg_2p5v: regulator-2p5v { reg_2p5v: regulator-2p5v {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "2P5V"; regulator-name = "2P5V";
...@@ -271,6 +282,17 @@ &usbotg2 { ...@@ -271,6 +282,17 @@ &usbotg2 {
status = "okay"; status = "okay";
}; };
&usdhc2 { /* Wifi SDIO */
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usdhc2>;
no-1-8-v;
non-removable;
keep-power-in-suspend;
wakeup-source;
vmmc-supply = <&reg_ap6212>;
status = "okay";
};
&usdhc3 { &usdhc3 {
pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-names = "default", "state_100mhz", "state_200mhz";
pinctrl-0 = <&pinctrl_usdhc3>; pinctrl-0 = <&pinctrl_usdhc3>;
...@@ -326,6 +348,12 @@ MX7D_PAD_SAI1_RX_SYNC__I2C4_SCL 0x4000007f ...@@ -326,6 +348,12 @@ MX7D_PAD_SAI1_RX_SYNC__I2C4_SCL 0x4000007f
>; >;
}; };
pinctrl_reg_ap6212: regap6212grp {
fsl,pins = <
MX7D_PAD_ECSPI1_SCLK__GPIO4_IO16 0x59
>;
};
pinctrl_sai1: sai1grp { pinctrl_sai1: sai1grp {
fsl,pins = < fsl,pins = <
MX7D_PAD_ENET1_RX_CLK__SAI1_TX_BCLK 0x1f MX7D_PAD_ENET1_RX_CLK__SAI1_TX_BCLK 0x1f
...@@ -348,6 +376,17 @@ MX7D_PAD_UART3_TX_DATA__GPIO4_IO5 0x14 ...@@ -348,6 +376,17 @@ MX7D_PAD_UART3_TX_DATA__GPIO4_IO5 0x14
>; >;
}; };
pinctrl_usdhc2: usdhc2grp {
fsl,pins = <
MX7D_PAD_SD2_CMD__SD2_CMD 0x59
MX7D_PAD_SD2_CLK__SD2_CLK 0x19
MX7D_PAD_SD2_DATA0__SD2_DATA0 0x59
MX7D_PAD_SD2_DATA1__SD2_DATA1 0x59
MX7D_PAD_SD2_DATA2__SD2_DATA2 0x59
MX7D_PAD_SD2_DATA3__SD2_DATA3 0x59
>;
};
pinctrl_usdhc3: usdhc3grp { pinctrl_usdhc3: usdhc3grp {
fsl,pins = < fsl,pins = <
MX7D_PAD_SD3_CMD__SD3_CMD 0x59 MX7D_PAD_SD3_CMD__SD3_CMD 0x59
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment