All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] gpio: atmel_pio4: add support for sama7g5 pio4 version with 5 banks
@ 2021-04-07  8:39 Eugen Hristev
  2021-04-07  8:39 ` [PATCH 2/2] ARM: dts: at91: sama7g5: change pinctrl compatible to sama7g5 Eugen Hristev
  2021-04-19  7:41 ` [PATCH 1/2] gpio: atmel_pio4: add support for sama7g5 pio4 version with 5 banks Eugen.Hristev at microchip.com
  0 siblings, 2 replies; 3+ messages in thread
From: Eugen Hristev @ 2021-04-07  8:39 UTC (permalink / raw)
  To: u-boot

Add support for sama7g5 pinctrl variant, with 5 banks with a degraded
8 line only 5th bank.
Based on Linux Kernel implementation.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
---
 drivers/gpio/atmel_pio4.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/drivers/gpio/atmel_pio4.c b/drivers/gpio/atmel_pio4.c
index f615fce32e..bea609db9d 100644
--- a/drivers/gpio/atmel_pio4.c
+++ b/drivers/gpio/atmel_pio4.c
@@ -173,8 +173,15 @@ int atmel_pio4_get_pio_input(u32 port, u32 pin)
 
 #if CONFIG_IS_ENABLED(DM_GPIO)
 
+/**
+ * struct atmel_pioctrl_data - Atmel PIO controller (pinmux + gpio) data struct
+ * @nbanks: number of PIO banks
+ * @last_bank_count: number of lines in the last bank (can be less than
+ *     the rest of the banks).
+ */
 struct atmel_pioctrl_data {
 	u32 nbanks;
+	u32 last_bank_count;
 };
 
 struct atmel_pio4_plat {
@@ -313,6 +320,12 @@ static int atmel_pio4_probe(struct udevice *dev)
 					  NULL);
 	uc_priv->gpio_count = nbanks * ATMEL_PIO_NPINS_PER_BANK;
 
+	/* if last bank has limited number of pins, adjust accordingly */
+	if (pioctrl_data->last_bank_count != ATMEL_PIO_NPINS_PER_BANK) {
+		uc_priv->gpio_count -= ATMEL_PIO_NPINS_PER_BANK;
+		uc_priv->gpio_count += pioctrl_data->last_bank_count;
+	}
+
 	return 0;
 }
 
@@ -322,12 +335,21 @@ static int atmel_pio4_probe(struct udevice *dev)
  */
 static const struct atmel_pioctrl_data atmel_sama5d2_pioctrl_data = {
 	.nbanks	= 4,
+	.last_bank_count = ATMEL_PIO_NPINS_PER_BANK,
+};
+
+static const struct atmel_pioctrl_data microchip_sama7g5_pioctrl_data = {
+	.nbanks	= 5,
+	.last_bank_count = 8, /* 5th bank has only 8 lines on sama7g5 */
 };
 
 static const struct udevice_id atmel_pio4_ids[] = {
 	{
 		.compatible = "atmel,sama5d2-gpio",
 		.data = (ulong)&atmel_sama5d2_pioctrl_data,
+	}, {
+		.compatible = "microchip,sama7g5-gpio",
+		.data = (ulong)&microchip_sama7g5_pioctrl_data,
 	},
 	{}
 };
-- 
2.25.1

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

* [PATCH 2/2] ARM: dts: at91: sama7g5: change pinctrl compatible to sama7g5
  2021-04-07  8:39 [PATCH 1/2] gpio: atmel_pio4: add support for sama7g5 pio4 version with 5 banks Eugen Hristev
@ 2021-04-07  8:39 ` Eugen Hristev
  2021-04-19  7:41 ` [PATCH 1/2] gpio: atmel_pio4: add support for sama7g5 pio4 version with 5 banks Eugen.Hristev at microchip.com
  1 sibling, 0 replies; 3+ messages in thread
From: Eugen Hristev @ 2021-04-07  8:39 UTC (permalink / raw)
  To: u-boot

Change the pinctrl compatible to sama7g5, the right one for this product.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
---
 arch/arm/dts/sama7g5.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/dts/sama7g5.dtsi b/arch/arm/dts/sama7g5.dtsi
index 0cb6eaf5d0..b951aff43e 100644
--- a/arch/arm/dts/sama7g5.dtsi
+++ b/arch/arm/dts/sama7g5.dtsi
@@ -63,7 +63,7 @@
 			#size-cells = <1>;
 
 			pioA: pinctrl at e0014000 {
-				compatible = "atmel,sama5d2-gpio";
+				compatible = "microchip,sama7g5-gpio";
 				reg = <0xe0014000 0x800>;
 				gpio-controller;
 				#gpio-cells = <2>;
-- 
2.25.1

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

* [PATCH 1/2] gpio: atmel_pio4: add support for sama7g5 pio4 version with 5 banks
  2021-04-07  8:39 [PATCH 1/2] gpio: atmel_pio4: add support for sama7g5 pio4 version with 5 banks Eugen Hristev
  2021-04-07  8:39 ` [PATCH 2/2] ARM: dts: at91: sama7g5: change pinctrl compatible to sama7g5 Eugen Hristev
@ 2021-04-19  7:41 ` Eugen.Hristev at microchip.com
  1 sibling, 0 replies; 3+ messages in thread
From: Eugen.Hristev at microchip.com @ 2021-04-19  7:41 UTC (permalink / raw)
  To: u-boot

On 4/7/21 11:39 AM, Eugen Hristev wrote:
> Add support for sama7g5 pinctrl variant, with 5 banks with a degraded
> 8 line only 5th bank.
> Based on Linux Kernel implementation.
> 
> Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
> ---
>   drivers/gpio/atmel_pio4.c | 22 ++++++++++++++++++++++
>   1 file changed, 22 insertions(+)
> 

Applied both to u-boot-atmel/master

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

end of thread, other threads:[~2021-04-19  7:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-07  8:39 [PATCH 1/2] gpio: atmel_pio4: add support for sama7g5 pio4 version with 5 banks Eugen Hristev
2021-04-07  8:39 ` [PATCH 2/2] ARM: dts: at91: sama7g5: change pinctrl compatible to sama7g5 Eugen Hristev
2021-04-19  7:41 ` [PATCH 1/2] gpio: atmel_pio4: add support for sama7g5 pio4 version with 5 banks Eugen.Hristev at microchip.com

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.