spi: Use new feature of pinmap to get split info.
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com> Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
committed by
Brendan Le Foll
parent
b7c2b701aa
commit
66550f9487
@@ -208,9 +208,9 @@ unsigned int maa_check_i2c();
|
||||
|
||||
/** Check spi interface, sets up multiplexer on device.
|
||||
*
|
||||
* @return unsigned int if using /dev/spi-1.0 returned would be 1.0
|
||||
* @return spi bus type
|
||||
*/
|
||||
double maa_check_spi();
|
||||
maa_spi_bus_t* maa_check_spi(int bus);
|
||||
|
||||
/** Check PWM
|
||||
*
|
||||
|
||||
32
src/maa.c
32
src/maa.c
@@ -31,7 +31,7 @@
|
||||
#include "gpio.h"
|
||||
#include "version.h"
|
||||
|
||||
static maa_pininfo_t* pindata;
|
||||
//static maa_pininfo_t* pindata;
|
||||
static maa_board_t* plat = NULL;
|
||||
|
||||
const char *
|
||||
@@ -144,34 +144,38 @@ maa_check_i2c(int bus_s)
|
||||
return plat->i2c_bus[bus].bus_id;
|
||||
}
|
||||
|
||||
double
|
||||
maa_check_spi(int bus_s)
|
||||
maa_spi_bus_t*
|
||||
maa_check_spi(int bus)
|
||||
{
|
||||
if (plat == NULL)
|
||||
return -3;
|
||||
return NULL;
|
||||
|
||||
if (plat->i2c_bus_count >! 0) {
|
||||
if (plat->spi_bus_count >! 0) {
|
||||
fprintf(stderr, "No spi buses defined in platform");
|
||||
return -1;
|
||||
return NULL;
|
||||
}
|
||||
if (bus >= plat->spi_bus_count) {
|
||||
fprintf(stderr, "Above spi bus count");
|
||||
return NULL;
|
||||
}
|
||||
int bus = 0;
|
||||
|
||||
int pos = plat->spi_bus[0].sclk;
|
||||
int pos = plat->spi_bus[bus].sclk;
|
||||
if (plat->pins[pos].spi.mux_total > 0)
|
||||
if (maa_setup_mux_mapped(plat->pins[pos].spi) != MAA_SUCCESS)
|
||||
return -2;
|
||||
return NULL;
|
||||
|
||||
pos = plat->spi_bus[0].mosi;
|
||||
pos = plat->spi_bus[bus].mosi;
|
||||
if (plat->pins[pos].spi.mux_total > 0)
|
||||
if (maa_setup_mux_mapped(plat->pins[pos].spi) != MAA_SUCCESS)
|
||||
return -2;
|
||||
return NULL;
|
||||
|
||||
pos = plat->spi_bus[0].miso;
|
||||
pos = plat->spi_bus[bus].miso;
|
||||
if (plat->pins[pos].spi.mux_total > 0)
|
||||
if (maa_setup_mux_mapped(plat->pins[pos].spi) != MAA_SUCCESS)
|
||||
return -2;
|
||||
return NULL;
|
||||
|
||||
return plat->spi_bus[bus].bus_id;
|
||||
maa_spi_bus_t *spi = &(plat->spi_bus[bus]);
|
||||
return spi;
|
||||
}
|
||||
|
||||
maa_pin_t*
|
||||
|
||||
@@ -44,9 +44,9 @@ struct _spi {
|
||||
};
|
||||
|
||||
maa_spi_context
|
||||
maa_spi_init()
|
||||
maa_spi_init(int bus)
|
||||
{
|
||||
double bus = maa_check_spi();
|
||||
maa_spi_bus_t *spi = maa_check_spi(bus);
|
||||
if(bus < 0) {
|
||||
fprintf(stderr, "Failed. SPI platform Error\n");
|
||||
return NULL;
|
||||
@@ -55,7 +55,7 @@ maa_spi_init()
|
||||
memset(dev, 0, sizeof(struct _spi));
|
||||
|
||||
char path[MAX_SIZE];
|
||||
sprintf(path, "/dev/spidev%.1f", bus);
|
||||
sprintf(path, "/dev/spidev%u.%u", spi->bus_id, spi->slave_s);
|
||||
|
||||
dev->devfd = open(path, O_RDWR);
|
||||
if (dev->devfd < 0) {
|
||||
|
||||
Reference in New Issue
Block a user