Lines Matching refs:state

35 static int mxl111sf_set_gpo_state(struct mxl111sf_state *state, u8 pin, u8 val)  in mxl111sf_set_gpo_state()  argument
43 ret = mxl111sf_read_reg(state, 0x19, &tmp); in mxl111sf_set_gpo_state()
48 ret = mxl111sf_write_reg(state, 0x19, tmp); in mxl111sf_set_gpo_state()
54 ret = mxl111sf_read_reg(state, 0x30, &tmp); in mxl111sf_set_gpo_state()
59 ret = mxl111sf_write_reg(state, 0x30, tmp); in mxl111sf_set_gpo_state()
68 static int mxl111sf_get_gpi_state(struct mxl111sf_state *state, u8 pin, u8 *val) in mxl111sf_get_gpi_state() argument
82 ret = mxl111sf_read_reg(state, 0x23, &tmp); in mxl111sf_get_gpi_state()
91 ret = mxl111sf_read_reg(state, 0x2f, &tmp); in mxl111sf_get_gpi_state()
99 ret = mxl111sf_read_reg(state, 0x22, &tmp); in mxl111sf_get_gpi_state()
117 static int mxl111sf_config_gpio_pins(struct mxl111sf_state *state, in mxl111sf_config_gpio_pins() argument
130 ret = mxl111sf_read_reg(state, MXL_GPIO_MUX_REG_0, &tmp); in mxl111sf_config_gpio_pins()
135 ret = mxl111sf_write_reg(state, MXL_GPIO_MUX_REG_0, tmp); in mxl111sf_config_gpio_pins()
143 ret = mxl111sf_read_reg(state, MXL_GPIO_MUX_REG_1, &tmp); in mxl111sf_config_gpio_pins()
148 ret = mxl111sf_write_reg(state, MXL_GPIO_MUX_REG_1, tmp); in mxl111sf_config_gpio_pins()
155 ret = mxl111sf_read_reg(state, MXL_GPIO_MUX_REG_2, &tmp); in mxl111sf_config_gpio_pins()
160 ret = mxl111sf_write_reg(state, MXL_GPIO_MUX_REG_2, tmp); in mxl111sf_config_gpio_pins()
169 mxl111sf_set_gpo_state(state, in mxl111sf_config_gpio_pins()
171 mxl111sf_get_gpi_state(state, in mxl111sf_config_gpio_pins()
178 static int mxl111sf_hw_do_set_gpio(struct mxl111sf_state *state, in mxl111sf_hw_do_set_gpio() argument
189 return mxl111sf_config_gpio_pins(state, &gpio_config); in mxl111sf_hw_do_set_gpio()
214 int mxl111sf_config_pin_mux_modes(struct mxl111sf_state *state, in mxl111sf_config_pin_mux_modes() argument
222 ret = mxl111sf_read_reg(state, 0x17, &r17); in mxl111sf_config_pin_mux_modes()
225 ret = mxl111sf_read_reg(state, 0x18, &r18); in mxl111sf_config_pin_mux_modes()
228 ret = mxl111sf_read_reg(state, 0x12, &r12); in mxl111sf_config_pin_mux_modes()
231 ret = mxl111sf_read_reg(state, 0x15, &r15); in mxl111sf_config_pin_mux_modes()
234 ret = mxl111sf_read_reg(state, 0x82, &r82); in mxl111sf_config_pin_mux_modes()
237 ret = mxl111sf_read_reg(state, 0x84, &r84); in mxl111sf_config_pin_mux_modes()
240 ret = mxl111sf_read_reg(state, 0x89, &r89); in mxl111sf_config_pin_mux_modes()
243 ret = mxl111sf_read_reg(state, 0x3D, &r3D); in mxl111sf_config_pin_mux_modes()
531 ret = mxl111sf_write_reg(state, 0x17, r17); in mxl111sf_config_pin_mux_modes()
534 ret = mxl111sf_write_reg(state, 0x18, r18); in mxl111sf_config_pin_mux_modes()
537 ret = mxl111sf_write_reg(state, 0x12, r12); in mxl111sf_config_pin_mux_modes()
540 ret = mxl111sf_write_reg(state, 0x15, r15); in mxl111sf_config_pin_mux_modes()
543 ret = mxl111sf_write_reg(state, 0x82, r82); in mxl111sf_config_pin_mux_modes()
546 ret = mxl111sf_write_reg(state, 0x84, r84); in mxl111sf_config_pin_mux_modes()
549 ret = mxl111sf_write_reg(state, 0x89, r89); in mxl111sf_config_pin_mux_modes()
552 ret = mxl111sf_write_reg(state, 0x3D, r3D); in mxl111sf_config_pin_mux_modes()
561 static int mxl111sf_hw_set_gpio(struct mxl111sf_state *state, int gpio, int val) in mxl111sf_hw_set_gpio() argument
563 return mxl111sf_hw_do_set_gpio(state, gpio, MXL_GPIO_DIR_OUTPUT, val); in mxl111sf_hw_set_gpio()
566 static int mxl111sf_hw_gpio_initialize(struct mxl111sf_state *state) in mxl111sf_hw_gpio_initialize() argument
574 ret = mxl111sf_hw_set_gpio(state, i, (gpioval >> i) & 0x01); in mxl111sf_hw_gpio_initialize()
583 static int pca9534_set_gpio(struct mxl111sf_state *state, int gpio, int val) in pca9534_set_gpio() argument
597 i2c_transfer(&state->d->i2c_adap, msg, 2); in pca9534_set_gpio()
613 i2c_transfer(&state->d->i2c_adap, &msg[0], 1); in pca9534_set_gpio()
618 static int pca9534_init_port_expander(struct mxl111sf_state *state) in pca9534_init_port_expander() argument
629 i2c_transfer(&state->d->i2c_adap, &msg, 1); in pca9534_init_port_expander()
635 i2c_transfer(&state->d->i2c_adap, &msg, 1); in pca9534_init_port_expander()
640 int mxl111sf_set_gpio(struct mxl111sf_state *state, int gpio, int val) in mxl111sf_set_gpio() argument
644 switch (state->gpio_port_expander) { in mxl111sf_set_gpio()
650 return pca9534_set_gpio(state, gpio, val); in mxl111sf_set_gpio()
652 return mxl111sf_hw_set_gpio(state, gpio, val); in mxl111sf_set_gpio()
656 static int mxl111sf_probe_port_expander(struct mxl111sf_state *state) in mxl111sf_probe_port_expander() argument
672 ret = i2c_transfer(&state->d->i2c_adap, msg, 2); in mxl111sf_probe_port_expander()
674 state->port_expander_addr = msg[0].addr; in mxl111sf_probe_port_expander()
675 state->gpio_port_expander = mxl111sf_PCA9534; in mxl111sf_probe_port_expander()
677 state->port_expander_addr); in mxl111sf_probe_port_expander()
684 ret = i2c_transfer(&state->d->i2c_adap, msg, 2); in mxl111sf_probe_port_expander()
686 state->port_expander_addr = msg[0].addr; in mxl111sf_probe_port_expander()
687 state->gpio_port_expander = mxl111sf_PCA9534; in mxl111sf_probe_port_expander()
689 state->port_expander_addr); in mxl111sf_probe_port_expander()
692 state->port_expander_addr = 0xff; in mxl111sf_probe_port_expander()
693 state->gpio_port_expander = mxl111sf_gpio_hw; in mxl111sf_probe_port_expander()
698 int mxl111sf_init_port_expander(struct mxl111sf_state *state) in mxl111sf_init_port_expander() argument
702 if (0x00 == state->port_expander_addr) in mxl111sf_init_port_expander()
703 mxl111sf_probe_port_expander(state); in mxl111sf_init_port_expander()
705 switch (state->gpio_port_expander) { in mxl111sf_init_port_expander()
711 return pca9534_init_port_expander(state); in mxl111sf_init_port_expander()
713 return mxl111sf_hw_gpio_initialize(state); in mxl111sf_init_port_expander()
719 int mxl111sf_gpio_mode_switch(struct mxl111sf_state *state, unsigned int mode) in mxl111sf_gpio_mode_switch() argument
732 mxl111sf_set_gpio(state, 4, 0); in mxl111sf_gpio_mode_switch()
733 mxl111sf_set_gpio(state, 5, 0); in mxl111sf_gpio_mode_switch()
735 mxl111sf_set_gpio(state, 7, 1); in mxl111sf_gpio_mode_switch()
737 mxl111sf_set_gpio(state, 6, 1); in mxl111sf_gpio_mode_switch()
740 mxl111sf_set_gpio(state, 3, 0); in mxl111sf_gpio_mode_switch()
743 mxl111sf_set_gpio(state, 6, 0); in mxl111sf_gpio_mode_switch()
744 mxl111sf_set_gpio(state, 7, 0); in mxl111sf_gpio_mode_switch()
746 mxl111sf_set_gpio(state, 5, 1); in mxl111sf_gpio_mode_switch()
748 mxl111sf_set_gpio(state, 4, 1); in mxl111sf_gpio_mode_switch()
750 mxl111sf_set_gpio(state, 3, 1); in mxl111sf_gpio_mode_switch()
753 mxl111sf_init_port_expander(state); in mxl111sf_gpio_mode_switch()