feat(mt8196): fix MT8196 gpio driver
- Add GPIO_BASE in mtgpio.c
- Modify gpio register address
Change-Id: I648473fa373d208fa29c7069637974e097b75b26
diff --git a/plat/mediatek/mt8196/drivers/gpio/mtgpio.c b/plat/mediatek/mt8196/drivers/gpio/mtgpio.c
index 6257159..a34f706 100644
--- a/plat/mediatek/mt8196/drivers/gpio/mtgpio.c
+++ b/plat/mediatek/mt8196/drivers/gpio/mtgpio.c
@@ -23,7 +23,8 @@
REG_11,
REG_12,
REG_13,
- REG_14
+ REG_14,
+ REG_15
} RegEnum;
uintptr_t mt_gpio_find_reg_addr(uint32_t pin)
@@ -37,48 +38,51 @@
switch (gpio_info.base & 0xF) {
case REG_0:
- reg_addr = IOCFG_RT_BASE;
+ reg_addr = GPIO_BASE;
break;
case REG_1:
- reg_addr = IOCFG_RM1_BASE;
+ reg_addr = IOCFG_RT_BASE;
break;
case REG_2:
- reg_addr = IOCFG_RM2_BASE;
+ reg_addr = IOCFG_RM1_BASE;
break;
case REG_3:
- reg_addr = IOCFG_RB_BASE;
+ reg_addr = IOCFG_RM2_BASE;
break;
case REG_4:
- reg_addr = IOCFG_BM1_BASE;
+ reg_addr = IOCFG_RB_BASE;
break;
case REG_5:
- reg_addr = IOCFG_BM2_BASE;
+ reg_addr = IOCFG_BM1_BASE;
break;
case REG_6:
- reg_addr = IOCFG_BM3_BASE;
+ reg_addr = IOCFG_BM2_BASE;
break;
case REG_7:
- reg_addr = IOCFG_LT_BASE;
+ reg_addr = IOCFG_BM3_BASE;
break;
case REG_8:
- reg_addr = IOCFG_LM1_BASE;
+ reg_addr = IOCFG_LT_BASE;
break;
case REG_9:
- reg_addr = IOCFG_LM2_BASE;
+ reg_addr = IOCFG_LM1_BASE;
break;
case REG_10:
- reg_addr = IOCFG_LB1_BASE;
+ reg_addr = IOCFG_LM2_BASE;
break;
case REG_11:
- reg_addr = IOCFG_LB2_BASE;
+ reg_addr = IOCFG_LB1_BASE;
break;
case REG_12:
- reg_addr = IOCFG_TM1_BASE;
+ reg_addr = IOCFG_LB2_BASE;
break;
case REG_13:
- reg_addr = IOCFG_TM2_BASE;
+ reg_addr = IOCFG_TM1_BASE;
break;
case REG_14:
+ reg_addr = IOCFG_TM2_BASE;
+ break;
+ case REG_15:
reg_addr = IOCFG_TM3_BASE;
break;
default: