summaryrefslogtreecommitdiff
path: root/src/soc/mediatek/mt8195
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/mediatek/mt8195')
-rw-r--r--src/soc/mediatek/mt8195/Makefile.inc2
-rw-r--r--src/soc/mediatek/mt8195/gpio.c60
2 files changed, 2 insertions, 60 deletions
diff --git a/src/soc/mediatek/mt8195/Makefile.inc b/src/soc/mediatek/mt8195/Makefile.inc
index b0d259e3a1..b8c36d1625 100644
--- a/src/soc/mediatek/mt8195/Makefile.inc
+++ b/src/soc/mediatek/mt8195/Makefile.inc
@@ -2,7 +2,7 @@ ifeq ($(CONFIG_SOC_MEDIATEK_MT8195),y)
# for bootblock, verstage, romstage, ramstage
all-y += ../common/flash_controller.c
-all-y += ../common/gpio.c gpio.c
+all-y += ../common/gpio.c ../common/gpio_op.c gpio.c
all-y += ../common/i2c.c i2c.c
all-$(CONFIG_SPI_FLASH) += ../common/spi.c spi.c
all-y += ../common/timer.c ../common/timer_prepare.c
diff --git a/src/soc/mediatek/mt8195/gpio.c b/src/soc/mediatek/mt8195/gpio.c
index 9c741f824a..f344c09dc2 100644
--- a/src/soc/mediatek/mt8195/gpio.c
+++ b/src/soc/mediatek/mt8195/gpio.c
@@ -3,7 +3,7 @@
#include <device/mmio.h>
#include <gpio.h>
-static void *gpio_find_reg_addr(gpio_t gpio)
+void *gpio_find_reg_addr(gpio_t gpio)
{
void *reg_addr;
switch (gpio.base & 0x0f) {
@@ -32,61 +32,3 @@ static void *gpio_find_reg_addr(gpio_t gpio)
return reg_addr;
}
-
-static void gpio_set_spec_pull_pupd(gpio_t gpio, enum pull_enable enable,
- enum pull_select select)
-{
- void *reg1;
- void *reg2;
- int bit = gpio.bit;
-
- reg1 = gpio_find_reg_addr(gpio) + gpio.offset;
- reg2 = reg1 + (gpio.base & 0xf0);
-
- if (enable == GPIO_PULL_ENABLE) {
- if (select == GPIO_PULL_DOWN)
- setbits32(reg1, 1 << bit);
- else
- clrbits32(reg1, 1 << bit);
- }
-
- if (enable == GPIO_PULL_ENABLE) {
- setbits32(reg2, 1 << bit);
- } else {
- clrbits32(reg2, 1 << bit);
- clrbits32(reg2 + 0x010, 1 << bit);
- }
-}
-
-static void gpio_set_pull_pu_pd(gpio_t gpio, enum pull_enable enable,
- enum pull_select select)
-{
- void *reg1;
- void *reg2;
- int bit = gpio.bit;
-
- reg1 = gpio_find_reg_addr(gpio) + gpio.offset;
- reg2 = reg1 - (gpio.base & 0xf0);
-
- if (enable == GPIO_PULL_ENABLE) {
- if (select == GPIO_PULL_DOWN) {
- clrbits32(reg1, 1 << bit);
- setbits32(reg2, 1 << bit);
- } else {
- clrbits32(reg2, 1 << bit);
- setbits32(reg1, 1 << bit);
- }
- } else {
- clrbits32(reg1, 1 << bit);
- clrbits32(reg2, 1 << bit);
- }
-}
-
-void gpio_set_pull(gpio_t gpio, enum pull_enable enable,
- enum pull_select select)
-{
- if (gpio.flag)
- gpio_set_spec_pull_pupd(gpio, enable, select);
- else
- gpio_set_pull_pu_pd(gpio, enable, select);
-}