Commit c72235c2 authored by Manivannan Sadhasivam's avatar Manivannan Sadhasivam Committed by Heiko Stuebner
Browse files

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: default avatarManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
parent 4bc4d601
Loading
Loading
Loading
Loading
+94 −1
Original line number Diff line number Diff line
@@ -9,6 +9,15 @@
#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 {
		compatible = "regulator-fixed";
		regulator-name = "vcc1v8_s0";
@@ -370,6 +379,20 @@
};

&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_bus1: sdmmc-bus1 {
			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_int_l: pmic-int-l {
			rockchip,pins =
@@ -411,6 +454,19 @@
				<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 {
@@ -421,6 +477,32 @@
	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 {
	bus-width = <8>;
	mmc-hs400-1_8v;
@@ -447,8 +529,19 @@

&uart0 {
	pinctrl-names = "default";
	pinctrl-0 = <&uart0_xfer &uart0_cts>;
	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
	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 {