* [PATCH v4 0/3] dt-bindings: bus: simple-pm-bus, renesas-bsc: convert bindings to json-schema
@ 2019-09-30 11:52 Simon Horman
2019-09-30 11:52 ` [PATCH v4 1/3] dt-bindings: bus: simple-pm-bus: " Simon Horman
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Simon Horman @ 2019-09-30 11:52 UTC (permalink / raw)
To: Rob Herring, Mark Rutland, Andy Gross, Geert Uytterhoeven
Cc: Magnus Damm, Yoshihiro Kaneko, devicetree, linux-arm-msm,
linux-renesas-soc, Simon Horman
Convert Simple Power-Managed Bus and Convert Renesas Bus State Controller
(BSC) bindings documentation to json-schema.
Based on v5.3.
Changes since v3 noted in individual patches.
Simon Horman (3):
dt-bindings: bus: simple-pm-bus: convert bindings to json-schema
dt-bindings: bus: renesas-bsc: convert bindings to json-schema
arm64: dts: qcom: msm8996: Update simple-pm-bus node name to 'bus'
.../devicetree/bindings/bus/renesas,bsc.txt | 46 -------------
.../devicetree/bindings/bus/renesas,bsc.yaml | 60 +++++++++++++++++
.../devicetree/bindings/bus/simple-pm-bus.txt | 44 -------------
.../devicetree/bindings/bus/simple-pm-bus.yaml | 75 ++++++++++++++++++++++
arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi | 2 +-
arch/arm64/boot/dts/qcom/msm8996.dtsi | 2 +-
6 files changed, 137 insertions(+), 92 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/bus/renesas,bsc.txt
create mode 100644 Documentation/devicetree/bindings/bus/renesas,bsc.yaml
delete mode 100644 Documentation/devicetree/bindings/bus/simple-pm-bus.txt
create mode 100644 Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
--
2.11.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v4 1/3] dt-bindings: bus: simple-pm-bus: convert bindings to json-schema
2019-09-30 11:52 [PATCH v4 0/3] dt-bindings: bus: simple-pm-bus, renesas-bsc: convert bindings to json-schema Simon Horman
@ 2019-09-30 11:52 ` Simon Horman
2019-10-01 13:41 ` Rob Herring
2019-09-30 11:52 ` [PATCH v4 2/3] dt-bindings: bus: renesas-bsc: " Simon Horman
2019-09-30 11:52 ` [PATCH v4 3/3] arm64: dts: qcom: msm8996: Update simple-pm-bus node name to 'bus' Simon Horman
2 siblings, 1 reply; 6+ messages in thread
From: Simon Horman @ 2019-09-30 11:52 UTC (permalink / raw)
To: Rob Herring, Mark Rutland, Andy Gross, Geert Uytterhoeven
Cc: Magnus Damm, Yoshihiro Kaneko, devicetree, linux-arm-msm,
linux-renesas-soc, Simon Horman
Convert Simple Power-Managed Bus bindings documentation to json-schema.
As a side effect of this change only simple-pm-bus is used in example. A
follow-up patch will provide an example for the separately documented
Renesas Bus State Controller (BSC) that uses "renesas,bsc-sh73a0" and
"renesas,bsc" compat strings.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
* Based on v5.3
* Tested using:
# ARCH=arm64 make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
# ARCH=arm make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
v4
* Only allow '@' after bus in nodename
* Allow #address-cells to be 1 or 2.
v3
* v2 was miss-posted as v3
v2
* Add SPDX line
* Remove extra blank line
* Add $nodename
* Remove extra leading space in compatible
* Update compatible to allow override by other schemas
* Allow #size-cells to be 1 or 2
* Do not limit ranges or clocks to 1 item
* Add anyOf requirement on ranges or clocks
* Update example based on msm8996.dtsi
---
.../devicetree/bindings/bus/simple-pm-bus.txt | 44 -------------
.../devicetree/bindings/bus/simple-pm-bus.yaml | 75 ++++++++++++++++++++++
2 files changed, 75 insertions(+), 44 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/bus/simple-pm-bus.txt
create mode 100644 Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
diff --git a/Documentation/devicetree/bindings/bus/simple-pm-bus.txt b/Documentation/devicetree/bindings/bus/simple-pm-bus.txt
deleted file mode 100644
index 6f15037131ed..000000000000
--- a/Documentation/devicetree/bindings/bus/simple-pm-bus.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-Simple Power-Managed Bus
-========================
-
-A Simple Power-Managed Bus is a transparent bus that doesn't need a real
-driver, as it's typically initialized by the boot loader.
-
-However, its bus controller is part of a PM domain, or under the control of a
-functional clock. Hence, the bus controller's PM domain and/or clock must be
-enabled for child devices connected to the bus (either on-SoC or externally)
-to function.
-
-While "simple-pm-bus" follows the "simple-bus" set of properties, as specified
-in the Devicetree Specification, it is not an extension of "simple-bus".
-
-
-Required properties:
- - compatible: Must contain at least "simple-pm-bus".
- Must not contain "simple-bus".
- It's recommended to let this be preceded by one or more
- vendor-specific compatible values.
- - #address-cells, #size-cells, ranges: Must describe the mapping between
- parent address and child address spaces.
-
-Optional platform-specific properties for clock or PM domain control (at least
-one of them is required):
- - clocks: Must contain a reference to the functional clock(s),
- - power-domains: Must contain a reference to the PM domain.
-Please refer to the binding documentation for the clock and/or PM domain
-providers for more details.
-
-
-Example:
-
- bsc: bus@fec10000 {
- compatible = "renesas,bsc-sh73a0", "renesas,bsc",
- "simple-pm-bus";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x20000000>;
- reg = <0xfec10000 0x400>;
- interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&zb_clk>;
- power-domains = <&pd_a4s>;
- };
diff --git a/Documentation/devicetree/bindings/bus/simple-pm-bus.yaml b/Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
new file mode 100644
index 000000000000..33326ffdb266
--- /dev/null
+++ b/Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
@@ -0,0 +1,75 @@
+# SPDX-License-Identifier: GPL-2.0
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/bus/simple-pm-bus.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Simple Power-Managed Bus
+
+maintainers:
+ - Geert Uytterhoeven <geert+renesas@glider.be>
+
+description: |
+ A Simple Power-Managed Bus is a transparent bus that doesn't need a real
+ driver, as it's typically initialized by the boot loader.
+
+ However, its bus controller is part of a PM domain, or under the control
+ of a functional clock. Hence, the bus controller's PM domain and/or
+ clock must be enabled for child devices connected to the bus (either
+ on-SoC or externally) to function.
+
+ While "simple-pm-bus" follows the "simple-bus" set of properties, as
+ specified in the Devicetree Specification, it is not an extension of
+ "simple-bus".
+
+properties:
+ $nodename:
+ pattern: "^bus(@[0-9a-f]+)?$"
+
+ compatible:
+ contains:
+ const: simple-pm-bus
+ description:
+ Shall contain "simple-pm-bus" in addition to a optional bus-specific
+ compatible strings defined in individual pm-bus bindings.
+
+ '#address-cells':
+ enum: [ 1, 2 ]
+
+ '#size-cells':
+ enum: [ 1, 2 ]
+
+ ranges: true
+
+ clocks: true
+ # Functional clocks
+ # Required if power-domains is absent, optional otherwise
+
+ power-domains:
+ # Required if clocks is absent, optional otherwise
+ minItems: 1
+
+required:
+ - compatible
+ - '#address-cells'
+ - '#size-cells'
+ - ranges
+
+anyOf:
+ - required:
+ - clocks
+ - required:
+ - power-domains
+
+examples:
+ - |
+ #include <dt-bindings/clock/qcom,gcc-msm8996.h>
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ bus {
+ power-domains = <&gcc AGGRE0_NOC_GDSC>;
+ compatible = "simple-pm-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ };
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 2/3] dt-bindings: bus: renesas-bsc: convert bindings to json-schema
2019-09-30 11:52 [PATCH v4 0/3] dt-bindings: bus: simple-pm-bus, renesas-bsc: convert bindings to json-schema Simon Horman
2019-09-30 11:52 ` [PATCH v4 1/3] dt-bindings: bus: simple-pm-bus: " Simon Horman
@ 2019-09-30 11:52 ` Simon Horman
2019-10-01 13:42 ` Rob Herring
2019-09-30 11:52 ` [PATCH v4 3/3] arm64: dts: qcom: msm8996: Update simple-pm-bus node name to 'bus' Simon Horman
2 siblings, 1 reply; 6+ messages in thread
From: Simon Horman @ 2019-09-30 11:52 UTC (permalink / raw)
To: Rob Herring, Mark Rutland, Andy Gross, Geert Uytterhoeven
Cc: Magnus Damm, Yoshihiro Kaneko, devicetree, linux-arm-msm,
linux-renesas-soc, Simon Horman
Convert Renesas Bus State Controller (BSC) bindings documentation to
json-schema.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
* Based on v5.3
* Tested using:
# ARCH=arm64 make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/bus/renesas,bsc.yaml
# ARCH=arm make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/bus/renesas,bsc.yaml
v4
* No change
v3
* v2 was miss-posted as v3
v2
* Add required field as suggested by Ulrich Hecht
* Add custom 'select' in that leaves out "simple-pm-bus"
to avoid matching on users of the binding documented
in simple-pm-bus.yaml, which this binding extends
---
.../devicetree/bindings/bus/renesas,bsc.txt | 46 -----------------
.../devicetree/bindings/bus/renesas,bsc.yaml | 60 ++++++++++++++++++++++
2 files changed, 60 insertions(+), 46 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/bus/renesas,bsc.txt
create mode 100644 Documentation/devicetree/bindings/bus/renesas,bsc.yaml
diff --git a/Documentation/devicetree/bindings/bus/renesas,bsc.txt b/Documentation/devicetree/bindings/bus/renesas,bsc.txt
deleted file mode 100644
index 90e947269437..000000000000
--- a/Documentation/devicetree/bindings/bus/renesas,bsc.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-Renesas Bus State Controller (BSC)
-==================================
-
-The Renesas Bus State Controller (BSC, sometimes called "LBSC within Bus
-Bridge", or "External Bus Interface") can be found in several Renesas ARM SoCs.
-It provides an external bus for connecting multiple external devices to the
-SoC, driving several chip select lines, for e.g. NOR FLASH, Ethernet and USB.
-
-While the BSC is a fairly simple memory-mapped bus, it may be part of a PM
-domain, and may have a gateable functional clock.
-Before a device connected to the BSC can be accessed, the PM domain
-containing the BSC must be powered on, and the functional clock
-driving the BSC must be enabled.
-
-The bindings for the BSC extend the bindings for "simple-pm-bus".
-
-
-Required properties
- - compatible: Must contain an SoC-specific value, and "renesas,bsc" and
- "simple-pm-bus" as fallbacks.
- SoC-specific values can be:
- "renesas,bsc-r8a73a4" for R-Mobile APE6 (r8a73a4)
- "renesas,bsc-sh73a0" for SH-Mobile AG5 (sh73a0)
- - #address-cells, #size-cells, ranges: Must describe the mapping between
- parent address and child address spaces.
- - reg: Must contain the base address and length to access the bus controller.
-
-Optional properties:
- - interrupts: Must contain a reference to the BSC interrupt, if available.
- - clocks: Must contain a reference to the functional clock, if available.
- - power-domains: Must contain a reference to the PM domain, if available.
-
-
-Example:
-
- bsc: bus@fec10000 {
- compatible = "renesas,bsc-sh73a0", "renesas,bsc",
- "simple-pm-bus";
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0 0 0x20000000>;
- reg = <0xfec10000 0x400>;
- interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&zb_clk>;
- power-domains = <&pd_a4s>;
- };
diff --git a/Documentation/devicetree/bindings/bus/renesas,bsc.yaml b/Documentation/devicetree/bindings/bus/renesas,bsc.yaml
new file mode 100644
index 000000000000..7d10b62a52d5
--- /dev/null
+++ b/Documentation/devicetree/bindings/bus/renesas,bsc.yaml
@@ -0,0 +1,60 @@
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/bus/renesas,bsc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Renesas Bus State Controller (BSC)
+
+maintainers:
+ - Geert Uytterhoeven <geert+renesas@glider.be>
+
+description: |
+ The Renesas Bus State Controller (BSC, sometimes called "LBSC within Bus
+ Bridge", or "External Bus Interface") can be found in several Renesas ARM
+ SoCs. It provides an external bus for connecting multiple external
+ devices to the SoC, driving several chip select lines, for e.g. NOR
+ FLASH, Ethernet and USB.
+
+ While the BSC is a fairly simple memory-mapped bus, it may be part of a
+ PM domain, and may have a gateable functional clock. Before a device
+ connected to the BSC can be accessed, the PM domain containing the BSC
+ must be powered on, and the functional clock driving the BSC must be
+ enabled.
+
+ The bindings for the BSC extend the bindings for "simple-pm-bus".
+
+allOf:
+ - $ref: simple-pm-bus.yaml#
+
+properties:
+ compatible:
+ items:
+ - enum:
+ - renesas,bsc-r8a73a4 # R-Mobile APE6 (r8a73a4)
+ - renesas,bsc-sh73a0 # SH-Mobile AG5 (sh73a0)
+ - const: renesas,bsc
+ - {} # simple-pm-bus, but not listed here to avoid false select
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - reg
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ bsc: bus@fec10000 {
+ compatible = "renesas,bsc-sh73a0", "renesas,bsc", "simple-pm-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0 0x20000000>;
+ reg = <0xfec10000 0x400>;
+ interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&zb_clk>;
+ power-domains = <&pd_a4s>;
+ };
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v4 3/3] arm64: dts: qcom: msm8996: Update simple-pm-bus node name to 'bus'
2019-09-30 11:52 [PATCH v4 0/3] dt-bindings: bus: simple-pm-bus, renesas-bsc: convert bindings to json-schema Simon Horman
2019-09-30 11:52 ` [PATCH v4 1/3] dt-bindings: bus: simple-pm-bus: " Simon Horman
2019-09-30 11:52 ` [PATCH v4 2/3] dt-bindings: bus: renesas-bsc: " Simon Horman
@ 2019-09-30 11:52 ` Simon Horman
2 siblings, 0 replies; 6+ messages in thread
From: Simon Horman @ 2019-09-30 11:52 UTC (permalink / raw)
To: Rob Herring, Mark Rutland, Andy Gross, Geert Uytterhoeven
Cc: Magnus Damm, Yoshihiro Kaneko, devicetree, linux-arm-msm,
linux-renesas-soc, Simon Horman
Update simple-pm-bus node name from 'agnoc' to 'bus' reflecting the
proposed binding description in json-schema which in turn reflects the
Devicetree specification [1] v0.3-rc2.
"The name of a node should be somewhat generic, reflecting the function
of the device and not its precise programming model. If appropriate,
the name should be one of the following choices:
...
* bus
..."
Also drop the unit address as there is neither a reg property nor
non-empty ranges.
[1] https://www.devicetree.org/specifications/
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
---
*** Compile tested only ***
v4
* Update changelog
* Update reference in apq8096-db820c.dtsi
v3
* v2 was miss-posted as v3
v2
* New patch
---
arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi | 2 +-
arch/arm64/boot/dts/qcom/msm8996.dtsi | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
index 04ad2fb22b9a..5a2297777592 100644
--- a/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
+++ b/arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi
@@ -439,7 +439,7 @@
enable-active-high;
};
- agnoc@0 {
+ bus {
pcie@600000 {
status = "okay";
perst-gpio = <&msmgpio 35 GPIO_ACTIVE_LOW>;
diff --git a/arch/arm64/boot/dts/qcom/msm8996.dtsi b/arch/arm64/boot/dts/qcom/msm8996.dtsi
index 96c0a481f454..99f376ebd27e 100644
--- a/arch/arm64/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8996.dtsi
@@ -1373,7 +1373,7 @@
clock-names = "iface", "bus";
};
- agnoc@0 {
+ bus {
power-domains = <&gcc AGGRE0_NOC_GDSC>;
compatible = "simple-pm-bus";
#address-cells = <1>;
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v4 1/3] dt-bindings: bus: simple-pm-bus: convert bindings to json-schema
2019-09-30 11:52 ` [PATCH v4 1/3] dt-bindings: bus: simple-pm-bus: " Simon Horman
@ 2019-10-01 13:41 ` Rob Herring
0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2019-10-01 13:41 UTC (permalink / raw)
To: Simon Horman
Cc: Geert Uytterhoeven, Magnus Damm, Yoshihiro Kaneko, devicetree,
linux-arm-msm, linux-renesas-soc, Simon Horman
On Mon, 30 Sep 2019 13:52:03 +0200, Simon Horman wrote:
> Convert Simple Power-Managed Bus bindings documentation to json-schema.
>
> As a side effect of this change only simple-pm-bus is used in example. A
> follow-up patch will provide an example for the separately documented
> Renesas Bus State Controller (BSC) that uses "renesas,bsc-sh73a0" and
> "renesas,bsc" compat strings.
>
> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
> ---
> * Based on v5.3
> * Tested using:
> # ARCH=arm64 make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
> # ARCH=arm make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
>
> v4
> * Only allow '@' after bus in nodename
> * Allow #address-cells to be 1 or 2.
>
> v3
> * v2 was miss-posted as v3
>
> v2
> * Add SPDX line
> * Remove extra blank line
> * Add $nodename
> * Remove extra leading space in compatible
> * Update compatible to allow override by other schemas
> * Allow #size-cells to be 1 or 2
> * Do not limit ranges or clocks to 1 item
> * Add anyOf requirement on ranges or clocks
> * Update example based on msm8996.dtsi
> ---
> .../devicetree/bindings/bus/simple-pm-bus.txt | 44 -------------
> .../devicetree/bindings/bus/simple-pm-bus.yaml | 75 ++++++++++++++++++++++
> 2 files changed, 75 insertions(+), 44 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/bus/simple-pm-bus.txt
> create mode 100644 Documentation/devicetree/bindings/bus/simple-pm-bus.yaml
>
Applied, thanks.
Rob
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v4 2/3] dt-bindings: bus: renesas-bsc: convert bindings to json-schema
2019-09-30 11:52 ` [PATCH v4 2/3] dt-bindings: bus: renesas-bsc: " Simon Horman
@ 2019-10-01 13:42 ` Rob Herring
0 siblings, 0 replies; 6+ messages in thread
From: Rob Herring @ 2019-10-01 13:42 UTC (permalink / raw)
To: Simon Horman
Cc: Geert Uytterhoeven, Magnus Damm, Yoshihiro Kaneko, devicetree,
linux-arm-msm, linux-renesas-soc, Simon Horman
On Mon, 30 Sep 2019 13:52:04 +0200, Simon Horman wrote:
> Convert Renesas Bus State Controller (BSC) bindings documentation to
> json-schema.
>
> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
> ---
> * Based on v5.3
> * Tested using:
> # ARCH=arm64 make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/bus/renesas,bsc.yaml
> # ARCH=arm make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/bus/renesas,bsc.yaml
>
> v4
> * No change
>
> v3
> * v2 was miss-posted as v3
>
> v2
> * Add required field as suggested by Ulrich Hecht
> * Add custom 'select' in that leaves out "simple-pm-bus"
> to avoid matching on users of the binding documented
> in simple-pm-bus.yaml, which this binding extends
> ---
> .../devicetree/bindings/bus/renesas,bsc.txt | 46 -----------------
> .../devicetree/bindings/bus/renesas,bsc.yaml | 60 ++++++++++++++++++++++
> 2 files changed, 60 insertions(+), 46 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/bus/renesas,bsc.txt
> create mode 100644 Documentation/devicetree/bindings/bus/renesas,bsc.yaml
>
Applied, thanks.
Rob
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-10-01 13:42 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-30 11:52 [PATCH v4 0/3] dt-bindings: bus: simple-pm-bus, renesas-bsc: convert bindings to json-schema Simon Horman
2019-09-30 11:52 ` [PATCH v4 1/3] dt-bindings: bus: simple-pm-bus: " Simon Horman
2019-10-01 13:41 ` Rob Herring
2019-09-30 11:52 ` [PATCH v4 2/3] dt-bindings: bus: renesas-bsc: " Simon Horman
2019-10-01 13:42 ` Rob Herring
2019-09-30 11:52 ` [PATCH v4 3/3] arm64: dts: qcom: msm8996: Update simple-pm-bus node name to 'bus' Simon Horman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).