diff --git a/src/arm/am57xx-beagle-x15-gssi.dts b/src/arm/am57xx-beagle-x15-gssi.dts index 9f79a204a35604c726ae6cf96b68e65e82d9d255..4506f261d8cc9fca2565437cbfb469b615e6af80 100644 --- a/src/arm/am57xx-beagle-x15-gssi.dts +++ b/src/arm/am57xx-beagle-x15-gssi.dts @@ -1,5 +1,6 @@ #include "am57xx-beagle-x15-common.dtsi" #include "am57xx-cmem.dtsi" +#include "gssi-27-009-wl1837.dtsi" / { model = "TI AM5728 BeagleBoard-X15 rev C on GSSI mainboard"; diff --git a/src/arm/gssi-27-009-wl1837.dtsi b/src/arm/gssi-27-009-wl1837.dtsi new file mode 100644 index 0000000000000000000000000000000000000000..520cd6abac6ad7e4d7b42c683b5b1f5c23c96c4d --- /dev/null +++ b/src/arm/gssi-27-009-wl1837.dtsi @@ -0,0 +1,80 @@ +/ { + wlan_en_reg: fixedregulator@2 { + compatible = "regulator-fixed"; + regulator-name = "wlan-en-regulator"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + startup-delay-us = <70000>; + gpio = <&gpio5 4 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&dra7_pmx_core { + wl18xx_pins_default: pinmux_wl18xx_pins_default { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x36bc, PIN_OUTPUT_PULLDOWN | MUX_MODE14) /* G13 mcasp1_axr2 gpio5_4 */ + DRA7XX_CORE_IOPAD(0x36c4, PIN_OUTPUT_PULLDOWN | MUX_MODE14) /* E12 mcasp1_axr4 gpio5_6 */ + DRA7XX_CORE_IOPAD(0x36d0, PIN_INPUT_PULLDOWN | MUX_MODE14) /* D12 mcasp1_axr7 gpio5_9 */ + >; + }; + + wl18xx_pins_sleep: pinmux_wl18xx_pins_sleep { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x36bc, PIN_OUTPUT_PULLDOWN | MUX_MODE14) /* G13 mcasp1_axr2 gpio5_4 */ + DRA7XX_CORE_IOPAD(0x36c4, PIN_OUTPUT_PULLUP | MUX_MODE14) /* E12 mcasp1_axr4 gpio5_6 */ + DRA7XX_CORE_IOPAD(0x36d0, PIN_INPUT_PULLDOWN | MUX_MODE14) /* D12 mcasp1_axr7 gpio5_9 */ + >; + }; + + bt_pins: pinmux_bt_pins { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x36c0, PIN_OUTPUT_PULLUP | MUX_MODE14) /* J11 mcasp1_axr3 gpio5_5 */ + >; + }; + + uart9_pins: pinmux_uart9_pins { + pinctrl-single,pins = < + DRA7XX_CORE_IOPAD(0x3744, PIN_INPUT_PULLUP | MUX_MODE3 ) /* AA3 mcasp5_aclkx uart9_rxd */ + DRA7XX_CORE_IOPAD(0x3748, PIN_OUTPUT_PULLDOWN | MUX_MODE3 ) /* AB9 mcasp5_fsx uart9_txd */ + DRA7XX_CORE_IOPAD(0x374c, PIN_INPUT | MUX_MODE3 ) /* AB3 mcasp5_axr0 uart9_ctsn */ + DRA7XX_CORE_IOPAD(0x3750, PIN_OUTPUT_PULLDOWN | MUX_MODE3 ) /* AA4 mcasp5_axr1 uart9_rtsn */ + >; + }; +}; + +&mmc3 { + status = "okay"; + vmmc-supply = <&wlan_en_reg>; + bus-width = <4>; + pinctrl-names = "default", "hs", "sdr12", "sdr25", "sdr50"; + pinctrl-0 = <&mmc3_pins_default &wl18xx_pins_default>; + pinctrl-1 = <&mmc3_pins_hs &wl18xx_pins_default>; + pinctrl-2 = <&mmc3_pins_sdr12 &wl18xx_pins_default>; + pinctrl-3 = <&mmc3_pins_sdr25 &wl18xx_pins_default>; + pinctrl-4 = <&mmc3_pins_sdr50 &wl18xx_pins_default>; + ti,non-removable; + ti,needs-special-hs-handling; + cap-power-off-card; + keep-power-in-suspend; + + #address-cells = <1>; + #size-cells = <0>; + wlcore@0 { + compatible = "ti,wl1837"; + reg = <2>; + interrupt-parent = <&gpio5>; + interrupts = <9 IRQ_TYPE_EDGE_RISING>; + }; +}; + +&uart9 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&uart9_pins &bt_pins>; + + bluetooth { + compatible = "ti,wl1837-st"; + enable-gpios = <&gpio5 5 GPIO_ACTIVE_HIGH>; + }; +};