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
@@ -81,6 +81,13 @@ mraa_spi_init(int bus)
|
||||
}
|
||||
}
|
||||
|
||||
if (pos >= 0 && plat->adv_func->mux_init_reg) {
|
||||
if(plat->adv_func->mux_init_reg(pos, MUX_REGISTER_MODE_SPI) != MRAA_SUCCESS) {
|
||||
syslog(LOG_ERR, "spi: failed to set-up spi sclk multiplex register");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
pos = plat->spi_bus[bus].mosi;
|
||||
if (pos >= 0 && plat->pins[pos].spi.mux_total > 0) {
|
||||
if (mraa_setup_mux_mapped(plat->pins[pos].spi) != MRAA_SUCCESS) {
|
||||
@@ -89,6 +96,13 @@ mraa_spi_init(int bus)
|
||||
}
|
||||
}
|
||||
|
||||
if (pos >= 0 && plat->adv_func->mux_init_reg) {
|
||||
if(plat->adv_func->mux_init_reg(pos, MUX_REGISTER_MODE_SPI) != MRAA_SUCCESS) {
|
||||
syslog(LOG_ERR, "spi: failed to set-up spi mosi multiplex register");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
pos = plat->spi_bus[bus].miso;
|
||||
if (pos >= 0 && plat->pins[pos].spi.mux_total > 0) {
|
||||
if (mraa_setup_mux_mapped(plat->pins[pos].spi) != MRAA_SUCCESS) {
|
||||
@@ -97,6 +111,13 @@ mraa_spi_init(int bus)
|
||||
}
|
||||
}
|
||||
|
||||
if (pos >= 0 && plat->adv_func->mux_init_reg) {
|
||||
if(plat->adv_func->mux_init_reg(pos, MUX_REGISTER_MODE_SPI) != MRAA_SUCCESS) {
|
||||
syslog(LOG_ERR, "spi: failed to set-up spi miso multiplex register");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
pos = plat->spi_bus[bus].cs;
|
||||
if (pos >= 0 && plat->pins[pos].spi.mux_total > 0) {
|
||||
if (mraa_setup_mux_mapped(plat->pins[pos].spi) != MRAA_SUCCESS) {
|
||||
@@ -104,6 +125,13 @@ mraa_spi_init(int bus)
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (pos >= 0 && plat->adv_func->mux_init_reg) {
|
||||
if(plat->adv_func->mux_init_reg(pos, MUX_REGISTER_MODE_SPI) != MRAA_SUCCESS) {
|
||||
syslog(LOG_ERR, "spi: failed to set-up spi cs multiplex register");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
mraa_spi_context dev = mraa_spi_init_raw(plat->spi_bus[bus].bus_id, plat->spi_bus[bus].slave_s);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user