forked from Imagelibrary/rtems
bsp/atsam: Align SPI API with PIO_Configure()
This commit is contained in:
@@ -51,8 +51,8 @@ int spi_bus_register_atsam(
|
||||
const char *bus_path,
|
||||
Spi *register_base,
|
||||
rtems_vector_number irq,
|
||||
size_t pin_amount,
|
||||
const Pin *pins
|
||||
const Pin *pins,
|
||||
size_t pin_count
|
||||
);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -495,11 +495,11 @@ static int atsam_spi_setup(spi_bus *base)
|
||||
|
||||
static void atsam_spi_init(
|
||||
atsam_spi_bus *bus,
|
||||
size_t pin_amount,
|
||||
const Pin *pins
|
||||
const Pin *pins,
|
||||
size_t pin_count
|
||||
)
|
||||
{
|
||||
PIO_Configure(pins, pin_amount);
|
||||
PIO_Configure(pins, pin_count);
|
||||
ENABLE_PERIPHERAL(bus->board_id);
|
||||
XDMAD_Initialize(&bus->Dma, 0);
|
||||
bus->base.mode = 0;
|
||||
@@ -516,8 +516,8 @@ int spi_bus_register_atsam(
|
||||
const char *bus_path,
|
||||
Spi *register_base,
|
||||
rtems_vector_number irq,
|
||||
size_t pin_amount,
|
||||
const Pin *pins
|
||||
const Pin *pins,
|
||||
size_t pin_count
|
||||
)
|
||||
{
|
||||
atsam_spi_bus *bus;
|
||||
@@ -533,7 +533,7 @@ int spi_bus_register_atsam(
|
||||
bus->board_id = board_id;
|
||||
bus->irq = ID_XDMAC;
|
||||
|
||||
atsam_spi_init(bus, pin_amount, pins);
|
||||
atsam_spi_init(bus, pins, pin_count);
|
||||
|
||||
sc = rtems_interrupt_handler_install(
|
||||
bus->irq,
|
||||
|
||||
@@ -55,29 +55,46 @@
|
||||
|
||||
int atsam_register_spi_0(void)
|
||||
{
|
||||
static const Pin pins[] = {PIN_SPI0_MISO, PIN_SPI0_MOSI, PIN_SPI0_NPCS0,
|
||||
PIN_SPI0_NPCS1_1, PIN_SPI0_NPCS1_2, PIN_SPI0_NPCS2, PIN_SPI0_NPCS3,
|
||||
PIN_SPI0_CLOCK};
|
||||
static const Pin pins[] = {
|
||||
PIN_SPI0_MISO,
|
||||
PIN_SPI0_MOSI,
|
||||
PIN_SPI0_NPCS0,
|
||||
PIN_SPI0_NPCS1_1,
|
||||
PIN_SPI0_NPCS1_2,
|
||||
PIN_SPI0_NPCS2,
|
||||
PIN_SPI0_NPCS3,
|
||||
PIN_SPI0_CLOCK
|
||||
};
|
||||
|
||||
return spi_bus_register_atsam(
|
||||
ATSAM_SPI_0_BUS_PATH,
|
||||
SPI0,
|
||||
ID_SPI0,
|
||||
8,
|
||||
pins);
|
||||
return spi_bus_register_atsam(
|
||||
ATSAM_SPI_0_BUS_PATH,
|
||||
SPI0,
|
||||
ID_SPI0,
|
||||
pins,
|
||||
RTEMS_ARRAY_SIZE(pins)
|
||||
);
|
||||
}
|
||||
|
||||
int atsam_register_spi_1(void)
|
||||
{
|
||||
static const Pin pins[] = {PIN_SPI1_MISO, PIN_SPI1_MOSI, PIN_SPI1_NPCS0,
|
||||
PIN_SPI1_NPCS1_1, PIN_SPI1_NPCS1_2, PIN_SPI1_NPCS2_1,
|
||||
PIN_SPI1_NPCS2_2, PIN_SPI1_NPCS3_1, PIN_SPI1_NPCS3_2,
|
||||
PIN_SPI1_CLOCK};
|
||||
static const Pin pins[] = {
|
||||
PIN_SPI1_MISO,
|
||||
PIN_SPI1_MOSI,
|
||||
PIN_SPI1_NPCS0,
|
||||
PIN_SPI1_NPCS1_1,
|
||||
PIN_SPI1_NPCS1_2,
|
||||
PIN_SPI1_NPCS2_1,
|
||||
PIN_SPI1_NPCS2_2,
|
||||
PIN_SPI1_NPCS3_1,
|
||||
PIN_SPI1_NPCS3_2,
|
||||
PIN_SPI1_CLOCK
|
||||
};
|
||||
|
||||
return spi_bus_register_atsam(
|
||||
ATSAM_SPI_1_BUS_PATH,
|
||||
SPI1,
|
||||
ID_SPI1,
|
||||
10,
|
||||
pins);
|
||||
return spi_bus_register_atsam(
|
||||
ATSAM_SPI_1_BUS_PATH,
|
||||
SPI1,
|
||||
ID_SPI1,
|
||||
pins,
|
||||
RTEMS_ARRAY_SIZE(pins)
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user