mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 0/2] Convert atmel-flexcom to json-schema
@ 2024-02-23  9:16 Balakrishnan Sambath
  2024-02-23  9:16 ` [PATCH v2 1/2] ARM: dts: microchip: sama7g5: add sama7g5 compatible Balakrishnan Sambath
  2024-02-23  9:16 ` [PATCH v2 2/2] dt-bindings: mfd: Convert atmel-flexcom to json-schema Balakrishnan Sambath
  0 siblings, 2 replies; 6+ messages in thread
From: Balakrishnan Sambath @ 2024-02-23  9:16 UTC (permalink / raw)
  To: Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Lee Jones, Kavyasree Kotagiri
  Cc: linux-arm-kernel, devicetree, linux-kernel, Balakrishnan Sambath,
	Rob Herring, Krzysztof Kozlowski

The yaml DT bindings for the atmel-flexcom driver were submitted
upstream in a separate patch series in 2022 [1] which was Acked-by
Krzysztof Kozlowski. However, it has been observed recently that the
patch has not been merged into the mainline codebase.When attempting to
apply the patch to the latest upstream kernel,a conflict arose due to a
recent addition to the original device tree binding in text format. The
conflict has now been resolved and we are sending a updated version of
the patch.Also updated the DTS changes as recommended in [2].

[1]https://lore.kernel.org/linux-arm-kernel/22063373-6060-d605-62af-35d82ba1729c@linaro.org/
[2]https://lore.kernel.org/lkml/0798f21e-1ab6-4fd2-b7e3-18f35163fad1@tuxon.dev/

Note: The patch "[PATCH 2/2] dt-bindings: mfd: Convert atmel-flexcom to
json-schema" has dependency on "[PATCH 1/2] ARM: dts:microchip: sama7g5:
add sama7g5 compatible"

Signed-off-by: Balakrishnan Sambath <balakrishnan.s@microchip.com>
---
changes in v2:
--------------
- Added sama7g5 specific compatible in DT with fallbacks.
- Added sam9x7, sama7g5 compatible in DT bindings.
- Replaced "Atmel" with "Microchip" in DT bindings.
- Link to v1:https://lore.kernel.org/lkml/20240214-sama5d2-flexcom-yaml-v1-1-5dedd0eba08e@microchip.com/

---
Balakrishnan Sambath (2):
      ARM: dts: microchip: sama7g5: add sama7g5 compatible
      dt-bindings: mfd: Convert atmel-flexcom to json-schema

 .../bindings/mfd/atmel,sama5d2-flexcom.yaml        | 99 ++++++++++++++++++++++
 .../devicetree/bindings/mfd/atmel-flexcom.txt      | 64 --------------
 arch/arm/boot/dts/microchip/sama7g5.dtsi           | 16 ++--
 3 files changed, 107 insertions(+), 72 deletions(-)
---
base-commit: ffd2cb6b718e189e7e2d5d0c19c25611f92e061a
change-id: 20240223-b4-sama5d2-flexcom-yaml-b071c28da959

Best regards,
-- 
Balakrishnan Sambath <balakrishnan.s@microchip.com>


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

* [PATCH v2 1/2] ARM: dts: microchip: sama7g5: add sama7g5 compatible
  2024-02-23  9:16 [PATCH v2 0/2] Convert atmel-flexcom to json-schema Balakrishnan Sambath
@ 2024-02-23  9:16 ` Balakrishnan Sambath
  2024-02-23 12:56   ` claudiu beznea
  2024-02-23 20:23   ` claudiu beznea
  2024-02-23  9:16 ` [PATCH v2 2/2] dt-bindings: mfd: Convert atmel-flexcom to json-schema Balakrishnan Sambath
  1 sibling, 2 replies; 6+ messages in thread
From: Balakrishnan Sambath @ 2024-02-23  9:16 UTC (permalink / raw)
  To: Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Lee Jones, Kavyasree Kotagiri
  Cc: linux-arm-kernel, devicetree, linux-kernel, Balakrishnan Sambath

Add sama7g5 flexcom specific compatible in DT with fallbacks.

Signed-off-by: Balakrishnan Sambath <balakrishnan.s@microchip.com>
---
 arch/arm/boot/dts/microchip/sama7g5.dtsi | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/arm/boot/dts/microchip/sama7g5.dtsi b/arch/arm/boot/dts/microchip/sama7g5.dtsi
index 269e0a3ca269..6496a4ca376f 100644
--- a/arch/arm/boot/dts/microchip/sama7g5.dtsi
+++ b/arch/arm/boot/dts/microchip/sama7g5.dtsi
@@ -698,7 +698,7 @@ sha: crypto@e1814000 {
 		};
 
 		flx0: flexcom@e1818000 {
-			compatible = "atmel,sama5d2-flexcom";
+			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
 			reg = <0xe1818000 0x200>;
 			clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
 			#address-cells = <1>;
@@ -723,7 +723,7 @@ uart0: serial@200 {
 		};
 
 		flx1: flexcom@e181c000 {
-			compatible = "atmel,sama5d2-flexcom";
+			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
 			reg = <0xe181c000 0x200>;
 			clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
 			#address-cells = <1>;
@@ -747,7 +747,7 @@ i2c1: i2c@600 {
 		};
 
 		flx3: flexcom@e1824000 {
-			compatible = "atmel,sama5d2-flexcom";
+			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
 			reg = <0xe1824000 0x200>;
 			clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
 			#address-cells = <1>;
@@ -791,7 +791,7 @@ tdes: crypto@e2014000 {
 		};
 
 		flx4: flexcom@e2018000 {
-			compatible = "atmel,sama5d2-flexcom";
+			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
 			reg = <0xe2018000 0x200>;
 			clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
 			#address-cells = <1>;
@@ -817,7 +817,7 @@ uart4: serial@200 {
 		};
 
 		flx7: flexcom@e2024000 {
-			compatible = "atmel,sama5d2-flexcom";
+			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
 			reg = <0xe2024000 0x200>;
 			clocks = <&pmc PMC_TYPE_PERIPHERAL 45>;
 			#address-cells = <1>;
@@ -911,7 +911,7 @@ tcb0: timer@e2814000 {
 		};
 
 		flx8: flexcom@e2818000 {
-			compatible = "atmel,sama5d2-flexcom";
+			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
 			reg = <0xe2818000 0x200>;
 			clocks = <&pmc PMC_TYPE_PERIPHERAL 46>;
 			#address-cells = <1>;
@@ -935,7 +935,7 @@ i2c8: i2c@600 {
 		};
 
 		flx9: flexcom@e281c000 {
-			compatible = "atmel,sama5d2-flexcom";
+			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
 			reg = <0xe281c000 0x200>;
 			clocks = <&pmc PMC_TYPE_PERIPHERAL 47>;
 			#address-cells = <1>;
@@ -959,7 +959,7 @@ i2c9: i2c@600 {
 		};
 
 		flx11: flexcom@e2824000 {
-			compatible = "atmel,sama5d2-flexcom";
+			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
 			reg = <0xe2824000 0x200>;
 			clocks = <&pmc PMC_TYPE_PERIPHERAL 49>;
 			#address-cells = <1>;

-- 
2.25.1


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

* [PATCH v2 2/2] dt-bindings: mfd: Convert atmel-flexcom to json-schema
  2024-02-23  9:16 [PATCH v2 0/2] Convert atmel-flexcom to json-schema Balakrishnan Sambath
  2024-02-23  9:16 ` [PATCH v2 1/2] ARM: dts: microchip: sama7g5: add sama7g5 compatible Balakrishnan Sambath
@ 2024-02-23  9:16 ` Balakrishnan Sambath
  2024-02-23 17:11   ` (subset) " Lee Jones
  1 sibling, 1 reply; 6+ messages in thread
From: Balakrishnan Sambath @ 2024-02-23  9:16 UTC (permalink / raw)
  To: Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Lee Jones, Kavyasree Kotagiri
  Cc: linux-arm-kernel, devicetree, linux-kernel, Balakrishnan Sambath,
	Rob Herring, Krzysztof Kozlowski

Convert the Atmel flexcom device tree bindings to json schema.

Signed-off-by: Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Balakrishnan Sambath <balakrishnan.s@microchip.com>
---
 .../bindings/mfd/atmel,sama5d2-flexcom.yaml        | 99 ++++++++++++++++++++++
 .../devicetree/bindings/mfd/atmel-flexcom.txt      | 64 --------------
 2 files changed, 99 insertions(+), 64 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
new file mode 100644
index 000000000000..0dc6a40b63f4
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/atmel,sama5d2-flexcom.yaml
@@ -0,0 +1,99 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/atmel,sama5d2-flexcom.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Microchip Flexcom (Flexible Serial Communication Unit)
+
+maintainers:
+  - Kavyasree Kotagiri <kavyasree.kotagiri@microchip.com>
+
+description:
+  The Microchip Flexcom is just a wrapper which embeds a SPI controller,
+  an I2C controller and an USART. Only one function can be used at a
+  time and is chosen at boot time according to the device tree.
+
+properties:
+  compatible:
+    oneOf:
+      - const: atmel,sama5d2-flexcom
+      - items:
+          - const: microchip,sam9x7-flexcom
+          - const: atmel,sama5d2-flexcom
+      - items:
+          - const: microchip,sama7g5-flexcom
+          - const: atmel,sama5d2-flexcom
+
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 1
+
+  ranges:
+    description:
+      One range for the full I/O register region. (including USART,
+      TWI and SPI registers).
+    items:
+      maxItems: 3
+
+  atmel,flexcom-mode:
+    description: |
+      Specifies the flexcom mode as follows:
+      1: USART
+      2: SPI
+      3: I2C.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [1, 2, 3]
+
+patternProperties:
+  "^serial@[0-9a-f]+$":
+    type: object
+    description:
+      Child node describing USART. See atmel-usart.txt for details
+      of USART bindings.
+
+  "^spi@[0-9a-f]+$":
+    type: object
+    description:
+      Child node describing SPI. See ../spi/spi_atmel.txt for details
+      of SPI bindings.
+
+  "^i2c@[0-9a-f]+$":
+    $ref: /schemas/i2c/atmel,at91sam-i2c.yaml
+    description:
+      Child node describing I2C.
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - "#address-cells"
+  - "#size-cells"
+  - ranges
+  - atmel,flexcom-mode
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    flx0: flexcom@f8034000 {
+        compatible = "atmel,sama5d2-flexcom";
+        reg = <0xf8034000 0x200>;
+        clocks = <&flx0_clk>;
+        #address-cells = <1>;
+        #size-cells = <1>;
+        ranges = <0x0 0xf8034000 0x800>;
+        atmel,flexcom-mode = <2>;
+    };
+...
diff --git a/Documentation/devicetree/bindings/mfd/atmel-flexcom.txt b/Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
deleted file mode 100644
index af692e8833a5..000000000000
--- a/Documentation/devicetree/bindings/mfd/atmel-flexcom.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-* Device tree bindings for Atmel Flexcom (Flexible Serial Communication Unit)
-
-The Atmel Flexcom is just a wrapper which embeds a SPI controller, an I2C
-controller and an USART. Only one function can be used at a time and is chosen
-at boot time according to the device tree.
-
-Required properties:
-- compatible:		Should be "atmel,sama5d2-flexcom"
-			or "microchip,sam9x7-flexcom", "atmel,sama5d2-flexcom"
-- reg:			Should be the offset/length value for Flexcom dedicated
-			I/O registers (without USART, TWI or SPI registers).
-- clocks:		Should be the Flexcom peripheral clock from PMC.
-- #address-cells:	Should be <1>
-- #size-cells:		Should be <1>
-- ranges:		Should be one range for the full I/O register region
-			(including USART, TWI and SPI registers).
-- atmel,flexcom-mode:	Should be one of the following values:
-			- <1> for USART
-			- <2> for SPI
-			- <3> for I2C
-
-Required child:
-A single available child device of type matching the "atmel,flexcom-mode"
-property.
-
-The phandle provided by the clocks property of the child is the same as one for
-the Flexcom parent.
-
-For other properties, please refer to the documentations of the respective
-device:
-- ../serial/atmel-usart.txt
-- ../spi/spi_atmel.txt
-- ../i2c/i2c-at91.txt
-
-Example:
-
-flexcom@f8034000 {
-	compatible = "atmel,sama5d2-flexcom";
-	reg = <0xf8034000 0x200>;
-	clocks = <&flx0_clk>;
-	#address-cells = <1>;
-	#size-cells = <1>;
-	ranges = <0x0 0xf8034000 0x800>;
-	atmel,flexcom-mode = <2>;
-
-	spi@400 {
-		compatible = "atmel,at91rm9200-spi";
-		reg = <0x400 0x200>;
-		interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
-		pinctrl-names = "default";
-		pinctrl-0 = <&pinctrl_flx0_default>;
-		#address-cells = <1>;
-		#size-cells = <0>;
-		clocks = <&flx0_clk>;
-		clock-names = "spi_clk";
-		atmel,fifo-size = <32>;
-
-		flash@0 {
-			compatible = "atmel,at25f512b";
-			reg = <0>;
-			spi-max-frequency = <20000000>;
-		};
-	};
-};

-- 
2.25.1


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

* Re: [PATCH v2 1/2] ARM: dts: microchip: sama7g5: add sama7g5 compatible
  2024-02-23  9:16 ` [PATCH v2 1/2] ARM: dts: microchip: sama7g5: add sama7g5 compatible Balakrishnan Sambath
@ 2024-02-23 12:56   ` claudiu beznea
  2024-02-23 20:23   ` claudiu beznea
  1 sibling, 0 replies; 6+ messages in thread
From: claudiu beznea @ 2024-02-23 12:56 UTC (permalink / raw)
  To: Balakrishnan Sambath, Nicolas Ferre, Alexandre Belloni,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lee Jones,
	Kavyasree Kotagiri
  Cc: linux-arm-kernel, devicetree, linux-kernel

Hi, Balakrishnan,

On 23.02.2024 11:16, Balakrishnan Sambath wrote:
> Add sama7g5 flexcom specific compatible in DT with fallbacks.

Can you also take care of lan966x and sam9x60?

Thank you,
Claudiu Beznea

> 
> Signed-off-by: Balakrishnan Sambath <balakrishnan.s@microchip.com>
> ---
>  arch/arm/boot/dts/microchip/sama7g5.dtsi | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/microchip/sama7g5.dtsi b/arch/arm/boot/dts/microchip/sama7g5.dtsi
> index 269e0a3ca269..6496a4ca376f 100644
> --- a/arch/arm/boot/dts/microchip/sama7g5.dtsi
> +++ b/arch/arm/boot/dts/microchip/sama7g5.dtsi
> @@ -698,7 +698,7 @@ sha: crypto@e1814000 {
>  		};
>  
>  		flx0: flexcom@e1818000 {
> -			compatible = "atmel,sama5d2-flexcom";
> +			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
>  			reg = <0xe1818000 0x200>;
>  			clocks = <&pmc PMC_TYPE_PERIPHERAL 38>;
>  			#address-cells = <1>;
> @@ -723,7 +723,7 @@ uart0: serial@200 {
>  		};
>  
>  		flx1: flexcom@e181c000 {
> -			compatible = "atmel,sama5d2-flexcom";
> +			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
>  			reg = <0xe181c000 0x200>;
>  			clocks = <&pmc PMC_TYPE_PERIPHERAL 39>;
>  			#address-cells = <1>;
> @@ -747,7 +747,7 @@ i2c1: i2c@600 {
>  		};
>  
>  		flx3: flexcom@e1824000 {
> -			compatible = "atmel,sama5d2-flexcom";
> +			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
>  			reg = <0xe1824000 0x200>;
>  			clocks = <&pmc PMC_TYPE_PERIPHERAL 41>;
>  			#address-cells = <1>;
> @@ -791,7 +791,7 @@ tdes: crypto@e2014000 {
>  		};
>  
>  		flx4: flexcom@e2018000 {
> -			compatible = "atmel,sama5d2-flexcom";
> +			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
>  			reg = <0xe2018000 0x200>;
>  			clocks = <&pmc PMC_TYPE_PERIPHERAL 42>;
>  			#address-cells = <1>;
> @@ -817,7 +817,7 @@ uart4: serial@200 {
>  		};
>  
>  		flx7: flexcom@e2024000 {
> -			compatible = "atmel,sama5d2-flexcom";
> +			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
>  			reg = <0xe2024000 0x200>;
>  			clocks = <&pmc PMC_TYPE_PERIPHERAL 45>;
>  			#address-cells = <1>;
> @@ -911,7 +911,7 @@ tcb0: timer@e2814000 {
>  		};
>  
>  		flx8: flexcom@e2818000 {
> -			compatible = "atmel,sama5d2-flexcom";
> +			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
>  			reg = <0xe2818000 0x200>;
>  			clocks = <&pmc PMC_TYPE_PERIPHERAL 46>;
>  			#address-cells = <1>;
> @@ -935,7 +935,7 @@ i2c8: i2c@600 {
>  		};
>  
>  		flx9: flexcom@e281c000 {
> -			compatible = "atmel,sama5d2-flexcom";
> +			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
>  			reg = <0xe281c000 0x200>;
>  			clocks = <&pmc PMC_TYPE_PERIPHERAL 47>;
>  			#address-cells = <1>;
> @@ -959,7 +959,7 @@ i2c9: i2c@600 {
>  		};
>  
>  		flx11: flexcom@e2824000 {
> -			compatible = "atmel,sama5d2-flexcom";
> +			compatible = "microchip,sama7g5-flexcom", "atmel,sama5d2-flexcom";
>  			reg = <0xe2824000 0x200>;
>  			clocks = <&pmc PMC_TYPE_PERIPHERAL 49>;
>  			#address-cells = <1>;
> 

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

* Re: (subset) [PATCH v2 2/2] dt-bindings: mfd: Convert atmel-flexcom to json-schema
  2024-02-23  9:16 ` [PATCH v2 2/2] dt-bindings: mfd: Convert atmel-flexcom to json-schema Balakrishnan Sambath
@ 2024-02-23 17:11   ` Lee Jones
  0 siblings, 0 replies; 6+ messages in thread
From: Lee Jones @ 2024-02-23 17:11 UTC (permalink / raw)
  To: Nicolas Ferre, Alexandre Belloni, Claudiu Beznea, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Lee Jones, Kavyasree Kotagiri,
	Balakrishnan Sambath
  Cc: linux-arm-kernel, devicetree, linux-kernel, Rob Herring,
	Krzysztof Kozlowski

On Fri, 23 Feb 2024 14:46:23 +0530, Balakrishnan Sambath wrote:
> Convert the Atmel flexcom device tree bindings to json schema.
> 
> 

Applied, thanks!

[2/2] dt-bindings: mfd: Convert atmel-flexcom to json-schema
      commit: fddc5d727e4503481db8dce243ad7355c40f45db

--
Lee Jones [李琼斯]


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

* Re: [PATCH v2 1/2] ARM: dts: microchip: sama7g5: add sama7g5 compatible
  2024-02-23  9:16 ` [PATCH v2 1/2] ARM: dts: microchip: sama7g5: add sama7g5 compatible Balakrishnan Sambath
  2024-02-23 12:56   ` claudiu beznea
@ 2024-02-23 20:23   ` claudiu beznea
  1 sibling, 0 replies; 6+ messages in thread
From: claudiu beznea @ 2024-02-23 20:23 UTC (permalink / raw)
  To: Balakrishnan Sambath, Nicolas Ferre, Alexandre Belloni,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Lee Jones,
	Kavyasree Kotagiri
  Cc: linux-arm-kernel, devicetree, linux-kernel



On 23.02.2024 11:16, Balakrishnan Sambath wrote:
> Add sama7g5 flexcom specific compatible in DT with fallbacks.
> 
> Signed-off-by: Balakrishnan Sambath <balakrishnan.s@microchip.com>

Applied to at91-dt, thanks!

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

end of thread, other threads:[~2024-02-23 20:23 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-23  9:16 [PATCH v2 0/2] Convert atmel-flexcom to json-schema Balakrishnan Sambath
2024-02-23  9:16 ` [PATCH v2 1/2] ARM: dts: microchip: sama7g5: add sama7g5 compatible Balakrishnan Sambath
2024-02-23 12:56   ` claudiu beznea
2024-02-23 20:23   ` claudiu beznea
2024-02-23  9:16 ` [PATCH v2 2/2] dt-bindings: mfd: Convert atmel-flexcom to json-schema Balakrishnan Sambath
2024-02-23 17:11   ` (subset) " Lee Jones

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

all inboxes | Powered by JetHome®