All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/8] ARM: realview: move DT GIC to FPGA node
@ 2014-10-14 13:04 Linus Walleij
  2014-10-14 13:04 ` [PATCH 2/8] ARM: realview: add PL061 GPIO to the PB1176 DTS Linus Walleij
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
  To: linux-arm-kernel

This creates a node in the device tree to hold the FPGA devices
as a "simple-bus" and moves the GIC found on the FPGA to this
node, so it reflects the actual topology of the system.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/arm-realview-pb1176.dts | 32 +++++++++++++++++++------------
 1 file changed, 20 insertions(+), 12 deletions(-)

diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index 3135939cd13f..f780adde2332 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -153,18 +153,6 @@
 			      <0x10120000 0x100>;
 		};
 
-		/* This GIC on the board is cascaded off the DevChip GIC */
-		intc_pb1176: interrupt-controller at 10040000 {
-			compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic";
-			#interrupt-cells = <3>;
-			#address-cells = <1>;
-			interrupt-controller;
-			reg = <0x10041000 0x1000>,
-			      <0x10040000 0x100>;
-			interrupt-parent = <&intc_dc1176>;
-			interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
-		};
-
 		L2: l2-cache {
 			compatible = "arm,l220-cache";
 			reg = <0x10110000 0x1000>;
@@ -244,4 +232,24 @@
 			clock-names = "uartclk", "apb_pclk";
 		};
 	};
+
+	/* These peripherals are inside the FPGA rather than the DevChip */
+	fpga {
+		#address-cells = <1>;
+		#size-cells = <1>;
+		compatible = "simple-bus";
+		ranges;
+
+		/* This GIC on the board is cascaded off the DevChip GIC */
+		intc_fpga1176: interrupt-controller at 10040000 {
+			compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic";
+			#interrupt-cells = <3>;
+			#address-cells = <1>;
+			interrupt-controller;
+			reg = <0x10041000 0x1000>,
+			      <0x10040000 0x100>;
+			interrupt-parent = <&intc_dc1176>;
+			interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
+		};
+	};
 };
-- 
1.9.3

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

* [PATCH 2/8] ARM: realview: add PL061 GPIO to the PB1176 DTS
  2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
  2014-10-14 13:04 ` [PATCH 3/8] ARM: realview: add charlcd to PB1176 device tree Linus Walleij
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
  To: linux-arm-kernel

This adds the PL061 GPIO instances found on the PB1176 devchip
and the FPGA to the DTS file.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/arm-realview-pb1176.dts | 39 +++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index f780adde2332..4721244a16d6 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -196,6 +196,19 @@
 			clock-names = "timer1", "timer2", "apb_pclk";
 		};
 
+		pb1176_gpio0: gpio at 1010a000 {
+			compatible = "arm,pl061", "arm,primecell";
+			reg = <0x1010a000 0x1000>;
+			gpio-controller;
+			interrupt-parent = <&intc_dc1176>;
+			interrupts = <0 16 IRQ_TYPE_LEVEL_HIGH>;
+			#gpio-cells = <2>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
+			clocks = <&pclk>;
+			clock-names = "apb_pclk";
+		};
+
 		pb1176_serial0: serial at 1010c000 {
 			compatible = "arm,pl011", "arm,primecell";
 			reg = <0x1010c000 0x1000>;
@@ -251,5 +264,31 @@
 			interrupt-parent = <&intc_dc1176>;
 			interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
 		};
+
+		fpga_gpio0: gpio at 10014000 {
+			compatible = "arm,pl061", "arm,primecell";
+			reg = <0x10014000 0x1000>;
+			gpio-controller;
+			interrupt-parent = <&intc_fpga1176>;
+			interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>;
+			#gpio-cells = <2>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
+			clocks = <&pclk>;
+			clock-names = "apb_pclk";
+		};
+
+		fpga_gpio1: gpio at 10015000 {
+			compatible = "arm,pl061", "arm,primecell";
+			reg = <0x10015000 0x1000>;
+			gpio-controller;
+			interrupt-parent = <&intc_fpga1176>;
+			interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
+			#gpio-cells = <2>;
+			interrupt-controller;
+			#interrupt-cells = <2>;
+			clocks = <&pclk>;
+			clock-names = "apb_pclk";
+		};
 	};
 };
-- 
1.9.3

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

* [PATCH 3/8] ARM: realview: add charlcd to PB1176 device tree
  2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
  2014-10-14 13:04 ` [PATCH 2/8] ARM: realview: add PL061 GPIO to the PB1176 DTS Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
  2014-10-14 13:04 ` [PATCH 4/8] ARM: realview: add RTC clocks to " Linus Walleij
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
  To: linux-arm-kernel

Extend the PB1176 device tree with the character LCD device.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/arm-realview-pb1176.dts | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index 4721244a16d6..4ca486796f71 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -253,6 +253,15 @@
 		compatible = "simple-bus";
 		ranges;
 
+		fpga_charlcd: charlcd at 10008000 {
+			compatible = "arm,versatile-lcd";
+			reg = <0x10008000 0x1000>;
+			interrupt-parent = <&intc_fpga1176>;
+			interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&pclk>;
+			clock-names = "apb_pclk";
+		};
+
 		/* This GIC on the board is cascaded off the DevChip GIC */
 		intc_fpga1176: interrupt-controller at 10040000 {
 			compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic";
-- 
1.9.3

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

* [PATCH 4/8] ARM: realview: add RTC clocks to device tree
  2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
  2014-10-14 13:04 ` [PATCH 2/8] ARM: realview: add PL061 GPIO to the PB1176 DTS Linus Walleij
  2014-10-14 13:04 ` [PATCH 3/8] ARM: realview: add charlcd to PB1176 device tree Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
  2014-10-14 13:04 ` [PATCH 5/8] ARM: realview: add PL022 SSP/SPI block to PB1176 DTS Linus Walleij
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
  To: linux-arm-kernel

The PB1176 has two PL031 RTC clocks, one in the devchip and one
in the FPGA. Add them to the device tree.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/arm-realview-pb1176.dts | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index 4ca486796f71..0e5b608ab9db 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -196,6 +196,15 @@
 			clock-names = "timer1", "timer2", "apb_pclk";
 		};
 
+		pb1176_rtc: rtc at 10108000 {
+			compatible = "arm,pl031", "arm,primecell";
+			reg = <0x10108000 0x1000>;
+			interrupt-parent = <&intc_dc1176>;
+			interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&pclk>;
+			clock-names = "apb_pclk";
+		};
+
 		pb1176_gpio0: gpio at 1010a000 {
 			compatible = "arm,pl061", "arm,primecell";
 			reg = <0x1010a000 0x1000>;
@@ -299,5 +308,14 @@
 			clocks = <&pclk>;
 			clock-names = "apb_pclk";
 		};
+
+		fpga_rtc: rtc at 10017000 {
+			compatible = "arm,pl031", "arm,primecell";
+			reg = <0x10017000 0x1000>;
+			interrupt-parent = <&intc_fpga1176>;
+			interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&pclk>;
+			clock-names = "apb_pclk";
+		};
 	};
 };
-- 
1.9.3

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

* [PATCH 5/8] ARM: realview: add PL022 SSP/SPI block to PB1176 DTS
  2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
                   ` (2 preceding siblings ...)
  2014-10-14 13:04 ` [PATCH 4/8] ARM: realview: add RTC clocks to " Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
  2014-10-14 13:04 ` [PATCH 6/8] ARM: realview: add FPGA UART4 " Linus Walleij
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
  To: linux-arm-kernel

Add the PL022 SSP/SPI block to the PL1176 DTS file, also
define the separate SSPCLK clock derived from the 24MHz
chrystal.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/arm-realview-pb1176.dts | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index 0e5b608ab9db..313a71756a18 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -56,6 +56,14 @@
 		clocks = <&xtal24mhz>;
 	};
 
+	sspclk: sspclk at 24M {
+		#clock-cells = <0>;
+		compatible = "fixed-factor-clock";
+		clock-div = <1>;
+		clock-mult = <1>;
+		clocks = <&xtal24mhz>;
+	};
+
 	uartclk: uartclk at 24M {
 		#clock-cells = <0>;
 		compatible = "fixed-factor-clock";
@@ -218,6 +226,15 @@
 			clock-names = "apb_pclk";
 		};
 
+		pb1176_ssp: ssp at 1010b000 {
+			compatible = "arm,pl022", "arm,primecell";
+			reg = <0x1010b000 0x1000>;
+			interrupt-parent = <&intc_dc1176>;
+			interrupts = <0 17 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&sspclk>, <&pclk>;
+			clock-names = "SSPCLK", "apb_pclk";
+		};
+
 		pb1176_serial0: serial at 1010c000 {
 			compatible = "arm,pl011", "arm,primecell";
 			reg = <0x1010c000 0x1000>;
-- 
1.9.3

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

* [PATCH 6/8] ARM: realview: add FPGA UART4 to PB1176 DTS
  2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
                   ` (3 preceding siblings ...)
  2014-10-14 13:04 ` [PATCH 5/8] ARM: realview: add PL022 SSP/SPI block to PB1176 DTS Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
  2014-10-14 13:04 ` [PATCH 7/8] ARM: realview: add KMIs to the " Linus Walleij
  2014-10-14 13:04 ` [PATCH 8/8] ARM: realview: add MMCI " Linus Walleij
  6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
  To: linux-arm-kernel

This adds the UART4 found on the FPGA to the PB1176 DTS
file.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/arm-realview-pb1176.dts | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index 313a71756a18..ac4c1c850db2 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -35,6 +35,7 @@
 		serial1 = &pb1176_serial1;
 		serial2 = &pb1176_serial2;
 		serial3 = &pb1176_serial3;
+		serial4 = &fpga_serial;
 	};
 
 	memory {
@@ -288,6 +289,15 @@
 			clock-names = "apb_pclk";
 		};
 
+		fpga_serial: serial at 10009000 {
+			compatible = "arm,pl011", "arm,primecell";
+			reg = <0x10009000 0x1000>;
+			interrupt-parent = <&intc_fpga1176>;
+			interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&uartclk>, <&pclk>;
+			clock-names = "uartclk", "apb_pclk";
+		};
+
 		/* This GIC on the board is cascaded off the DevChip GIC */
 		intc_fpga1176: interrupt-controller at 10040000 {
 			compatible = "arm,arm1176jzf-devchip-gic", "arm,arm11mp-gic";
@@ -334,5 +344,7 @@
 			clocks = <&pclk>;
 			clock-names = "apb_pclk";
 		};
+
+
 	};
 };
-- 
1.9.3

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

* [PATCH 7/8] ARM: realview: add KMIs to the PB1176 DTS
  2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
                   ` (4 preceding siblings ...)
  2014-10-14 13:04 ` [PATCH 6/8] ARM: realview: add FPGA UART4 " Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
  2014-10-14 13:04 ` [PATCH 8/8] ARM: realview: add MMCI " Linus Walleij
  6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
  To: linux-arm-kernel

This adds the Keyboard Mouse Interface (KMI) blocks to the
PB1176 DTS file, and defines the special KMI clock derived
from the 24 MHz chrystal.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/arm-realview-pb1176.dts | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index ac4c1c850db2..c292295ac1e3 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -57,6 +57,14 @@
 		clocks = <&xtal24mhz>;
 	};
 
+	kmiclk: kmiclk at 24M {
+		#clock-cells = <0>;
+		compatible = "fixed-factor-clock";
+		clock-div = <1>;
+		clock-mult = <1>;
+		clocks = <&xtal24mhz>;
+	};
+
 	sspclk: sspclk at 24M {
 		#clock-cells = <0>;
 		compatible = "fixed-factor-clock";
@@ -280,6 +288,24 @@
 		compatible = "simple-bus";
 		ranges;
 
+		fpga_kmi0: kmi at 10006000 {
+			compatible = "arm,pl050", "arm,primecell";
+			reg = <0x10006000 0x1000>;
+			interrupt-parent = <&intc_fpga1176>;
+			interrupts = <0 3 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&kmiclk>, <&pclk>;
+			clock-names = "KMIREFCLK", "apb_pclk";
+		};
+
+		fpga_kmi1: kmi at 10007000 {
+			compatible = "arm,pl050", "arm,primecell";
+			reg = <0x10007000 0x1000>;
+			interrupt-parent = <&intc_fpga1176>;
+			interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&kmiclk>, <&pclk>;
+			clock-names = "KMIREFCLK", "apb_pclk";
+		};
+
 		fpga_charlcd: charlcd at 10008000 {
 			compatible = "arm,versatile-lcd";
 			reg = <0x10008000 0x1000>;
-- 
1.9.3

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

* [PATCH 8/8] ARM: realview: add MMCI to the PB1176 DTS
  2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
                   ` (5 preceding siblings ...)
  2014-10-14 13:04 ` [PATCH 7/8] ARM: realview: add KMIs to the " Linus Walleij
@ 2014-10-14 13:04 ` Linus Walleij
  6 siblings, 0 replies; 8+ messages in thread
From: Linus Walleij @ 2014-10-14 13:04 UTC (permalink / raw)
  To: linux-arm-kernel

This adds the MMC/SD card reader (MMCI) block to the
RealView PB1176 DTS file. Add a special MCLK derived clock
and a fixed regulator to represent the 3.3V rail hardwired
to the MMC reader on the board.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/arm-realview-pb1176.dts | 36 +++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/arm-realview-pb1176.dts
index c292295ac1e3..ff26c7ed8c41 100644
--- a/arch/arm/boot/dts/arm-realview-pb1176.dts
+++ b/arch/arm/boot/dts/arm-realview-pb1176.dts
@@ -22,6 +22,7 @@
 
 /dts-v1/;
 #include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/gpio/gpio.h>
 #include "skeleton.dtsi"
 
 / {
@@ -43,6 +44,15 @@
 		reg = <0x00000000 0x08000000>;
 	};
 
+	/* The voltage to the MMC card is hardwired at 3.3V */
+	vmmc: fixedregulator at 0 {
+		compatible = "regulator-fixed";
+		regulator-name = "vmmc";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-boot-on;
+        };
+
 	xtal24mhz: xtal24mhz at 24M {
 		#clock-cells = <0>;
 		compatible = "fixed-clock";
@@ -57,6 +67,14 @@
 		clocks = <&xtal24mhz>;
 	};
 
+	mclk: mclk at 24M {
+		#clock-cells = <0>;
+		compatible = "fixed-factor-clock";
+		clock-div = <1>;
+		clock-mult = <1>;
+		clocks = <&xtal24mhz>;
+	};
+
 	kmiclk: kmiclk at 24M {
 		#clock-cells = <0>;
 		compatible = "fixed-factor-clock";
@@ -288,6 +306,24 @@
 		compatible = "simple-bus";
 		ranges;
 
+		fpga_mci: mmcsd at 10005000 {
+			compatible = "arm,pl18x", "arm,primecell";
+			reg = <0x10005000 0x1000>;
+			interrupt-parent = <&intc_fpga1176>;
+			interrupts = <0 1 IRQ_TYPE_LEVEL_HIGH>,
+					<0 2 IRQ_TYPE_LEVEL_HIGH>;
+			/* Due to frequent FIFO overruns, use just 500 kHz */
+			max-frequency = <500000>;
+			bus-width = <4>;
+			cap-sd-highspeed;
+			cap-mmc-highspeed;
+			clocks = <&mclk>, <&pclk>;
+			clock-names = "mclk", "apb_pclk";
+			vmmc-supply = <&vmmc>;
+			cd-gpios = <&fpga_gpio1 0 GPIO_ACTIVE_LOW>;
+			wp-gpios = <&fpga_gpio1 1 GPIO_ACTIVE_HIGH>;
+		};
+
 		fpga_kmi0: kmi at 10006000 {
 			compatible = "arm,pl050", "arm,primecell";
 			reg = <0x10006000 0x1000>;
-- 
1.9.3

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

end of thread, other threads:[~2014-10-14 13:04 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-14 13:04 [PATCH 1/8] ARM: realview: move DT GIC to FPGA node Linus Walleij
2014-10-14 13:04 ` [PATCH 2/8] ARM: realview: add PL061 GPIO to the PB1176 DTS Linus Walleij
2014-10-14 13:04 ` [PATCH 3/8] ARM: realview: add charlcd to PB1176 device tree Linus Walleij
2014-10-14 13:04 ` [PATCH 4/8] ARM: realview: add RTC clocks to " Linus Walleij
2014-10-14 13:04 ` [PATCH 5/8] ARM: realview: add PL022 SSP/SPI block to PB1176 DTS Linus Walleij
2014-10-14 13:04 ` [PATCH 6/8] ARM: realview: add FPGA UART4 " Linus Walleij
2014-10-14 13:04 ` [PATCH 7/8] ARM: realview: add KMIs to the " Linus Walleij
2014-10-14 13:04 ` [PATCH 8/8] ARM: realview: add MMCI " Linus Walleij

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.