arm64: dts: meson-g12a-x96-max: Enable Wifi SDIO Module
authorNeil Armstrong <narmstrong@baylibre.com>
Fri, 7 Jun 2019 14:47:34 +0000 (16:47 +0200)
committerKevin Hilman <khilman@baylibre.com>
Tue, 11 Jun 2019 22:50:04 +0000 (15:50 -0700)
The X96 Max embeds an AP6398S SDIO module, let's add the
corresponding SDIO, PWM clock and mmc-pwrseq nodes.

Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts

index 7400834400075a41c50db616f59c7b5ed8aeb887..07d80ec06db24675cf2915206c3085cb06737944 100644 (file)
                reset-gpios = <&gpio BOOT_12 GPIO_ACTIVE_LOW>;
        };
 
+       sdio_pwrseq: sdio-pwrseq {
+               compatible = "mmc-pwrseq-simple";
+               reset-gpios = <&gpio GPIOX_6 GPIO_ACTIVE_LOW>;
+               clocks = <&wifi32k>;
+               clock-names = "ext_clock";
+       };
+
        flash_1v8: regulator-flash_1v8 {
                compatible = "regulator-fixed";
                regulator-name = "FLASH_1V8";
                vin-supply = <&dc_in>;
                regulator-always-on;
        };
+
+       wifi32k: wifi32k {
+               compatible = "pwm-clock";
+               #clock-cells = <0>;
+               clock-frequency = <32768>;
+               pwms = <&pwm_ef 0 30518 0>; /* PWM_E at 32.768KHz */
+       };
 };
 
 &cec_AO {
        snps,reset-active-low;
 };
 
+&pwm_ef {
+       status = "okay";
+       pinctrl-0 = <&pwm_e_pins>;
+       pinctrl-names = "default";
+       clocks = <&xtal>;
+       clock-names = "clkin0";
+};
+
 &uart_A {
        status = "okay";
        pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
        dr_mode = "host";
 };
 
+/* SDIO */
+&sd_emmc_a {
+       status = "okay";
+       pinctrl-0 = <&sdio_pins>;
+       pinctrl-1 = <&sdio_clk_gate_pins>;
+       pinctrl-names = "default", "clk-gate";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       bus-width = <4>;
+       cap-sd-highspeed;
+       sd-uhs-sdr50;
+       max-frequency = <100000000>;
+
+       non-removable;
+       disable-wp;
+
+       mmc-pwrseq = <&sdio_pwrseq>;
+
+       vmmc-supply = <&vddao_3v3>;
+       vqmmc-supply = <&vddao_1v8>;
+
+       brcmf: wifi@1 {
+               reg = <1>;
+               compatible = "brcm,bcm4329-fmac";
+       };
+};
+
 /* SD card */
 &sd_emmc_b {
        status = "okay";