Lines Matching full:chip

30 	uint8_t chip;  member
41 static int pca953x_ngpio(uint8_t chip) in pca953x_ngpio() argument
46 if (pca953x_chip_ngpios[i].chip == chip) in pca953x_ngpio()
52 static int pca953x_ngpio(uint8_t chip) in pca953x_ngpio() argument
61 static int pca953x_reg_write(uint8_t chip, uint addr, uint mask, uint data) in pca953x_reg_write() argument
66 if (pca953x_ngpio(chip) <= 8) { in pca953x_reg_write()
67 if (i2c_read(chip, addr, 1, &valb, 1)) in pca953x_reg_write()
73 return i2c_write(chip, addr, 1, &valb, 1); in pca953x_reg_write()
75 if (i2c_read(chip, addr << 1, 1, (u8*)&valw, 2)) in pca953x_reg_write()
83 return i2c_write(chip, addr << 1, 1, (u8*)&valw, 2); in pca953x_reg_write()
87 static int pca953x_reg_read(uint8_t chip, uint addr, uint *data) in pca953x_reg_read() argument
92 if (pca953x_ngpio(chip) <= 8) { in pca953x_reg_read()
93 if (i2c_read(chip, addr, 1, &valb, 1)) in pca953x_reg_read()
97 if (i2c_read(chip, addr << 1, 1, (u8*)&valw, 2)) in pca953x_reg_read()
108 int pca953x_set_val(uint8_t chip, uint mask, uint data) in pca953x_set_val() argument
110 return pca953x_reg_write(chip, PCA953X_OUT, mask, data); in pca953x_set_val()
117 int pca953x_set_pol(uint8_t chip, uint mask, uint data) in pca953x_set_pol() argument
119 return pca953x_reg_write(chip, PCA953X_POL, mask, data); in pca953x_set_pol()
126 int pca953x_set_dir(uint8_t chip, uint mask, uint data) in pca953x_set_dir() argument
128 return pca953x_reg_write(chip, PCA953X_CONF, mask, data); in pca953x_set_dir()
134 int pca953x_get_val(uint8_t chip) in pca953x_get_val() argument
138 if (pca953x_reg_read(chip, PCA953X_IN, &val) < 0) in pca953x_get_val()
148 static int pca953x_info(uint8_t chip) in pca953x_info() argument
152 int nr_gpio = pca953x_ngpio(chip); in pca953x_info()
155 printf("pca953x@ 0x%x (%d pins):\n\n", chip, nr_gpio); in pca953x_info()
164 if (pca953x_reg_read(chip, PCA953X_CONF, &data) < 0) in pca953x_info()
171 if (pca953x_reg_read(chip, PCA953X_POL, &data) < 0) in pca953x_info()
178 if (pca953x_reg_read(chip, PCA953X_IN, &data) < 0) in pca953x_info()
185 if (pca953x_reg_read(chip, PCA953X_OUT, &data) < 0) in pca953x_info()
205 static uint8_t chip = CONFIG_SYS_I2C_PCA953X_ADDR; in do_pca953x() local
220 /* arg2 used as chip number or pin number */ in do_pca953x()
230 ret = pca953x_info(chip); in do_pca953x()
237 chip = (uint8_t)ul_arg2; in do_pca953x()
238 printf("Current device address: 0x%x\n", chip); in do_pca953x()
243 ret = pca953x_set_dir(chip, (1 << ul_arg2), in do_pca953x()
245 val = (pca953x_get_val(chip) & (1 << ul_arg2)) != 0; in do_pca953x()
250 printf("chip 0x%02x, pin 0x%lx = %d\n", chip, ul_arg2, in do_pca953x()
255 ret = pca953x_set_dir(chip, (1 << ul_arg2), in do_pca953x()
258 ret = pca953x_set_val(chip, (1 << ul_arg2), in do_pca953x()
265 ret = pca953x_set_pol(chip, (1 << ul_arg2), in do_pca953x()
273 eprintf("Error talking to chip at 0x%x\n", chip); in do_pca953x()
284 " - display info for current chip\n"