gpio: zynq: Add gpio driver support for Versal
authorAshok Reddy Soma <ashok.reddy.soma@xilinx.com>
Mon, 16 Sep 2019 09:35:16 +0000 (03:35 -0600)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 24 Oct 2019 11:37:01 +0000 (13:37 +0200)
This patch adds support for gpio driver for versal platform

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/gpio/Kconfig
drivers/gpio/zynq_gpio.c

index 39f2c7e3283313ca428fea559af64348e859552b..c1ad5d64a35ca50a84979a679a9143573ed1f3b4 100644 (file)
@@ -301,7 +301,7 @@ config MVEBU_GPIO
 
 config ZYNQ_GPIO
        bool "Zynq GPIO driver"
-       depends on DM_GPIO && (ARCH_ZYNQ || ARCH_ZYNQMP)
+       depends on DM_GPIO && (ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL)
        default y
        help
          Supports GPIO access on Zynq SoC.
index a760c5bdda68d9e8bac3893babf06f9f07d63ad2..9febf34896b0f80b4248b2d4ebd8a110f6ab78de 100644 (file)
@@ -114,6 +114,19 @@ struct zynq_platform_data {
        u32 bank_max[ZYNQMP_GPIO_MAX_BANK];
 };
 
+#define VERSAL_GPIO_NR_GPIOS   58
+#define VERSAL_GPIO_MAX_BANK   4
+
+static const struct zynq_platform_data versal_gpio_def = {
+       .label = "versal_gpio",
+       .ngpio = VERSAL_GPIO_NR_GPIOS,
+       .max_bank = VERSAL_GPIO_MAX_BANK,
+       .bank_min[0] = 0,
+       .bank_max[0] = 25,
+       .bank_min[3] = 26,
+       .bank_max[3] = 57,
+};
+
 static const struct zynq_platform_data zynqmp_gpio_def = {
        .label = "zynqmp_gpio",
        .ngpio = ZYNQMP_GPIO_NR_GPIOS,
@@ -329,6 +342,8 @@ static const struct udevice_id zynq_gpio_ids[] = {
          .data = (ulong)&zynq_gpio_def},
        { .compatible = "xlnx,zynqmp-gpio-1.0",
          .data = (ulong)&zynqmp_gpio_def},
+       { .compatible = "xlnx,versal-gpio-1.0",
+         .data = (ulong)&versal_gpio_def},
        { }
 };