Commit d159b0236b2a8f43ce2d2c69d4838cb1dbf10598

Authored by Jagan Teki
Committed by Stefano Babic
1 parent 57de577950

ARM: dts: icorem6: Sync engicam device trees from v5.4

Sync Engicam device tree file from v5.4 linux-next.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>

Showing 11 changed files with 688 additions and 245 deletions Side-by-side Diff

arch/arm/dts/imx6dl-icore-mipi.dts
1   -// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  1 +// SPDX-License-Identifier: GPL-2.0 OR X11
2 2 /*
3   - * Copyright (C) 2017 Engicam S.r.l.
4   - * Copyright (C) 2017 Amarula Solutions B.V.
  3 + * Copyright (C) 2018 Engicam S.r.l.
  4 + * Copyright (C) 2018 Amarula Solutions B.V.
5 5 * Author: Jagan Teki <jagan@amarulasolutions.com>
6 6 */
7 7  
... ... @@ -13,6 +13,11 @@
13 13 / {
14 14 model = "Engicam i.CoreM6 DualLite/Solo MIPI Starter Kit";
15 15 compatible = "engicam,imx6-icore", "fsl,imx6dl";
  16 +};
  17 +
  18 +&hdmi {
  19 + ddc-i2c-bus = <&i2c2>;
  20 + status = "okay";
16 21 };
17 22  
18 23 &usdhc3 {
arch/arm/dts/imx6dl-icore-rqs.dts
  1 +// SPDX-License-Identifier: GPL-2.0 OR X11
1 2 /*
2   - * Copyright (C) 2015 Amarula Solutions B.V.
3   - *
4   - * This file is dual-licensed: you can use it either under the terms
5   - * of the GPL or the X11 license, at your option. Note that this dual
6   - * licensing only applies to this file, and not this project as a
7   - * whole.
8   - *
9   - * a) This file is free software; you can redistribute it and/or
10   - * modify it under the terms of the GNU General Public License
11   - * version 2 as published by the Free Software Foundation.
12   - *
13   - * This file is distributed in the hope that it will be useful
14   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
15   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16   - * GNU General Public License for more details.
17   - *
18   - * Or, alternatively
19   - *
20   - * b) Permission is hereby granted, free of charge, to any person
21   - * obtaining a copy of this software and associated documentation
22   - * files (the "Software"), to deal in the Software without
23   - * restriction, including without limitation the rights to use
24   - * copy, modify, merge, publish, distribute, sublicense, and/or
25   - * sell copies of the Software, and to permit persons to whom the
26   - * Software is furnished to do so, subject to the following
27   - * conditions:
28   - *
29   - * The above copyright notice and this permission notice shall be
30   - * included in all copies or substantial portions of the Software.
31   - *
32   - * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
33   - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34   - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35   - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36   - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
37   - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38   - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39   - * OTHER DEALINGS IN THE SOFTWARE.
  3 + * Copyright (C) 2016 Amarula Solutions B.V.
  4 + * Copyright (C) 2016 Engicam S.r.l.
40 5 */
41 6  
42 7 /dts-v1/;
... ... @@ -46,6 +11,6 @@
46 11  
47 12 / {
48 13 model = "Engicam i.CoreM6 DualLite/Solo RQS Starter Kit";
49   - compatible = "engicam,imx6-icore-rqs", "fsl,imx6q";
  14 + compatible = "engicam,imx6-icore-rqs", "fsl,imx6dl";
50 15 };
arch/arm/dts/imx6dl-icore.dts
  1 +// SPDX-License-Identifier: GPL-2.0 OR X11
1 2 /*
2 3 * Copyright (C) 2016 Amarula Solutions B.V.
3 4 * Copyright (C) 2016 Engicam S.r.l.
4   - *
5   - * This file is dual-licensed: you can use it either under the terms
6   - * of the GPL or the X11 license, at your option. Note that this dual
7   - * licensing only applies to this file, and not this project as a
8   - * whole.
9   - *
10   - * a) This file is free software; you can redistribute it and/or
11   - * modify it under the terms of the GNU General Public License
12   - * version 2 as published by the Free Software Foundation.
13   - *
14   - * This file is distributed in the hope that it will be useful
15   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
16   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17   - * GNU General Public License for more details.
18   - *
19   - * Or, alternatively
20   - *
21   - * b) Permission is hereby granted, free of charge, to any person
22   - * obtaining a copy of this software and associated documentation
23   - * files (the "Software"), to deal in the Software without
24   - * restriction, including without limitation the rights to use
25   - * copy, modify, merge, publish, distribute, sublicense, and/or
26   - * sell copies of the Software, and to permit persons to whom the
27   - * Software is furnished to do so, subject to the following
28   - * conditions:
29   - *
30   - * The above copyright notice and this permission notice shall be
31   - * included in all copies or substantial portions of the Software.
32   - *
33   - * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
34   - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35   - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36   - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37   - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
38   - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39   - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40   - * OTHER DEALINGS IN THE SOFTWARE.
41 5 */
42 6  
43 7 /dts-v1/;
... ... @@ -56,5 +20,14 @@
56 20  
57 21 &can2 {
58 22 status = "okay";
  23 +};
  24 +
  25 +&i2c1 {
  26 + max11801: touchscreen@48 {
  27 + compatible = "maxim,max11801";
  28 + reg = <0x48>;
  29 + interrupt-parent = <&gpio3>;
  30 + interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
  31 + };
59 32 };
arch/arm/dts/imx6q-icore-mipi.dts
1   -// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  1 +// SPDX-License-Identifier: GPL-2.0 OR X11
2 2 /*
3 3 * Copyright (C) 2017 Engicam S.r.l.
4 4 * Copyright (C) 2017 Amarula Solutions B.V.
5 5  
6 6  
... ... @@ -8,11 +8,24 @@
8 8 /dts-v1/;
9 9  
10 10 #include "imx6q.dtsi"
11   -#include "imx6qdl-icore.dtsi"
  11 +#include "imx6qdl-icore-1.5.dtsi"
12 12  
13 13 / {
14   - model = "Engicam i.CoreM6 Quad/Dual MIPI Starter Kit";
  14 + model = "Engicam i.CoreM6 1.5 Quad/Dual MIPI Starter Kit";
15 15 compatible = "engicam,imx6-icore", "fsl,imx6q";
  16 +};
  17 +
  18 +&hdmi {
  19 + ddc-i2c-bus = <&i2c2>;
  20 + status = "okay";
  21 +};
  22 +
  23 +&mipi_csi {
  24 + status = "okay";
  25 +};
  26 +
  27 +&ov5640 {
  28 + status = "okay";
16 29 };
17 30  
18 31 &usdhc3 {
arch/arm/dts/imx6q-icore-ofcap10.dts
  1 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 +/*
  3 + * Copyright (C) 2016 Amarula Solutions B.V.
  4 + * Copyright (C) 2016 Engicam S.r.l.
  5 + */
  6 +
  7 +/dts-v1/;
  8 +
  9 +#include "imx6q.dtsi"
  10 +#include "imx6qdl-icore.dtsi"
  11 +
  12 +/ {
  13 + model = "Engicam i.CoreM6 Quad/Dual OpenFrame Capacitive touch 10.1 Kit";
  14 + compatible = "engicam,imx6-icore", "fsl,imx6q";
  15 +};
  16 +
  17 +&ldb {
  18 + status = "okay";
  19 +
  20 + lvds-channel@0 {
  21 + fsl,data-mapping = "spwg";
  22 + fsl,data-width = <24>;
  23 + status = "okay";
  24 +
  25 + display-timings {
  26 + native-mode = <&timing0>;
  27 + timing0: timing0 {
  28 + clock-frequency = <60000000>;
  29 + hactive = <1280>;
  30 + vactive = <800>;
  31 + hback-porch = <40>;
  32 + hfront-porch = <40>;
  33 + vback-porch = <10>;
  34 + vfront-porch = <3>;
  35 + hsync-len = <80>;
  36 + vsync-len = <10>;
  37 + };
  38 + };
  39 + };
  40 +};
arch/arm/dts/imx6q-icore-ofcap12.dts
  1 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 +/*
  3 + * Copyright (C) 2016 Amarula Solutions B.V.
  4 + * Copyright (C) 2016 Engicam S.r.l.
  5 + */
  6 +
  7 +/dts-v1/;
  8 +
  9 +#include "imx6q.dtsi"
  10 +#include "imx6qdl-icore.dtsi"
  11 +
  12 +/ {
  13 + model = "Engicam i.CoreM6 Quad/Dual OpenFrame Capacitive touch 12 Kit";
  14 + compatible = "engicam,imx6-icore", "fsl,imx6q";
  15 +
  16 + panel {
  17 + compatible = "koe,tx31d200vm0baa";
  18 + backlight = <&backlight_lvds>;
  19 +
  20 + port {
  21 + panel_in: endpoint {
  22 + remote-endpoint = <&lvds0_out>;
  23 + };
  24 + };
  25 + };
  26 +};
  27 +
  28 +&ldb {
  29 + status = "okay";
  30 +
  31 + lvds-channel@0 {
  32 + reg = <0>;
  33 + status = "okay";
  34 +
  35 + port@4 {
  36 + reg = <4>;
  37 +
  38 + lvds0_out: endpoint {
  39 + remote-endpoint = <&panel_in>;
  40 + };
  41 + };
  42 + };
  43 +};
arch/arm/dts/imx6q-icore-rqs.dts
  1 +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
1 2 /*
2 3 * Copyright (C) 2015 Amarula Solutions B.V.
3   - *
4   - * This file is dual-licensed: you can use it either under the terms
5   - * of the GPL or the X11 license, at your option. Note that this dual
6   - * licensing only applies to this file, and not this project as a
7   - * whole.
8   - *
9   - * a) This file is free software; you can redistribute it and/or
10   - * modify it under the terms of the GNU General Public License
11   - * version 2 as published by the Free Software Foundation.
12   - *
13   - * This file is distributed in the hope that it will be useful
14   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
15   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16   - * GNU General Public License for more details.
17   - *
18   - * Or, alternatively
19   - *
20   - * b) Permission is hereby granted, free of charge, to any person
21   - * obtaining a copy of this software and associated documentation
22   - * files (the "Software"), to deal in the Software without
23   - * restriction, including without limitation the rights to use
24   - * copy, modify, merge, publish, distribute, sublicense, and/or
25   - * sell copies of the Software, and to permit persons to whom the
26   - * Software is furnished to do so, subject to the following
27   - * conditions:
28   - *
29   - * The above copyright notice and this permission notice shall be
30   - * included in all copies or substantial portions of the Software.
31   - *
32   - * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
33   - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34   - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35   - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36   - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
37   - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38   - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39   - * OTHER DEALINGS IN THE SOFTWARE.
  4 + * Copyright (C) 2015 Engicam S.r.l.
40 5 */
41 6  
42 7 /dts-v1/;
... ... @@ -47,5 +12,9 @@
47 12 / {
48 13 model = "Engicam i.CoreM6 Quad/Dual RQS Starter Kit";
49 14 compatible = "engicam,imx6-icore-rqs", "fsl,imx6q";
  15 +};
  16 +
  17 +&sata {
  18 + status = "okay";
50 19 };
arch/arm/dts/imx6q-icore.dts
  1 +// SPDX-License-Identifier: GPL-2.0 OR X11
1 2 /*
2 3 * Copyright (C) 2016 Amarula Solutions B.V.
3 4 * Copyright (C) 2016 Engicam S.r.l.
4   - *
5   - * This file is dual-licensed: you can use it either under the terms
6   - * of the GPL or the X11 license, at your option. Note that this dual
7   - * licensing only applies to this file, and not this project as a
8   - * whole.
9   - *
10   - * a) This file is free software; you can redistribute it and/or
11   - * modify it under the terms of the GNU General Public License
12   - * version 2 as published by the Free Software Foundation.
13   - *
14   - * This file is distributed in the hope that it will be useful
15   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
16   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17   - * GNU General Public License for more details.
18   - *
19   - * Or, alternatively
20   - *
21   - * b) Permission is hereby granted, free of charge, to any person
22   - * obtaining a copy of this software and associated documentation
23   - * files (the "Software"), to deal in the Software without
24   - * restriction, including without limitation the rights to use
25   - * copy, modify, merge, publish, distribute, sublicense, and/or
26   - * sell copies of the Software, and to permit persons to whom the
27   - * Software is furnished to do so, subject to the following
28   - * conditions:
29   - *
30   - * The above copyright notice and this permission notice shall be
31   - * included in all copies or substantial portions of the Software.
32   - *
33   - * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
34   - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35   - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36   - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37   - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
38   - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39   - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40   - * OTHER DEALINGS IN THE SOFTWARE.
41 5 */
42 6  
43 7 /dts-v1/;
... ... @@ -56,5 +20,39 @@
56 20  
57 21 &can2 {
58 22 status = "okay";
  23 +};
  24 +
  25 +&i2c1 {
  26 + max11801: touchscreen@48 {
  27 + compatible = "maxim,max11801";
  28 + reg = <0x48>;
  29 + interrupt-parent = <&gpio3>;
  30 + interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
  31 + };
  32 +};
  33 +
  34 +&ldb {
  35 + status = "okay";
  36 +
  37 + lvds-channel@0 {
  38 + fsl,data-mapping = "spwg";
  39 + fsl,data-width = <18>;
  40 + status = "okay";
  41 +
  42 + display-timings {
  43 + native-mode = <&timing0>;
  44 + timing0: timing0 {
  45 + clock-frequency = <60000000>;
  46 + hactive = <800>;
  47 + vactive = <480>;
  48 + hback-porch = <30>;
  49 + hfront-porch = <30>;
  50 + vback-porch = <5>;
  51 + vfront-porch = <5>;
  52 + hsync-len = <64>;
  53 + vsync-len = <20>;
  54 + };
  55 + };
  56 + };
59 57 };
arch/arm/dts/imx6qdl-icore-1.5.dtsi
  1 +// SPDX-License-Identifier: GPL-2.0+
  2 +/*
  3 + * Copyright (C) 2018 Jacopo Mondi <jacopo@jmondi.org>
  4 + */
  5 +
  6 +#include "imx6qdl-icore.dtsi"
  7 +
  8 +&iomuxc {
  9 + pinctrl_enet: enetgrp {
  10 + fsl,pins = <
  11 + MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0
  12 + MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0b0
  13 + MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0
  14 + MX6QDL_PAD_ENET_RXD1__ENET_RX_DATA1 0x1b0b0
  15 + MX6QDL_PAD_ENET_RXD0__ENET_RX_DATA0 0x1b0b0
  16 + MX6QDL_PAD_ENET_TXD1__ENET_TX_DATA1 0x1b0b0
  17 + MX6QDL_PAD_ENET_TXD0__ENET_TX_DATA0 0x1b0b0
  18 + MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
  19 + MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
  20 + MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x1b0b0
  21 + >;
  22 + };
  23 +};
  24 +
  25 +&fec {
  26 + pinctrl-names = "default";
  27 + pinctrl-0 = <&pinctrl_enet>;
  28 + phy-reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>;
  29 + clocks = <&clks IMX6QDL_CLK_ENET>,
  30 + <&clks IMX6QDL_CLK_ENET>,
  31 + <&clks IMX6QDL_CLK_ENET_REF>;
  32 + phy-mode = "rmii";
  33 + status = "okay";
  34 +};
arch/arm/dts/imx6qdl-icore-rqs.dtsi
  1 +// SPDX-License-Identifier: GPL-2.0 OR X11
1 2 /*
2 3 * Copyright (C) 2015 Amarula Solutions B.V.
3   - *
4   - * This file is dual-licensed: you can use it either under the terms
5   - * of the GPL or the X11 license, at your option. Note that this dual
6   - * licensing only applies to this file, and not this project as a
7   - * whole.
8   - *
9   - * a) This file is free software; you can redistribute it and/or
10   - * modify it under the terms of the GNU General Public License
11   - * version 2 as published by the Free Software Foundation.
12   - *
13   - * This file is distributed in the hope that it will be useful
14   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
15   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16   - * GNU General Public License for more details.
17   - *
18   - * Or, alternatively
19   - *
20   - * b) Permission is hereby granted, free of charge, to any person
21   - * obtaining a copy of this software and associated documentation
22   - * files (the "Software"), to deal in the Software without
23   - * restriction, including without limitation the rights to use
24   - * copy, modify, merge, publish, distribute, sublicense, and/or
25   - * sell copies of the Software, and to permit persons to whom the
26   - * Software is furnished to do so, subject to the following
27   - * conditions:
28   - *
29   - * The above copyright notice and this permission notice shall be
30   - * included in all copies or substantial portions of the Software.
31   - *
32   - * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
33   - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
34   - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
35   - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
36   - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
37   - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
38   - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
39   - * OTHER DEALINGS IN THE SOFTWARE.
  4 + * Copyright (C) 2015 Engicam S.r.l.
40 5 */
41 6  
42 7 #include <dt-bindings/gpio/gpio.h>
43 8 #include <dt-bindings/clock/imx6qdl-clock.h>
  9 +#include <dt-bindings/sound/fsl-imx-audmux.h>
44 10  
45 11 / {
46   - aliases {
47   - mmc1 = &usdhc3;
48   - mmc2 = &usdhc4;
  12 + memory@10000000 {
  13 + device_type = "memory";
  14 + reg = <0x10000000 0x80000000>;
49 15 };
50 16  
51   - memory {
52   - reg = <0x10000000 0x80000000>;
  17 + reg_1p8v: regulator-1p8v {
  18 + compatible = "regulator-fixed";
  19 + regulator-name = "1P8V";
  20 + regulator-min-microvolt = <1800000>;
  21 + regulator-max-microvolt = <1800000>;
  22 + regulator-boot-on;
  23 + regulator-always-on;
53 24 };
  25 +
  26 + reg_2p5v: regulator-2p5v {
  27 + compatible = "regulator-fixed";
  28 + regulator-name = "2P5V";
  29 + regulator-min-microvolt = <2500000>;
  30 + regulator-max-microvolt = <2500000>;
  31 + regulator-boot-on;
  32 + regulator-always-on;
  33 + };
  34 +
  35 + reg_3p3v: regulator-3p3v {
  36 + compatible = "regulator-fixed";
  37 + regulator-name = "3P3V";
  38 + regulator-min-microvolt = <3300000>;
  39 + regulator-max-microvolt = <3300000>;
  40 + regulator-boot-on;
  41 + regulator-always-on;
  42 + };
  43 +
  44 + reg_sd3_vmmc: regulator-sd3-vmmc {
  45 + compatible = "regulator-fixed";
  46 + regulator-name = "P3V3_SD3_SWITCHED";
  47 + regulator-min-microvolt = <3300000>;
  48 + regulator-max-microvolt = <3300000>;
  49 + gpio = <&gpio1 4 GPIO_ACTIVE_LOW>;
  50 + enable-active-high;
  51 + };
  52 +
  53 + reg_sd4_vmmc: regulator-sd4-vmmc {
  54 + compatible = "regulator-fixed";
  55 + regulator-name = "P3V3_SD4_SWITCHED";
  56 + regulator-min-microvolt = <3300000>;
  57 + regulator-max-microvolt = <3300000>;
  58 + regulator-boot-on;
  59 + regulator-always-on;
  60 + };
  61 +
  62 + reg_usb_h1_vbus: regulator-usb-h1-vbus {
  63 + compatible = "regulator-fixed";
  64 + regulator-name = "usb_h1_vbus";
  65 + regulator-min-microvolt = <5000000>;
  66 + regulator-max-microvolt = <5000000>;
  67 + regulator-boot-on;
  68 + regulator-always-on;
  69 + };
  70 +
  71 + reg_usb_otg_vbus: regulator-usb-otg-vbus {
  72 + compatible = "regulator-fixed";
  73 + regulator-name = "usb_otg_vbus";
  74 + regulator-min-microvolt = <5000000>;
  75 + regulator-max-microvolt = <5000000>;
  76 + regulator-boot-on;
  77 + regulator-always-on;
  78 + };
  79 +
  80 + usb_hub: usb-hub {
  81 + compatible = "smsc,usb3503a";
  82 + pinctrl-names = "default";
  83 + pinctrl-0 = <&pinctrl_usbhub>;
  84 + reset-gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
  85 + clocks = <&clks IMX6QDL_CLK_LVDS2_GATE>;
  86 + clock-names = "refclk";
  87 + };
  88 +
  89 + sound {
  90 + compatible = "simple-audio-card";
  91 + simple-audio-card,name = "imx6qdl-icore-rqs-sgtl5000";
  92 + simple-audio-card,format = "i2s";
  93 + simple-audio-card,bitclock-master = <&dailink_master>;
  94 + simple-audio-card,frame-master = <&dailink_master>;
  95 + simple-audio-card,widgets =
  96 + "Microphone", "Mic Jack",
  97 + "Headphone", "Headphone Jack",
  98 + "Line", "Line In Jack",
  99 + "Speaker", "Line Out Jack",
  100 + "Speaker", "Ext Spk";
  101 + simple-audio-card,routing =
  102 + "MIC_IN", "Mic Jack",
  103 + "Mic Jack", "Mic Bias",
  104 + "Headphone Jack", "HP_OUT";
  105 +
  106 + simple-audio-card,cpu {
  107 + sound-dai = <&ssi1>;
  108 + };
  109 +
  110 + dailink_master: simple-audio-card,codec {
  111 + sound-dai = <&sgtl5000>;
  112 + };
  113 + };
54 114 };
55 115  
  116 +&audmux {
  117 + pinctrl-names = "default";
  118 + pinctrl-0 = <&pinctrl_audmux>;
  119 + status = "okay";
  120 +
  121 + audmux_ssi1 {
  122 + fsl,audmux-port = <MX51_AUDMUX_PORT1_SSI0>;
  123 + fsl,port-config = <
  124 + (IMX_AUDMUX_V2_PTCR_TFSDIR |
  125 + IMX_AUDMUX_V2_PTCR_TFSEL(MX51_AUDMUX_PORT4) |
  126 + IMX_AUDMUX_V2_PTCR_TCLKDIR |
  127 + IMX_AUDMUX_V2_PTCR_TCSEL(MX51_AUDMUX_PORT4) |
  128 + IMX_AUDMUX_V2_PTCR_SYN)
  129 + IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT4)
  130 + >;
  131 + };
  132 +
  133 + audmux_aud4 {
  134 + fsl,audmux-port = <MX51_AUDMUX_PORT4>;
  135 + fsl,port-config = <
  136 + IMX_AUDMUX_V2_PTCR_SYN
  137 + IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT1_SSI0)
  138 + >;
  139 + };
  140 +};
  141 +
  142 +&can1 {
  143 + pinctrl-names = "default";
  144 + pinctrl-0 = <&pinctrl_can1>;
  145 + xceiver-supply = <&reg_3p3v>;
  146 + status = "okay";
  147 +};
  148 +
  149 +&can2 {
  150 + pinctrl-names = "default";
  151 + pinctrl-0 = <&pinctrl_can2>;
  152 + xceiver-supply = <&reg_3p3v>;
  153 + status = "okay";
  154 +};
  155 +
  156 +&clks {
  157 + assigned-clocks = <&clks IMX6QDL_CLK_LVDS2_SEL>;
  158 + assigned-clock-parents = <&clks IMX6QDL_CLK_OSC>;
  159 +};
  160 +
56 161 &fec {
57 162 pinctrl-names = "default";
58 163 pinctrl-0 = <&pinctrl_enet>;
... ... @@ -61,7 +166,11 @@
61 166 status = "okay";
62 167  
63 168 mdio {
64   - eth_phy: ethernet-phy {
  169 + #address-cells = <1>;
  170 + #size-cells = <0>;
  171 +
  172 + eth_phy: ethernet-phy@0 {
  173 + reg = <0x0>;
65 174 rxc-skew-ps = <1140>;
66 175 txc-skew-ps = <1140>;
67 176 txen-skew-ps = <600>;
68 177  
69 178  
70 179  
71 180  
72 181  
... ... @@ -96,18 +205,66 @@
96 205 pinctrl-names = "default";
97 206 pinctrl-0 = <&pinctrl_i2c3>;
98 207 status = "okay";
  208 +
  209 + sgtl5000: codec@a {
  210 + #sound-dai-cells = <0>;
  211 + compatible = "fsl,sgtl5000";
  212 + reg = <0x0a>;
  213 + clocks = <&clks IMX6QDL_CLK_CKO>;
  214 + VDDA-supply = <&reg_2p5v>;
  215 + VDDIO-supply = <&reg_3p3v>;
  216 + VDDD-supply = <&reg_1p8v>;
  217 + };
99 218 };
100 219  
  220 +&pcie {
  221 + pinctrl-names = "default";
  222 + pinctrl-0 = <&pinctrl_pcie>;
  223 + reset-gpio = <&gpio3 29 GPIO_ACTIVE_LOW>;
  224 + status = "okay";
  225 +};
  226 +
  227 +&ssi1 {
  228 + fsl,mode = "i2s-slave";
  229 + status = "okay";
  230 +};
  231 +
101 232 &uart4 {
102 233 pinctrl-names = "default";
103 234 pinctrl-0 = <&pinctrl_uart4>;
104 235 status = "okay";
105 236 };
106 237  
107   -&usdhc3 {
  238 +&usbh1 {
  239 + vbus-supply = <&reg_usb_h1_vbus>;
  240 + disable-over-current;
  241 + clocks = <&clks IMX6QDL_CLK_USBOH3>;
  242 + status = "okay";
  243 +};
  244 +
  245 +&usbotg {
  246 + vbus-supply = <&reg_usb_otg_vbus>;
108 247 pinctrl-names = "default";
  248 + pinctrl-0 = <&pinctrl_usbotg>;
  249 + disable-over-current;
  250 + status = "okay";
  251 +};
  252 +
  253 +&usdhc1 {
  254 + pinctrl-names = "default";
  255 + pinctrl-0 = <&pinctrl_usdhc1>;
  256 + no-1-8-v;
  257 + status = "okay";
  258 +};
  259 +
  260 +&usdhc3 {
  261 + pinctrl-names = "default", "state_100mhz", "state_200mhz";
109 262 pinctrl-0 = <&pinctrl_usdhc3>;
  263 + pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
  264 + pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
  265 + vmcc-supply = <&reg_sd3_vmmc>;
110 266 cd-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
  267 + bus-width = <4>;
111 268 no-1-8-v;
112 269 status = "okay";
113 270 };
114 271  
... ... @@ -117,13 +274,23 @@
117 274 pinctrl-0 = <&pinctrl_usdhc4>;
118 275 pinctrl-1 = <&pinctrl_usdhc4_100mhz>;
119 276 pinctrl-2 = <&pinctrl_usdhc4_200mhz>;
120   - bus-witdh = <8>;
  277 + vmcc-supply = <&reg_sd4_vmmc>;
  278 + bus-width = <8>;
121 279 no-1-8-v;
122 280 non-removable;
123 281 status = "okay";
124 282 };
125 283  
126 284 &iomuxc {
  285 + pinctrl_audmux: audmuxgrp {
  286 + fsl,pins = <
  287 + MX6QDL_PAD_DISP0_DAT20__AUD4_TXC 0x130b0
  288 + MX6QDL_PAD_DISP0_DAT21__AUD4_TXD 0x110b0
  289 + MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS 0x130b0
  290 + MX6QDL_PAD_DISP0_DAT23__AUD4_RXD 0x130b0
  291 + >;
  292 + };
  293 +
127 294 pinctrl_enet: enetgrp {
128 295 fsl,pins = <
129 296 MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
... ... @@ -145,6 +312,20 @@
145 312 >;
146 313 };
147 314  
  315 + pinctrl_can1: can1grp {
  316 + fsl,pins = <
  317 + MX6QDL_PAD_KEY_ROW2__FLEXCAN1_RX 0x1b020
  318 + MX6QDL_PAD_KEY_COL2__FLEXCAN1_TX 0x1b020
  319 + >;
  320 + };
  321 +
  322 + pinctrl_can2: can2grp {
  323 + fsl,pins = <
  324 + MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX 0x1b020
  325 + MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX 0x1b020
  326 + >;
  327 + };
  328 +
148 329 pinctrl_i2c1: i2c1grp {
149 330 fsl,pins = <
150 331 MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
151 332  
... ... @@ -163,9 +344,16 @@
163 344 fsl,pins = <
164 345 MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
165 346 MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
  347 + MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
166 348 >;
167 349 };
168 350  
  351 + pinctrl_pcie: pciegrp {
  352 + fsl,pins = <
  353 + MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x1f059 /* PCIe Reset */
  354 + >;
  355 + };
  356 +
169 357 pinctrl_uart4: uart4grp {
170 358 fsl,pins = <
171 359 MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
... ... @@ -173,6 +361,29 @@
173 361 >;
174 362 };
175 363  
  364 + pinctrl_usbhub: usbhubgrp {
  365 + fsl,pins = <
  366 + MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1f059 /* HUB USB Reset */
  367 + >;
  368 + };
  369 +
  370 + pinctrl_usbotg: usbotggrp {
  371 + fsl,pins = <
  372 + MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
  373 + >;
  374 + };
  375 +
  376 + pinctrl_usdhc1: usdhc1grp {
  377 + fsl,pins = <
  378 + MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17071
  379 + MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10071
  380 + MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17071
  381 + MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17071
  382 + MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17071
  383 + MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17071
  384 + >;
  385 + };
  386 +
176 387 pinctrl_usdhc3: usdhc3grp {
177 388 fsl,pins = <
178 389 MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17070
179 390  
... ... @@ -181,9 +392,33 @@
181 392 MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17070
182 393 MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17070
183 394 MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17070
  395 + MX6QDL_PAD_GPIO_1__GPIO1_IO01 0x1f059 /* CD */
  396 + MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1f059 /* PWR */
184 397 >;
185 398 };
186 399  
  400 + pinctrl_usdhc3_100mhz: usdhc3grp_100mhz {
  401 + fsl,pins = <
  402 + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x170B1
  403 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x100B1
  404 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x170B1
  405 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x170B1
  406 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x170B1
  407 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170B1
  408 + >;
  409 + };
  410 +
  411 + pinctrl_usdhc3_200mhz: usdhc3grp_200mhz {
  412 + fsl,pins = <
  413 + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x170F9
  414 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x100F9
  415 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x170F9
  416 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x170F9
  417 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x170F9
  418 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170F9
  419 + >;
  420 + };
  421 +
187 422 pinctrl_usdhc4: usdhc4grp {
188 423 fsl,pins = <
189 424 MX6QDL_PAD_SD4_CMD__SD4_CMD 0x17070
... ... @@ -228,6 +463,5 @@
228 463 MX6QDL_PAD_SD4_DAT7__SD4_DATA7 0x170F9
229 464 >;
230 465 };
231   -
232 466 };
arch/arm/dts/imx6qdl-icore.dtsi
  1 +// SPDX-License-Identifier: GPL-2.0 OR X11
1 2 /*
2 3 * Copyright (C) 2016 Amarula Solutions B.V.
3 4 * Copyright (C) 2016 Engicam S.r.l.
4   - *
5   - * This file is dual-licensed: you can use it either under the terms
6   - * of the GPL or the X11 license, at your option. Note that this dual
7   - * licensing only applies to this file, and not this project as a
8   - * whole.
9   - *
10   - * a) This file is free software; you can redistribute it and/or
11   - * modify it under the terms of the GNU General Public License
12   - * version 2 as published by the Free Software Foundation.
13   - *
14   - * This file is distributed in the hope that it will be useful
15   - * but WITHOUT ANY WARRANTY; without even the implied warranty of
16   - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17   - * GNU General Public License for more details.
18   - *
19   - * Or, alternatively
20   - *
21   - * b) Permission is hereby granted, free of charge, to any person
22   - * obtaining a copy of this software and associated documentation
23   - * files (the "Software"), to deal in the Software without
24   - * restriction, including without limitation the rights to use
25   - * copy, modify, merge, publish, distribute, sublicense, and/or
26   - * sell copies of the Software, and to permit persons to whom the
27   - * Software is furnished to do so, subject to the following
28   - * conditions:
29   - *
30   - * The above copyright notice and this permission notice shall be
31   - * included in all copies or substantial portions of the Software.
32   - *
33   - * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
34   - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35   - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36   - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37   - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
38   - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39   - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40   - * OTHER DEALINGS IN THE SOFTWARE.
41 5 */
42 6  
43 7 #include <dt-bindings/gpio/gpio.h>
44 8 #include <dt-bindings/input/input.h>
  9 +#include <dt-bindings/sound/fsl-imx-audmux.h>
45 10  
46 11 / {
47   - aliases {
48   - mmc1 = &usdhc3;
  12 + memory@10000000 {
  13 + device_type = "memory";
  14 + reg = <0x10000000 0x80000000>;
49 15 };
50 16  
51   - memory {
52   - reg = <0x10000000 0x80000000>;
  17 + chosen {
  18 + stdout-path = &uart4;
53 19 };
54 20  
  21 + backlight_lvds: backlight-lvds {
  22 + compatible = "pwm-backlight";
  23 + pwms = <&pwm3 0 100000>;
  24 + brightness-levels = <0 4 8 16 32 64 128 255>;
  25 + default-brightness-level = <7>;
  26 + };
  27 +
  28 + reg_1p8v: regulator-1p8v {
  29 + compatible = "regulator-fixed";
  30 + regulator-name = "1P8V";
  31 + regulator-min-microvolt = <1800000>;
  32 + regulator-max-microvolt = <1800000>;
  33 + regulator-boot-on;
  34 + regulator-always-on;
  35 + };
  36 +
  37 + reg_2p5v: regulator-2p5v {
  38 + compatible = "regulator-fixed";
  39 + regulator-name = "2P5V";
  40 + regulator-min-microvolt = <2500000>;
  41 + regulator-max-microvolt = <2500000>;
  42 + regulator-boot-on;
  43 + regulator-always-on;
  44 + };
  45 +
55 46 reg_3p3v: regulator-3p3v {
56 47 compatible = "regulator-fixed";
57 48 regulator-name = "3P3V";
58 49  
... ... @@ -60,8 +51,85 @@
60 51 regulator-boot-on;
61 52 regulator-always-on;
62 53 };
  54 +
  55 + reg_usb_h1_vbus: regulator-usb-h1-vbus {
  56 + compatible = "regulator-fixed";
  57 + regulator-name = "usb_h1_vbus";
  58 + regulator-min-microvolt = <5000000>;
  59 + regulator-max-microvolt = <5000000>;
  60 + regulator-boot-on;
  61 + regulator-always-on;
  62 + };
  63 +
  64 + reg_usb_otg_vbus: regulator-usb-otg-vbus {
  65 + compatible = "regulator-fixed";
  66 + regulator-name = "usb_otg_vbus";
  67 + regulator-min-microvolt = <5000000>;
  68 + regulator-max-microvolt = <5000000>;
  69 + regulator-boot-on;
  70 + regulator-always-on;
  71 + };
  72 +
  73 + rmii_clk: clock-rmii-clk {
  74 + compatible = "fixed-clock";
  75 + #clock-cells = <0>;
  76 + clock-frequency = <25000000>; /* 25MHz for example */
  77 + };
  78 +
  79 + sound {
  80 + compatible = "simple-audio-card";
  81 + simple-audio-card,name = "imx6qdl-icore-sgtl5000";
  82 + simple-audio-card,format = "i2s";
  83 + simple-audio-card,bitclock-master = <&dailink_master>;
  84 + simple-audio-card,frame-master = <&dailink_master>;
  85 + simple-audio-card,widgets =
  86 + "Microphone", "Mic Jack",
  87 + "Headphone", "Headphone Jack",
  88 + "Line", "Line In Jack",
  89 + "Speaker", "Line Out Jack",
  90 + "Speaker", "Ext Spk";
  91 + simple-audio-card,routing =
  92 + "MIC_IN", "Mic Jack",
  93 + "Mic Jack", "Mic Bias",
  94 + "Headphone Jack", "HP_OUT";
  95 +
  96 + simple-audio-card,cpu {
  97 + sound-dai = <&ssi1>;
  98 + };
  99 +
  100 + dailink_master: simple-audio-card,codec {
  101 + sound-dai = <&sgtl5000>;
  102 + };
  103 + };
63 104 };
64 105  
  106 +&audmux {
  107 + pinctrl-names = "default";
  108 + pinctrl-0 = <&pinctrl_audmux>;
  109 + status = "okay";
  110 +
  111 +
  112 + audmux_ssi1 {
  113 + fsl,audmux-port = <MX51_AUDMUX_PORT1_SSI0>;
  114 + fsl,port-config = <
  115 + (IMX_AUDMUX_V2_PTCR_TFSDIR |
  116 + IMX_AUDMUX_V2_PTCR_TFSEL(MX51_AUDMUX_PORT4) |
  117 + IMX_AUDMUX_V2_PTCR_TCLKDIR |
  118 + IMX_AUDMUX_V2_PTCR_TCSEL(MX51_AUDMUX_PORT4) |
  119 + IMX_AUDMUX_V2_PTCR_SYN)
  120 + IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT4)
  121 + >;
  122 + };
  123 +
  124 + audmux_aud4 {
  125 + fsl,audmux-port = <MX51_AUDMUX_PORT4>;
  126 + fsl,port-config = <
  127 + IMX_AUDMUX_V2_PTCR_SYN
  128 + IMX_AUDMUX_V2_PDCR_RXDSEL(MX51_AUDMUX_PORT1_SSI0)
  129 + >;
  130 + };
  131 +};
  132 +
65 133 &can1 {
66 134 pinctrl-names = "default";
67 135 pinctrl-0 = <&pinctrl_flexcan1>;
... ... @@ -83,6 +151,7 @@
83 151 pinctrl-names = "default";
84 152 pinctrl-0 = <&pinctrl_enet>;
85 153 phy-reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>;
  154 + clocks = <&clks IMX6QDL_CLK_ENET>, <&clks IMX6QDL_CLK_ENET>, <&rmii_clk>;
86 155 phy-mode = "rmii";
87 156 status = "okay";
88 157 };
89 158  
90 159  
... ... @@ -113,14 +182,86 @@
113 182 pinctrl-names = "default";
114 183 pinctrl-0 = <&pinctrl_i2c3>;
115 184 status = "okay";
  185 +
  186 + ov5640: camera@3c {
  187 + compatible = "ovti,ov5640";
  188 + pinctrl-names = "default";
  189 + pinctrl-0 = <&pinctrl_ov5640>;
  190 + reg = <0x3c>;
  191 + clocks = <&clks IMX6QDL_CLK_CKO>;
  192 + clock-names = "xclk";
  193 + DOVDD-supply = <&reg_1p8v>;
  194 + AVDD-supply = <&reg_3p3v>;
  195 + DVDD-supply = <&reg_3p3v>;
  196 + powerdown-gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;
  197 + reset-gpios = <&gpio5 31 GPIO_ACTIVE_LOW>;
  198 + status = "disabled";
  199 +
  200 + port {
  201 + ov5640_to_mipi_csi2: endpoint {
  202 + remote-endpoint = <&mipi_csi2_in>;
  203 + clock-lanes = <0>;
  204 + data-lanes = <1 2>;
  205 + };
  206 + };
  207 + };
  208 +
  209 + sgtl5000: codec@a {
  210 + #sound-dai-cells = <0>;
  211 + compatible = "fsl,sgtl5000";
  212 + reg = <0x0a>;
  213 + clocks = <&clks IMX6QDL_CLK_CKO>;
  214 + VDDA-supply = <&reg_2p5v>;
  215 + VDDIO-supply = <&reg_3p3v>;
  216 + VDDD-supply = <&reg_1p8v>;
  217 + };
116 218 };
117 219  
  220 +&mipi_csi {
  221 + status = "disabled";
  222 +
  223 + port@0 {
  224 + reg = <0>;
  225 +
  226 + mipi_csi2_in: endpoint {
  227 + remote-endpoint = <&ov5640_to_mipi_csi2>;
  228 + clock-lanes = <0>;
  229 + data-lanes = <1 2>;
  230 + };
  231 + };
  232 +};
  233 +
  234 +&pwm3 {
  235 + pinctrl-names = "default";
  236 + pinctrl-0 = <&pinctrl_pwm3>;
  237 + status = "okay";
  238 +};
  239 +
  240 +&ssi1 {
  241 + fsl,mode = "i2s-slave";
  242 + status = "okay";
  243 +};
  244 +
118 245 &uart4 {
119 246 pinctrl-names = "default";
120 247 pinctrl-0 = <&pinctrl_uart4>;
121 248 status = "okay";
122 249 };
123 250  
  251 +&usbh1 {
  252 + vbus-supply = <&reg_usb_h1_vbus>;
  253 + disable-over-current;
  254 + status = "okay";
  255 +};
  256 +
  257 +&usbotg {
  258 + vbus-supply = <&reg_usb_otg_vbus>;
  259 + pinctrl-names = "default";
  260 + pinctrl-0 = <&pinctrl_usbotg>;
  261 + disable-over-current;
  262 + status = "okay";
  263 +};
  264 +
124 265 &usdhc1 {
125 266 pinctrl-names = "default";
126 267 pinctrl-0 = <&pinctrl_usdhc1>;
... ... @@ -138,6 +279,15 @@
138 279 };
139 280  
140 281 &iomuxc {
  282 + pinctrl_audmux: audmuxgrp {
  283 + fsl,pins = <
  284 + MX6QDL_PAD_DISP0_DAT20__AUD4_TXC 0x130b0
  285 + MX6QDL_PAD_DISP0_DAT21__AUD4_TXD 0x110b0
  286 + MX6QDL_PAD_DISP0_DAT22__AUD4_TXFS 0x130b0
  287 + MX6QDL_PAD_DISP0_DAT23__AUD4_RXD 0x130b0
  288 + >;
  289 + };
  290 +
141 291 pinctrl_enet: enetgrp {
142 292 fsl,pins = <
143 293 MX6QDL_PAD_ENET_CRS_DV__ENET_RX_EN 0x1b0b0
... ... @@ -168,7 +318,7 @@
168 318 >;
169 319 };
170 320  
171   - pinctrl_gpmi_nand: gpmi-nand {
  321 + pinctrl_gpmi_nand: gpminandgrp {
172 322 fsl,pins = <
173 323 MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1
174 324 MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1
175 325  
176 326  
... ... @@ -208,14 +358,33 @@
208 358 fsl,pins = <
209 359 MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001b8b1
210 360 MX6QDL_PAD_EIM_D18__I2C3_SDA 0x4001b8b1
211   - MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
212 361 >;
213 362 };
214 363  
  364 + pinctrl_ov5640: ov5640grp {
  365 + fsl,pins = <
  366 + MX6QDL_PAD_CSI0_DAT12__GPIO5_IO30 0x1b0b0
  367 + MX6QDL_PAD_CSI0_DAT13__GPIO5_IO31 0x1b0b0
  368 + MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
  369 + >;
  370 + };
  371 +
215 372 pinctrl_uart4: uart4grp {
216 373 fsl,pins = <
217 374 MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
218 375 MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
  376 + >;
  377 + };
  378 +
  379 + pinctrl_pwm3: pwm3grp {
  380 + fsl,pins = <
  381 + MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b1
  382 + >;
  383 + };
  384 +
  385 + pinctrl_usbotg: usbotggrp {
  386 + fsl,pins = <
  387 + MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
219 388 >;
220 389 };
221 390