ARM: dts: imx6sl-warp: Add BCM4330 support
authorFabio Estevam <fabio.estevam@freescale.com>
Thu, 12 Mar 2015 22:07:12 +0000 (19:07 -0300)
committerShawn Guo <shawn.guo@linaro.org>
Mon, 30 Mar 2015 08:43:50 +0000 (16:43 +0800)
Warp has a Murata chip based on a BCM4330 that provides Wifi and Bluetooth
functionality.

Add support for it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
arch/arm/boot/dts/imx6sl-warp.dts

index 8adc843a76ef5c5b2c81f049e374ea4568b33e46..64f7decf1fdcb5b2593377105521a0ff9aa3fb78 100644 (file)
@@ -47,6 +47,7 @@
 
 /dts-v1/;
 
+#include <dt-bindings/gpio/gpio.h>
 #include "imx6sl.dtsi"
 
 / {
                        regulator-max-microvolt = <1800000>;
                };
        };
+
+       usdhc3_pwrseq: usdhc3_pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>,       /* WL_REG_ON */
+                             <&gpio3 25 GPIO_ACTIVE_LOW>,      /* BT_REG_ON */
+                             <&gpio4 4 GPIO_ACTIVE_LOW>,       /* BT_WAKE */
+                             <&gpio4 6 GPIO_ACTIVE_LOW>;       /* BT_RST_N */
+       };
 };
 
 &uart1 {
        status = "okay";
 };
 
+&uart2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_uart2>;
+       fsl,uart-has-rtscts;
+       status = "okay";
+};
+
 &uart3 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart3>;
        status = "okay";
 };
 
+&usdhc3 {
+       pinctrl-names = "default", "state_100mhz", "state_200mhz";
+       pinctrl-0 = <&pinctrl_usdhc3>;
+       pinctrl-1 = <&pinctrl_usdhc3_100mhz>;
+       pinctrl-2 = <&pinctrl_usdhc3_200mhz>;
+       bus-width = <4>;
+       non-removable;
+       keep-power-in-suspend;
+       enable-sdio-wakeup;
+       mmc-pwrseq = <&usdhc3_pwrseq>;
+       status = "okay";
+};
+
 &iomuxc {
        imx6sl-warp {
                pinctrl_uart1: uart1grp {
                        >;
                };
 
+               pinctrl_uart2: uart2grp {
+                       fsl,pins = <
+                               MX6SL_PAD_EPDC_D12__UART2_RX_DATA       0x41b0b1
+                               MX6SL_PAD_EPDC_D13__UART2_TX_DATA       0x41b0b1
+                               MX6SL_PAD_EPDC_D14__UART2_RTS_B         0x4130B1
+                               MX6SL_PAD_EPDC_D15__UART2_CTS_B         0x4130B1
+                       >;
+               };
+
                pinctrl_uart3: uart3grp {
                        fsl,pins = <
                                MX6SL_PAD_AUD_RXC__UART3_RX_DATA        0x41b0b1
                                MX6SL_PAD_SD2_DAT7__SD2_DATA7           0x4170f9
                        >;
                };
+
+               pinctrl_usdhc3: usdhc3grp {
+                       fsl,pins = <
+                               MX6SL_PAD_SD3_CMD__SD3_CMD              0x417059
+                               MX6SL_PAD_SD3_CLK__SD3_CLK              0x410059
+                               MX6SL_PAD_SD3_DAT0__SD3_DATA0           0x417059
+                               MX6SL_PAD_SD3_DAT1__SD3_DATA1           0x417059
+                               MX6SL_PAD_SD3_DAT2__SD3_DATA2           0x417059
+                               MX6SL_PAD_SD3_DAT3__SD3_DATA3           0x417059
+                       >;
+               };
+
+               pinctrl_usdhc3_100mhz: usdhc3grp100mhz {
+                       fsl,pins = <
+                               MX6SL_PAD_SD3_CMD__SD3_CMD              0x4170b9
+                               MX6SL_PAD_SD3_CLK__SD3_CLK              0x4100b9
+                               MX6SL_PAD_SD3_DAT0__SD3_DATA0           0x4170b9
+                               MX6SL_PAD_SD3_DAT1__SD3_DATA1           0x4170b9
+                               MX6SL_PAD_SD3_DAT2__SD3_DATA2           0x4170b9
+                               MX6SL_PAD_SD3_DAT3__SD3_DATA3           0x4170b9
+                       >;
+               };
+
+               pinctrl_usdhc3_200mhz: usdhc3grp200mhz {
+                       fsl,pins = <
+                               MX6SL_PAD_SD3_CMD__SD3_CMD              0x4170f9
+                               MX6SL_PAD_SD3_CLK__SD3_CLK              0x4100f9
+                               MX6SL_PAD_SD3_DAT0__SD3_DATA0           0x4170f9
+                               MX6SL_PAD_SD3_DAT1__SD3_DATA1           0x4170f9
+                               MX6SL_PAD_SD3_DAT2__SD3_DATA2           0x4170f9
+                               MX6SL_PAD_SD3_DAT3__SD3_DATA3           0x4170f9
+                       >;
+               };
        };
 };