From 2a3662749d1ebd01c8e9683992c6298b49b74189 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Thu, 21 Feb 2019 11:41:43 +0000 Subject: [PATCH] Improvements to 96boards Rock960 --- arm64-rock960-add-onboard-wifi-bt.patch | 163 ++++++++++++++++++++++++ arm64-rock960-enable-hdmi-audio.patch | 43 +++++++ arm64-rock960-enable-tsadc.patch | 35 +++++ kernel.spec | 7 + 4 files changed, 248 insertions(+) create mode 100644 arm64-rock960-add-onboard-wifi-bt.patch create mode 100644 arm64-rock960-enable-hdmi-audio.patch create mode 100644 arm64-rock960-enable-tsadc.patch diff --git a/arm64-rock960-add-onboard-wifi-bt.patch b/arm64-rock960-add-onboard-wifi-bt.patch new file mode 100644 index 000000000..a68daeddf --- /dev/null +++ b/arm64-rock960-add-onboard-wifi-bt.patch @@ -0,0 +1,163 @@ +From c72235c288c8cc55d33e257e05d3017c2daf1603 Mon Sep 17 00:00:00 2001 +From: Manivannan Sadhasivam +Date: Fri, 15 Feb 2019 10:26:48 +0530 +Subject: 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 +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi | 95 +++++++++++++++++++++++- + 1 file changed, 94 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi +index fecb133b0ed2..e40e66e33a5e 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi +@@ -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 = ; ++ 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 { +-- +cgit 1.2-0.3.lf.el7 diff --git a/arm64-rock960-enable-hdmi-audio.patch b/arm64-rock960-enable-hdmi-audio.patch new file mode 100644 index 000000000..7d4a0071c --- /dev/null +++ b/arm64-rock960-enable-hdmi-audio.patch @@ -0,0 +1,43 @@ +From 803346a8efc9062da732c9d3e0b8e7079096f1ad Mon Sep 17 00:00:00 2001 +From: Ezequiel Garcia +Date: Tue, 29 Jan 2019 08:33:24 -0300 +Subject: arm64: dts: rockchip: Enable HDMI audio devices on rk3399-rock960 + +This commit enable the hdmi-sound and i2s2 devices needed to have +audio over HDMI on both rock960 and the related ficus board. + +Signed-off-by: Ezequiel Garcia +Acked-by: Manivannan Sadhasivam +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi +index 56abbb08c133..fecb133b0ed2 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi +@@ -94,6 +94,10 @@ + status = "okay"; + }; + ++&hdmi_sound { ++ status = "okay"; ++}; ++ + &i2c0 { + clock-frequency = <400000>; + i2c-scl-rising-time-ns = <168>; +@@ -336,6 +340,10 @@ + status = "okay"; + }; + ++&i2s2 { ++ status = "okay"; ++}; ++ + &io_domains { + bt656-supply = <&vcc1v8_s0>; /* bt656_gpio2ab_ms */ + audio-supply = <&vcc1v8_s0>; /* audio_gpio3d4a_ms */ +-- +cgit 1.2-0.3.lf.el7 diff --git a/arm64-rock960-enable-tsadc.patch b/arm64-rock960-enable-tsadc.patch new file mode 100644 index 000000000..53d5303c2 --- /dev/null +++ b/arm64-rock960-enable-tsadc.patch @@ -0,0 +1,35 @@ +From 02260a619efe574d0f6c2a4420b8b76c6802294e Mon Sep 17 00:00:00 2001 +From: Ezequiel Garcia +Date: Fri, 15 Feb 2019 12:25:39 -0300 +Subject: arm64: dts: rockchip: Enable tsadc device on rock960 + +Enable the thermal sensor. This device also provides +temperature shutdown protection. The shutdown value is +set at 110C, as tested by the vendor. + +Signed-off-by: Ezequiel Garcia +Signed-off-by: Heiko Stuebner +--- + arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi +index e40e66e33a5e..2927db4dda9d 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3399-rock960.dtsi +@@ -527,6 +527,13 @@ + status = "okay"; + }; + ++&tsadc { ++ rockchip,hw-tshut-mode = <1>; ++ rockchip,hw-tshut-polarity = <1>; ++ rockchip,hw-tshut-temp = <110000>; ++ status = "okay"; ++}; ++ + &uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; +-- +cgit 1.2-0.3.lf.el7 diff --git a/kernel.spec b/kernel.spec index 7816ede05..554cdc75e 100644 --- a/kernel.spec +++ b/kernel.spec @@ -579,6 +579,10 @@ Patch306: arm-sdhci-esdhc-imx-fixes.patch # https://patchwork.kernel.org/patch/10778815/ Patch308: drm-enable-uncached-DMA-optimization-for-ARM-and-arm64.patch +Patch310: arm64-rock960-enable-hdmi-audio.patch +Patch311: arm64-rock960-add-onboard-wifi-bt.patch +Patch312: arm64-rock960-enable-tsadc.patch + # Initall support for the 3A+ Patch330: bcm2837-dts-add-Raspberry-Pi-3-A.patch @@ -1886,6 +1890,9 @@ fi # # %changelog +* Wed Feb 20 2019 Peter Robinson +- Improvements to 96boards Rock960 + * Wed Feb 20 2019 Laura Abbott - 5.0.0-0.rc7.git2.1 - Linux v5.0-rc7-85-g2137397c92ae