Lines Matching refs:pin

133 			    struct pm8xxx_pin_data *pin, int bank)  in pm8xxx_read_bank()  argument
138 ret = regmap_write(pctrl->regmap, pin->reg, val); in pm8xxx_read_bank()
144 ret = regmap_read(pctrl->regmap, pin->reg, &val); in pm8xxx_read_bank()
154 struct pm8xxx_pin_data *pin, in pm8xxx_write_bank() argument
163 ret = regmap_write(pctrl->regmap, pin->reg, val); in pm8xxx_write_bank()
233 struct pm8xxx_pin_data *pin = pctrl->desc.pins[group].drv_data; in pm8xxx_pinmux_set_mux() local
236 pin->function = function; in pm8xxx_pinmux_set_mux()
237 val = pin->function << 1; in pm8xxx_pinmux_set_mux()
239 pm8xxx_write_bank(pctrl, pin, 4, val); in pm8xxx_pinmux_set_mux()
256 struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; in pm8xxx_pin_config_get() local
262 arg = pin->bias == PM8XXX_GPIO_BIAS_NP; in pm8xxx_pin_config_get()
265 arg = pin->bias == PM8XXX_GPIO_BIAS_PD; in pm8xxx_pin_config_get()
268 arg = pin->bias <= PM8XXX_GPIO_BIAS_PU_1P5_30; in pm8xxx_pin_config_get()
271 arg = pin->pull_up_strength; in pm8xxx_pin_config_get()
274 arg = pin->disable; in pm8xxx_pin_config_get()
277 arg = pin->mode == PM8XXX_GPIO_MODE_INPUT; in pm8xxx_pin_config_get()
280 if (pin->mode & PM8XXX_GPIO_MODE_OUTPUT) in pm8xxx_pin_config_get()
281 arg = pin->output_value; in pm8xxx_pin_config_get()
286 arg = pin->power_source; in pm8xxx_pin_config_get()
289 arg = pin->output_strength; in pm8xxx_pin_config_get()
292 arg = !pin->open_drain; in pm8xxx_pin_config_get()
295 arg = pin->open_drain; in pm8xxx_pin_config_get()
312 struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; in pm8xxx_pin_config_set() local
325 pin->bias = PM8XXX_GPIO_BIAS_NP; in pm8xxx_pin_config_set()
327 pin->disable = 0; in pm8xxx_pin_config_set()
331 pin->bias = PM8XXX_GPIO_BIAS_PD; in pm8xxx_pin_config_set()
333 pin->disable = 0; in pm8xxx_pin_config_set()
341 pin->pull_up_strength = arg; in pm8xxx_pin_config_set()
344 pin->bias = pin->pull_up_strength; in pm8xxx_pin_config_set()
346 pin->disable = 0; in pm8xxx_pin_config_set()
350 pin->disable = 1; in pm8xxx_pin_config_set()
354 pin->mode = PM8XXX_GPIO_MODE_INPUT; in pm8xxx_pin_config_set()
358 pin->mode = PM8XXX_GPIO_MODE_OUTPUT; in pm8xxx_pin_config_set()
359 pin->output_value = !!arg; in pm8xxx_pin_config_set()
363 pin->power_source = arg; in pm8xxx_pin_config_set()
371 pin->output_strength = arg; in pm8xxx_pin_config_set()
375 pin->open_drain = 0; in pm8xxx_pin_config_set()
379 pin->open_drain = 1; in pm8xxx_pin_config_set()
391 val = pin->power_source << 1; in pm8xxx_pin_config_set()
393 pm8xxx_write_bank(pctrl, pin, 0, val); in pm8xxx_pin_config_set()
397 val = pin->mode << 2; in pm8xxx_pin_config_set()
398 val |= pin->open_drain << 1; in pm8xxx_pin_config_set()
399 val |= pin->output_value; in pm8xxx_pin_config_set()
400 pm8xxx_write_bank(pctrl, pin, 1, val); in pm8xxx_pin_config_set()
404 val = pin->bias << 1; in pm8xxx_pin_config_set()
405 pm8xxx_write_bank(pctrl, pin, 2, val); in pm8xxx_pin_config_set()
409 val = pin->output_strength << 2; in pm8xxx_pin_config_set()
410 val |= pin->disable; in pm8xxx_pin_config_set()
411 pm8xxx_write_bank(pctrl, pin, 3, val); in pm8xxx_pin_config_set()
415 val = pin->function << 1; in pm8xxx_pin_config_set()
416 pm8xxx_write_bank(pctrl, pin, 4, val); in pm8xxx_pin_config_set()
421 if (!pin->inverted) in pm8xxx_pin_config_set()
423 pm8xxx_write_bank(pctrl, pin, 5, val); in pm8xxx_pin_config_set()
447 struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; in pm8xxx_gpio_direction_input() local
450 pin->mode = PM8XXX_GPIO_MODE_INPUT; in pm8xxx_gpio_direction_input()
451 val = pin->mode << 2; in pm8xxx_gpio_direction_input()
453 pm8xxx_write_bank(pctrl, pin, 1, val); in pm8xxx_gpio_direction_input()
463 struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; in pm8xxx_gpio_direction_output() local
466 pin->mode = PM8XXX_GPIO_MODE_OUTPUT; in pm8xxx_gpio_direction_output()
467 pin->output_value = !!value; in pm8xxx_gpio_direction_output()
469 val = pin->mode << 2; in pm8xxx_gpio_direction_output()
470 val |= pin->open_drain << 1; in pm8xxx_gpio_direction_output()
471 val |= pin->output_value; in pm8xxx_gpio_direction_output()
473 pm8xxx_write_bank(pctrl, pin, 1, val); in pm8xxx_gpio_direction_output()
481 struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; in pm8xxx_gpio_get() local
485 if (pin->mode == PM8XXX_GPIO_MODE_OUTPUT) { in pm8xxx_gpio_get()
486 ret = pin->output_value; in pm8xxx_gpio_get()
488 ret = irq_get_irqchip_state(pin->irq, IRQCHIP_STATE_LINE_LEVEL, &state); in pm8xxx_gpio_get()
499 struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; in pm8xxx_gpio_set() local
502 pin->output_value = !!value; in pm8xxx_gpio_set()
504 val = pin->mode << 2; in pm8xxx_gpio_set()
505 val |= pin->open_drain << 1; in pm8xxx_gpio_set()
506 val |= pin->output_value; in pm8xxx_gpio_set()
508 pm8xxx_write_bank(pctrl, pin, 1, val); in pm8xxx_gpio_set()
528 struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; in pm8xxx_gpio_to_irq() local
530 return pin->irq; in pm8xxx_gpio_to_irq()
543 struct pm8xxx_pin_data *pin = pctrl->desc.pins[offset].drv_data; in pm8xxx_gpio_dbg_show_one() local
560 if (pin->disable) { in pm8xxx_gpio_dbg_show_one()
563 seq_printf(s, " %-4s", modes[pin->mode]); in pm8xxx_gpio_dbg_show_one()
564 seq_printf(s, " %-7s", pm8xxx_gpio_functions[pin->function]); in pm8xxx_gpio_dbg_show_one()
565 seq_printf(s, " VIN%d", pin->power_source); in pm8xxx_gpio_dbg_show_one()
566 seq_printf(s, " %-27s", biases[pin->bias]); in pm8xxx_gpio_dbg_show_one()
567 seq_printf(s, " %-10s", buffer_types[pin->open_drain]); in pm8xxx_gpio_dbg_show_one()
568 seq_printf(s, " %-4s", pin->output_value ? "high" : "low"); in pm8xxx_gpio_dbg_show_one()
569 seq_printf(s, " %-7s", strengths[pin->output_strength]); in pm8xxx_gpio_dbg_show_one()
570 if (pin->inverted) in pm8xxx_gpio_dbg_show_one()
602 struct pm8xxx_pin_data *pin) in pm8xxx_pin_populate() argument
606 val = pm8xxx_read_bank(pctrl, pin, 0); in pm8xxx_pin_populate()
610 pin->power_source = (val >> 1) & 0x7; in pm8xxx_pin_populate()
612 val = pm8xxx_read_bank(pctrl, pin, 1); in pm8xxx_pin_populate()
616 pin->mode = (val >> 2) & 0x3; in pm8xxx_pin_populate()
617 pin->open_drain = !!(val & BIT(1)); in pm8xxx_pin_populate()
618 pin->output_value = val & BIT(0); in pm8xxx_pin_populate()
620 val = pm8xxx_read_bank(pctrl, pin, 2); in pm8xxx_pin_populate()
624 pin->bias = (val >> 1) & 0x7; in pm8xxx_pin_populate()
625 if (pin->bias <= PM8XXX_GPIO_BIAS_PU_1P5_30) in pm8xxx_pin_populate()
626 pin->pull_up_strength = pin->bias; in pm8xxx_pin_populate()
628 pin->pull_up_strength = PM8XXX_GPIO_BIAS_PU_30; in pm8xxx_pin_populate()
630 val = pm8xxx_read_bank(pctrl, pin, 3); in pm8xxx_pin_populate()
634 pin->output_strength = (val >> 2) & 0x3; in pm8xxx_pin_populate()
635 pin->disable = val & BIT(0); in pm8xxx_pin_populate()
637 val = pm8xxx_read_bank(pctrl, pin, 4); in pm8xxx_pin_populate()
641 pin->function = (val >> 1) & 0x7; in pm8xxx_pin_populate()
643 val = pm8xxx_read_bank(pctrl, pin, 5); in pm8xxx_pin_populate()
647 pin->inverted = !(val & BIT(3)); in pm8xxx_pin_populate()