All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] ARM: dts: at91: add pinctrl-{names, 0} for all gpios
@ 2021-07-27  7:40 ` Claudiu Beznea
  0 siblings, 0 replies; 8+ messages in thread
From: Claudiu Beznea @ 2021-07-27  7:40 UTC (permalink / raw)
  To: nicolas.ferre, alexandre.belloni, ludovic.desroches, robh+dt
  Cc: linux-arm-kernel, devicetree, linux-kernel, Claudiu Beznea

Add pinctrl-names and pinctrl-0 properties on controllers that claims to
use pins to avoid failures due to
commit 2ab73c6d8323 ("gpio: Support GPIO controllers without pin-ranges")
and also to avoid using pins that may be claimed my other IPs.

Fixes: b7c2b6157079 ("ARM: at91: add Atmel's SAMA5D3 Xplained board")
Fixes: 1e5f532c2737 ("ARM: dts: at91: sam9x60: add device tree for soc and board")
Fixes: 38153a017896 ("ARM: at91/dt: sama5d4: add dts for sama5d4 xplained
board")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
 arch/arm/boot/dts/at91-sam9x60ek.dts        | 16 +++++++++++-
 arch/arm/boot/dts/at91-sama5d3_xplained.dts | 29 +++++++++++++++++++++
 arch/arm/boot/dts/at91-sama5d4_xplained.dts | 19 ++++++++++++++
 3 files changed, 63 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
index edca66c232c1..ebbc9b23aef1 100644
--- a/arch/arm/boot/dts/at91-sam9x60ek.dts
+++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
@@ -92,6 +92,8 @@ sw1 {
 
 	leds {
 		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_gpio_leds>;
 		status = "okay"; /* Conflict with pwm0. */
 
 		red {
@@ -537,6 +539,10 @@ AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_H
 				 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA19 DAT2 periph A with pullup */
 				 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA20 DAT3 periph A with pullup */
 		};
+		pinctrl_sdmmc0_cd: sdmmc0_cd {
+			atmel,pins =
+				<AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
 	};
 
 	sdmmc1 {
@@ -569,6 +575,14 @@ pinctrl_usb_default: usb_default {
 				      AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
 		};
 	};
+
+	leds {
+		pinctrl_gpio_leds: gpio_leds {
+			atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+				      AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+				      AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
+	};
 }; /* pinctrl */
 
 &pwm0 {
@@ -580,7 +594,7 @@ &pwm0 {
 &sdmmc0 {
 	bus-width = <4>;
 	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_sdmmc0_default>;
+	pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
 	status = "okay";
 	cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
 	disable-wp;
diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
index 9c55a921263b..cc55d1684322 100644
--- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
@@ -57,6 +57,8 @@ slot@0 {
 			};
 
 			spi0: spi@f0004000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_spi0_cs>;
 				cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
 				status = "okay";
 			};
@@ -169,6 +171,8 @@ slot@0 {
 			};
 
 			spi1: spi@f8008000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_spi1_cs>;
 				cs-gpios = <&pioC 25 0>;
 				status = "okay";
 			};
@@ -248,6 +252,26 @@ pinctrl_usb_default: usb_default {
 							<AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
 							 AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
 					};
+
+					pinctrl_gpio_leds: gpio_leds_default {
+						atmel,pins =
+							<AT91_PIOE 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+							 AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
+
+					pinctrl_spi0_cs: spi0_cs_default {
+						atmel,pins =
+							<AT91_PIOD 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+							 AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
+
+					pinctrl_spi1_cs: spi1_cs_default {
+						atmel,pins = <AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
+
+					pinctrl_vcc_mmc0_reg_gpio: vcc_mmc0_reg_gpio_default {
+						atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
 				};
 			};
 		};
@@ -339,6 +363,8 @@ rootfs@800000 {
 
 	vcc_mmc0_reg: fixedregulator_mmc0 {
 		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_vcc_mmc0_reg_gpio>;
 		gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
 		regulator-name = "mmc0-card-supply";
 		regulator-min-microvolt = <3300000>;
@@ -362,6 +388,9 @@ bp3 {
 
 	leds {
 		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_gpio_leds>;
+		status = "okay";
 
 		d2 {
 			label = "d2";
diff --git a/arch/arm/boot/dts/at91-sama5d4_xplained.dts b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
index 046796c5b9b0..541779af049f 100644
--- a/arch/arm/boot/dts/at91-sama5d4_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
@@ -80,6 +80,8 @@ usart4: serial@fc010000 {
 			};
 
 			spi1: spi@fc018000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_spi0_cs>;
 				cs-gpios = <&pioB 21 0>;
 				status = "okay";
 			};
@@ -137,6 +139,19 @@ pinctrl_macb0_phy_irq: macb0_phy_irq_0 {
 						atmel,pins =
 							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
 					};
+					pinctrl_spi0_cs: spi0_cs_default {
+						atmel,pins =
+							<AT91_PIOB 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
+					pinctrl_gpio_leds: gpio_leds_default {
+						atmel,pins =
+							<AT91_PIOD 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+							 AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
+					pinctrl_vcc_mmc1_reg: vcc_mmc1_reg {
+						atmel,pins =
+							<AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
 				};
 			};
 		};
@@ -242,6 +257,8 @@ pb_user1 {
 
 	leds {
 		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_gpio_leds>;
 		status = "okay";
 
 		d8 {
@@ -268,6 +285,8 @@ vcc_3v3_reg: fixedregulator_3v3 {
 
 	vcc_mmc1_reg: fixedregulator_mmc1 {
 		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_vcc_mmc1_reg>;
 		gpio = <&pioE 4 GPIO_ACTIVE_LOW>;
 		regulator-name = "VDD MCI1";
 		regulator-min-microvolt = <3300000>;
-- 
2.25.1


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

* [PATCH 1/2] ARM: dts: at91: add pinctrl-{names, 0} for all gpios
@ 2021-07-27  7:40 ` Claudiu Beznea
  0 siblings, 0 replies; 8+ messages in thread
From: Claudiu Beznea @ 2021-07-27  7:40 UTC (permalink / raw)
  To: nicolas.ferre, alexandre.belloni, ludovic.desroches, robh+dt
  Cc: linux-arm-kernel, devicetree, linux-kernel, Claudiu Beznea

Add pinctrl-names and pinctrl-0 properties on controllers that claims to
use pins to avoid failures due to
commit 2ab73c6d8323 ("gpio: Support GPIO controllers without pin-ranges")
and also to avoid using pins that may be claimed my other IPs.

Fixes: b7c2b6157079 ("ARM: at91: add Atmel's SAMA5D3 Xplained board")
Fixes: 1e5f532c2737 ("ARM: dts: at91: sam9x60: add device tree for soc and board")
Fixes: 38153a017896 ("ARM: at91/dt: sama5d4: add dts for sama5d4 xplained
board")
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
 arch/arm/boot/dts/at91-sam9x60ek.dts        | 16 +++++++++++-
 arch/arm/boot/dts/at91-sama5d3_xplained.dts | 29 +++++++++++++++++++++
 arch/arm/boot/dts/at91-sama5d4_xplained.dts | 19 ++++++++++++++
 3 files changed, 63 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
index edca66c232c1..ebbc9b23aef1 100644
--- a/arch/arm/boot/dts/at91-sam9x60ek.dts
+++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
@@ -92,6 +92,8 @@ sw1 {
 
 	leds {
 		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_gpio_leds>;
 		status = "okay"; /* Conflict with pwm0. */
 
 		red {
@@ -537,6 +539,10 @@ AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_H
 				 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA19 DAT2 periph A with pullup */
 				 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA20 DAT3 periph A with pullup */
 		};
+		pinctrl_sdmmc0_cd: sdmmc0_cd {
+			atmel,pins =
+				<AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
 	};
 
 	sdmmc1 {
@@ -569,6 +575,14 @@ pinctrl_usb_default: usb_default {
 				      AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
 		};
 	};
+
+	leds {
+		pinctrl_gpio_leds: gpio_leds {
+			atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+				      AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+				      AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+		};
+	};
 }; /* pinctrl */
 
 &pwm0 {
@@ -580,7 +594,7 @@ &pwm0 {
 &sdmmc0 {
 	bus-width = <4>;
 	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_sdmmc0_default>;
+	pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
 	status = "okay";
 	cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
 	disable-wp;
diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
index 9c55a921263b..cc55d1684322 100644
--- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
@@ -57,6 +57,8 @@ slot@0 {
 			};
 
 			spi0: spi@f0004000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_spi0_cs>;
 				cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
 				status = "okay";
 			};
@@ -169,6 +171,8 @@ slot@0 {
 			};
 
 			spi1: spi@f8008000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_spi1_cs>;
 				cs-gpios = <&pioC 25 0>;
 				status = "okay";
 			};
@@ -248,6 +252,26 @@ pinctrl_usb_default: usb_default {
 							<AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
 							 AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
 					};
+
+					pinctrl_gpio_leds: gpio_leds_default {
+						atmel,pins =
+							<AT91_PIOE 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+							 AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
+
+					pinctrl_spi0_cs: spi0_cs_default {
+						atmel,pins =
+							<AT91_PIOD 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+							 AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
+
+					pinctrl_spi1_cs: spi1_cs_default {
+						atmel,pins = <AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
+
+					pinctrl_vcc_mmc0_reg_gpio: vcc_mmc0_reg_gpio_default {
+						atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
 				};
 			};
 		};
@@ -339,6 +363,8 @@ rootfs@800000 {
 
 	vcc_mmc0_reg: fixedregulator_mmc0 {
 		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_vcc_mmc0_reg_gpio>;
 		gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
 		regulator-name = "mmc0-card-supply";
 		regulator-min-microvolt = <3300000>;
@@ -362,6 +388,9 @@ bp3 {
 
 	leds {
 		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_gpio_leds>;
+		status = "okay";
 
 		d2 {
 			label = "d2";
diff --git a/arch/arm/boot/dts/at91-sama5d4_xplained.dts b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
index 046796c5b9b0..541779af049f 100644
--- a/arch/arm/boot/dts/at91-sama5d4_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
@@ -80,6 +80,8 @@ usart4: serial@fc010000 {
 			};
 
 			spi1: spi@fc018000 {
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_spi0_cs>;
 				cs-gpios = <&pioB 21 0>;
 				status = "okay";
 			};
@@ -137,6 +139,19 @@ pinctrl_macb0_phy_irq: macb0_phy_irq_0 {
 						atmel,pins =
 							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
 					};
+					pinctrl_spi0_cs: spi0_cs_default {
+						atmel,pins =
+							<AT91_PIOB 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
+					pinctrl_gpio_leds: gpio_leds_default {
+						atmel,pins =
+							<AT91_PIOD 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+							 AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
+					pinctrl_vcc_mmc1_reg: vcc_mmc1_reg {
+						atmel,pins =
+							<AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+					};
 				};
 			};
 		};
@@ -242,6 +257,8 @@ pb_user1 {
 
 	leds {
 		compatible = "gpio-leds";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_gpio_leds>;
 		status = "okay";
 
 		d8 {
@@ -268,6 +285,8 @@ vcc_3v3_reg: fixedregulator_3v3 {
 
 	vcc_mmc1_reg: fixedregulator_mmc1 {
 		compatible = "regulator-fixed";
+		pinctrl-names = "default";
+		pinctrl-0 = <&pinctrl_vcc_mmc1_reg>;
 		gpio = <&pioE 4 GPIO_ACTIVE_LOW>;
 		regulator-name = "VDD MCI1";
 		regulator-min-microvolt = <3300000>;
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 2/2] ARM: dts: at91: add conflict note for d3
  2021-07-27  7:40 ` Claudiu Beznea
@ 2021-07-27  7:40   ` Claudiu Beznea
  -1 siblings, 0 replies; 8+ messages in thread
From: Claudiu Beznea @ 2021-07-27  7:40 UTC (permalink / raw)
  To: nicolas.ferre, alexandre.belloni, ludovic.desroches, robh+dt
  Cc: linux-arm-kernel, devicetree, linux-kernel, Claudiu Beznea

Pin feeding d3 led may be in conflict with EBI CS0, USART2 CTS.
Add a note for this.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
 arch/arm/boot/dts/at91-sama5d3_xplained.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
index cc55d1684322..d72c042f2850 100644
--- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
@@ -399,7 +399,7 @@ d2 {
 		};
 
 		d3 {
-			label = "d3";
+			label = "d3"; /* Conflict with EBI CS0, USART2 CTS. */
 			gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
 		};
 	};
-- 
2.25.1


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

* [PATCH 2/2] ARM: dts: at91: add conflict note for d3
@ 2021-07-27  7:40   ` Claudiu Beznea
  0 siblings, 0 replies; 8+ messages in thread
From: Claudiu Beznea @ 2021-07-27  7:40 UTC (permalink / raw)
  To: nicolas.ferre, alexandre.belloni, ludovic.desroches, robh+dt
  Cc: linux-arm-kernel, devicetree, linux-kernel, Claudiu Beznea

Pin feeding d3 led may be in conflict with EBI CS0, USART2 CTS.
Add a note for this.

Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
---
 arch/arm/boot/dts/at91-sama5d3_xplained.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
index cc55d1684322..d72c042f2850 100644
--- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
+++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
@@ -399,7 +399,7 @@ d2 {
 		};
 
 		d3 {
-			label = "d3";
+			label = "d3"; /* Conflict with EBI CS0, USART2 CTS. */
 			gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
 		};
 	};
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/2] ARM: dts: at91: add pinctrl-{names, 0} for all gpios
  2021-07-27  7:40 ` Claudiu Beznea
@ 2021-07-27  8:53   ` Nicolas Ferre
  -1 siblings, 0 replies; 8+ messages in thread
From: Nicolas Ferre @ 2021-07-27  8:53 UTC (permalink / raw)
  To: Claudiu Beznea, alexandre.belloni, ludovic.desroches, robh+dt
  Cc: linux-arm-kernel, devicetree, linux-kernel

On 27/07/2021 at 09:40, Claudiu Beznea wrote:
> Add pinctrl-names and pinctrl-0 properties on controllers that claims to
> use pins to avoid failures due to
> commit 2ab73c6d8323 ("gpio: Support GPIO controllers without pin-ranges")
> and also to avoid using pins that may be claimed my other IPs.
> 
> Fixes: b7c2b6157079 ("ARM: at91: add Atmel's SAMA5D3 Xplained board")
> Fixes: 1e5f532c2737 ("ARM: dts: at91: sam9x60: add device tree for soc and board")
> Fixes: 38153a017896 ("ARM: at91/dt: sama5d4: add dts for sama5d4 xplained
> board")
> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>

Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Queued in at91-dt for 5.15 with additional tag:

Cc: <stable@vger.kernel.org> # v5.7+

Best regards,
   Nicolas


> ---
>   arch/arm/boot/dts/at91-sam9x60ek.dts        | 16 +++++++++++-
>   arch/arm/boot/dts/at91-sama5d3_xplained.dts | 29 +++++++++++++++++++++
>   arch/arm/boot/dts/at91-sama5d4_xplained.dts | 19 ++++++++++++++
>   3 files changed, 63 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
> index edca66c232c1..ebbc9b23aef1 100644
> --- a/arch/arm/boot/dts/at91-sam9x60ek.dts
> +++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
> @@ -92,6 +92,8 @@ sw1 {
>   
>   	leds {
>   		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_gpio_leds>;
>   		status = "okay"; /* Conflict with pwm0. */
>   
>   		red {
> @@ -537,6 +539,10 @@ AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_H
>   				 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA19 DAT2 periph A with pullup */
>   				 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA20 DAT3 periph A with pullup */
>   		};
> +		pinctrl_sdmmc0_cd: sdmmc0_cd {
> +			atmel,pins =
> +				<AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
>   	};
>   
>   	sdmmc1 {
> @@ -569,6 +575,14 @@ pinctrl_usb_default: usb_default {
>   				      AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>   		};
>   	};
> +
> +	leds {
> +		pinctrl_gpio_leds: gpio_leds {
> +			atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +				      AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +				      AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
> +	};
>   }; /* pinctrl */
>   
>   &pwm0 {
> @@ -580,7 +594,7 @@ &pwm0 {
>   &sdmmc0 {
>   	bus-width = <4>;
>   	pinctrl-names = "default";
> -	pinctrl-0 = <&pinctrl_sdmmc0_default>;
> +	pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
>   	status = "okay";
>   	cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
>   	disable-wp;
> diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
> index 9c55a921263b..cc55d1684322 100644
> --- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
> +++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
> @@ -57,6 +57,8 @@ slot@0 {
>   			};
>   
>   			spi0: spi@f0004000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&pinctrl_spi0_cs>;
>   				cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
>   				status = "okay";
>   			};
> @@ -169,6 +171,8 @@ slot@0 {
>   			};
>   
>   			spi1: spi@f8008000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&pinctrl_spi1_cs>;
>   				cs-gpios = <&pioC 25 0>;
>   				status = "okay";
>   			};
> @@ -248,6 +252,26 @@ pinctrl_usb_default: usb_default {
>   							<AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
>   							 AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>   					};
> +
> +					pinctrl_gpio_leds: gpio_leds_default {
> +						atmel,pins =
> +							<AT91_PIOE 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +							 AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
> +
> +					pinctrl_spi0_cs: spi0_cs_default {
> +						atmel,pins =
> +							<AT91_PIOD 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +							 AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
> +
> +					pinctrl_spi1_cs: spi1_cs_default {
> +						atmel,pins = <AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
> +
> +					pinctrl_vcc_mmc0_reg_gpio: vcc_mmc0_reg_gpio_default {
> +						atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
>   				};
>   			};
>   		};
> @@ -339,6 +363,8 @@ rootfs@800000 {
>   
>   	vcc_mmc0_reg: fixedregulator_mmc0 {
>   		compatible = "regulator-fixed";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_vcc_mmc0_reg_gpio>;
>   		gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
>   		regulator-name = "mmc0-card-supply";
>   		regulator-min-microvolt = <3300000>;
> @@ -362,6 +388,9 @@ bp3 {
>   
>   	leds {
>   		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_gpio_leds>;
> +		status = "okay";
>   
>   		d2 {
>   			label = "d2";
> diff --git a/arch/arm/boot/dts/at91-sama5d4_xplained.dts b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
> index 046796c5b9b0..541779af049f 100644
> --- a/arch/arm/boot/dts/at91-sama5d4_xplained.dts
> +++ b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
> @@ -80,6 +80,8 @@ usart4: serial@fc010000 {
>   			};
>   
>   			spi1: spi@fc018000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&pinctrl_spi0_cs>;
>   				cs-gpios = <&pioB 21 0>;
>   				status = "okay";
>   			};
> @@ -137,6 +139,19 @@ pinctrl_macb0_phy_irq: macb0_phy_irq_0 {
>   						atmel,pins =
>   							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
>   					};
> +					pinctrl_spi0_cs: spi0_cs_default {
> +						atmel,pins =
> +							<AT91_PIOB 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
> +					pinctrl_gpio_leds: gpio_leds_default {
> +						atmel,pins =
> +							<AT91_PIOD 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +							 AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
> +					pinctrl_vcc_mmc1_reg: vcc_mmc1_reg {
> +						atmel,pins =
> +							<AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
>   				};
>   			};
>   		};
> @@ -242,6 +257,8 @@ pb_user1 {
>   
>   	leds {
>   		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_gpio_leds>;
>   		status = "okay";
>   
>   		d8 {
> @@ -268,6 +285,8 @@ vcc_3v3_reg: fixedregulator_3v3 {
>   
>   	vcc_mmc1_reg: fixedregulator_mmc1 {
>   		compatible = "regulator-fixed";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_vcc_mmc1_reg>;
>   		gpio = <&pioE 4 GPIO_ACTIVE_LOW>;
>   		regulator-name = "VDD MCI1";
>   		regulator-min-microvolt = <3300000>;
> 


-- 
Nicolas Ferre

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

* Re: [PATCH 1/2] ARM: dts: at91: add pinctrl-{names, 0} for all gpios
@ 2021-07-27  8:53   ` Nicolas Ferre
  0 siblings, 0 replies; 8+ messages in thread
From: Nicolas Ferre @ 2021-07-27  8:53 UTC (permalink / raw)
  To: Claudiu Beznea, alexandre.belloni, ludovic.desroches, robh+dt
  Cc: linux-arm-kernel, devicetree, linux-kernel

On 27/07/2021 at 09:40, Claudiu Beznea wrote:
> Add pinctrl-names and pinctrl-0 properties on controllers that claims to
> use pins to avoid failures due to
> commit 2ab73c6d8323 ("gpio: Support GPIO controllers without pin-ranges")
> and also to avoid using pins that may be claimed my other IPs.
> 
> Fixes: b7c2b6157079 ("ARM: at91: add Atmel's SAMA5D3 Xplained board")
> Fixes: 1e5f532c2737 ("ARM: dts: at91: sam9x60: add device tree for soc and board")
> Fixes: 38153a017896 ("ARM: at91/dt: sama5d4: add dts for sama5d4 xplained
> board")
> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>

Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Queued in at91-dt for 5.15 with additional tag:

Cc: <stable@vger.kernel.org> # v5.7+

Best regards,
   Nicolas


> ---
>   arch/arm/boot/dts/at91-sam9x60ek.dts        | 16 +++++++++++-
>   arch/arm/boot/dts/at91-sama5d3_xplained.dts | 29 +++++++++++++++++++++
>   arch/arm/boot/dts/at91-sama5d4_xplained.dts | 19 ++++++++++++++
>   3 files changed, 63 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sam9x60ek.dts b/arch/arm/boot/dts/at91-sam9x60ek.dts
> index edca66c232c1..ebbc9b23aef1 100644
> --- a/arch/arm/boot/dts/at91-sam9x60ek.dts
> +++ b/arch/arm/boot/dts/at91-sam9x60ek.dts
> @@ -92,6 +92,8 @@ sw1 {
>   
>   	leds {
>   		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_gpio_leds>;
>   		status = "okay"; /* Conflict with pwm0. */
>   
>   		red {
> @@ -537,6 +539,10 @@ AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_H
>   				 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA19 DAT2 periph A with pullup */
>   				 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA20 DAT3 periph A with pullup */
>   		};
> +		pinctrl_sdmmc0_cd: sdmmc0_cd {
> +			atmel,pins =
> +				<AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
>   	};
>   
>   	sdmmc1 {
> @@ -569,6 +575,14 @@ pinctrl_usb_default: usb_default {
>   				      AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>   		};
>   	};
> +
> +	leds {
> +		pinctrl_gpio_leds: gpio_leds {
> +			atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +				      AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +				      AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +		};
> +	};
>   }; /* pinctrl */
>   
>   &pwm0 {
> @@ -580,7 +594,7 @@ &pwm0 {
>   &sdmmc0 {
>   	bus-width = <4>;
>   	pinctrl-names = "default";
> -	pinctrl-0 = <&pinctrl_sdmmc0_default>;
> +	pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
>   	status = "okay";
>   	cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
>   	disable-wp;
> diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
> index 9c55a921263b..cc55d1684322 100644
> --- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
> +++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
> @@ -57,6 +57,8 @@ slot@0 {
>   			};
>   
>   			spi0: spi@f0004000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&pinctrl_spi0_cs>;
>   				cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
>   				status = "okay";
>   			};
> @@ -169,6 +171,8 @@ slot@0 {
>   			};
>   
>   			spi1: spi@f8008000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&pinctrl_spi1_cs>;
>   				cs-gpios = <&pioC 25 0>;
>   				status = "okay";
>   			};
> @@ -248,6 +252,26 @@ pinctrl_usb_default: usb_default {
>   							<AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
>   							 AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
>   					};
> +
> +					pinctrl_gpio_leds: gpio_leds_default {
> +						atmel,pins =
> +							<AT91_PIOE 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +							 AT91_PIOE 24 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
> +
> +					pinctrl_spi0_cs: spi0_cs_default {
> +						atmel,pins =
> +							<AT91_PIOD 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +							 AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
> +
> +					pinctrl_spi1_cs: spi1_cs_default {
> +						atmel,pins = <AT91_PIOC 25 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
> +
> +					pinctrl_vcc_mmc0_reg_gpio: vcc_mmc0_reg_gpio_default {
> +						atmel,pins = <AT91_PIOE 2 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
>   				};
>   			};
>   		};
> @@ -339,6 +363,8 @@ rootfs@800000 {
>   
>   	vcc_mmc0_reg: fixedregulator_mmc0 {
>   		compatible = "regulator-fixed";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_vcc_mmc0_reg_gpio>;
>   		gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
>   		regulator-name = "mmc0-card-supply";
>   		regulator-min-microvolt = <3300000>;
> @@ -362,6 +388,9 @@ bp3 {
>   
>   	leds {
>   		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_gpio_leds>;
> +		status = "okay";
>   
>   		d2 {
>   			label = "d2";
> diff --git a/arch/arm/boot/dts/at91-sama5d4_xplained.dts b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
> index 046796c5b9b0..541779af049f 100644
> --- a/arch/arm/boot/dts/at91-sama5d4_xplained.dts
> +++ b/arch/arm/boot/dts/at91-sama5d4_xplained.dts
> @@ -80,6 +80,8 @@ usart4: serial@fc010000 {
>   			};
>   
>   			spi1: spi@fc018000 {
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&pinctrl_spi0_cs>;
>   				cs-gpios = <&pioB 21 0>;
>   				status = "okay";
>   			};
> @@ -137,6 +139,19 @@ pinctrl_macb0_phy_irq: macb0_phy_irq_0 {
>   						atmel,pins =
>   							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
>   					};
> +					pinctrl_spi0_cs: spi0_cs_default {
> +						atmel,pins =
> +							<AT91_PIOB 21 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
> +					pinctrl_gpio_leds: gpio_leds_default {
> +						atmel,pins =
> +							<AT91_PIOD 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
> +							 AT91_PIOE 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
> +					pinctrl_vcc_mmc1_reg: vcc_mmc1_reg {
> +						atmel,pins =
> +							<AT91_PIOE 4 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
> +					};
>   				};
>   			};
>   		};
> @@ -242,6 +257,8 @@ pb_user1 {
>   
>   	leds {
>   		compatible = "gpio-leds";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_gpio_leds>;
>   		status = "okay";
>   
>   		d8 {
> @@ -268,6 +285,8 @@ vcc_3v3_reg: fixedregulator_3v3 {
>   
>   	vcc_mmc1_reg: fixedregulator_mmc1 {
>   		compatible = "regulator-fixed";
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&pinctrl_vcc_mmc1_reg>;
>   		gpio = <&pioE 4 GPIO_ACTIVE_LOW>;
>   		regulator-name = "VDD MCI1";
>   		regulator-min-microvolt = <3300000>;
> 


-- 
Nicolas Ferre

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/2] ARM: dts: at91: add conflict note for d3
  2021-07-27  7:40   ` Claudiu Beznea
@ 2021-07-27  8:54     ` Nicolas Ferre
  -1 siblings, 0 replies; 8+ messages in thread
From: Nicolas Ferre @ 2021-07-27  8:54 UTC (permalink / raw)
  To: Claudiu Beznea, alexandre.belloni, ludovic.desroches, robh+dt
  Cc: linux-arm-kernel, devicetree, linux-kernel

On 27/07/2021 at 09:40, Claudiu Beznea wrote:
> Pin feeding d3 led may be in conflict with EBI CS0, USART2 CTS.
> Add a note for this.
> 
> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>

Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Queued for 5.15 in at91-dt.

Regards,
   Nicolas

> ---
>   arch/arm/boot/dts/at91-sama5d3_xplained.dts | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
> index cc55d1684322..d72c042f2850 100644
> --- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
> +++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
> @@ -399,7 +399,7 @@ d2 {
>   		};
>   
>   		d3 {
> -			label = "d3";
> +			label = "d3"; /* Conflict with EBI CS0, USART2 CTS. */
>   			gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
>   		};
>   	};
> 


-- 
Nicolas Ferre

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

* Re: [PATCH 2/2] ARM: dts: at91: add conflict note for d3
@ 2021-07-27  8:54     ` Nicolas Ferre
  0 siblings, 0 replies; 8+ messages in thread
From: Nicolas Ferre @ 2021-07-27  8:54 UTC (permalink / raw)
  To: Claudiu Beznea, alexandre.belloni, ludovic.desroches, robh+dt
  Cc: linux-arm-kernel, devicetree, linux-kernel

On 27/07/2021 at 09:40, Claudiu Beznea wrote:
> Pin feeding d3 led may be in conflict with EBI CS0, USART2 CTS.
> Add a note for this.
> 
> Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>

Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Queued for 5.15 in at91-dt.

Regards,
   Nicolas

> ---
>   arch/arm/boot/dts/at91-sama5d3_xplained.dts | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sama5d3_xplained.dts b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
> index cc55d1684322..d72c042f2850 100644
> --- a/arch/arm/boot/dts/at91-sama5d3_xplained.dts
> +++ b/arch/arm/boot/dts/at91-sama5d3_xplained.dts
> @@ -399,7 +399,7 @@ d2 {
>   		};
>   
>   		d3 {
> -			label = "d3";
> +			label = "d3"; /* Conflict with EBI CS0, USART2 CTS. */
>   			gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
>   		};
>   	};
> 


-- 
Nicolas Ferre

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2021-07-27  8:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-27  7:40 [PATCH 1/2] ARM: dts: at91: add pinctrl-{names, 0} for all gpios Claudiu Beznea
2021-07-27  7:40 ` Claudiu Beznea
2021-07-27  7:40 ` [PATCH 2/2] ARM: dts: at91: add conflict note for d3 Claudiu Beznea
2021-07-27  7:40   ` Claudiu Beznea
2021-07-27  8:54   ` Nicolas Ferre
2021-07-27  8:54     ` Nicolas Ferre
2021-07-27  8:53 ` [PATCH 1/2] ARM: dts: at91: add pinctrl-{names, 0} for all gpios Nicolas Ferre
2021-07-27  8:53   ` Nicolas Ferre

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.