Lines Matching refs:gpio

90 	struct viafb_gpio *gpio;  in via_gpio_set()  local
94 gpio = cfg->active_gpios[nr]; in via_gpio_set()
95 reg = via_read_reg(VIASR, gpio->vg_port_index); in via_gpio_set()
96 reg |= 0x40 << gpio->vg_mask_shift; /* output enable */ in via_gpio_set()
98 reg |= 0x10 << gpio->vg_mask_shift; in via_gpio_set()
100 reg &= ~(0x10 << gpio->vg_mask_shift); in via_gpio_set()
101 via_write_reg(VIASR, gpio->vg_port_index, reg); in via_gpio_set()
121 struct viafb_gpio *gpio; in via_gpio_dir_input() local
125 gpio = cfg->active_gpios[nr]; in via_gpio_dir_input()
126 via_write_reg_mask(VIASR, gpio->vg_port_index, 0, in via_gpio_dir_input()
127 0x40 << gpio->vg_mask_shift); in via_gpio_dir_input()
138 struct viafb_gpio *gpio; in via_gpio_get() local
142 gpio = cfg->active_gpios[nr]; in via_gpio_get()
143 reg = via_read_reg(VIASR, gpio->vg_port_index); in via_gpio_get()
145 return reg & (0x04 << gpio->vg_mask_shift); in via_gpio_get()
166 static void viafb_gpio_enable(struct viafb_gpio *gpio) in viafb_gpio_enable() argument
168 via_write_reg_mask(VIASR, gpio->vg_port_index, 0x02, 0x02); in viafb_gpio_enable()
171 static void viafb_gpio_disable(struct viafb_gpio *gpio) in viafb_gpio_disable() argument
173 via_write_reg_mask(VIASR, gpio->vg_port_index, 0, 0x02); in viafb_gpio_disable()
220 struct viafb_gpio *gpio; in viafb_gpio_probe() local
230 for (gpio = viafb_all_gpios; in viafb_gpio_probe()
231 gpio < viafb_all_gpios + VIAFB_NUM_GPIOS; gpio++) in viafb_gpio_probe()
232 if (gpio->vg_port_index == port_cfg[i].ioport_index) { in viafb_gpio_probe()
233 viafb_gpio_config.active_gpios[ngpio] = gpio; in viafb_gpio_probe()
235 gpio->vg_name; in viafb_gpio_probe()