From ba8bda73fa2dafbd877dedfa6c37879062bad2ee Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Wed, 11 May 2022 01:51:19 +0200 Subject: [PATCH] Fix Bluetooth on ASUS Tinker (#1891) (#1892) * Use upstream Linux driver for Bluetooth on ASUS Tinker * Drop unnecessary Bluetooth initialization systemd service Bluetooth is now entirely handled by the kernel. --- .../board/asus/tinker/kernel.config | 5 +- ...tinker-Setup-the-Bluetooth-UART-pins.patch | 64 ------------ ...ockchip-use-DMA-channels-for-UARTs-f.patch | 16 +-- ...88-tinker-Defining-the-SPI-interface.patch | 14 +-- ...kchip-enable-I2C1-4-on-rk3288-tinker.patch | 14 +-- ...k3288.dtsi-Add-missing-SPI2-pinctrl.patch} | 13 ++- ...inker-Improving-the-CPU-max-voltage.patch} | 11 ++- ...i-rockchip-Handle-ASUS-Tinkerboard-.patch} | 17 ++-- ...kchip-Add-Bluetooth-to-rk3288-tinker.patch | 63 ++++++++++++ ...rk3288-tinker-Enabling-SDIO-and-Wifi.patch | 98 ------------------- .../bluetooth-rtl8723/bluetooth-rtl8723 | 21 ---- .../bluetooth-rtl8723/bluetooth-rtl8723.mk | 14 +-- .../bluetooth-rtl8723.service | 11 --- 13 files changed, 116 insertions(+), 245 deletions(-) delete mode 100644 buildroot-external/board/asus/tinker/patches/linux/0001-ARM-DTS-rk3288-tinker-Setup-the-Bluetooth-UART-pins.patch rename buildroot-external/board/asus/tinker/patches/linux/{1007-RK3288-DTSI-rk3288-Add-missing-SPI2-pinctrl.patch => 0004-RK3288-DTSI-rk3288.dtsi-Add-missing-SPI2-pinctrl.patch} (63%) rename buildroot-external/board/asus/tinker/patches/linux/{1015-ARM-DTSI-rk3288-tinker-Improving-the-CPU-max-voltage.patch => 0005-ARM-DTSI-rk3288-tinker-Improving-the-CPU-max-voltage.patch} (66%) rename buildroot-external/board/asus/tinker/patches/linux/{2005-drivers-mmc-dw-mci-rockchip-Handle-ASUS-Tinkerboard.patch => 0006-drivers-mmc-dw-mci-rockchip-Handle-ASUS-Tinkerboard-.patch} (85%) create mode 100644 buildroot-external/board/asus/tinker/patches/linux/0007-ARM-dts-rockchip-Add-Bluetooth-to-rk3288-tinker.patch delete mode 100644 buildroot-external/board/asus/tinker/patches/linux/1013-ARM-DTS-rk3288-tinker-Enabling-SDIO-and-Wifi.patch delete mode 100755 buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723 delete mode 100644 buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.service diff --git a/buildroot-external/board/asus/tinker/kernel.config b/buildroot-external/board/asus/tinker/kernel.config index ccef54b27fc..751742aaa40 100644 --- a/buildroot-external/board/asus/tinker/kernel.config +++ b/buildroot-external/board/asus/tinker/kernel.config @@ -1517,7 +1517,7 @@ CONFIG_BT_HCIBTUSB=y CONFIG_BT_HCIBTUSB_BCM=y CONFIG_BT_HCIBTUSB_RTL=y CONFIG_BT_HCIBTSDIO=y -CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART=m CONFIG_BT_HCIUART_SERDEV=y CONFIG_BT_HCIUART_H4=y # CONFIG_BT_HCIUART_NOKIA is not set @@ -1527,6 +1527,7 @@ CONFIG_BT_HCIUART_ATH3K=y CONFIG_BT_HCIUART_3WIRE=y # CONFIG_BT_HCIUART_INTEL is not set # CONFIG_BT_HCIUART_BCM is not set +CONFIG_BT_HCIUART_RTL=y # CONFIG_BT_HCIUART_QCA is not set # CONFIG_BT_HCIUART_AG6XX is not set # CONFIG_BT_HCIUART_MRVL is not set @@ -2474,7 +2475,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set # CONFIG_SERIAL_ST_ASC is not set CONFIG_SERIAL_DEV_BUS=y -# CONFIG_SERIAL_DEV_CTRL_TTYPORT is not set +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y # CONFIG_TTY_PRINTK is not set # CONFIG_HVC_DCC is not set # CONFIG_IPMI_HANDLER is not set diff --git a/buildroot-external/board/asus/tinker/patches/linux/0001-ARM-DTS-rk3288-tinker-Setup-the-Bluetooth-UART-pins.patch b/buildroot-external/board/asus/tinker/patches/linux/0001-ARM-DTS-rk3288-tinker-Setup-the-Bluetooth-UART-pins.patch deleted file mode 100644 index 4ae48c98ef3..00000000000 --- a/buildroot-external/board/asus/tinker/patches/linux/0001-ARM-DTS-rk3288-tinker-Setup-the-Bluetooth-UART-pins.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 2ae3821fd824560ef2db3c87cfbec985177911f6 Mon Sep 17 00:00:00 2001 -Message-Id: <2ae3821fd824560ef2db3c87cfbec985177911f6.1599249626.git.stefan@agner.ch> -From: "Miouyouyou (Myy)" -Date: Mon, 5 Nov 2018 22:03:26 +0100 -Subject: [PATCH 1/2] ARM: DTS: rk3288-tinker: Setup the Bluetooth UART pins - -The most essential being the RTS pin, which is clearly needed to -upload the initial configuration into the Realtek Bluetooth -chip, and make the Bluetooth chip work. - -Now, the Bluetooth chip also needs 3 other GPIOS to be enabled. -I'll see how I do that through the DTS file in a near future. - -The 3 GPIOS being : -Bluetooth Reset : <&gpio4 29 GPIO_ACTIVE_HIGH> -Bluetooth Wake : <&gpio4 26 GPIO_ACTIVE_HIGH> -Bluetooth Wake_Host_IRQ : <&gpio4 31 GPIO_ACTIVE_HIGH> - -These are currently setup manually, through scripts. But it seems that -GPIO handling through /sys entries might not be possible in the long -term, the replacement being libgpio. -Anyway, if you're interesting in enabling the Bluetooth GPIO by hand, -here are the commands : - -cd /sys/class/gpio && -echo 146 > export && -echo 149 > export && -echo 151 > export && -echo high > gpio146/direction && -echo high > gpio149/direction && -echo high > gpio151/direction - -Resetting the chip is done like this : - -echo "Resetting the Bluetooth chip" -cd /sys/class/gpio/gpio149 && -echo 0 > value && -sleep 1 && -echo 1 > value && -sleep 1 - -Signed-off-by: Miouyouyou (Myy) -[move change to rk3288-tinker.dtsi] -Signed-off-by: Stefan Agner ---- - arch/arm/boot/dts/rk3288-tinker.dtsi | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi -index acfaa12ec239..284e7982925d 100644 ---- a/arch/arm/boot/dts/rk3288-tinker.dtsi -+++ b/arch/arm/boot/dts/rk3288-tinker.dtsi -@@ -492,6 +492,8 @@ &tsadc { - }; - - &uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_xfer>, <&uart0_cts>, <&uart0_rts>; - status = "okay"; - }; - --- -2.28.0 - diff --git a/buildroot-external/board/asus/tinker/patches/linux/0001-Revert-ARM-dts-rockchip-use-DMA-channels-for-UARTs-f.patch b/buildroot-external/board/asus/tinker/patches/linux/0001-Revert-ARM-dts-rockchip-use-DMA-channels-for-UARTs-f.patch index 7f87d274eff..4c96dcab7c6 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/0001-Revert-ARM-dts-rockchip-use-DMA-channels-for-UARTs-f.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0001-Revert-ARM-dts-rockchip-use-DMA-channels-for-UARTs-f.patch @@ -1,5 +1,5 @@ -From 3f3c4cd047234fb94de4d6b701d05ff0450890cf Mon Sep 17 00:00:00 2001 -Message-Id: <3f3c4cd047234fb94de4d6b701d05ff0450890cf.1613588152.git.stefan@agner.ch> +From ff0c5c49024da05b47d4fcc4d115761c43eef7a6 Mon Sep 17 00:00:00 2001 +Message-Id: From: Stefan Agner Date: Wed, 17 Feb 2021 19:55:41 +0100 Subject: [PATCH] Revert "ARM: dts: rockchip: use DMA channels for UARTs for @@ -11,10 +11,10 @@ This reverts commit 3425fe335c29310f6628faf9a7947d07f32d8962. 1 file changed, 8 deletions(-) diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi -index 8fa80facc8cd..8636d95c45e1 100644 +index 4dcdcf17c977..ff6faa82192b 100644 --- a/arch/arm/boot/dts/rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi -@@ -422,8 +422,6 @@ uart0: serial@ff180000 { +@@ -378,8 +378,6 @@ uart0: serial@ff180000 { reg-io-width = <4>; clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; clock-names = "baudclk", "apb_pclk"; @@ -23,7 +23,7 @@ index 8fa80facc8cd..8636d95c45e1 100644 pinctrl-names = "default"; pinctrl-0 = <&uart0_xfer>; status = "disabled"; -@@ -437,8 +435,6 @@ uart1: serial@ff190000 { +@@ -393,8 +391,6 @@ uart1: serial@ff190000 { reg-io-width = <4>; clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; clock-names = "baudclk", "apb_pclk"; @@ -32,7 +32,7 @@ index 8fa80facc8cd..8636d95c45e1 100644 pinctrl-names = "default"; pinctrl-0 = <&uart1_xfer>; status = "disabled"; -@@ -465,8 +461,6 @@ uart3: serial@ff1b0000 { +@@ -421,8 +417,6 @@ uart3: serial@ff1b0000 { reg-io-width = <4>; clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; clock-names = "baudclk", "apb_pclk"; @@ -41,7 +41,7 @@ index 8fa80facc8cd..8636d95c45e1 100644 pinctrl-names = "default"; pinctrl-0 = <&uart3_xfer>; status = "disabled"; -@@ -480,8 +474,6 @@ uart4: serial@ff1c0000 { +@@ -436,8 +430,6 @@ uart4: serial@ff1c0000 { reg-io-width = <4>; clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; clock-names = "baudclk", "apb_pclk"; @@ -51,5 +51,5 @@ index 8fa80facc8cd..8636d95c45e1 100644 pinctrl-0 = <&uart4_xfer>; status = "disabled"; -- -2.30.1 +2.36.1 diff --git a/buildroot-external/board/asus/tinker/patches/linux/0002-ARM-DTS-rk3288-tinker-Defining-the-SPI-interface.patch b/buildroot-external/board/asus/tinker/patches/linux/0002-ARM-DTS-rk3288-tinker-Defining-the-SPI-interface.patch index 11fe26d0739..42fee1a4f56 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/0002-ARM-DTS-rk3288-tinker-Defining-the-SPI-interface.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0002-ARM-DTS-rk3288-tinker-Defining-the-SPI-interface.patch @@ -1,10 +1,10 @@ -From fc25c993bf2feb6e66d55bf03eb725ec688e47eb Mon Sep 17 00:00:00 2001 -Message-Id: -In-Reply-To: <2ae3821fd824560ef2db3c87cfbec985177911f6.1599250914.git.stefan@agner.ch> -References: <2ae3821fd824560ef2db3c87cfbec985177911f6.1599250914.git.stefan@agner.ch> +From e73b4b762a0842cc75b2784e4c4267f6f4fc50c4 Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: +References: From: "Miouyouyou (Myy)" Date: Mon, 5 Nov 2018 22:15:14 +0100 -Subject: [PATCH 2/3] ARM: DTS: rk3288-tinker: Defining the SPI interface +Subject: [PATCH] ARM: DTS: rk3288-tinker: Defining the SPI interface Taken from, and tested by @TonyMac32 . @@ -21,7 +21,7 @@ Signed-off-by: Stefan Agner 1 file changed, 19 insertions(+) diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi -index 284e7982925d..d6cc66ab5bb1 100644 +index 9c1e38c54eae..cf278bcc91ad 100644 --- a/arch/arm/boot/dts/rk3288-tinker.dtsi +++ b/arch/arm/boot/dts/rk3288-tinker.dtsi @@ -485,6 +485,25 @@ &sdio0 { @@ -51,5 +51,5 @@ index 284e7982925d..d6cc66ab5bb1 100644 rockchip,hw-tshut-mode = <1>; /* tshut mode 0:CRU 1:GPIO */ rockchip,hw-tshut-polarity = <1>; /* tshut polarity 0:LOW 1:HIGH */ -- -2.28.0 +2.36.1 diff --git a/buildroot-external/board/asus/tinker/patches/linux/0003-ARM-dts-rockchip-enable-I2C1-4-on-rk3288-tinker.patch b/buildroot-external/board/asus/tinker/patches/linux/0003-ARM-dts-rockchip-enable-I2C1-4-on-rk3288-tinker.patch index d0e49cecc41..75dd7d5add3 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/0003-ARM-dts-rockchip-enable-I2C1-4-on-rk3288-tinker.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0003-ARM-dts-rockchip-enable-I2C1-4-on-rk3288-tinker.patch @@ -1,10 +1,10 @@ -From 3a9d71847ae869ffdb2b0818aa86a36d57d96331 Mon Sep 17 00:00:00 2001 -Message-Id: <3a9d71847ae869ffdb2b0818aa86a36d57d96331.1599250914.git.stefan@agner.ch> -In-Reply-To: <2ae3821fd824560ef2db3c87cfbec985177911f6.1599250914.git.stefan@agner.ch> -References: <2ae3821fd824560ef2db3c87cfbec985177911f6.1599250914.git.stefan@agner.ch> +From 00de5155d12a178b83961f459ddccd7fa08ec25c Mon Sep 17 00:00:00 2001 +Message-Id: <00de5155d12a178b83961f459ddccd7fa08ec25c.1652225232.git.stefan@agner.ch> +In-Reply-To: +References: From: Stefan Agner Date: Fri, 4 Sep 2020 21:57:55 +0200 -Subject: [PATCH 3/3] ARM: dts: rockchip: enable I2C1/4 on rk3288-tinker +Subject: [PATCH] ARM: dts: rockchip: enable I2C1/4 on rk3288-tinker Enable I2C devices which are accessible via 40-pin header. @@ -14,7 +14,7 @@ Signed-off-by: Stefan Agner 1 file changed, 8 insertions(+) diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi -index d6cc66ab5bb1..7af5818ac77c 100644 +index cf278bcc91ad..f23c6efd39d4 100644 --- a/arch/arm/boot/dts/rk3288-tinker.dtsi +++ b/arch/arm/boot/dts/rk3288-tinker.dtsi @@ -344,10 +344,18 @@ regulator-state-mem { @@ -37,5 +37,5 @@ index d6cc66ab5bb1..7af5818ac77c 100644 status = "okay"; }; -- -2.28.0 +2.36.1 diff --git a/buildroot-external/board/asus/tinker/patches/linux/1007-RK3288-DTSI-rk3288-Add-missing-SPI2-pinctrl.patch b/buildroot-external/board/asus/tinker/patches/linux/0004-RK3288-DTSI-rk3288.dtsi-Add-missing-SPI2-pinctrl.patch similarity index 63% rename from buildroot-external/board/asus/tinker/patches/linux/1007-RK3288-DTSI-rk3288-Add-missing-SPI2-pinctrl.patch rename to buildroot-external/board/asus/tinker/patches/linux/0004-RK3288-DTSI-rk3288.dtsi-Add-missing-SPI2-pinctrl.patch index 8494ad9b580..d92b9a73e0c 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/1007-RK3288-DTSI-rk3288-Add-missing-SPI2-pinctrl.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0004-RK3288-DTSI-rk3288.dtsi-Add-missing-SPI2-pinctrl.patch @@ -1,7 +1,10 @@ -From 062488e4b8fd552c01e1104b3bc91a6f7ffe6c41 Mon Sep 17 00:00:00 2001 +From e45da42e71e4f92995d5ec11679ca00b0971dbfe Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: +References: From: Myy Miouyouyou Date: Thu, 19 Oct 2017 21:24:47 +0200 -Subject: [PATCH 10/28] RK3288: DTSI: rk3288.dtsi: Add missing SPI2 pinctrl +Subject: [PATCH] RK3288: DTSI: rk3288.dtsi: Add missing SPI2 pinctrl The spi2_cs1 pin reference is missing in the spi2 first pin control definition. @@ -14,10 +17,10 @@ Signed-off-by: Myy Miouyouyou 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi -index 5b789528..9ed532cc 100644 +index ff6faa82192b..5061c5418d75 100644 --- a/arch/arm/boot/dts/rk3288.dtsi +++ b/arch/arm/boot/dts/rk3288.dtsi -@@ -334,7 +334,7 @@ +@@ -311,7 +311,7 @@ spi2: spi@ff130000 { dma-names = "tx", "rx"; interrupts = ; pinctrl-names = "default"; @@ -27,5 +30,5 @@ index 5b789528..9ed532cc 100644 #address-cells = <1>; #size-cells = <0>; -- -2.11.0 +2.36.1 diff --git a/buildroot-external/board/asus/tinker/patches/linux/1015-ARM-DTSI-rk3288-tinker-Improving-the-CPU-max-voltage.patch b/buildroot-external/board/asus/tinker/patches/linux/0005-ARM-DTSI-rk3288-tinker-Improving-the-CPU-max-voltage.patch similarity index 66% rename from buildroot-external/board/asus/tinker/patches/linux/1015-ARM-DTSI-rk3288-tinker-Improving-the-CPU-max-voltage.patch rename to buildroot-external/board/asus/tinker/patches/linux/0005-ARM-DTSI-rk3288-tinker-Improving-the-CPU-max-voltage.patch index 12c6b606099..8aef561c9b8 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/1015-ARM-DTSI-rk3288-tinker-Improving-the-CPU-max-voltage.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0005-ARM-DTSI-rk3288-tinker-Improving-the-CPU-max-voltage.patch @@ -1,4 +1,7 @@ -From ebc29962ac27264772a4227f5abd6900cb72fa79 Mon Sep 17 00:00:00 2001 +From e33d3ba4c34d0893d9d07b62ad4eea41d2e8bbc0 Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: +References: From: "Miouyouyou (Myy)" Date: Mon, 5 Nov 2018 20:16:05 +0100 Subject: [PATCH] ARM: DTSI: rk3288-tinker: Improving the CPU max voltage @@ -11,10 +14,10 @@ Signed-off-by: Miouyouyou (Myy) 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi -index aa107ee41..3da1c830f 100644 +index f23c6efd39d4..cdff130d1292 100644 --- a/arch/arm/boot/dts/rk3288-tinker.dtsi +++ b/arch/arm/boot/dts/rk3288-tinker.dtsi -@@ -164,7 +164,7 @@ +@@ -186,7 +186,7 @@ vdd_cpu: DCDC_REG1 { regulator-always-on; regulator-boot-on; regulator-min-microvolt = <750000>; @@ -24,5 +27,5 @@ index aa107ee41..3da1c830f 100644 regulator-ramp-delay = <6000>; regulator-state-mem { -- -2.16.4 +2.36.1 diff --git a/buildroot-external/board/asus/tinker/patches/linux/2005-drivers-mmc-dw-mci-rockchip-Handle-ASUS-Tinkerboard.patch b/buildroot-external/board/asus/tinker/patches/linux/0006-drivers-mmc-dw-mci-rockchip-Handle-ASUS-Tinkerboard-.patch similarity index 85% rename from buildroot-external/board/asus/tinker/patches/linux/2005-drivers-mmc-dw-mci-rockchip-Handle-ASUS-Tinkerboard.patch rename to buildroot-external/board/asus/tinker/patches/linux/0006-drivers-mmc-dw-mci-rockchip-Handle-ASUS-Tinkerboard-.patch index 77385b14be1..d76863aef50 100644 --- a/buildroot-external/board/asus/tinker/patches/linux/2005-drivers-mmc-dw-mci-rockchip-Handle-ASUS-Tinkerboard.patch +++ b/buildroot-external/board/asus/tinker/patches/linux/0006-drivers-mmc-dw-mci-rockchip-Handle-ASUS-Tinkerboard-.patch @@ -1,4 +1,7 @@ -From 302cd9b8a9f1f8a7735fabea3b9a7645dc40f9cc Mon Sep 17 00:00:00 2001 +From e073d75cd0dbfbcbbf1b46e565b326db37b75e6a Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: +References: From: Myy Miouyouyou Date: Sun, 7 Jan 2018 01:52:44 +0100 Subject: [PATCH] drivers: mmc: dw-mci-rockchip: Handle ASUS Tinkerboard reboot @@ -17,14 +20,14 @@ similar effects with eMMC hardware. Signed-off-by: Myy Miouyouyou --- - drivers/mmc/host/dw_mmc-rockchip.c | 66 ++++++++++++++++++++++++++++++++++++++ + drivers/mmc/host/dw_mmc-rockchip.c | 66 ++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host/dw_mmc-rockchip.c -index a3f1c2b30..7eac1f221 100644 +index d36991acd6df..a526927e29df 100644 --- a/drivers/mmc/host/dw_mmc-rockchip.c +++ b/drivers/mmc/host/dw_mmc-rockchip.c -@@ -16,6 +16,11 @@ +@@ -12,6 +12,11 @@ #include #include @@ -36,7 +39,7 @@ index a3f1c2b30..7eac1f221 100644 #include "dw_mmc.h" #include "dw_mmc-pltfm.h" -@@ -334,6 +339,66 @@ static const struct of_device_id dw_mci_rockchip_match[] = { +@@ -330,6 +335,66 @@ static const struct of_device_id dw_mci_rockchip_match[] = { }; MODULE_DEVICE_TABLE(of, dw_mci_rockchip_match); @@ -103,7 +106,7 @@ index a3f1c2b30..7eac1f221 100644 static int dw_mci_rockchip_probe(struct platform_device *pdev) { const struct dw_mci_drv_data *drv_data; -@@ -361,6 +426,7 @@ static int dw_mci_rockchip_probe(struct platform_device *pdev) +@@ -357,6 +422,7 @@ static int dw_mci_rockchip_probe(struct platform_device *pdev) } pm_runtime_put_autosuspend(&pdev->dev); @@ -112,5 +115,5 @@ index a3f1c2b30..7eac1f221 100644 return 0; } -- -2.14.1 +2.36.1 diff --git a/buildroot-external/board/asus/tinker/patches/linux/0007-ARM-dts-rockchip-Add-Bluetooth-to-rk3288-tinker.patch b/buildroot-external/board/asus/tinker/patches/linux/0007-ARM-dts-rockchip-Add-Bluetooth-to-rk3288-tinker.patch new file mode 100644 index 00000000000..c23444c472f --- /dev/null +++ b/buildroot-external/board/asus/tinker/patches/linux/0007-ARM-dts-rockchip-Add-Bluetooth-to-rk3288-tinker.patch @@ -0,0 +1,63 @@ +From 392472dc977300a9f2a62159c105a6dfed878643 Mon Sep 17 00:00:00 2001 +Message-Id: <392472dc977300a9f2a62159c105a6dfed878643.1652225232.git.stefan@agner.ch> +In-Reply-To: +References: +From: Stefan Agner +Date: Tue, 10 May 2022 22:57:26 +0200 +Subject: [PATCH] ARM: dts: rockchip: Add Bluetooth to rk3288-tinker + +Enable Bluetooth support via UART0. Use the existing bindings +for Realtek rtl8723bs Bluetooth device. + +Signed-off-by: Stefan Agner +--- + arch/arm/boot/dts/rk3288-tinker.dtsi | 26 ++++++++++++++++++++++++++ + 1 file changed, 26 insertions(+) + +diff --git a/arch/arm/boot/dts/rk3288-tinker.dtsi b/arch/arm/boot/dts/rk3288-tinker.dtsi +index cdff130d1292..e904c130dedc 100644 +--- a/arch/arm/boot/dts/rk3288-tinker.dtsi ++++ b/arch/arm/boot/dts/rk3288-tinker.dtsi +@@ -388,6 +388,20 @@ bl_en: bl-en { + }; + }; + ++ bluetooth { ++ bt_enable_pin: bt-enable-pin { ++ rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_device_wake_pin: bt-device-wake-pin { ++ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_host_wake_pin: bt-host-wake-pin { ++ rockchip,pins = <4 RK_PD7 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ + buttons { + pwrbtn: pwrbtn { + rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; +@@ -520,6 +534,18 @@ &tsadc { + + &uart0 { + status = "okay"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; ++ uart-has-rtscts; ++ ++ bluetooth { ++ compatible = "realtek,rtl8723bs-bt"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&bt_device_wake_pin &bt_host_wake_pin &bt_enable_pin>; ++ enable-gpios = <&gpio4 RK_PD5 GPIO_ACTIVE_HIGH>; ++ device-wake-gpios = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; ++ host-wake-gpios = <&gpio4 RK_PD7 GPIO_ACTIVE_HIGH>; ++ }; + }; + + &uart1 { +-- +2.36.1 + diff --git a/buildroot-external/board/asus/tinker/patches/linux/1013-ARM-DTS-rk3288-tinker-Enabling-SDIO-and-Wifi.patch b/buildroot-external/board/asus/tinker/patches/linux/1013-ARM-DTS-rk3288-tinker-Enabling-SDIO-and-Wifi.patch deleted file mode 100644 index 18b6c9c0d8a..00000000000 --- a/buildroot-external/board/asus/tinker/patches/linux/1013-ARM-DTS-rk3288-tinker-Enabling-SDIO-and-Wifi.patch +++ /dev/null @@ -1,98 +0,0 @@ -From d5d5c53173c484a13cda62a537cbf75a5df4b0e4 Mon Sep 17 00:00:00 2001 -From: "Miouyouyou (Myy)" -Date: Mon, 5 Nov 2018 21:58:56 +0100 -Subject: [PATCH] ARM: DTS: rk3288-tinker: Enabling SDIO and Wifi - -Adding the appropriate nodes in order to exploit the WiFi capabilities -of the board. -Since these capabilities are provided through SDIO, and the SDIO -nodes were not defined, these were added too. - -These seems to depend on each other so they are added in one big -patch. - -Split if necessary. - -Signed-off-by: Miouyouyou (Myy) ---- - arch/arm/boot/dts/rk3288-tinker.dts | 62 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 62 insertions(+) - -diff --git a/arch/arm/boot/dts/rk3288-tinker.dts b/arch/arm/boot/dts/rk3288-tinker.dts -index 1e43527aa..d4df13bed 100644 ---- a/arch/arm/boot/dts/rk3288-tinker.dts -+++ b/arch/arm/boot/dts/rk3288-tinker.dts -@@ -6,8 +6,70 @@ - /dts-v1/; - - #include "rk3288-tinker.dtsi" -+#include - - / { - model = "Rockchip RK3288 Asus Tinker Board"; - compatible = "asus,rk3288-tinker", "rockchip,rk3288"; -+ -+ /* This is essential to get SDIO devices working. -+ The Wifi depends on SDIO ! */ -+ sdio_pwrseq: sdio-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ clocks = <&rk808 RK808_CLKOUT1>; -+ clock-names = "ext_clock"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&chip_enable_h>, <&wifi_enable_h>; -+ -+ /* -+ * On the module itself this is one of these (depending -+ * on the actual card populated): -+ * - SDIO_RESET_L_WL_REG_ON -+ * - PDN (power down when low) -+ */ -+ reset-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>, <&gpio4 27 GPIO_ACTIVE_LOW>; -+ }; -+ -+ wireless-wlan { -+ compatible = "wlan-platdata"; -+ rockchip,grf = <&grf>; -+ sdio_vref = <1800>; -+ status = "okay"; -+ wifi_chip_type = "8723bs"; -+ WIFI,host_wake_irq = <&gpio4 30 GPIO_ACTIVE_HIGH>; -+ }; -+}; -+ -+&io_domains { -+ wifi-supply = <&vcc_18>; -+}; -+ -+&pinctrl { -+ sdio-pwrseq { -+ wifi_enable_h: wifienable-h { -+ rockchip,pins = <4 28 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ -+ chip_enable_h: chip-enable-h { -+ rockchip,pins = <4 27 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+}; -+ -+&sdio0 { -+ bus-width = <4>; -+ cap-sd-highspeed; -+ cap-sdio-irq; -+ clock-frequency = <50000000>; -+ clock-freq-min-max = <200000 50000000>; -+ disable-wp; -+ keep-power-in-suspend; -+ mmc-pwrseq = <&sdio_pwrseq>; -+ non-removable; -+ num-slots = <1>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; -+ sd-uhs-sdr104; -+ status = "okay"; -+ supports-sdio; - }; --- -2.16.4 - diff --git a/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723 b/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723 deleted file mode 100755 index 7126336b1c6..00000000000 --- a/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723 +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -echo "Setup the Bluetooth chip" -echo 146 > /sys/class/gpio/export -echo 149 > /sys/class/gpio/export -echo 151 > /sys/class/gpio/export -echo high > /sys/class/gpio/gpio146/direction -echo high > /sys/class/gpio/gpio149/direction -echo high > /sys/class/gpio/gpio151/direction - - -echo "Resetting the Bluetooth chip" -echo 0 > /sys/class/gpio/gpio149/value -echo -e "\tBluetooth chip power down..." -sleep 1 -echo 1 > /sys/class/gpio/gpio149/value -echo -e "\tBluetooth chip power up..." -sleep 1 -echo -e "\tResetting done" - -/usr/sbin/rtk_hciattach -s 115200 /dev/ttyS0 rtk_h5 115200 flow diff --git a/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.mk b/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.mk index c3e3ebebfb8..e5da84a946f 100644 --- a/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.mk +++ b/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.mk @@ -4,27 +4,19 @@ # ################################################################################ -BLUETOOTH_RTL8723_VERSION = 1.0.0 +BLUETOOTH_RTL8723_VERSION = 1.1.0 BLUETOOTH_RTL8723_LICENSE = Apache License 2.0 BLUETOOTH_RTL8723_LICENSE_FILES = $(BR2_EXTERNAL_HASSOS_PATH)/../LICENSE BLUETOOTH_RTL8723_SITE = $(BR2_EXTERNAL_HASSOS_PATH)/package/bluetooth-rtl8723 BLUETOOTH_RTL8723_SITE_METHOD = local define BLUETOOTH_RTL8723_BUILD_CMDS - curl -L -o $(@D)/rtk_hciattach https://raw.githubusercontent.com/home-assistant/hassos-blobs/e0c8b7aebb626694cf5c017a9e03068aee2bc604/rtl_bt/rtk_hciattach - - curl -L -o $(@D)/rtl8723b_config https://raw.githubusercontent.com/home-assistant/hassos-blobs/e0c8b7aebb626694cf5c017a9e03068aee2bc604/rtl_bt/rtl8723b_config.bin - curl -L -o $(@D)/rtl8723b_fw https://raw.githubusercontent.com/home-assistant/hassos-blobs/e0c8b7aebb626694cf5c017a9e03068aee2bc604/rtl_bt/rtl8723b_fw.bin + curl -L -o $(@D)/rtl8723bs_config.bin https://raw.githubusercontent.com/home-assistant/hassos-blobs/e0c8b7aebb626694cf5c017a9e03068aee2bc604/rtl_bt/rtl8723b_config.bin endef define BLUETOOTH_RTL8723_INSTALL_TARGET_CMDS - $(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/hassos-hardware.target.wants - $(INSTALL) -m 0755 $(@D)/bluetooth-rtl8723 $(TARGET_DIR)/usr/sbin/ - $(INSTALL) -m 0644 $(@D)/bluetooth-rtl8723.service $(TARGET_DIR)/usr/lib/systemd/system/ - $(INSTALL) -d $(TARGET_DIR)/lib/firmware/rtlbt - $(INSTALL) -m 0644 $(@D)/rtl8723b_* $(TARGET_DIR)/lib/firmware/rtlbt/ - $(INSTALL) -m 0755 $(@D)/rtk_hciattach $(TARGET_DIR)/usr/sbin/ + $(INSTALL) -m 0644 $(@D)/rtl8723bs_config.bin $(TARGET_DIR)/lib/firmware/rtl_bt/ endef $(eval $(generic-package)) diff --git a/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.service b/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.service deleted file mode 100644 index 26037124434..00000000000 --- a/buildroot-external/package/bluetooth-rtl8723/bluetooth-rtl8723.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Bluetooth for RTL8723 -Before=bluetooth.service -After=dev-ttyS0.device - -[Service] -Type=forking -ExecStart=/usr/sbin/bluetooth-rtl8723 - -[Install] -WantedBy=hassos-hardware.target