All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC v2][PATCH 0/5] OMAP3630: UART4 startup
@ 2010-02-26 15:53 Sergio Aguirre
  2010-02-26 15:53 ` [RFC v2][PATCH 1/5] ARM: OMAP3630: PRCM: Add UART4 control bits Sergio Aguirre
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Sergio Aguirre @ 2010-02-26 15:53 UTC (permalink / raw)
  To: linux-omap; +Cc: Sergio Aguirre

Hi,

This is the v2 of the RFC for UART4 addition for 3630 chips.

Changes with respect to v1 [1]:
 - Added AUTOIDLE handling.
 - Added respective entries to prcm_setup_regs.

Indirect dependencies:
 - Tested with Thomas Weber's patch [2].

Known issues:
 - After enabling earlyprintk in 3630sdp, this is shown in the logs
   during bootup:

 --- LOG START ---
 Unhandled fault: imprecise external abort (0x1c06) at 0xc000e71c
 Internal error: : 1c06 [#1]
 last sysfs file:
 Modules linked in:
 CPU: 0    Not tainted  (2.6.33-rc8-07945-gac969e9 #13)
 PC is at init_timer_key+0x0/0x1c
 LR is at omap_serial_init_port+0xdc/0x2d4
 pc : [<c005cee0>]    lr : [<c000e54c>]    psr: 60000013
 sp : cf823f70  ip : d0800000  fp : c0381b68
 r10: c0381ed0  r9 : 00000360  r8 : c0381ec8
 r7 : 00000015  r6 : 00000000  r5 : 00000020  r4 : c0381b08
 r3 : c0035db8  r2 : 00000000  r1 : 00000000  r0 : c0381ed0
 Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
 Control: 10c5387f  Table: 80004019  DAC: 00000017
 Process swapper (pid: 1, stack limit = 0xcf8222e8)
 Stack: (0xcf823f70 to 0xcf824000)
 3f60:                                     00000003 fb020000 c0381aa8 00000004
 3f80: 00000004 c000b380 00000000 00000000 00000000 00000000 00000000 c000e76c
 3fa0: c00232e4 00000000 c000b380 c000fd78 c00232e4 c000fca4 c00232e4 c000b398
 3fc0: c00232e4 c002b33c 00000031 00000000 00000000 00000192 00000000 c00232e4
 3fe0: 00000000 00000000 00000000 c0008578 00000000 c002cdbc 00000000 00000000
 [<c005cee0>] (init_timer_key+0x0/0x1c) from [<c000e54c>] (omap_serial_init_port+0xdc/0x2d4)
 [<c000e54c>] (omap_serial_init_port+0xdc/0x2d4) from [<c000e76c>] (omap_serial_init+0x28/0x34)
 [<c000e76c>] (omap_serial_init+0x28/0x34) from [<c000fd78>] (zoom_peripherals_init+0x44/0x68)
 [<c000fd78>] (zoom_peripherals_init+0x44/0x68) from [<c000fca4>] (omap_sdp_init+0x14/0x50)
 [<c000fca4>] (omap_sdp_init+0x14/0x50) from [<c000b398>] (customize_machine+0x18/0x24)
 [<c000b398>] (customize_machine+0x18/0x24) from [<c002b33c>] (do_one_initcall+0x5c/0x1b4)
 [<c002b33c>] (do_one_initcall+0x5c/0x1b4) from [<c0008578>] (kernel_init+0x90/0x10c)
 [<c0008578>] (kernel_init+0x90/0x10c) from [<c002cdbc>] (kernel_thread_exit+0x0/0x8)
 Code: e5801004 e5831000 e5813004 e12fff1e (e3a03000)
 ---[ end trace 1b75b31a2719ed1c ]---
 Kernel panic - not syncing: Attempted to kill init!
 --- LOG END ---

Detailed patchlist summary:

Sergio Aguirre (5):
  ARM: OMAP3630: PRCM: Add UART4 control bits
  OMAP clock: Add UART4 autoidle bit for 3630
  OMAP clock: Add uart4_ick/fck definitions for 3630
  OMAP3: PRCM: Consider UART4 for 3630 chip in prcm_setup_regs
  omap3: serial: Add uart4 wakeup handling

 arch/arm/mach-omap2/clock3xxx_data.c  |   22 ++++++++++++++++++++++
 arch/arm/mach-omap2/cm-regbits-34xx.h |    2 ++
 arch/arm/mach-omap2/pm34xx.c          |    8 ++++++--
 arch/arm/mach-omap2/prcm-common.h     |    4 ++++
 arch/arm/mach-omap2/serial.c          |    4 ++++
 5 files changed, 38 insertions(+), 2 deletions(-)

Regards,
Sergio

[1] http://marc.info/?l=linux-omap&m=126710887505294&w=2
[2] http://marc.info/?l=linux-kernel&m=126709078514087&w=2


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

* [RFC v2][PATCH 1/5] ARM: OMAP3630: PRCM: Add UART4 control bits
  2010-02-26 15:53 [RFC v2][PATCH 0/5] OMAP3630: UART4 startup Sergio Aguirre
@ 2010-02-26 15:53 ` Sergio Aguirre
  2010-02-26 15:53 ` [RFC v2][PATCH 2/5] OMAP clock: Add UART4 autoidle bit for 3630 Sergio Aguirre
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 8+ messages in thread
From: Sergio Aguirre @ 2010-02-26 15:53 UTC (permalink / raw)
  To: linux-omap; +Cc: Sergio Aguirre

This bits are exclusive of omap 36xx family of chips.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
---
 arch/arm/mach-omap2/prcm-common.h |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/prcm-common.h b/arch/arm/mach-omap2/prcm-common.h
index 90f603d..c4e7bcb 100644
--- a/arch/arm/mach-omap2/prcm-common.h
+++ b/arch/arm/mach-omap2/prcm-common.h
@@ -390,6 +390,8 @@
 #define OMAP3430_EN_MPU_SHIFT				1
 
 /* CM_FCLKEN_PER, CM_ICLKEN_PER, PM_WKEN_PER shared bits */
+#define OMAP3630_EN_UART4				(1 << 18)
+#define OMAP3630_EN_UART4_SHIFT				18
 #define OMAP3430_EN_GPIO6				(1 << 17)
 #define OMAP3430_EN_GPIO6_SHIFT				17
 #define OMAP3430_EN_GPIO5				(1 << 16)
@@ -430,6 +432,8 @@
 #define OMAP3430_EN_MCBSP2_SHIFT			0
 
 /* CM_IDLEST_PER, PM_WKST_PER shared bits */
+#define OMAP3630_ST_UART4_SHIFT				18
+#define OMAP3630_ST_UART4_MASK				(1 << 18)
 #define OMAP3430_ST_GPIO6_SHIFT				17
 #define OMAP3430_ST_GPIO6_MASK				(1 << 17)
 #define OMAP3430_ST_GPIO5_SHIFT				16
-- 
1.6.3.3


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

* [RFC v2][PATCH 2/5] OMAP clock: Add UART4 autoidle bit for 3630
  2010-02-26 15:53 [RFC v2][PATCH 0/5] OMAP3630: UART4 startup Sergio Aguirre
  2010-02-26 15:53 ` [RFC v2][PATCH 1/5] ARM: OMAP3630: PRCM: Add UART4 control bits Sergio Aguirre
@ 2010-02-26 15:53 ` Sergio Aguirre
  2010-02-26 18:18   ` Paul Walmsley
  2010-02-26 15:53 ` [RFC v2][PATCH 3/5] OMAP clock: Add uart4_ick/fck definitions " Sergio Aguirre
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 8+ messages in thread
From: Sergio Aguirre @ 2010-02-26 15:53 UTC (permalink / raw)
  To: linux-omap; +Cc: Sergio Aguirre

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
---
 arch/arm/mach-omap2/cm-regbits-34xx.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/cm-regbits-34xx.h b/arch/arm/mach-omap2/cm-regbits-34xx.h
index a3a3ca0..834b671 100644
--- a/arch/arm/mach-omap2/cm-regbits-34xx.h
+++ b/arch/arm/mach-omap2/cm-regbits-34xx.h
@@ -649,6 +649,8 @@
 #define OMAP3430_ST_MCBSP2_MASK				(1 << 0)
 
 /* CM_AUTOIDLE_PER */
+#define OMAP3630_AUTO_UART4				(1 << 18)
+#define OMAP3630_AUTO_UART4_SHIFT			18
 #define OMAP3430_AUTO_GPIO6				(1 << 17)
 #define OMAP3430_AUTO_GPIO6_SHIFT			17
 #define OMAP3430_AUTO_GPIO5				(1 << 16)
-- 
1.6.3.3


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

* [RFC v2][PATCH 3/5] OMAP clock: Add uart4_ick/fck definitions for 3630
  2010-02-26 15:53 [RFC v2][PATCH 0/5] OMAP3630: UART4 startup Sergio Aguirre
  2010-02-26 15:53 ` [RFC v2][PATCH 1/5] ARM: OMAP3630: PRCM: Add UART4 control bits Sergio Aguirre
  2010-02-26 15:53 ` [RFC v2][PATCH 2/5] OMAP clock: Add UART4 autoidle bit for 3630 Sergio Aguirre
@ 2010-02-26 15:53 ` Sergio Aguirre
  2010-02-26 15:53 ` [RFC v2][PATCH 4/5] OMAP3: PRCM: Consider UART4 for 3630 chip in prcm_setup_regs Sergio Aguirre
  2010-02-26 15:53 ` [RFC v2][PATCH 5/5] omap3: serial: Add uart4 wakeup handling Sergio Aguirre
  4 siblings, 0 replies; 8+ messages in thread
From: Sergio Aguirre @ 2010-02-26 15:53 UTC (permalink / raw)
  To: linux-omap; +Cc: Sergio Aguirre

This is only valid for omap 36xx family of chips.

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
---
 arch/arm/mach-omap2/clock3xxx_data.c |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c
index d5153b6..e8afaa6 100644
--- a/arch/arm/mach-omap2/clock3xxx_data.c
+++ b/arch/arm/mach-omap2/clock3xxx_data.c
@@ -2541,6 +2541,16 @@ static struct clk uart3_fck = {
 	.recalc		= &followparent_recalc,
 };
 
+static struct clk uart4_fck = {
+	.name		= "uart4_fck",
+	.ops		= &clkops_omap2_dflt_wait,
+	.parent		= &per_48m_fck,
+	.enable_reg	= OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
+	.enable_bit	= OMAP3630_EN_UART4_SHIFT,
+	.clkdm_name	= "per_clkdm",
+	.recalc		= &followparent_recalc,
+};
+
 static struct clk gpt2_fck = {
 	.name		= "gpt2_fck",
 	.ops		= &clkops_omap2_dflt_wait,
@@ -2791,6 +2801,16 @@ static struct clk uart3_ick = {
 	.recalc		= &followparent_recalc,
 };
 
+static struct clk uart4_ick = {
+	.name		= "uart4_ick",
+	.ops		= &clkops_omap2_dflt_wait,
+	.parent		= &per_l4_ick,
+	.enable_reg	= OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_ICLKEN),
+	.enable_bit	= OMAP3630_EN_UART4_SHIFT,
+	.clkdm_name	= "per_clkdm",
+	.recalc		= &followparent_recalc,
+};
+
 static struct clk gpt9_ick = {
 	.name		= "gpt9_ick",
 	.ops		= &clkops_omap2_dflt_wait,
@@ -3420,6 +3440,7 @@ static struct omap_clk omap3xxx_clks[] = {
 	CLK(NULL,	"per_96m_fck",	&per_96m_fck,	CK_3XXX),
 	CLK(NULL,	"per_48m_fck",	&per_48m_fck,	CK_3XXX),
 	CLK(NULL,	"uart3_fck",	&uart3_fck,	CK_3XXX),
+	CLK(NULL,	"uart4_fck",	&uart4_fck,	CK_36XX),
 	CLK(NULL,	"gpt2_fck",	&gpt2_fck,	CK_3XXX),
 	CLK(NULL,	"gpt3_fck",	&gpt3_fck,	CK_3XXX),
 	CLK(NULL,	"gpt4_fck",	&gpt4_fck,	CK_3XXX),
@@ -3443,6 +3464,7 @@ static struct omap_clk omap3xxx_clks[] = {
 	CLK(NULL,	"gpio2_ick",	&gpio2_ick,	CK_3XXX),
 	CLK(NULL,	"wdt3_ick",	&wdt3_ick,	CK_3XXX),
 	CLK(NULL,	"uart3_ick",	&uart3_ick,	CK_3XXX),
+	CLK(NULL,	"uart4_ick",	&uart4_ick,	CK_36XX),
 	CLK(NULL,	"gpt9_ick",	&gpt9_ick,	CK_3XXX),
 	CLK(NULL,	"gpt8_ick",	&gpt8_ick,	CK_3XXX),
 	CLK(NULL,	"gpt7_ick",	&gpt7_ick,	CK_3XXX),
-- 
1.6.3.3


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

* [RFC v2][PATCH 4/5] OMAP3: PRCM: Consider UART4 for 3630 chip in prcm_setup_regs
  2010-02-26 15:53 [RFC v2][PATCH 0/5] OMAP3630: UART4 startup Sergio Aguirre
                   ` (2 preceding siblings ...)
  2010-02-26 15:53 ` [RFC v2][PATCH 3/5] OMAP clock: Add uart4_ick/fck definitions " Sergio Aguirre
@ 2010-02-26 15:53 ` Sergio Aguirre
  2010-02-26 15:53 ` [RFC v2][PATCH 5/5] omap3: serial: Add uart4 wakeup handling Sergio Aguirre
  4 siblings, 0 replies; 8+ messages in thread
From: Sergio Aguirre @ 2010-02-26 15:53 UTC (permalink / raw)
  To: linux-omap; +Cc: Sergio Aguirre

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
---
 arch/arm/mach-omap2/pm34xx.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index fee2efb..81082f2 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -734,6 +734,9 @@ static void __init omap3_d2d_idle(void)
 
 static void __init prcm_setup_regs(void)
 {
+	u32 omap3630_auto_uart4 = cpu_is_omap3630() ? OMAP3630_AUTO_UART4 : 0;
+	u32 omap3630_en_uart4 = cpu_is_omap3630() ? OMAP3630_EN_UART4 : 0;
+
 	/* XXX Reset all wkdeps. This should be done when initializing
 	 * powerdomains */
 	prm_write_mod_reg(0, OMAP3430_IVA2_MOD, PM_WKDEP);
@@ -820,6 +823,7 @@ static void __init prcm_setup_regs(void)
 		CM_AUTOIDLE);
 
 	cm_write_mod_reg(
+		omap3630_auto_uart4 |
 		OMAP3430_AUTO_GPIO6 |
 		OMAP3430_AUTO_GPIO5 |
 		OMAP3430_AUTO_GPIO4 |
@@ -899,14 +903,14 @@ static void __init prcm_setup_regs(void)
 			  OMAP3430_EN_GPIO4 | OMAP3430_EN_GPIO5 |
 			  OMAP3430_EN_GPIO6 | OMAP3430_EN_UART3 |
 			  OMAP3430_EN_MCBSP2 | OMAP3430_EN_MCBSP3 |
-			  OMAP3430_EN_MCBSP4,
+			  OMAP3430_EN_MCBSP4 | omap3630_en_uart4,
 			  OMAP3430_PER_MOD, PM_WKEN);
 	/* and allow them to wake up MPU */
 	prm_write_mod_reg(OMAP3430_GRPSEL_GPIO2 | OMAP3430_EN_GPIO3 |
 			  OMAP3430_GRPSEL_GPIO4 | OMAP3430_EN_GPIO5 |
 			  OMAP3430_GRPSEL_GPIO6 | OMAP3430_EN_UART3 |
 			  OMAP3430_EN_MCBSP2 | OMAP3430_EN_MCBSP3 |
-			  OMAP3430_EN_MCBSP4,
+			  OMAP3430_EN_MCBSP4 | omap3630_en_uart4,
 			  OMAP3430_PER_MOD, OMAP3430_PM_MPUGRPSEL);
 
 	/* Don't attach IVA interrupts */
-- 
1.6.3.3


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

* [RFC v2][PATCH 5/5] omap3: serial: Add uart4 wakeup handling
  2010-02-26 15:53 [RFC v2][PATCH 0/5] OMAP3630: UART4 startup Sergio Aguirre
                   ` (3 preceding siblings ...)
  2010-02-26 15:53 ` [RFC v2][PATCH 4/5] OMAP3: PRCM: Consider UART4 for 3630 chip in prcm_setup_regs Sergio Aguirre
@ 2010-02-26 15:53 ` Sergio Aguirre
  2010-02-26 19:43   ` Kevin Hilman
  4 siblings, 1 reply; 8+ messages in thread
From: Sergio Aguirre @ 2010-02-26 15:53 UTC (permalink / raw)
  To: linux-omap; +Cc: Sergio Aguirre

Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
---
 arch/arm/mach-omap2/serial.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index da77930..6e1b17e 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -475,6 +475,10 @@ static void omap_uart_idle_init(struct omap_uart_state *uart)
 			wk_mask = OMAP3430_ST_UART3_MASK;
 			padconf = 0x19e;
 			break;
+		case 3:
+			wk_mask = OMAP3630_ST_UART4_MASK;
+			padconf = 0x0d2;
+			break;
 		}
 		uart->wk_mask = wk_mask;
 		uart->padconf = padconf;
-- 
1.6.3.3


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

* Re: [RFC v2][PATCH 2/5] OMAP clock: Add UART4 autoidle bit for 3630
  2010-02-26 15:53 ` [RFC v2][PATCH 2/5] OMAP clock: Add UART4 autoidle bit for 3630 Sergio Aguirre
@ 2010-02-26 18:18   ` Paul Walmsley
  0 siblings, 0 replies; 8+ messages in thread
From: Paul Walmsley @ 2010-02-26 18:18 UTC (permalink / raw)
  To: Sergio Aguirre; +Cc: linux-omap

On Fri, 26 Feb 2010, Sergio Aguirre wrote:

> Signed-off-by: Sergio Aguirre <saaguirre@ti.com>

This patch is missing a patch description.

It also should be combined with your patch #1.

- Paul

> ---
>  arch/arm/mach-omap2/cm-regbits-34xx.h |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/cm-regbits-34xx.h b/arch/arm/mach-omap2/cm-regbits-34xx.h
> index a3a3ca0..834b671 100644
> --- a/arch/arm/mach-omap2/cm-regbits-34xx.h
> +++ b/arch/arm/mach-omap2/cm-regbits-34xx.h
> @@ -649,6 +649,8 @@
>  #define OMAP3430_ST_MCBSP2_MASK				(1 << 0)
>  
>  /* CM_AUTOIDLE_PER */
> +#define OMAP3630_AUTO_UART4				(1 << 18)
> +#define OMAP3630_AUTO_UART4_SHIFT			18
>  #define OMAP3430_AUTO_GPIO6				(1 << 17)
>  #define OMAP3430_AUTO_GPIO6_SHIFT			17
>  #define OMAP3430_AUTO_GPIO5				(1 << 16)
> -- 
> 1.6.3.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [RFC v2][PATCH 5/5] omap3: serial: Add uart4 wakeup handling
  2010-02-26 15:53 ` [RFC v2][PATCH 5/5] omap3: serial: Add uart4 wakeup handling Sergio Aguirre
@ 2010-02-26 19:43   ` Kevin Hilman
  0 siblings, 0 replies; 8+ messages in thread
From: Kevin Hilman @ 2010-02-26 19:43 UTC (permalink / raw)
  To: Sergio Aguirre; +Cc: linux-omap

Sergio Aguirre <saaguirre@ti.com> writes:

This one needs a better changelog also.

Otherwise, change looks right.

Kevin

> Signed-off-by: Sergio Aguirre <saaguirre@ti.com>
> ---
>  arch/arm/mach-omap2/serial.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
> index da77930..6e1b17e 100644
> --- a/arch/arm/mach-omap2/serial.c
> +++ b/arch/arm/mach-omap2/serial.c
> @@ -475,6 +475,10 @@ static void omap_uart_idle_init(struct omap_uart_state *uart)
>  			wk_mask = OMAP3430_ST_UART3_MASK;
>  			padconf = 0x19e;
>  			break;
> +		case 3:
> +			wk_mask = OMAP3630_ST_UART4_MASK;
> +			padconf = 0x0d2;
> +			break;
>  		}
>  		uart->wk_mask = wk_mask;
>  		uart->padconf = padconf;
> -- 
> 1.6.3.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2010-02-26 19:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-26 15:53 [RFC v2][PATCH 0/5] OMAP3630: UART4 startup Sergio Aguirre
2010-02-26 15:53 ` [RFC v2][PATCH 1/5] ARM: OMAP3630: PRCM: Add UART4 control bits Sergio Aguirre
2010-02-26 15:53 ` [RFC v2][PATCH 2/5] OMAP clock: Add UART4 autoidle bit for 3630 Sergio Aguirre
2010-02-26 18:18   ` Paul Walmsley
2010-02-26 15:53 ` [RFC v2][PATCH 3/5] OMAP clock: Add uart4_ick/fck definitions " Sergio Aguirre
2010-02-26 15:53 ` [RFC v2][PATCH 4/5] OMAP3: PRCM: Consider UART4 for 3630 chip in prcm_setup_regs Sergio Aguirre
2010-02-26 15:53 ` [RFC v2][PATCH 5/5] omap3: serial: Add uart4 wakeup handling Sergio Aguirre
2010-02-26 19:43   ` Kevin Hilman

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.