Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: Restructure imx6qdl-wandboard.dtsi for new rev C1 board.

The rev C1 Wandboard uses the Broadcom 4330 for WiFi and Bluetooth instead of
the 4329. This changes the PADS assigned for the control lines. Another
side effect of the change is that on the rev C1 board, usdhc driver can't
detect the chip presence correctly so usdhc2 now needs its 'non-removeable'
property removed.

So that rev B1 and earlier can continue to work, this patch splits the
board-specific definitions from imx6qdl-wandboard.dtsi into
imx6qdl-wandboard-revb1.dtsi and imx6qdl-wandboard-revc1.dtsi. The new files
include the original base imx6qdl-wandboard.dtsi which retains the common
definitions.

The existing imx6dl-wandboard.dts includes imx6qdl-wandboard-revc1.dtsi and
imx6dl-wandboard-revb1.dts (new) includes imx6qdl-wandboard-revb1.dtsi.
This makes the rev C1 board the new default. The same pattern is used for
imx6q-wandboard.dts.

So, from U-Boot on a WB-Quad you use imxq-wandboard-revb1.dtb for the older B1
board and imxq-wandboard.dtb for the current rev C1 board.

Signed-off-by: George Joseph <george.joseph@fairview5.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>

authored by

George Joseph and committed by
Shawn Guo
8536239e 02578153

+135 -23
+2
arch/arm/boot/dts/Makefile
··· 205 205 imx6dl-tx6u-801x.dtb \ 206 206 imx6dl-tx6u-811x.dtb \ 207 207 imx6dl-wandboard.dtb \ 208 + imx6dl-wandboard-revb1.dtb \ 208 209 imx6q-arm2.dtb \ 209 210 imx6q-cm-fx6.dtb \ 210 211 imx6q-cubox-i.dtb \ ··· 225 224 imx6q-sbc6x.dtb \ 226 225 imx6q-udoo.dtb \ 227 226 imx6q-wandboard.dtb \ 227 + imx6q-wandboard-revb1.dtb \ 228 228 imx6q-tx6q-1010.dtb \ 229 229 imx6q-tx6q-1010-comtft.dtb \ 230 230 imx6q-tx6q-1020.dtb \
+22
arch/arm/boot/dts/imx6dl-wandboard-revb1.dts
··· 1 + /* 2 + * Copyright 2013 Freescale Semiconductor, Inc. 3 + * 4 + * Author: Fabio Estevam <fabio.estevam@freescale.com> 5 + * 6 + * This program is free software; you can redistribute it and/or modify 7 + * it under the terms of the GNU General Public License version 2 as 8 + * published by the Free Software Foundation. 9 + * 10 + */ 11 + /dts-v1/; 12 + #include "imx6dl.dtsi" 13 + #include "imx6qdl-wandboard-revb1.dtsi" 14 + 15 + / { 16 + model = "Wandboard i.MX6 Dual Lite Board"; 17 + compatible = "wand,imx6dl-wandboard", "fsl,imx6dl"; 18 + 19 + memory { 20 + reg = <0x10000000 0x40000000>; 21 + }; 22 + };
+1 -1
arch/arm/boot/dts/imx6dl-wandboard.dts
··· 10 10 */ 11 11 /dts-v1/; 12 12 #include "imx6dl.dtsi" 13 - #include "imx6qdl-wandboard.dtsi" 13 + #include "imx6qdl-wandboard-revc1.dtsi" 14 14 15 15 / { 16 16 model = "Wandboard i.MX6 Dual Lite Board";
+26
arch/arm/boot/dts/imx6q-wandboard-revb1.dts
··· 1 + /* 2 + * Copyright 2013 Freescale Semiconductor, Inc. 3 + * 4 + * Author: Fabio Estevam <fabio.estevam@freescale.com> 5 + * 6 + * This program is free software; you can redistribute it and/or modify 7 + * it under the terms of the GNU General Public License version 2 as 8 + * published by the Free Software Foundation. 9 + * 10 + */ 11 + /dts-v1/; 12 + #include "imx6q.dtsi" 13 + #include "imx6qdl-wandboard-revb1.dtsi" 14 + 15 + / { 16 + model = "Wandboard i.MX6 Quad Board"; 17 + compatible = "wand,imx6q-wandboard", "fsl,imx6q"; 18 + 19 + memory { 20 + reg = <0x10000000 0x80000000>; 21 + }; 22 + }; 23 + 24 + &sata { 25 + status = "okay"; 26 + };
+1 -1
arch/arm/boot/dts/imx6q-wandboard.dts
··· 10 10 */ 11 11 /dts-v1/; 12 12 #include "imx6q.dtsi" 13 - #include "imx6qdl-wandboard.dtsi" 13 + #include "imx6qdl-wandboard-revc1.dtsi" 14 14 15 15 / { 16 16 model = "Wandboard i.MX6 Quad Board";
+42
arch/arm/boot/dts/imx6qdl-wandboard-revb1.dtsi
··· 1 + /* 2 + * Copyright 2013 Freescale Semiconductor, Inc. 3 + * 4 + * Author: Fabio Estevam <fabio.estevam@freescale.com> 5 + * 6 + * This program is free software; you can redistribute it and/or modify 7 + * it under the terms of the GNU General Public License version 2 as 8 + * published by the Free Software Foundation. 9 + * 10 + */ 11 + 12 + #include "imx6qdl-wandboard.dtsi" 13 + 14 + &iomuxc { 15 + pinctrl-0 = <&pinctrl_hog>; 16 + 17 + imx6qdl-wandboard { 18 + pinctrl_hog: hoggrp { 19 + fsl,pins = < 20 + MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0 /* GPIO_0_CLKO */ 21 + MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* uSDHC1 CD */ 22 + MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000 /* uSDHC3 CD */ 23 + MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x0f0b0 /* WL_REF_ON */ 24 + MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x0f0b0 /* WL_RST_N */ 25 + MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x000b0 /* WL_REG_ON */ 26 + MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* WL_HOST_WAKE */ 27 + MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* WL_WAKE */ 28 + MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x80000000 /* RGMII_nRST */ 29 + MX6QDL_PAD_EIM_DA13__GPIO3_IO13 0x80000000 /* BT_ON */ 30 + MX6QDL_PAD_EIM_DA14__GPIO3_IO14 0x80000000 /* BT_WAKE */ 31 + MX6QDL_PAD_EIM_DA15__GPIO3_IO15 0x80000000 /* BT_HOST_WAKE */ 32 + >; 33 + }; 34 + }; 35 + }; 36 + 37 + &usdhc2 { 38 + pinctrl-names = "default"; 39 + pinctrl-0 = <&pinctrl_usdhc2>; 40 + non-removable; 41 + status = "okay"; 42 + };
+41
arch/arm/boot/dts/imx6qdl-wandboard-revc1.dtsi
··· 1 + /* 2 + * Copyright 2013 Freescale Semiconductor, Inc. 3 + * 4 + * Author: Fabio Estevam <fabio.estevam@freescale.com> 5 + * 6 + * This program is free software; you can redistribute it and/or modify 7 + * it under the terms of the GNU General Public License version 2 as 8 + * published by the Free Software Foundation. 9 + * 10 + */ 11 + 12 + #include "imx6qdl-wandboard.dtsi" 13 + 14 + &iomuxc { 15 + pinctrl-0 = <&pinctrl_hog>; 16 + 17 + imx6qdl-wandboard { 18 + pinctrl_hog: hoggrp { 19 + fsl,pins = < 20 + MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0 /* GPIO_0_CLKO */ 21 + MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* uSDHC1 CD */ 22 + MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000 /* uSDHC3 CD */ 23 + MX6QDL_PAD_CSI0_DAT14__GPIO6_IO00 0x0f0b0 /* WIFI_ON (reset, active low) */ 24 + MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x000b0 /* WL_REG_ON (unused) */ 25 + MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* WL_HOST_WAKE, input */ 26 + MX6QDL_PAD_CSI0_DAT13__GPIO5_IO31 0x0f0b0 /* GPIO5_IO31 (Wifi Power Enable) */ 27 + MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* WL_WAKE (unused) */ 28 + MX6QDL_PAD_CSI0_VSYNC__GPIO5_IO21 0x80000000 /* BT_ON */ 29 + MX6QDL_PAD_CSI0_DAT12__GPIO5_IO30 0x80000000 /* BT_WAKE */ 30 + MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x80000000 /* BT_HOST_WAKE */ 31 + MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x80000000 /* RGMII_nRST */ 32 + >; 33 + }; 34 + }; 35 + }; 36 + 37 + &usdhc2 { 38 + pinctrl-names = "default"; 39 + pinctrl-0 = <&pinctrl_usdhc2>; 40 + status = "okay"; 41 + };
-21
arch/arm/boot/dts/imx6qdl-wandboard.dtsi
··· 91 91 92 92 &iomuxc { 93 93 pinctrl-names = "default"; 94 - pinctrl-0 = <&pinctrl_hog>; 95 94 96 95 imx6qdl-wandboard { 97 - pinctrl_hog: hoggrp { 98 - fsl,pins = < 99 - MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0 100 - MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x80000000 101 - MX6QDL_PAD_EIM_DA9__GPIO3_IO09 0x80000000 102 - MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x80000000 /* WL_REF_ON */ 103 - MX6QDL_PAD_EIM_A25__GPIO5_IO02 0x80000000 /* WL_RST_N */ 104 - MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* WL_REG_ON */ 105 - MX6QDL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* WL_HOST_WAKE */ 106 - MX6QDL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* WL_WAKE */ 107 - MX6QDL_PAD_EIM_D29__GPIO3_IO29 0x80000000 108 - >; 109 - }; 110 96 111 97 pinctrl_audmux: audmuxgrp { 112 98 fsl,pins = < ··· 251 265 pinctrl-names = "default"; 252 266 pinctrl-0 = <&pinctrl_usdhc1>; 253 267 cd-gpios = <&gpio1 2 0>; 254 - status = "okay"; 255 - }; 256 - 257 - &usdhc2 { 258 - pinctrl-names = "default"; 259 - pinctrl-0 = <&pinctrl_usdhc2>; 260 - non-removable; 261 268 status = "okay"; 262 269 }; 263 270