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

ARM: dts: cubox-i: add support for Broadcom Wifi/Bluetooth devices

Add DT support for the Broadcom Wifi/Bluetooth devices found on the
microsom board.

[Modified original Russell King's patch to use mmc-pwrseq]

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Tested-by: Jon Nettleton <jon@solid-run.com>
Tested-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>

authored by

Fabio Estevam and committed by
Shawn Guo
dca97cee ef69728f

+103
+103
arch/arm/boot/dts/imx6qdl-microsom.dtsi
··· 39 39 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 40 * OTHER DEALINGS IN THE SOFTWARE. 41 41 */ 42 + #include <dt-bindings/gpio/gpio.h> 43 + / { 44 + clk_sdio: sdio-clock { 45 + compatible = "gpio-gate-clock"; 46 + #clock-cells = <0>; 47 + pinctrl-names = "default"; 48 + pinctrl-0 = <&pinctrl_microsom_brcm_osc>; 49 + enable-gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>; 50 + }; 51 + 52 + regulators { 53 + compatible = "simple-bus"; 54 + 55 + reg_brcm: brcm-reg { 56 + compatible = "regulator-fixed"; 57 + enable-active-high; 58 + gpio = <&gpio3 19 0>; 59 + pinctrl-names = "default"; 60 + pinctrl-0 = <&pinctrl_microsom_brcm_reg>; 61 + regulator-name = "brcm_reg"; 62 + regulator-min-microvolt = <3300000>; 63 + regulator-max-microvolt = <3300000>; 64 + startup-delay-us = <200000>; 65 + }; 66 + }; 67 + 68 + usdhc1_pwrseq: usdhc1_pwrseq { 69 + compatible = "mmc-pwrseq-simple"; 70 + reset-gpios = <&gpio5 26 GPIO_ACTIVE_LOW>, 71 + <&gpio6 0 GPIO_ACTIVE_LOW>; 72 + clocks = <&clk_sdio>; 73 + clock-names = "ext_clock"; 74 + }; 75 + }; 42 76 43 77 &iomuxc { 44 78 microsom { 79 + pinctrl_microsom_brcm_bt: microsom-brcm-bt { 80 + fsl,pins = < 81 + MX6QDL_PAD_CSI0_DAT14__GPIO6_IO00 0x40013070 82 + MX6QDL_PAD_CSI0_DAT15__GPIO6_IO01 0x40013070 83 + MX6QDL_PAD_CSI0_DAT18__GPIO6_IO04 0x40013070 84 + >; 85 + }; 86 + 87 + pinctrl_microsom_brcm_osc: microsom-brcm-osc { 88 + fsl,pins = < 89 + MX6QDL_PAD_DISP0_DAT11__GPIO5_IO05 0x40013070 90 + >; 91 + }; 92 + 93 + pinctrl_microsom_brcm_reg: microsom-brcm-reg { 94 + fsl,pins = < 95 + MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x40013070 96 + >; 97 + }; 98 + 99 + pinctrl_microsom_brcm_wifi: microsom-brcm-wifi { 100 + fsl,pins = < 101 + MX6QDL_PAD_GPIO_8__XTALOSC_REF_CLK_32K 0x1b0b0 102 + MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x40013070 103 + MX6QDL_PAD_CSI0_DAT8__GPIO5_IO26 0x40013070 104 + MX6QDL_PAD_CSI0_DAT9__GPIO5_IO27 0x40013070 105 + >; 106 + }; 107 + 45 108 pinctrl_microsom_uart1: microsom-uart1 { 46 109 fsl,pins = < 47 110 MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1 48 111 MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1 112 + >; 113 + }; 114 + 115 + pinctrl_microsom_uart4: microsom-uart4 { 116 + fsl,pins = < 117 + MX6QDL_PAD_CSI0_DAT12__UART4_TX_DATA 0x1b0b1 118 + MX6QDL_PAD_CSI0_DAT13__UART4_RX_DATA 0x1b0b1 119 + MX6QDL_PAD_CSI0_DAT16__UART4_RTS_B 0x1b0b1 120 + MX6QDL_PAD_CSI0_DAT17__UART4_CTS_B 0x1b0b1 121 + >; 122 + }; 123 + 124 + pinctrl_microsom_usdhc1: microsom-usdhc1 { 125 + fsl,pins = < 126 + MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17059 127 + MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10059 128 + MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059 129 + MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059 130 + MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059 131 + MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059 49 132 >; 50 133 }; 51 134 }; ··· 137 54 &uart1 { 138 55 pinctrl-names = "default"; 139 56 pinctrl-0 = <&pinctrl_microsom_uart1>; 57 + status = "okay"; 58 + }; 59 + 60 + /* UART4 - Connected to optional BRCM Wifi/BT/FM */ 61 + &uart4 { 62 + pinctrl-names = "default"; 63 + pinctrl-0 = <&pinctrl_microsom_brcm_bt &pinctrl_microsom_uart4>; 64 + fsl,uart-has-rtscts; 65 + status = "okay"; 66 + }; 67 + 68 + /* USDHC1 - Connected to optional BRCM Wifi/BT/FM */ 69 + &usdhc1 { 70 + pinctrl-names = "default"; 71 + pinctrl-0 = <&pinctrl_microsom_brcm_wifi &pinctrl_microsom_usdhc1>; 72 + bus-width = <4>; 73 + mmc-pwrseq = <&usdhc1_pwrseq>; 74 + keep-power-in-suspend; 75 + non-removable; 76 + vmmc-supply = <&reg_brcm>; 140 77 status = "okay"; 141 78 };