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