* [PATCH v2 2/4] riscv: dts: spacemit: k3: add rfkill node for Bluetooth on Pico-ITX board
[not found] <20260729172450.1660418-1-aurelien@aurel32.net>
@ 2026-07-29 17:20 ` Aurelien Jarno
2026-07-29 17:20 ` [PATCH v2 3/4] riscv: dts: spacemit: k3: add USB3 B and C controllers for " Aurelien Jarno
2026-07-29 17:20 ` [PATCH v2 4/4] riscv: dts: spacemit: k3: add rfkill node for WLAN Aurelien Jarno
2 siblings, 0 replies; 5+ messages in thread
From: Aurelien Jarno @ 2026-07-29 17:20 UTC (permalink / raw)
To: linux-kernel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
Yixun Lan
Cc: Aurelien Jarno, Anirudh Srinivasan,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
open list:RISC-V ARCHITECTURE,
open list:RISC-V SPACEMIT SoC Support
On the K3 PICO-ITX board, by default the GPIO pin that connects to the
RTL8852BE Bluetooth enable signal is driven low, resulting in
impossibility to use Bluetooth. Add a DT node to expose it as an RFKILL
device, which lets the Bluetooth driver or userspace toggle it as
required.
Tested-by: Anirudh Srinivasan <asrinivasan@oss.tenstorrent.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
arch/riscv/boot/dts/spacemit/k3-pico-itx.dts | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
index b084a35aa00e3..6a60fae1f8b50 100644
--- a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
+++ b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
@@ -43,6 +43,13 @@ reg_aux_vcc5v: regulator-aux-vcc5v {
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
+
+ rfkill-usb-bt {
+ compatible = "rfkill-gpio";
+ label = "rfkill-usb-bt";
+ radio-type = "bluetooth";
+ shutdown-gpios = <&gpio 0 30 GPIO_ACTIVE_HIGH>;
+ };
};
&i2c2 {
--
2.53.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v2 3/4] riscv: dts: spacemit: k3: add USB3 B and C controllers for Pico-ITX board
[not found] <20260729172450.1660418-1-aurelien@aurel32.net>
2026-07-29 17:20 ` [PATCH v2 2/4] riscv: dts: spacemit: k3: add rfkill node for Bluetooth on Pico-ITX board Aurelien Jarno
@ 2026-07-29 17:20 ` Aurelien Jarno
2026-07-29 17:33 ` sashiko-bot
2026-07-29 17:20 ` [PATCH v2 4/4] riscv: dts: spacemit: k3: add rfkill node for WLAN Aurelien Jarno
2 siblings, 1 reply; 5+ messages in thread
From: Aurelien Jarno @ 2026-07-29 17:20 UTC (permalink / raw)
To: linux-kernel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Yixun Lan, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Alexandre Ghiti
Cc: Aurelien Jarno, Anirudh Srinivasan,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
open list:RISC-V ARCHITECTURE,
open list:RISC-V SPACEMIT SoC Support
The SpacemiT K3 has 4 USB3 controllers labelled A to D.
On the K3 Pico-ITX board, the controllers B and C are used in USB 2 mode
only respectively for the M.2 B-Key slot and for the RTL8852BE Bluetooth
controller.
Add the two controller nodes, the two corresponding USB2 PHY nodes and
the two corresponding USB3 PHY nodes, and enable them on the K3 Pico-ITX
board.
Tested-by: Anirudh Srinivasan <asrinivasan@oss.tenstorrent.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
arch/riscv/boot/dts/spacemit/k3-pico-itx.dts | 18 ++++++
arch/riscv/boot/dts/spacemit/k3.dtsi | 66 ++++++++++++++++++++
2 files changed, 84 insertions(+)
diff --git a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
index 6a60fae1f8b50..37d3422af32ac 100644
--- a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
+++ b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
@@ -330,6 +330,24 @@ &usb2_phy {
status = "okay";
};
+&usb3b {
+ maximum-speed = "high-speed";
+ status = "okay";
+};
+
+&usb3b_u2phy {
+ status = "okay";
+};
+
+&usb3c {
+ maximum-speed = "high-speed";
+ status = "okay";
+};
+
+&usb3c_u2phy {
+ status = "okay";
+};
+
&usb3d_u2phy {
status = "okay";
};
diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spacemit/k3.dtsi
index 0eb24fac4733e..b786f119d4f95 100644
--- a/arch/riscv/boot/dts/spacemit/k3.dtsi
+++ b/arch/riscv/boot/dts/spacemit/k3.dtsi
@@ -441,6 +441,72 @@ soc: soc {
dma-noncoherent;
ranges;
+ usb3b: usb@81400000 {
+ compatible = "spacemit,k3-dwc3";
+ reg = <0x0 0x81400000 0x0 0x10000>;
+ interrupts = <125 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-parent = <&saplic>;
+ clocks = <&syscon_apmu CLK_APMU_USB3_PORTB_BUS>;
+ clock-names = "usbdrd30";
+ resets = <&syscon_apmu RESET_APMU_USB3_B_AHB>,
+ <&syscon_apmu RESET_APMU_USB3_B_VCC>,
+ <&syscon_apmu RESET_APMU_USB3_B_PHY>;
+ reset-names = "ahb", "vcc", "phy";
+ phys = <&usb3b_u2phy>,
+ <&combophy 2 PHY_TYPE_USB3>;
+ phy-names = "usb2-phy";
+ phy_type = "utmi";
+ snps,dis_enblslpm_quirk;
+ snps,dis_u2_susphy_quirk;
+ snps,dis_u3_susphy_quirk;
+ snps,dis-del-phy-power-chg-quirk;
+ snps,dis-tx-ipgap-linecheck-quirk;
+ snps,parkmode-disable-ss-quirk;
+ dr_mode = "host";
+ status = "disabled";
+ };
+
+ usb3b_u2phy: phy@81500000 {
+ compatible = "spacemit,k3-usb2-phy";
+ reg = <0x0 0x81500000 0x0 0x200>;
+ clocks = <&syscon_apmu CLK_APMU_USB3_PORTB_BUS>;
+ #phy-cells = <0>;
+ status = "disabled";
+ };
+
+ usb3c: usb@81700000 {
+ compatible = "spacemit,k3-dwc3";
+ reg = <0x0 0x81700000 0x0 0x10000>;
+ interrupts = <148 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-parent = <&saplic>;
+ clocks = <&syscon_apmu CLK_APMU_USB3_PORTC_BUS>;
+ clock-names = "usbdrd30";
+ resets = <&syscon_apmu RESET_APMU_USB3_C_AHB>,
+ <&syscon_apmu RESET_APMU_USB3_C_VCC>,
+ <&syscon_apmu RESET_APMU_USB3_C_PHY>;
+ reset-names = "ahb", "vcc", "phy";
+ phys = <&usb3c_u2phy>,
+ <&combophy 3 PHY_TYPE_USB3>;
+ phy-names = "usb2-phy";
+ phy_type = "utmi";
+ snps,dis_enblslpm_quirk;
+ snps,dis_u2_susphy_quirk;
+ snps,dis_u3_susphy_quirk;
+ snps,dis-del-phy-power-chg-quirk;
+ snps,dis-tx-ipgap-linecheck-quirk;
+ snps,parkmode-disable-ss-quirk;
+ dr_mode = "host";
+ status = "disabled";
+ };
+
+ usb3c_u2phy: phy@81800000 {
+ compatible = "spacemit,k3-usb2-phy";
+ reg = <0x0 0x81800000 0x0 0x200>;
+ clocks = <&syscon_apmu CLK_APMU_USB3_PORTC_BUS>;
+ #phy-cells = <0>;
+ status = "disabled";
+ };
+
usb3d: usb@81a00000 {
compatible = "spacemit,k3-dwc3";
reg = <0x0 0x81a00000 0x0 0x10000>;
--
2.53.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH v2 4/4] riscv: dts: spacemit: k3: add rfkill node for WLAN
[not found] <20260729172450.1660418-1-aurelien@aurel32.net>
2026-07-29 17:20 ` [PATCH v2 2/4] riscv: dts: spacemit: k3: add rfkill node for Bluetooth on Pico-ITX board Aurelien Jarno
2026-07-29 17:20 ` [PATCH v2 3/4] riscv: dts: spacemit: k3: add USB3 B and C controllers for " Aurelien Jarno
@ 2026-07-29 17:20 ` Aurelien Jarno
2 siblings, 0 replies; 5+ messages in thread
From: Aurelien Jarno @ 2026-07-29 17:20 UTC (permalink / raw)
To: linux-kernel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Yixun Lan, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Alexandre Ghiti
Cc: Aurelien Jarno, Anirudh Srinivasan,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
open list:RISC-V ARCHITECTURE,
open list:RISC-V SPACEMIT SoC Support
By default the GPIO pin that connects to the RTL8852BE WLAN enable
signal is driven low, resulting in impossibility to connect to any
network. Add a DT node to expose it as an RFKILL device, which lets the
WiFi driver or userspace toggle it as required.
Tested-by: Anirudh Srinivasan <asrinivasan@oss.tenstorrent.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
arch/riscv/boot/dts/spacemit/k3-pico-itx.dts | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
index 37d3422af32ac..d1e53cfbc9030 100644
--- a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
+++ b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
@@ -44,6 +44,13 @@ reg_aux_vcc5v: regulator-aux-vcc5v {
regulator-always-on;
};
+ rfkill-pcie-wlan {
+ compatible = "rfkill-gpio";
+ label = "rfkill-pcie-wlan";
+ radio-type = "wlan";
+ shutdown-gpios = <&gpio 1 3 GPIO_ACTIVE_HIGH>;
+ };
+
rfkill-usb-bt {
compatible = "rfkill-gpio";
label = "rfkill-usb-bt";
--
2.53.0
^ permalink raw reply related [flat|nested] 5+ messages in thread