WLAN device tree configuration

1 Article purpose[edit]

The purpose of this article is to explain how to configure the WLAN when the peripheral (or peripheral associated to the framework) is assigned to Linux® OS.

The configuration is performed using the device tree mechanism that provides a hardware description of the WLAN peripheral connected on SDIO bus.

The purpose of this article is to explain Cypress WLAN/BT companion chip[1]device tree node

2 DT bindings documentation[edit]

The WLAN[2] tree bindings are composed by :

  • SDIO link configuration[3]
  • WLAN device configuration[4]

3 DT configuration[edit]


3.1 DT configuration (STM32 level)[edit]

The companion chip uses the SDIO link so the DT is based on the SDMMC peripheral node which is located in stm32mp151.dtsi

  • This is a set of properties that may not vary for given STM32 device, such as: registers address, clock, reset.

The SDMMC DT configuration is explained at SDMMC device tree configuration


3.2 DT configuration (board level)[edit]

Part of the device tree is used to describe the WLAN hardware used on a given board. The DT node ("sdmmc2") must be filled in:

  • mmc-pwrseq: phandle to the MMC power sequence node
&sdmmc2 {
       arm,primecell-periphid = <0x10153180>;
       bus-width = <4>;
       vmmc-supply = <&v3v3>;
       mmc-pwrseq = <&wifi_pwrseq>;                 /* phandle to the MMC power sequence node */
       brcmf: bcrmf@1 {                             /* node of WLAN companion chip */
          reg = <1>;
          compatible = "brcm,bcm4329-fmac";

4 References[edit]