Skip to content

Snickerdoodle Black Tips

t-kuha edited this page May 17, 2022 · 7 revisions

Wi-Fi

Part. EN IRQ CLK CMD SDIO0 SDIO1 SDIO2 SDIO3
Zynq PS MIO 9 MIO 0 MIO 12 MIO 11 MIO 10 MIO 13 MIO 14 MIO 15
WL1837 Pin 40 Pin 14 Pin 8 Pin 6 Pin 10 Pin 11 Pin 12 Pin 13

Kernel configuration

  • Enable MAC80211, CFG80211, CFG80211_WEXT, WL18XX, WLCORE_SDIO

Device tree

Add the following entry:
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>

/include/ "system-conf.dtsi"
/ {
    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>;

        // WLAN_EN GPIO for this board
        gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
        enable-active-high;
    };
};

&sdhci1 {
    // Wi-Fi
    vmmc-supply = <&wlan_en_reg>;
    bus-width = <4>;
    cap-power-off-card;
    keep-power-in-suspend;
    #address-cells = <1>;
    #size-cells = <0>;

    wlcore: wlcore@2 {
        compatible = "ti,wl1837";
        reg = <2>;
        interrupt-parent = <&gpio0>;
        interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
    };
};

Note on Wi-Fi firmware

File Name Note
wl18xx-fw-4.bin WiLink firmware (main firmware file); source
wl18xx-conf.bin System configuration file
wl1271-nvs.bin Optional; used for setting user-defined MAC
  • References:
    • WiLink8 Linux Wi-Fi Driver Release R8.8 Build User's Guide

QSPI (SPI flash)

Part. NSS SCK D0 D1 D2 D3.
Zynq PS MIO 1 MIO 6 MIO 2 MIO 3 MIO 4 MIO 5

Device tree

Add the following entry:
&qspi {
    // QSPI
    status = "okay";
    is-dual = <0>;
    num-cs = <1>;
    xlnx,qspi-mode = <1>;

    flash@0 {
        #address-cells = <1>;
        #size-cells =<1>;
        compatible = "jedec,spi-nor";
        reg = <0>;
        spi-max-frequency = <50000000>;
        m25p,fast-read;
    };
};

SPI (platform controller/STM32)

Part. NSS CLK MISO MOSI
Zynq PS MIO 49 MIO 48 MIO 47 MIO 46
STM32 PB12 PB13 PB14 PB15
Add the following entry:
&spi1 {
    status = "okay";
    num-cs = <1>;
    is-decoded-cs = <0>;
    #address-cells = <1>;
    #size-cells = <0>;

    dev@0 {
        compatible = "linux,spidev";
        reg = <0>;
        spi-max-frequency = <1000000>;
    };
};

Bluetooth

  • Bluetooth cannot be used from PS/Linux