arm64: dts: rockchip: Add on-board WiFi/BT support for Rock960 boards

Add on-board WiFi/BT support for Rock960 boards such as Rock960 based
on AP6356S and Ficus based on AP6354 wireless modules.

Firmwares for the respective boards are available here:

http://people.linaro.org/~manivannan.sadhasivam/rock960_wifi/
http://people.linaro.org/~manivannan.sadhasivam/ficus_wifi/

Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
This commit is contained in:
Manivannan Sadhasivam 2019-02-15 10:26:48 +05:30 committed by Heiko Stuebner
parent 4bc4d6013b
commit c72235c288

View File

@ -9,6 +9,15 @@
#include "rk3399-opp.dtsi" #include "rk3399-opp.dtsi"
/ { / {
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
clocks = <&rk808 1>;
clock-names = "ext_clock";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
};
vcc1v8_s0: vcc1v8-s0 { vcc1v8_s0: vcc1v8-s0 {
compatible = "regulator-fixed"; compatible = "regulator-fixed";
regulator-name = "vcc1v8_s0"; regulator-name = "vcc1v8_s0";
@ -370,6 +379,20 @@
}; };
&pinctrl { &pinctrl {
bt {
bt_enable_h: bt-enable-h {
rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_host_wake_l: bt-host-wake-l {
rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_wake_l: bt-wake-l {
rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
sdmmc { sdmmc {
sdmmc_bus1: sdmmc-bus1 { sdmmc_bus1: sdmmc-bus1 {
rockchip,pins = rockchip,pins =
@ -395,6 +418,26 @@
}; };
}; };
sdio0 {
sdio0_bus4: sdio0-bus4 {
rockchip,pins =
<2 20 RK_FUNC_1 &pcfg_pull_up_20ma>,
<2 21 RK_FUNC_1 &pcfg_pull_up_20ma>,
<2 22 RK_FUNC_1 &pcfg_pull_up_20ma>,
<2 23 RK_FUNC_1 &pcfg_pull_up_20ma>;
};
sdio0_cmd: sdio0-cmd {
rockchip,pins =
<2 24 RK_FUNC_1 &pcfg_pull_up_20ma>;
};
sdio0_clk: sdio0-clk {
rockchip,pins =
<2 25 RK_FUNC_1 &pcfg_pull_none_20ma>;
};
};
pmic { pmic {
pmic_int_l: pmic-int-l { pmic_int_l: pmic-int-l {
rockchip,pins = rockchip,pins =
@ -411,6 +454,19 @@
<1 14 RK_FUNC_GPIO &pcfg_pull_down>; <1 14 RK_FUNC_GPIO &pcfg_pull_down>;
}; };
}; };
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins =
<0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wifi {
wifi_host_wake_l: wifi-host-wake-l {
rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
}; };
&pwm2 { &pwm2 {
@ -421,6 +477,32 @@
status = "okay"; status = "okay";
}; };
&sdio0 {
bus-width = <4>;
clock-frequency = <50000000>;
cap-sdio-irq;
cap-sd-highspeed;
keep-power-in-suspend;
mmc-pwrseq = <&sdio_pwrseq>;
non-removable;
pinctrl-names = "default";
pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
sd-uhs-sdr104;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
brcmf: wifi@1 {
compatible = "brcm,bcm4329-fmac";
reg = <1>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PA3 GPIO_ACTIVE_HIGH>;
interrupt-names = "host-wake";
pinctrl-names = "default";
pinctrl-0 = <&wifi_host_wake_l>;
};
};
&sdhci { &sdhci {
bus-width = <8>; bus-width = <8>;
mmc-hs400-1_8v; mmc-hs400-1_8v;
@ -447,8 +529,19 @@
&uart0 { &uart0 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&uart0_xfer &uart0_cts>; pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
status = "okay"; status = "okay";
bluetooth {
compatible = "brcm,bcm43438-bt";
clocks = <&rk808 1>;
clock-names = "ext_clock";
device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
};
}; };
&uart2 { &uart2 {