mux: add mux interface
Add mux_init_reg interface with different mux modes for GPIO, UART, SPI, I2C, PWM, AIO. Signed-off-by: Le Jin <le.jin@siemens.com> Signed-off-by: Ivan Mikhaylov <ivan.mikhaylov@siemens.com>
This commit is contained in:
committed by
Tom Ingleby
parent
046bdd0adb
commit
307a6f3bdd
@@ -309,7 +309,12 @@ mraa_gpio_init(int pin)
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (board->adv_func->mux_init_reg) {
|
||||
if(board->adv_func->mux_init_reg(pin, MUX_REGISTER_MODE_GPIO) != MRAA_SUCCESS) {
|
||||
syslog(LOG_ERR, "gpio%i: init: unable to setup multiplex register", pin);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
mraa_gpio_context r = mraa_gpio_init_internal(board->adv_func, board->pins[pin].gpio.pinmap);
|
||||
|
||||
if (r == NULL) {
|
||||
@@ -408,6 +413,13 @@ mraa_gpio_chardev_init(int pins[], int num_pins)
|
||||
}
|
||||
}
|
||||
|
||||
if (board->adv_func->mux_init_reg) {
|
||||
if(board->adv_func->mux_init_reg(pins[i], MUX_REGISTER_MODE_GPIO) != MRAA_SUCCESS) {
|
||||
syslog(LOG_ERR, "[GPIOD_INTERFACE]: init: unable to setup mux register for pin %d", pins[i]);
|
||||
mraa_gpio_close(dev);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
chip_id = board->pins[pins[i]].gpio.gpio_chip;
|
||||
line_offset = board->pins[pins[i]].gpio.gpio_line;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user