static int mtk_gpio_get(struct gpio_chip *chip, unsigned offset) { int status = mt_get_gpio_dir_base(offset); if (status == 0) return mt_get_gpio_in_base(offset); else if (status == 1) return mt_get_gpio_out_base(offset); return 1; }
/*----------------------------------------------------------------------------*/ void gpio_dump_regs(void) { int idx = 0; GPIOMSG("PIN: [MODE] [PULL_SEL] [DIN] [DOUT] [PULL EN] [DIR] [IES]\n"); for (idx = MT_GPIO_BASE_START; idx < MT_GPIO_BASE_MAX; idx++) { printk("idx = %3d: %d %d %d %d %d %d %d\n", idx,mt_get_gpio_mode_base(idx), mt_get_gpio_pull_select_base(idx), mt_get_gpio_in_base(idx),mt_get_gpio_out_base(idx), mt_get_gpio_pull_enable_base(idx),mt_get_gpio_dir_base(idx),mt_get_gpio_ies_base(idx)); } }
/*----------------------------------------------------------------------------*/ void gpio_dump_regs(void) { int idx = 0; /*GPIOMSG("PIN: [MODE] [PULL_SEL] [DIN] [DOUT] [PULL EN] [DIR] [INV] [IES]\n");*/ GPIOMSG("PIN: [MODE] [PULL_SEL] [DIN] [DOUT] [PULL EN] [DIR] [IES]\n"); //for (idx = 0; idx < MT_GPIO_MAX_PIN; idx++) { // printk("idx = %3d: %d %d %d %d %d %d %d %d\n", // idx,mt_get_gpio_mode(idx), mt_get_gpio_pull_select(idx), mt_get_gpio_in(idx),mt_get_gpio_out(idx), // mt_get_gpio_pull_enable(idx),mt_get_gpio_dir(idx),mt_get_gpio_inversion(idx),mt_get_gpio_ies(idx)); //} for (idx = MT_GPIO_BASE_START; idx < MT_GPIO_BASE_MAX; idx++) { printk("idx = %3d: %d %d %d %d %d %d %d\n", idx,mt_get_gpio_mode_base(idx), mt_get_gpio_pull_select_base(idx), mt_get_gpio_in_base(idx),mt_get_gpio_out_base(idx), mt_get_gpio_pull_enable_base(idx),mt_get_gpio_dir_base(idx),mt_get_gpio_ies_base(idx)); } /*for (idx = MT_GPIO_EXT_START; idx < MT_GPIO_EXT_MAX; idx++) { printk("idx = %3d: %d %d %d %d %d %d %d %d\n", idx,mt_get_gpio_mode_ext(idx), mt_get_gpio_pull_select_ext(idx), mt_get_gpio_in_ext(idx),mt_get_gpio_out_ext(idx), mt_get_gpio_pull_enable_ext(idx),mt_get_gpio_dir_ext(idx),mt_get_gpio_inversion_ext(idx),mt_get_gpio_ies_ext(idx)); }*/ }