All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: imx51-zii-rdu1: Make sure SD1_WP is low
@ 2018-05-25  3:01 ` Andrey Smirnov
  0 siblings, 0 replies; 6+ messages in thread
From: Andrey Smirnov @ 2018-05-25  3:01 UTC (permalink / raw)
  To: Shawn Guo
  Cc: Andrey Smirnov, Nikita Yushchenko, Fabio Estevam, Lucas Stach,
	Chris Healy, Rob Herring, linux-arm-kernel, devicetree,
	linux-kernel

Make sure that MX51_PAD_GPIO1_1 does not remain configure as
ALT0/SD1_WP (it is out of reset). This is needed because of external
pull-up resistor attached to that pad that, when left unchanged, will
drive SD1_WP high preventing eSDHC1/eMMC from working correctly.

To fix that add a pinmux configuration line configureing the pad to
function as a GPIO. While we are at it, add a corresponding input GPIO
hog in an effort to minimize current consumption.

Cc: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boot/dts/imx51-zii-rdu1.dts | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/arch/arm/boot/dts/imx51-zii-rdu1.dts b/arch/arm/boot/dts/imx51-zii-rdu1.dts
index df9eca94d812..d484e7e46b27 100644
--- a/arch/arm/boot/dts/imx51-zii-rdu1.dts
+++ b/arch/arm/boot/dts/imx51-zii-rdu1.dts
@@ -476,6 +476,17 @@
 	status = "okay";
 };
 
+&gpio1 {
+	unused-sd3-wp-gpio {
+		/*
+		 * See pinctrl_esdhc1 below for more details on this
+		 */
+		gpio-hog;
+		gpios = <1 GPIO_ACTIVE_HIGH>;
+		input;
+	};
+};
+
 &i2c2 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_i2c2>;
@@ -660,6 +671,23 @@
 			MX51_PAD_SD1_DATA1__SD1_DATA1		0x20d5
 			MX51_PAD_SD1_DATA2__SD1_DATA2		0x20d5
 			MX51_PAD_SD1_DATA3__SD1_DATA3		0x20d5
+			/*
+			 * GPIO1_1 is not directly used by eSDHC1 in
+			 * any capacity, but earlier versions of RDU1
+			 * used that pin as WP GPIO for eSDHC3 and
+			 * because of that that pad has an external
+			 * pull-up resistor. This is problematic
+			 * because out of reset the pad is configured
+			 * as ALT0 which serves as SD1_WP, which, when
+			 * pulled high by and external pull-up, will
+			 * inhibit execution of any write request to
+			 * attached eMMC device.
+			 *
+			 * To avoid this problem we configure the pad
+                	 * to ALT1/GPIO and avoid driving SD1_WP
+                	 * signal high.
+			 */
+			MX51_PAD_GPIO1_1__GPIO1_1		0x0000
 		>;
 	};
 
-- 
2.17.0

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

* [PATCH] ARM: dts: imx51-zii-rdu1: Make sure SD1_WP is low
@ 2018-05-25  3:01 ` Andrey Smirnov
  0 siblings, 0 replies; 6+ messages in thread
From: Andrey Smirnov @ 2018-05-25  3:01 UTC (permalink / raw)
  To: linux-arm-kernel

Make sure that MX51_PAD_GPIO1_1 does not remain configure as
ALT0/SD1_WP (it is out of reset). This is needed because of external
pull-up resistor attached to that pad that, when left unchanged, will
drive SD1_WP high preventing eSDHC1/eMMC from working correctly.

To fix that add a pinmux configuration line configureing the pad to
function as a GPIO. While we are at it, add a corresponding input GPIO
hog in an effort to minimize current consumption.

Cc: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Chris Healy <cphealy@gmail.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: linux-arm-kernel at lists.infradead.org
Cc: devicetree at vger.kernel.org
Cc: linux-kernel at vger.kernel.org
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
---
 arch/arm/boot/dts/imx51-zii-rdu1.dts | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/arch/arm/boot/dts/imx51-zii-rdu1.dts b/arch/arm/boot/dts/imx51-zii-rdu1.dts
index df9eca94d812..d484e7e46b27 100644
--- a/arch/arm/boot/dts/imx51-zii-rdu1.dts
+++ b/arch/arm/boot/dts/imx51-zii-rdu1.dts
@@ -476,6 +476,17 @@
 	status = "okay";
 };
 
+&gpio1 {
+	unused-sd3-wp-gpio {
+		/*
+		 * See pinctrl_esdhc1 below for more details on this
+		 */
+		gpio-hog;
+		gpios = <1 GPIO_ACTIVE_HIGH>;
+		input;
+	};
+};
+
 &i2c2 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_i2c2>;
@@ -660,6 +671,23 @@
 			MX51_PAD_SD1_DATA1__SD1_DATA1		0x20d5
 			MX51_PAD_SD1_DATA2__SD1_DATA2		0x20d5
 			MX51_PAD_SD1_DATA3__SD1_DATA3		0x20d5
+			/*
+			 * GPIO1_1 is not directly used by eSDHC1 in
+			 * any capacity, but earlier versions of RDU1
+			 * used that pin as WP GPIO for eSDHC3 and
+			 * because of that that pad has an external
+			 * pull-up resistor. This is problematic
+			 * because out of reset the pad is configured
+			 * as ALT0 which serves as SD1_WP, which, when
+			 * pulled high by and external pull-up, will
+			 * inhibit execution of any write request to
+			 * attached eMMC device.
+			 *
+			 * To avoid this problem we configure the pad
+                	 * to ALT1/GPIO and avoid driving SD1_WP
+                	 * signal high.
+			 */
+			MX51_PAD_GPIO1_1__GPIO1_1		0x0000
 		>;
 	};
 
-- 
2.17.0

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

* Re: [PATCH] ARM: dts: imx51-zii-rdu1: Make sure SD1_WP is low
  2018-05-25  3:01 ` Andrey Smirnov
@ 2018-05-25 14:16   ` Lucas Stach
  -1 siblings, 0 replies; 6+ messages in thread
From: Lucas Stach @ 2018-05-25 14:16 UTC (permalink / raw)
  To: Andrey Smirnov, Shawn Guo
  Cc: Nikita Yushchenko, Fabio Estevam, Chris Healy, Rob Herring,
	linux-arm-kernel, devicetree, linux-kernel

Am Donnerstag, den 24.05.2018, 20:01 -0700 schrieb Andrey Smirnov:
> Make sure that MX51_PAD_GPIO1_1 does not remain configure as
> ALT0/SD1_WP (it is out of reset). This is needed because of external
> pull-up resistor attached to that pad that, when left unchanged, will
> drive SD1_WP high preventing eSDHC1/eMMC from working correctly.
> 
> To fix that add a pinmux configuration line configureing the pad to
> function as a GPIO. While we are at it, add a corresponding input GPIO
> hog in an effort to minimize current consumption.

Enabling the input part of the pad also consumes (a small amount of)
power, if you are after minimizing power consumption, better configure
the pin as output and drive it in the pull direction.

> 
> > Cc: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
> > Cc: Shawn Guo <shawnguo@kernel.org>
> > Cc: Fabio Estevam <fabio.estevam@nxp.com>
> > Cc: Lucas Stach <l.stach@pengutronix.de>
> > Cc: Chris Healy <cphealy@gmail.com>
> > Cc: Rob Herring <robh+dt@kernel.org>
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: devicetree@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> ---
>  arch/arm/boot/dts/imx51-zii-rdu1.dts | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx51-zii-rdu1.dts b/arch/arm/boot/dts/imx51-zii-rdu1.dts
> index df9eca94d812..d484e7e46b27 100644
> --- a/arch/arm/boot/dts/imx51-zii-rdu1.dts
> +++ b/arch/arm/boot/dts/imx51-zii-rdu1.dts
> @@ -476,6 +476,17 @@
> >  	status = "okay";
>  };
>  
> +&gpio1 {
> > +	unused-sd3-wp-gpio {
> > +		/*
> > +		 * See pinctrl_esdhc1 below for more details on this
> > +		 */
> > +		gpio-hog;
> > +		gpios = <1 GPIO_ACTIVE_HIGH>;
> > +		input;
> > +	};
> +};
> +
>  &i2c2 {
> >  	pinctrl-names = "default";
> >  	pinctrl-0 = <&pinctrl_i2c2>;
> @@ -660,6 +671,23 @@
> > >  			MX51_PAD_SD1_DATA1__SD1_DATA1		0x20d5
> > >  			MX51_PAD_SD1_DATA2__SD1_DATA2		0x20d5
> > >  			MX51_PAD_SD1_DATA3__SD1_DATA3		0x20d5
> > +			/*
> > +			 * GPIO1_1 is not directly used by eSDHC1 in
> > +			 * any capacity, but earlier versions of RDU1
> > +			 * used that pin as WP GPIO for eSDHC3 and
> > +			 * because of that that pad has an external
> > +			 * pull-up resistor. This is problematic
> > +			 * because out of reset the pad is configured
> > +			 * as ALT0 which serves as SD1_WP, which, when
> > +			 * pulled high by and external pull-up, will
> > +			 * inhibit execution of any write request to
> > +			 * attached eMMC device.
> > +			 *
> > +			 * To avoid this problem we configure the pad
> > +                	 * to ALT1/GPIO and avoid driving SD1_WP
> +                	 * signal high.

Applying the patch complains about whitespace damage in the above 2
lines.

Regards,
Lucas

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

* [PATCH] ARM: dts: imx51-zii-rdu1: Make sure SD1_WP is low
@ 2018-05-25 14:16   ` Lucas Stach
  0 siblings, 0 replies; 6+ messages in thread
From: Lucas Stach @ 2018-05-25 14:16 UTC (permalink / raw)
  To: linux-arm-kernel

Am Donnerstag, den 24.05.2018, 20:01 -0700 schrieb Andrey Smirnov:
> Make sure that MX51_PAD_GPIO1_1 does not remain configure as
> ALT0/SD1_WP (it is out of reset). This is needed because of external
> pull-up resistor attached to that pad that, when left unchanged, will
> drive SD1_WP high preventing eSDHC1/eMMC from working correctly.
> 
> To fix that add a pinmux configuration line configureing the pad to
> function as a GPIO. While we are at it, add a corresponding input GPIO
> hog in an effort to minimize current consumption.

Enabling the input part of the pad also consumes (a small amount of)
power, if you are after minimizing power consumption, better configure
the pin as output and drive it in the pull direction.

> 
> > Cc: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
> > Cc: Shawn Guo <shawnguo@kernel.org>
> > Cc: Fabio Estevam <fabio.estevam@nxp.com>
> > Cc: Lucas Stach <l.stach@pengutronix.de>
> > Cc: Chris Healy <cphealy@gmail.com>
> > Cc: Rob Herring <robh+dt@kernel.org>
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: devicetree at vger.kernel.org
> Cc: linux-kernel at vger.kernel.org
> > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> ---
> ?arch/arm/boot/dts/imx51-zii-rdu1.dts | 28 ++++++++++++++++++++++++++++
> ?1 file changed, 28 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx51-zii-rdu1.dts b/arch/arm/boot/dts/imx51-zii-rdu1.dts
> index df9eca94d812..d484e7e46b27 100644
> --- a/arch/arm/boot/dts/imx51-zii-rdu1.dts
> +++ b/arch/arm/boot/dts/imx51-zii-rdu1.dts
> @@ -476,6 +476,17 @@
> > ?	status = "okay";
> ?};
> ?
> +&gpio1 {
> > +	unused-sd3-wp-gpio {
> > +		/*
> > +		?* See pinctrl_esdhc1 below for more details on this
> > +		?*/
> > +		gpio-hog;
> > +		gpios = <1 GPIO_ACTIVE_HIGH>;
> > +		input;
> > +	};
> +};
> +
> ?&i2c2 {
> > ?	pinctrl-names = "default";
> > ?	pinctrl-0 = <&pinctrl_i2c2>;
> @@ -660,6 +671,23 @@
> > > ?			MX51_PAD_SD1_DATA1__SD1_DATA1		0x20d5
> > > ?			MX51_PAD_SD1_DATA2__SD1_DATA2		0x20d5
> > > ?			MX51_PAD_SD1_DATA3__SD1_DATA3		0x20d5
> > +			/*
> > +			?* GPIO1_1 is not directly used by eSDHC1 in
> > +			?* any capacity, but earlier versions of RDU1
> > +			?* used that pin as WP GPIO for eSDHC3 and
> > +			?* because of that that pad has an external
> > +			?* pull-up resistor. This is problematic
> > +			?* because out of reset the pad is configured
> > +			?* as ALT0 which serves as SD1_WP, which, when
> > +			?* pulled high by and external pull-up, will
> > +			?* inhibit execution of any write request to
> > +			?* attached eMMC device.
> > +			?*
> > +			?* To avoid this problem we configure the pad
> > +????????????????	?* to ALT1/GPIO and avoid driving SD1_WP
> +????????????????	?* signal high.

Applying the patch complains about whitespace damage in the above 2
lines.

Regards,
Lucas

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

* Re: [PATCH] ARM: dts: imx51-zii-rdu1: Make sure SD1_WP is low
  2018-05-25 14:16   ` Lucas Stach
@ 2018-05-25 16:59     ` Andrey Smirnov
  -1 siblings, 0 replies; 6+ messages in thread
From: Andrey Smirnov @ 2018-05-25 16:59 UTC (permalink / raw)
  To: Lucas Stach
  Cc: Shawn Guo, Nikita Yushchenko, Fabio Estevam, Chris Healy,
	Rob Herring, linux-arm-kernel,
	open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
	linux-kernel

On Fri, May 25, 2018 at 7:16 AM, Lucas Stach <l.stach@pengutronix.de> wrote:
> Am Donnerstag, den 24.05.2018, 20:01 -0700 schrieb Andrey Smirnov:
>> Make sure that MX51_PAD_GPIO1_1 does not remain configure as
>> ALT0/SD1_WP (it is out of reset). This is needed because of external
>> pull-up resistor attached to that pad that, when left unchanged, will
>> drive SD1_WP high preventing eSDHC1/eMMC from working correctly.
>>
>> To fix that add a pinmux configuration line configureing the pad to
>> function as a GPIO. While we are at it, add a corresponding input GPIO
>> hog in an effort to minimize current consumption.
>
> Enabling the input part of the pad also consumes (a small amount of)
> power, if you are after minimizing power consumption, better configure
> the pin as output and drive it in the pull direction.
>

Sure, sounds good, will do in v2.

>>
>> > Cc: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
>> > Cc: Shawn Guo <shawnguo@kernel.org>
>> > Cc: Fabio Estevam <fabio.estevam@nxp.com>
>> > Cc: Lucas Stach <l.stach@pengutronix.de>
>> > Cc: Chris Healy <cphealy@gmail.com>
>> > Cc: Rob Herring <robh+dt@kernel.org>
>> Cc: linux-arm-kernel@lists.infradead.org
>> Cc: devicetree@vger.kernel.org
>> Cc: linux-kernel@vger.kernel.org
>> > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
>> ---
>>  arch/arm/boot/dts/imx51-zii-rdu1.dts | 28 ++++++++++++++++++++++++++++
>>  1 file changed, 28 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/imx51-zii-rdu1.dts b/arch/arm/boot/dts/imx51-zii-rdu1.dts
>> index df9eca94d812..d484e7e46b27 100644
>> --- a/arch/arm/boot/dts/imx51-zii-rdu1.dts
>> +++ b/arch/arm/boot/dts/imx51-zii-rdu1.dts
>> @@ -476,6 +476,17 @@
>> >     status = "okay";
>>  };
>>
>> +&gpio1 {
>> > +   unused-sd3-wp-gpio {
>> > +           /*
>> > +            * See pinctrl_esdhc1 below for more details on this
>> > +            */
>> > +           gpio-hog;
>> > +           gpios = <1 GPIO_ACTIVE_HIGH>;
>> > +           input;
>> > +   };
>> +};
>> +
>>  &i2c2 {
>> >     pinctrl-names = "default";
>> >     pinctrl-0 = <&pinctrl_i2c2>;
>> @@ -660,6 +671,23 @@
>> > >                   MX51_PAD_SD1_DATA1__SD1_DATA1           0x20d5
>> > >                   MX51_PAD_SD1_DATA2__SD1_DATA2           0x20d5
>> > >                   MX51_PAD_SD1_DATA3__SD1_DATA3           0x20d5
>> > +                   /*
>> > +                    * GPIO1_1 is not directly used by eSDHC1 in
>> > +                    * any capacity, but earlier versions of RDU1
>> > +                    * used that pin as WP GPIO for eSDHC3 and
>> > +                    * because of that that pad has an external
>> > +                    * pull-up resistor. This is problematic
>> > +                    * because out of reset the pad is configured
>> > +                    * as ALT0 which serves as SD1_WP, which, when
>> > +                    * pulled high by and external pull-up, will
>> > +                    * inhibit execution of any write request to
>> > +                    * attached eMMC device.
>> > +                    *
>> > +                    * To avoid this problem we configure the pad
>> > +                    * to ALT1/GPIO and avoid driving SD1_WP
>> +                      * signal high.
>
> Applying the patch complains about whitespace damage in the above 2
> lines.
>

My bad, sorry about that, will fix in v2.

Thanks,
Andrey Smirnov

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

* [PATCH] ARM: dts: imx51-zii-rdu1: Make sure SD1_WP is low
@ 2018-05-25 16:59     ` Andrey Smirnov
  0 siblings, 0 replies; 6+ messages in thread
From: Andrey Smirnov @ 2018-05-25 16:59 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, May 25, 2018 at 7:16 AM, Lucas Stach <l.stach@pengutronix.de> wrote:
> Am Donnerstag, den 24.05.2018, 20:01 -0700 schrieb Andrey Smirnov:
>> Make sure that MX51_PAD_GPIO1_1 does not remain configure as
>> ALT0/SD1_WP (it is out of reset). This is needed because of external
>> pull-up resistor attached to that pad that, when left unchanged, will
>> drive SD1_WP high preventing eSDHC1/eMMC from working correctly.
>>
>> To fix that add a pinmux configuration line configureing the pad to
>> function as a GPIO. While we are at it, add a corresponding input GPIO
>> hog in an effort to minimize current consumption.
>
> Enabling the input part of the pad also consumes (a small amount of)
> power, if you are after minimizing power consumption, better configure
> the pin as output and drive it in the pull direction.
>

Sure, sounds good, will do in v2.

>>
>> > Cc: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
>> > Cc: Shawn Guo <shawnguo@kernel.org>
>> > Cc: Fabio Estevam <fabio.estevam@nxp.com>
>> > Cc: Lucas Stach <l.stach@pengutronix.de>
>> > Cc: Chris Healy <cphealy@gmail.com>
>> > Cc: Rob Herring <robh+dt@kernel.org>
>> Cc: linux-arm-kernel at lists.infradead.org
>> Cc: devicetree at vger.kernel.org
>> Cc: linux-kernel at vger.kernel.org
>> > Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
>> ---
>>  arch/arm/boot/dts/imx51-zii-rdu1.dts | 28 ++++++++++++++++++++++++++++
>>  1 file changed, 28 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/imx51-zii-rdu1.dts b/arch/arm/boot/dts/imx51-zii-rdu1.dts
>> index df9eca94d812..d484e7e46b27 100644
>> --- a/arch/arm/boot/dts/imx51-zii-rdu1.dts
>> +++ b/arch/arm/boot/dts/imx51-zii-rdu1.dts
>> @@ -476,6 +476,17 @@
>> >     status = "okay";
>>  };
>>
>> +&gpio1 {
>> > +   unused-sd3-wp-gpio {
>> > +           /*
>> > +            * See pinctrl_esdhc1 below for more details on this
>> > +            */
>> > +           gpio-hog;
>> > +           gpios = <1 GPIO_ACTIVE_HIGH>;
>> > +           input;
>> > +   };
>> +};
>> +
>>  &i2c2 {
>> >     pinctrl-names = "default";
>> >     pinctrl-0 = <&pinctrl_i2c2>;
>> @@ -660,6 +671,23 @@
>> > >                   MX51_PAD_SD1_DATA1__SD1_DATA1           0x20d5
>> > >                   MX51_PAD_SD1_DATA2__SD1_DATA2           0x20d5
>> > >                   MX51_PAD_SD1_DATA3__SD1_DATA3           0x20d5
>> > +                   /*
>> > +                    * GPIO1_1 is not directly used by eSDHC1 in
>> > +                    * any capacity, but earlier versions of RDU1
>> > +                    * used that pin as WP GPIO for eSDHC3 and
>> > +                    * because of that that pad has an external
>> > +                    * pull-up resistor. This is problematic
>> > +                    * because out of reset the pad is configured
>> > +                    * as ALT0 which serves as SD1_WP, which, when
>> > +                    * pulled high by and external pull-up, will
>> > +                    * inhibit execution of any write request to
>> > +                    * attached eMMC device.
>> > +                    *
>> > +                    * To avoid this problem we configure the pad
>> > +                    * to ALT1/GPIO and avoid driving SD1_WP
>> +                      * signal high.
>
> Applying the patch complains about whitespace damage in the above 2
> lines.
>

My bad, sorry about that, will fix in v2.

Thanks,
Andrey Smirnov

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

end of thread, other threads:[~2018-05-25 16:59 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-25  3:01 [PATCH] ARM: dts: imx51-zii-rdu1: Make sure SD1_WP is low Andrey Smirnov
2018-05-25  3:01 ` Andrey Smirnov
2018-05-25 14:16 ` Lucas Stach
2018-05-25 14:16   ` Lucas Stach
2018-05-25 16:59   ` Andrey Smirnov
2018-05-25 16:59     ` Andrey Smirnov

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.