Commit 41209307 authored by Ye Zhang's avatar Ye Zhang Committed by Bartosz Golaszewski
Browse files

gpio: rockchip: change the GPIO version judgment logic

parent 591ae6be
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -667,8 +667,9 @@ static int rockchip_get_bank_data(struct rockchip_pin_bank *bank)
	clk_prepare_enable(bank->clk);
	id = readl(bank->reg_base + gpio_regs_v2.version_id);

	/* If not gpio v2, that is default to v1. */
	if (id == GPIO_TYPE_V2 || id == GPIO_TYPE_V2_1) {
	switch (id) {
	case GPIO_TYPE_V2:
	case 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);
@@ -677,9 +678,14 @@ static int rockchip_get_bank_data(struct rockchip_pin_bank *bank)
			clk_disable_unprepare(bank->clk);
			return -EINVAL;
		}
	} else {
		break;
	case GPIO_TYPE_V1:
		bank->gpio_regs = &gpio_regs_v1;
		bank->gpio_type = GPIO_TYPE_V1;
		break;
	default:
		dev_err(bank->dev, "unsupported version ID: 0x%08x\n", id);
		return -ENODEV;
	}

	return 0;