Lines Matching defs:state
22 static int mxl111sf_set_gpo_state(struct mxl111sf_state *state, u8 pin, u8 val)
30 ret = mxl111sf_read_reg(state, 0x19, &tmp);
35 ret = mxl111sf_write_reg(state, 0x19, tmp);
41 ret = mxl111sf_read_reg(state, 0x30, &tmp);
46 ret = mxl111sf_write_reg(state, 0x30, tmp);
55 static int mxl111sf_get_gpi_state(struct mxl111sf_state *state, u8 pin, u8 *val)
69 ret = mxl111sf_read_reg(state, 0x23, &tmp);
78 ret = mxl111sf_read_reg(state, 0x2f, &tmp);
86 ret = mxl111sf_read_reg(state, 0x22, &tmp);
104 static int mxl111sf_config_gpio_pins(struct mxl111sf_state *state,
117 ret = mxl111sf_read_reg(state, MXL_GPIO_MUX_REG_0, &tmp);
122 ret = mxl111sf_write_reg(state, MXL_GPIO_MUX_REG_0, tmp);
130 ret = mxl111sf_read_reg(state, MXL_GPIO_MUX_REG_1, &tmp);
135 ret = mxl111sf_write_reg(state, MXL_GPIO_MUX_REG_1, tmp);
142 ret = mxl111sf_read_reg(state, MXL_GPIO_MUX_REG_2, &tmp);
147 ret = mxl111sf_write_reg(state, MXL_GPIO_MUX_REG_2, tmp);
156 mxl111sf_set_gpo_state(state,
158 mxl111sf_get_gpi_state(state,
165 static int mxl111sf_hw_do_set_gpio(struct mxl111sf_state *state,
176 return mxl111sf_config_gpio_pins(state, &gpio_config);
201 int mxl111sf_config_pin_mux_modes(struct mxl111sf_state *state,
209 ret = mxl111sf_read_reg(state, 0x17, &r17);
212 ret = mxl111sf_read_reg(state, 0x18, &r18);
215 ret = mxl111sf_read_reg(state, 0x12, &r12);
218 ret = mxl111sf_read_reg(state, 0x15, &r15);
221 ret = mxl111sf_read_reg(state, 0x82, &r82);
224 ret = mxl111sf_read_reg(state, 0x84, &r84);
227 ret = mxl111sf_read_reg(state, 0x89, &r89);
230 ret = mxl111sf_read_reg(state, 0x3D, &r3D);
518 ret = mxl111sf_write_reg(state, 0x17, r17);
521 ret = mxl111sf_write_reg(state, 0x18, r18);
524 ret = mxl111sf_write_reg(state, 0x12, r12);
527 ret = mxl111sf_write_reg(state, 0x15, r15);
530 ret = mxl111sf_write_reg(state, 0x82, r82);
533 ret = mxl111sf_write_reg(state, 0x84, r84);
536 ret = mxl111sf_write_reg(state, 0x89, r89);
539 ret = mxl111sf_write_reg(state, 0x3D, r3D);
548 static int mxl111sf_hw_set_gpio(struct mxl111sf_state *state, int gpio, int val)
550 return mxl111sf_hw_do_set_gpio(state, gpio, MXL_GPIO_DIR_OUTPUT, val);
553 static int mxl111sf_hw_gpio_initialize(struct mxl111sf_state *state)
561 ret = mxl111sf_hw_set_gpio(state, i, (gpioval >> i) & 0x01);
570 static int pca9534_set_gpio(struct mxl111sf_state *state, int gpio, int val)
584 i2c_transfer(&state->d->i2c_adap, msg, 2);
600 i2c_transfer(&state->d->i2c_adap, &msg[0], 1);
605 static int pca9534_init_port_expander(struct mxl111sf_state *state)
616 i2c_transfer(&state->d->i2c_adap, &msg, 1);
622 i2c_transfer(&state->d->i2c_adap, &msg, 1);
627 int mxl111sf_set_gpio(struct mxl111sf_state *state, int gpio, int val)
631 switch (state->gpio_port_expander) {
637 return pca9534_set_gpio(state, gpio, val);
639 return mxl111sf_hw_set_gpio(state, gpio, val);
643 static int mxl111sf_probe_port_expander(struct mxl111sf_state *state)
659 ret = i2c_transfer(&state->d->i2c_adap, msg, 2);
661 state->port_expander_addr = msg[0].addr;
662 state->gpio_port_expander = mxl111sf_PCA9534;
664 state->port_expander_addr);
671 ret = i2c_transfer(&state->d->i2c_adap, msg, 2);
673 state->port_expander_addr = msg[0].addr;
674 state->gpio_port_expander = mxl111sf_PCA9534;
676 state->port_expander_addr);
679 state->port_expander_addr = 0xff;
680 state->gpio_port_expander = mxl111sf_gpio_hw;
685 int mxl111sf_init_port_expander(struct mxl111sf_state *state)
689 if (0x00 == state->port_expander_addr)
690 mxl111sf_probe_port_expander(state);
692 switch (state->gpio_port_expander) {
698 return pca9534_init_port_expander(state);
700 return mxl111sf_hw_gpio_initialize(state);
706 int mxl111sf_gpio_mode_switch(struct mxl111sf_state *state, unsigned int mode)
719 mxl111sf_set_gpio(state, 4, 0);
720 mxl111sf_set_gpio(state, 5, 0);
722 mxl111sf_set_gpio(state, 7, 1);
724 mxl111sf_set_gpio(state, 6, 1);
727 mxl111sf_set_gpio(state, 3, 0);
730 mxl111sf_set_gpio(state, 6, 0);
731 mxl111sf_set_gpio(state, 7, 0);
733 mxl111sf_set_gpio(state, 5, 1);
735 mxl111sf_set_gpio(state, 4, 1);
737 mxl111sf_set_gpio(state, 3, 1);
740 mxl111sf_init_port_expander(state);