Lines Matching refs:stmpe
30 struct stmpe *stmpe; member
47 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_get() local
48 u8 reg = stmpe->regs[STMPE_IDX_GPMR_LSB] - (offset / 8); in stmpe_gpio_get()
52 ret = stmpe_reg_read(stmpe, reg); in stmpe_gpio_get()
62 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_set() local
64 u8 reg = stmpe->regs[which] - (offset / 8); in stmpe_gpio_set()
71 if (stmpe->regs[STMPE_IDX_GPSR_LSB] == stmpe->regs[STMPE_IDX_GPCR_LSB]) in stmpe_gpio_set()
72 stmpe_set_bits(stmpe, reg, mask, val ? mask : 0); in stmpe_gpio_set()
74 stmpe_reg_write(stmpe, reg, mask); in stmpe_gpio_set()
81 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_direction_output() local
82 u8 reg = stmpe->regs[STMPE_IDX_GPDR_LSB] - (offset / 8); in stmpe_gpio_direction_output()
87 return stmpe_set_bits(stmpe, reg, mask, mask); in stmpe_gpio_direction_output()
94 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_direction_input() local
95 u8 reg = stmpe->regs[STMPE_IDX_GPDR_LSB] - (offset / 8); in stmpe_gpio_direction_input()
98 return stmpe_set_bits(stmpe, reg, mask, 0); in stmpe_gpio_direction_input()
104 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_request() local
109 return stmpe_set_altfunc(stmpe, 1 << offset, STMPE_BLOCK_GPIO); in stmpe_gpio_request()
135 if (stmpe_gpio->stmpe->partnum == STMPE801) in stmpe_gpio_irq_set_type()
163 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_irq_sync_unlock() local
164 int num_banks = DIV_ROUND_UP(stmpe->num_gpios, 8); in stmpe_gpio_irq_sync_unlock()
174 if ((stmpe->partnum == STMPE801) && in stmpe_gpio_irq_sync_unlock()
186 stmpe_reg_write(stmpe, stmpe->regs[regmap[i]] - j, new); in stmpe_gpio_irq_sync_unlock()
220 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_dbg_show_one() local
222 int num_banks = DIV_ROUND_UP(stmpe->num_gpios, 8); in stmpe_dbg_show_one()
224 u8 dir_reg = stmpe->regs[STMPE_IDX_GPDR_LSB] - (offset / 8); in stmpe_dbg_show_one()
229 ret = stmpe_reg_read(stmpe, dir_reg); in stmpe_dbg_show_one()
239 u8 edge_det_reg = stmpe->regs[STMPE_IDX_GPEDR_MSB] + num_banks - 1 - (offset / 8); in stmpe_dbg_show_one()
240 u8 rise_reg = stmpe->regs[STMPE_IDX_GPRER_LSB] - (offset / 8); in stmpe_dbg_show_one()
241 u8 fall_reg = stmpe->regs[STMPE_IDX_GPFER_LSB] - (offset / 8); in stmpe_dbg_show_one()
242 u8 irqen_reg = stmpe->regs[STMPE_IDX_IEGPIOR_LSB] - (offset / 8); in stmpe_dbg_show_one()
248 ret = stmpe_reg_read(stmpe, edge_det_reg); in stmpe_dbg_show_one()
252 ret = stmpe_reg_read(stmpe, rise_reg); in stmpe_dbg_show_one()
256 ret = stmpe_reg_read(stmpe, fall_reg); in stmpe_dbg_show_one()
260 ret = stmpe_reg_read(stmpe, irqen_reg); in stmpe_dbg_show_one()
298 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_irq() local
299 u8 statmsbreg = stmpe->regs[STMPE_IDX_ISGPIOR_MSB]; in stmpe_gpio_irq()
300 int num_banks = DIV_ROUND_UP(stmpe->num_gpios, 8); in stmpe_gpio_irq()
305 ret = stmpe_block_read(stmpe, statmsbreg, num_banks, status); in stmpe_gpio_irq()
328 stmpe_reg_write(stmpe, statmsbreg + i, status[i]); in stmpe_gpio_irq()
331 if (stmpe->partnum != STMPE801) in stmpe_gpio_irq()
332 stmpe_reg_write(stmpe, stmpe->regs[STMPE_IDX_GPEDR_MSB] in stmpe_gpio_irq()
341 struct stmpe *stmpe = dev_get_drvdata(pdev->dev.parent); in stmpe_gpio_probe() local
356 stmpe_gpio->stmpe = stmpe; in stmpe_gpio_probe()
358 stmpe_gpio->chip.ngpio = stmpe->num_gpios; in stmpe_gpio_probe()
374 ret = stmpe_enable(stmpe, STMPE_BLOCK_GPIO); in stmpe_gpio_probe()
414 stmpe_disable(stmpe, STMPE_BLOCK_GPIO); in stmpe_gpio_probe()
424 struct stmpe *stmpe = stmpe_gpio->stmpe; in stmpe_gpio_remove() local
427 stmpe_disable(stmpe, STMPE_BLOCK_GPIO); in stmpe_gpio_remove()