summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
diff options
context:
space:
mode:
authorNeil Armstrong <narmstrong@baylibre.com>2019-06-07 17:47:34 +0300
committerKevin Hilman <khilman@baylibre.com>2019-06-12 01:50:04 +0300
commitb497ad38202b8701f2e0fdbffc6e7f7023b1ebe7 (patch)
treee68e4bf59415d073f676acc7e9e8f02a0c8dfbcb /arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
parent45380009f78685d67881316dcc426fecd34f9ba9 (diff)
downloadlinux-b497ad38202b8701f2e0fdbffc6e7f7023b1ebe7.tar.xz
arm64: dts: meson-g12a-x96-max: Enable Wifi SDIO Module
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>
Diffstat (limited to 'arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts')
-rw-r--r--arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts50
1 files changed, 50 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
index 740083440007..07d80ec06db2 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
@@ -51,6 +51,13 @@
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";
@@ -115,6 +122,13 @@
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 {
@@ -177,6 +191,14 @@
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>;
@@ -200,6 +222,34 @@
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";