diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-12-14 07:18:11 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-12-14 13:09:28 +0100 |
commit | 1505eca59c8fbf0127debd955d443fe90d267abc (patch) | |
tree | 7697c5a83fd8f582bba16e22373fd62092d6e00c | |
parent | bsp/atsam: Avoid to power on/off the SPI module (diff) | |
download | rtems-1505eca59c8fbf0127debd955d443fe90d267abc.tar.bz2 |
bsp/atsam: Align SPI API with PIO_Configure()
-rw-r--r-- | c/src/lib/libbsp/arm/atsam/include/atsam-spi.h | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c | 12 | ||||
-rw-r--r-- | c/src/lib/libbsp/arm/atsam/spi/atsam_spi_init.c | 55 |
3 files changed, 44 insertions, 27 deletions
diff --git a/c/src/lib/libbsp/arm/atsam/include/atsam-spi.h b/c/src/lib/libbsp/arm/atsam/include/atsam-spi.h index 968a947a7b..e8fba58332 100644 --- a/c/src/lib/libbsp/arm/atsam/include/atsam-spi.h +++ b/c/src/lib/libbsp/arm/atsam/include/atsam-spi.h @@ -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 diff --git a/c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c b/c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c index 82feebddbd..00f5d33696 100644 --- a/c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c +++ b/c/src/lib/libbsp/arm/atsam/spi/atsam_spi_bus.c @@ -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, diff --git a/c/src/lib/libbsp/arm/atsam/spi/atsam_spi_init.c b/c/src/lib/libbsp/arm/atsam/spi/atsam_spi_init.c index fd8b64caa6..71e86586a4 100644 --- a/c/src/lib/libbsp/arm/atsam/spi/atsam_spi_init.c +++ b/c/src/lib/libbsp/arm/atsam/spi/atsam_spi_init.c @@ -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) + ); } |