gpio: rockchip: add support for rk3588
authorJianqun Xu <jay.xu@rock-chips.com>
Thu, 23 Jun 2022 16:08:01 +0000 (18:08 +0200)
committerBartosz Golaszewski <brgl@bgdev.pl>
Tue, 19 Jul 2022 07:57:13 +0000 (09:57 +0200)
Add V2.1 rockchip gpio controller type, which is part of the
RK3588 SoC.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
drivers/gpio/gpio-rockchip.c

index e342a6d..f91e876 100644 (file)
@@ -27,6 +27,7 @@
 
 #define GPIO_TYPE_V1           (0)           /* GPIO Version ID reserved */
 #define GPIO_TYPE_V2           (0x01000C2B)  /* GPIO Version ID 0x01000C2B */
+#define GPIO_TYPE_V2_1         (0x0101157C)  /* GPIO Version ID 0x0101157C */
 
 static const struct rockchip_gpio_regs gpio_regs_v1 = {
        .port_dr = 0x00,
@@ -664,7 +665,7 @@ static int rockchip_get_bank_data(struct rockchip_pin_bank *bank)
        id = readl(bank->reg_base + gpio_regs_v2.version_id);
 
        /* If not gpio v2, that is default to v1. */
-       if (id == GPIO_TYPE_V2) {
+       if (id == GPIO_TYPE_V2 || id == GPIO_TYPE_V2_1) {
                bank->gpio_regs = &gpio_regs_v2;
                bank->gpio_type = GPIO_TYPE_V2;
                bank->db_clk = of_clk_get(bank->of_node, 1);