diff mbox series

[U-Boot,2/3] gpio: zynq: Add gpio driver support for PMC gpio

Message ID ca706db4a2682d3dde845b728d053437d70b4e47.1571043905.git.michal.simek@xilinx.com
State Accepted
Commit 98927daada2f0cdaadbb68144e7a4985dcc62926
Delegated to: Michal Simek
Headers show
Series gpio: zynq: Add support for Versal | expand

Commit Message

Michal Simek Oct. 14, 2019, 9:05 a.m. UTC
From: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>

This patch adds support for gpio driver for pmc gpio.

Signed-off-by: Shubhrajyoti Datta <shubhrajyoti.datta@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

 drivers/gpio/zynq_gpio.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
diff mbox series

Patch

diff --git a/drivers/gpio/zynq_gpio.c b/drivers/gpio/zynq_gpio.c
index 9febf34896b0..fe3b2c3b1aa8 100644
--- a/drivers/gpio/zynq_gpio.c
+++ b/drivers/gpio/zynq_gpio.c
@@ -93,6 +93,9 @@ 
 /* GPIO upper 16 bit mask */
 #define ZYNQ_GPIO_UPPER_MASK 0xFFFF0000
 
+#define PMC_GPIO_NR_GPIOS	116
+#define PMC_GPIO_MAX_BANK	5
+
 struct zynq_gpio_platdata {
 	phys_addr_t base;
 	const struct zynq_platform_data *p_data;
@@ -127,6 +130,20 @@  static const struct zynq_platform_data versal_gpio_def = {
 	.bank_max[3] = 57,
 };
 
+static const struct zynq_platform_data pmc_gpio_def = {
+	.label = "pmc_gpio",
+	.ngpio = PMC_GPIO_NR_GPIOS,
+	.max_bank = PMC_GPIO_MAX_BANK,
+	.bank_min[0] = 0,
+	.bank_max[0] = 25,
+	.bank_min[1] = 26,
+	.bank_max[1] = 51,
+	.bank_min[3] = 52,
+	.bank_max[3] = 83,
+	.bank_min[4] = 84,
+	.bank_max[4] = 115,
+};
+
 static const struct zynq_platform_data zynqmp_gpio_def = {
 	.label = "zynqmp_gpio",
 	.ngpio = ZYNQMP_GPIO_NR_GPIOS,
@@ -344,6 +361,8 @@  static const struct udevice_id zynq_gpio_ids[] = {
 	  .data = (ulong)&zynqmp_gpio_def},
 	{ .compatible = "xlnx,versal-gpio-1.0",
 	  .data = (ulong)&versal_gpio_def},
+	{ .compatible = "xlnx,pmc-gpio-1.0",
+	  .data = (ulong)&pmc_gpio_def },
 	{ }
 };