Skip to content

Commit

Permalink
boards/common/arduino-zero: Add Arudino SPI mapping
Browse files Browse the repository at this point in the history
The Arduino Zero based boards already provided the feature
`arduino_spi`, but were missing the corresponding mapping. This fixes
the issue by adding the SPI bus numbers for the ISP SPI bus and the
D11D12D13 SPI bus.

(And in order to actually add the D11D12D13 SPI bus, the `periph_conf.h`
was extended to provide an SPI configuration for it.)
  • Loading branch information
maribu committed Oct 1, 2024
1 parent 61df141 commit cbf0664
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 0 deletions.
14 changes: 14 additions & 0 deletions boards/common/arduino-zero/include/arduino_iomap.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,20 @@ extern "C" {
#define ARDUINO_PIN_9_PWM_CHAN 1
/** @} */

/**
* @name Arduino's SPI buses
* @{
*/
/**
* @brief SPI_DEV(0) is connected to the ISP
*/
#define ARDUINO_SPI_ISP SPI_DEV(0)
/**
* @brief SPI_DEV(1) is connected to D11/D12/D13
*/
#define ARDUINO_SPI_D11D12D13 SPI_DEV(1)
/** @} */

#ifdef __cplusplus
}
#endif
Expand Down
12 changes: 12 additions & 0 deletions boards/common/arduino-zero/include/periph_conf.h
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,18 @@ static const spi_conf_t spi_config[] = {
.miso_pad = SPI_PAD_MISO_0,
.mosi_pad = SPI_PAD_MOSI_2_SCK_3,
.gclk_src = SAM0_GCLK_MAIN,
},
{
.dev = &SERCOM1->SPI,
.miso_pin = GPIO_PIN(PA, 19),
.mosi_pin = GPIO_PIN(PA, 16),
.clk_pin = GPIO_PIN(PA, 17),
.miso_mux = GPIO_MUX_C,
.mosi_mux = GPIO_MUX_C,
.clk_mux = GPIO_MUX_C,
.miso_pad = SPI_PAD_MISO_3,
.mosi_pad = SPI_PAD_MOSI_0_SCK_1,
.gclk_src = SAM0_GCLK_MAIN,
}
};

Expand Down

0 comments on commit cbf0664

Please sign in to comment.