Add SPIv1, use cfg_attr to pick correct impl.

Add IRQ to impl_rng!() to accomodate RNG vs HASH_RNG split.
This commit is contained in:
Bob McWhirter
2021-05-13 14:28:53 -04:00
parent 07db3ed7c1
commit 9e93a0999f
299 changed files with 14196 additions and 8867 deletions

View File

@ -126,6 +126,40 @@ impl_gpio_pin!(PH12, 7, 12, EXTI12);
impl_gpio_pin!(PH13, 7, 13, EXTI13);
impl_gpio_pin!(PH14, 7, 14, EXTI14);
impl_gpio_pin!(PH15, 7, 15, EXTI15);
pub const SPI1: spi::Spi = spi::Spi(0x40013000 as _);
impl_spi!(SPI1, APB2);
impl_spi_pin!(SPI1, Sck, PA5, 5);
impl_spi_pin!(SPI1, Miso, PA6, 5);
impl_spi_pin!(SPI1, Mosi, PA7, 5);
impl_spi_pin!(SPI1, Sck, PB3, 5);
impl_spi_pin!(SPI1, Miso, PB4, 5);
impl_spi_pin!(SPI1, Mosi, PB5, 5);
pub const SPI2: spi::Spi = spi::Spi(0x40003800 as _);
impl_spi!(SPI2, APB1);
impl_spi_pin!(SPI2, Sck, PB10, 5);
impl_spi_pin!(SPI2, Sck, PB13, 5);
impl_spi_pin!(SPI2, Miso, PB14, 5);
impl_spi_pin!(SPI2, Mosi, PB15, 5);
impl_spi_pin!(SPI2, Miso, PC2, 5);
impl_spi_pin!(SPI2, Mosi, PC3, 5);
impl_spi_pin!(SPI2, Sck, PD3, 5);
pub const SPI3: spi::Spi = spi::Spi(0x40003c00 as _);
impl_spi!(SPI3, APB1);
impl_spi_pin!(SPI3, Sck, PB3, 6);
impl_spi_pin!(SPI3, Miso, PB4, 6);
impl_spi_pin!(SPI3, Mosi, PB5, 6);
impl_spi_pin!(SPI3, Sck, PC10, 6);
impl_spi_pin!(SPI3, Miso, PC11, 6);
impl_spi_pin!(SPI3, Mosi, PC12, 6);
impl_spi_pin!(SPI3, Mosi, PD6, 5);
pub const SPI4: spi::Spi = spi::Spi(0x40013400 as _);
impl_spi!(SPI4, APB2);
impl_spi_pin!(SPI4, Sck, PE12, 5);
impl_spi_pin!(SPI4, Miso, PE13, 5);
impl_spi_pin!(SPI4, Mosi, PE14, 5);
impl_spi_pin!(SPI4, Sck, PE2, 5);
impl_spi_pin!(SPI4, Miso, PE5, 5);
impl_spi_pin!(SPI4, Mosi, PE6, 5);
pub const SYSCFG: syscfg::Syscfg = syscfg::Syscfg(0x40013800 as _);
pub const USART1: usart::Usart = usart::Usart(0x40011000 as _);
impl_usart!(USART1);
@ -158,6 +192,7 @@ impl_usart_pin!(USART6, CkPin, PC8, 8);
pub use regs::dma_v2 as dma;
pub use regs::exti_v1 as exti;
pub use regs::gpio_v2 as gpio;
pub use regs::spi_v1 as spi;
pub use regs::syscfg_f4 as syscfg;
pub use regs::usart_v1 as usart;
mod regs;
@ -172,7 +207,7 @@ peripherals!(
PC4, PC5, PC6, PC7, PC8, PC9, PC10, PC11, PC12, PC13, PC14, PC15, PD0, PD1, PD2, PD3, PD4, PD5,
PD6, PD7, PD8, PD9, PD10, PD11, PD12, PD13, PD14, PD15, PE0, PE1, PE2, PE3, PE4, PE5, PE6, PE7,
PE8, PE9, PE10, PE11, PE12, PE13, PE14, PE15, PH0, PH1, PH2, PH3, PH4, PH5, PH6, PH7, PH8, PH9,
PH10, PH11, PH12, PH13, PH14, PH15, SYSCFG, USART1, USART2, USART6
PH10, PH11, PH12, PH13, PH14, PH15, SPI1, SPI2, SPI3, SPI4, SYSCFG, USART1, USART2, USART6
);
pub mod interrupt {