Devicetree
 help / color / mirror / Atom feed
* [PATCH v5 1/5] riscv: dts: spacemit: k3: move USB3 phy to board level
       [not found] <20260928205012.3689405-1-aurelien@aurel32.net>
@ 2026-09-28 20:49 ` Aurelien Jarno
  2026-09-28 20:49 ` [PATCH v5 2/5] riscv: dts: spacemit: k3: add USB3 B and C controllers for Pico-ITX board Aurelien Jarno
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Aurelien Jarno @ 2026-09-28 20:49 UTC (permalink / raw)
  To: linux-kernel, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Paul Walmsley, Palmer Dabbelt, Albert Ou, Alexandre Ghiti,
	Yixun Lan, Inochi Amaoto
  Cc: Aurelien Jarno,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	open list:RISC-V ARCHITECTURE,
	open list:RISC-V SPACEMIT SoC Support

On the SpacemiT K3 SoC, the combo phy provides 8 lines that can
either be used for PCIe or USB3, depending on its configuration
(spacemit,apmu). This configuration is defined at the board level, and
assigning a phy line to a USB3 controller while it is configured as PCIe
results in an "Invalid PHY mode" error.

Move the USB phy definitions at the board level, as it is done for the
submitted PCIe controller [1]. As a consequence, boards that do not
enable a USB3 controller node will not match the DT schema due to
missing PHY entries. This is not an issue as dtbs_check only validates
enabled nodes.

[1] https://lore.kernel.org/spacemit/20260923015016.64069-1-inochiama@gmail.com

Fixes: 46380e4b1534 ("riscv: dts: spacemit: k3: add USB controller and USB phy support")
Cc: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
 arch/riscv/boot/dts/spacemit/k3-pico-itx.dts | 2 ++
 arch/riscv/boot/dts/spacemit/k3.dtsi         | 3 ---
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
index b084a35aa00e3..0a6f669d509a9 100644
--- a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
+++ b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
@@ -328,5 +328,7 @@ &usb3d_u2phy {
 };
 
 &usb3d {
+	phys = <&usb3d_u2phy>, <&combophy 4 PHY_TYPE_USB3>;
+	phy-names = "usb2-phy", "usb3-phy";
 	status = "okay";
 };
diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spacemit/k3.dtsi
index b9977e78e096a..1af47b7f1c8af 100644
--- a/arch/riscv/boot/dts/spacemit/k3.dtsi
+++ b/arch/riscv/boot/dts/spacemit/k3.dtsi
@@ -452,9 +452,6 @@ usb3d: usb@81a00000 {
 				 <&syscon_apmu RESET_APMU_USB3_D_VCC>,
 				 <&syscon_apmu RESET_APMU_USB3_D_PHY>;
 			reset-names = "ahb", "vcc", "phy";
-			phys = <&usb3d_u2phy>,
-			       <&combophy 4 PHY_TYPE_USB3>;
-			phy-names = "usb2-phy", "usb3-phy";
 			phy_type = "utmi";
 			snps,dis_enblslpm_quirk;
 			snps,dis_u2_susphy_quirk;
-- 
2.53.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v5 2/5] riscv: dts: spacemit: k3: add USB3 B and C controllers for Pico-ITX board
       [not found] <20260928205012.3689405-1-aurelien@aurel32.net>
  2026-09-28 20:49 ` [PATCH v5 1/5] riscv: dts: spacemit: k3: move USB3 phy to board level Aurelien Jarno
@ 2026-09-28 20:49 ` Aurelien Jarno
  2026-09-28 21:02   ` sashiko-bot
  2026-09-28 20:49 ` [PATCH v5 3/5] riscv: dts: spacemit: k3: add rfkill node for Bluetooth on " Aurelien Jarno
  2026-09-28 20:49 ` [PATCH v5 4/5] riscv: dts: spacemit: k3: add rfkill node for WLAN on the K3 " Aurelien Jarno
  3 siblings, 1 reply; 6+ messages in thread
From: Aurelien Jarno @ 2026-09-28 20:49 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 SPACEMIT SoC Support,
	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 USB2 mode
only respectively for the M.2 B-Key slot and for the RTL8852BE Bluetooth
controller.

Add the two controller nodes. On the K3 Pico-ITX board, enable the
controllers nodes and add the two corresponding USB2 PHY nodes.

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 | 22 +++++++
 arch/riscv/boot/dts/spacemit/k3.dtsi         | 60 ++++++++++++++++++++
 2 files changed, 82 insertions(+)

diff --git a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
index 0a6f669d509a9..5aa6fa89cab58 100644
--- a/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
+++ b/arch/riscv/boot/dts/spacemit/k3-pico-itx.dts
@@ -323,6 +323,28 @@ &usb2_phy {
 	status = "okay";
 };
 
+&usb3b {
+	phys = <&usb3b_u2phy>;
+	phy-names = "usb2-phy";
+	maximum-speed = "high-speed";
+	status = "okay";
+};
+
+&usb3b_u2phy {
+	status = "okay";
+};
+
+&usb3c {
+	phys = <&usb3c_u2phy>;
+	phy-names = "usb2-phy";
+	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 1af47b7f1c8af..cf1c8b572c86b 100644
--- a/arch/riscv/boot/dts/spacemit/k3.dtsi
+++ b/arch/riscv/boot/dts/spacemit/k3.dtsi
@@ -441,6 +441,66 @@ 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";
+			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";
+			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] 6+ messages in thread

* [PATCH v5 3/5] riscv: dts: spacemit: k3: add rfkill node for Bluetooth on Pico-ITX board
       [not found] <20260928205012.3689405-1-aurelien@aurel32.net>
  2026-09-28 20:49 ` [PATCH v5 1/5] riscv: dts: spacemit: k3: move USB3 phy to board level Aurelien Jarno
  2026-09-28 20:49 ` [PATCH v5 2/5] riscv: dts: spacemit: k3: add USB3 B and C controllers for Pico-ITX board Aurelien Jarno
@ 2026-09-28 20:49 ` Aurelien Jarno
  2026-09-28 20:49 ` [PATCH v5 4/5] riscv: dts: spacemit: k3: add rfkill node for WLAN on the K3 " Aurelien Jarno
  3 siblings, 0 replies; 6+ messages in thread
From: Aurelien Jarno @ 2026-09-28 20:49 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

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 5aa6fa89cab58..d3f256dffb4fd 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] 6+ messages in thread

* [PATCH v5 4/5] riscv: dts: spacemit: k3: add rfkill node for WLAN on the K3 Pico-ITX board
       [not found] <20260928205012.3689405-1-aurelien@aurel32.net>
                   ` (2 preceding siblings ...)
  2026-09-28 20:49 ` [PATCH v5 3/5] riscv: dts: spacemit: k3: add rfkill node for Bluetooth on " Aurelien Jarno
@ 2026-09-28 20:49 ` Aurelien Jarno
  3 siblings, 0 replies; 6+ messages in thread
From: Aurelien Jarno @ 2026-09-28 20:49 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 SPACEMIT SoC Support,
	open list:RISC-V SPACEMIT SoC Support

On the K3 Pico-ITX board, 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 WLAN 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 d3f256dffb4fd..dda420900aa2c 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] 6+ messages in thread

* Re: [PATCH v5 2/5] riscv: dts: spacemit: k3: add USB3 B and C controllers for Pico-ITX board
  2026-09-28 20:49 ` [PATCH v5 2/5] riscv: dts: spacemit: k3: add USB3 B and C controllers for Pico-ITX board Aurelien Jarno
@ 2026-09-28 21:02   ` sashiko-bot
  2026-09-28 21:10     ` Aurelien Jarno
  0 siblings, 1 reply; 6+ messages in thread
From: sashiko-bot @ 2026-09-28 21:02 UTC (permalink / raw)
  To: Aurelien Jarno; +Cc: conor+dt, devicetree, robh

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] dt-bindings: missing required phys properties in usb3b and usb3c nodes
--

commit 89b216baa5d6be0e4a7be800d568bba679087495
Author: Aurelien Jarno <aurelien@aurel32.net>

riscv: dts: spacemit: k3: add USB3 B and C controllers for Pico-ITX board

This commit adds the USB3 controller nodes (B and C) to the SpacemiT K3 SoC
device tree. It also enables them and adds the corresponding USB2 PHY nodes
for the Pico-ITX board.

> diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spacemit/k3.dtsi
> index 1af47b7f1c8af..cf1c8b572c86b 100644
> --- a/arch/riscv/boot/dts/spacemit/k3.dtsi
> +++ b/arch/riscv/boot/dts/spacemit/k3.dtsi

[ ... ]

> @@ -441,6 +441,66 @@ soc: soc {
>  		dma-noncoherent;
>  		ranges;
>  
> +		usb3b: usb@81400000 {
> +			compatible = "spacemit,k3-dwc3";
> +			reg = <0x0 0x81400000 0x0 0x10000>;
> +			interrupts = <125 IRQ_TYPE_LEVEL_HIGH>;

[Severity: Low]
Does omitting the phys and phy-names properties here cause a devicetree
validation regression?

The SoC devicetree fails dtbs_check validation against the binding schema
(spacemit,k1-dwc3.yaml), which unconditionally requires the phys and
phy-names properties.

Should this node define its hardwired connection to usb3b_u2phy via the
phys and phy-names properties here, instead of omitting these SoC-internal
hardwired connections from k3.dtsi and forcing downstream boards to
redundantly define the SoC hardware topology?

> +			interrupt-parent = <&saplic>;
> +			clocks = <&syscon_apmu CLK_APMU_USB3_PORTB_BUS>;

[ ... ]

> +		usb3c: usb@81700000 {
> +			compatible = "spacemit,k3-dwc3";
> +			reg = <0x0 0x81700000 0x0 0x10000>;
> +			interrupts = <148 IRQ_TYPE_LEVEL_HIGH>;

[Severity: Low]
Similarly, does this node also need to define its hardwired connection to
usb3c_u2phy via the phys and phy-names properties to avoid the same schema
validation regression?

> +			interrupt-parent = <&saplic>;
> +			clocks = <&syscon_apmu CLK_APMU_USB3_PORTC_BUS>;

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260928205012.3689405-1-aurelien@aurel32.net?part=2

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH v5 2/5] riscv: dts: spacemit: k3: add USB3 B and C controllers for Pico-ITX board
  2026-09-28 21:02   ` sashiko-bot
@ 2026-09-28 21:10     ` Aurelien Jarno
  0 siblings, 0 replies; 6+ messages in thread
From: Aurelien Jarno @ 2026-09-28 21:10 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 SPACEMIT SoC Support,
	open list:RISC-V SPACEMIT SoC Support

Hi,

On 2026-09-28 21:02, sashiko-bot@kernel.org wrote:
> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
> - [Low] dt-bindings: missing required phys properties in usb3b and usb3c nodes
> --
> 
> commit 89b216baa5d6be0e4a7be800d568bba679087495
> Author: Aurelien Jarno <aurelien@aurel32.net>
> 
> riscv: dts: spacemit: k3: add USB3 B and C controllers for Pico-ITX board
> 
> This commit adds the USB3 controller nodes (B and C) to the SpacemiT K3 SoC
> device tree. It also enables them and adds the corresponding USB2 PHY nodes
> for the Pico-ITX board.
> 
> > diff --git a/arch/riscv/boot/dts/spacemit/k3.dtsi b/arch/riscv/boot/dts/spacemit/k3.dtsi
> > index 1af47b7f1c8af..cf1c8b572c86b 100644
> > --- a/arch/riscv/boot/dts/spacemit/k3.dtsi
> > +++ b/arch/riscv/boot/dts/spacemit/k3.dtsi
> 
> [ ... ]
> 
> > @@ -441,6 +441,66 @@ soc: soc {
> >  		dma-noncoherent;
> >  		ranges;
> >  
> > +		usb3b: usb@81400000 {
> > +			compatible = "spacemit,k3-dwc3";
> > +			reg = <0x0 0x81400000 0x0 0x10000>;
> > +			interrupts = <125 IRQ_TYPE_LEVEL_HIGH>;
> 
> [Severity: Low]
> Does omitting the phys and phy-names properties here cause a devicetree
> validation regression?

No it doesn't, I checked that before the submitting the patch.

> The SoC devicetree fails dtbs_check validation against the binding schema
> (spacemit,k1-dwc3.yaml), which unconditionally requires the phys and
> phy-names properties.

No, as explained in patch 1, dtbs_check only check enabled nodes, so this is fine.

> Should this node define its hardwired connection to usb3b_u2phy via the
> phys and phy-names properties here, instead of omitting these SoC-internal
> hardwired connections from k3.dtsi and forcing downstream boards to
> redundantly define the SoC hardware topology?
> 
> > +			interrupt-parent = <&saplic>;
> > +			clocks = <&syscon_apmu CLK_APMU_USB3_PORTB_BUS>;

No, this has already been discussed as part of the v3 review:
https://lore.kernel.org/spacemit/aomWjQGk_p84pPD2@inochi.infowork/

> [ ... ]
> 
> > +		usb3c: usb@81700000 {
> > +			compatible = "spacemit,k3-dwc3";
> > +			reg = <0x0 0x81700000 0x0 0x10000>;
> > +			interrupts = <148 IRQ_TYPE_LEVEL_HIGH>;
> 
> [Severity: Low]
> Similarly, does this node also need to define its hardwired connection to
> usb3c_u2phy via the phys and phy-names properties to avoid the same schema
> validation regression?
> 
> > +			interrupt-parent = <&saplic>;
> > +			clocks = <&syscon_apmu CLK_APMU_USB3_PORTC_BUS>;

Ditto.

Regards
Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                     http://aurel32.net

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-09-28 21:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20260928205012.3689405-1-aurelien@aurel32.net>
2026-09-28 20:49 ` [PATCH v5 1/5] riscv: dts: spacemit: k3: move USB3 phy to board level Aurelien Jarno
2026-09-28 20:49 ` [PATCH v5 2/5] riscv: dts: spacemit: k3: add USB3 B and C controllers for Pico-ITX board Aurelien Jarno
2026-09-28 21:02   ` sashiko-bot
2026-09-28 21:10     ` Aurelien Jarno
2026-09-28 20:49 ` [PATCH v5 3/5] riscv: dts: spacemit: k3: add rfkill node for Bluetooth on " Aurelien Jarno
2026-09-28 20:49 ` [PATCH v5 4/5] riscv: dts: spacemit: k3: add rfkill node for WLAN on the K3 " Aurelien Jarno

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox