diff --git a/boards/fox/include/periph_conf.h b/boards/fox/include/periph_conf.h index e3198aab35a8546a2b11799e30df1b86122e2395..e5e15d0ec3ffe1fd01b5e2b810898766fa4825d4 100644 --- a/boards/fox/include/periph_conf.h +++ b/boards/fox/include/periph_conf.h @@ -125,8 +125,8 @@ static const uart_conf_t uart_config[] = { /* SPI 0 device configuration */ #define SPI_0_DEV SPI2 -#define SPI_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_SPI2EN) -#define SPI_0_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_SPI2EN)) +#define SPI_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_SPI2EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_SPI2EN)) #define SPI_0_BUS_DIV 0 /* 1 -> SPI runs with full CPU clock, 0 -> half CPU clock */ /* SPI 0 pin configuration */ #define SPI_0_CLK_PIN GPIO_PIN(PORT_B,13) @@ -160,8 +160,8 @@ static const uart_conf_t uart_config[] = { /* I2C 0 device configuration */ #define I2C_0_DEV I2C1 -#define I2C_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C1EN) -#define I2C_0_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C1EN)) #define I2C_0_EVT_IRQ I2C1_EV_IRQn #define I2C_0_EVT_ISR isr_i2c1_ev #define I2C_0_ERR_IRQ I2C1_ER_IRQn diff --git a/boards/iotlab-a8-m3/include/periph_conf.h b/boards/iotlab-a8-m3/include/periph_conf.h index 1a83e2b23fedda43bf04aad658cb83491da08a1c..938525b486641e776f375fd0146b30819168e8a1 100644 --- a/boards/iotlab-a8-m3/include/periph_conf.h +++ b/boards/iotlab-a8-m3/include/periph_conf.h @@ -36,8 +36,8 @@ extern "C" { /* SPI 0 device configuration */ #define SPI_0_DEV SPI2 -#define SPI_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_SPI2EN) -#define SPI_0_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_SPI2EN)) +#define SPI_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_SPI2EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_SPI2EN)) #define SPI_0_BUS_DIV 1 /* 1 -> SPI runs with full CPU clock, 0 -> half CPU clock */ /* SPI 0 pin configuration */ #define SPI_0_CLK_PIN GPIO_PIN(PORT_B,13) diff --git a/boards/iotlab-common/include/periph_conf_common.h b/boards/iotlab-common/include/periph_conf_common.h index 5ce6492258f55b0640edb5099ec3aa4ae81f9adf..a5a342b986a4f38be4cf7762aeb4ea7d1fd171c7 100644 --- a/boards/iotlab-common/include/periph_conf_common.h +++ b/boards/iotlab-common/include/periph_conf_common.h @@ -150,8 +150,8 @@ static const uart_conf_t uart_config[] = { /* I2C 0 device configuration */ #define I2C_0_DEV I2C1 -#define I2C_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C1EN) -#define I2C_0_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C1EN)) #define I2C_0_EVT_IRQ I2C1_EV_IRQn #define I2C_0_EVT_ISR isr_i2c1_ev #define I2C_0_ERR_IRQ I2C1_ER_IRQn diff --git a/boards/iotlab-m3/include/periph_conf.h b/boards/iotlab-m3/include/periph_conf.h index 979df0d5e13086da755076dd0548e63cb191ac5d..fd3dc46518f8cf20c2076b5845b2e6833e5fae50 100644 --- a/boards/iotlab-m3/include/periph_conf.h +++ b/boards/iotlab-m3/include/periph_conf.h @@ -36,8 +36,8 @@ extern "C" { /* SPI 0 device configuration */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~(RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_BUS_DIV 1 /* 1 -> SPI runs with full CPU clock, 0 -> half CPU clock */ /* SPI 0 pin configuration */ #define SPI_0_CLK_PIN GPIO_PIN(PORT_A,5) diff --git a/boards/limifrog-v1/include/periph_conf.h b/boards/limifrog-v1/include/periph_conf.h index 5007a0cdb946d1f9fcd4fea049944d4c2f4db414..51b54d5cff818e6c1645f0f10d8cba8872e864b7 100644 --- a/boards/limifrog-v1/include/periph_conf.h +++ b/boards/limifrog-v1/include/periph_conf.h @@ -81,7 +81,7 @@ static const timer_conf_t timer_config[] = { /* UART 0 device configuration */ #define UART_0_DEV USART3 -#define UART_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART3EN) +#define UART_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART3EN)) #define UART_0_CLK (CLOCK_CORECLOCK) #define UART_0_IRQ USART3_IRQn #define UART_0_ISR isr_usart3 @@ -93,7 +93,7 @@ static const timer_conf_t timer_config[] = { /* UART 1 device configuration */ #define UART_1_DEV USART1 /* Panasonic PAN1740 BLE module */ -#define UART_1_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_USART1EN) +#define UART_1_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_USART1EN)) #define UART_1_CLK (CLOCK_CORECLOCK) #define UART_1_IRQ USART1_IRQn #define UART_1_ISR isr_usart1 @@ -114,12 +114,12 @@ static const timer_conf_t timer_config[] = { /* SPI 0 device configuration */ #define SPI_0_DEV SPI1 /* Densitron DD-160128FC-1a OLED display; external pins */ -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~(RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_IRQ SPI1_IRQn #define SPI_0_ISR isr_spi1 /* SPI 0 pin configuration */ -#define SPI_0_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define SPI_0_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define SPI_0_PORT GPIOA #define SPI_0_PIN_SCK 5 #define SPI_0_PIN_MOSI 7 @@ -128,12 +128,12 @@ static const timer_conf_t timer_config[] = { /* SPI 1 device configuration */ #define SPI_1_DEV SPI3 /* Adesto AT45DB641E data flash */ -#define SPI_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_SPI3EN) -#define SPI_1_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_SPI3EN)) +#define SPI_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_SPI3EN)) +#define SPI_1_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_SPI3EN)) #define SPI_1_IRQ SPI3_IRQn #define SPI_1_ISR isr_spi3 /* SPI 1 pin configuration */ -#define SPI_1_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN) +#define SPI_1_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOBEN)) #define SPI_1_PORT GPIOB #define SPI_1_PIN_SCK 3 #define SPI_1_PIN_MOSI 5 diff --git a/boards/msbiot/board.c b/boards/msbiot/board.c index b5b5bc3bfd8e6be788e6520d0780a5c1fc843fde..9488fd5a9eec82dc8d1ab305c179698995d24734 100644 --- a/boards/msbiot/board.c +++ b/boards/msbiot/board.c @@ -45,7 +45,7 @@ void board_init(void) static void leds_init(void) { /* enable clock for port GPIOB */ - RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN; + periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN); /* set output speed to 50MHz */ LED_PORT->OSPEEDR &= ~(0xF0030000); diff --git a/boards/msbiot/include/periph_conf.h b/boards/msbiot/include/periph_conf.h index b617eeec60797381b2adbdc9b7dfb932d9123557..7694524fb482d7d4760bb32d9788cf93df34ac6c 100644 --- a/boards/msbiot/include/periph_conf.h +++ b/boards/msbiot/include/periph_conf.h @@ -186,8 +186,8 @@ static const uart_conf_t uart_config[] = { /* SPI 0 device config */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~RCC_APB2ENR_SPI1EN) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_BUS_DIV 1 /* 1 -> SPI runs with half CPU clock, 0 -> quarter CPU clock */ #define SPI_0_IRQ SPI1_IRQn #define SPI_0_IRQ_HANDLER isr_spi1 @@ -201,9 +201,9 @@ static const uart_conf_t uart_config[] = { #define SPI_0_MOSI_PORT GPIOA #define SPI_0_MOSI_PIN 7 #define SPI_0_MOSI_AF 5 -#define SPI_0_SCK_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) -#define SPI_0_MISO_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) -#define SPI_0_MOSI_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_SCK_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) +#define SPI_0_MISO_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) +#define SPI_0_MOSI_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) /** @} */ /** @@ -217,8 +217,8 @@ static const uart_conf_t uart_config[] = { /* I2C 0 device configuration */ #define I2C_0_DEV I2C1 -#define I2C_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C1EN) -#define I2C_0_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C1EN)) #define I2C_0_EVT_IRQ I2C1_EV_IRQn #define I2C_0_EVT_ISR isr_i2c1_ev #define I2C_0_ERR_IRQ I2C1_ER_IRQn @@ -227,11 +227,11 @@ static const uart_conf_t uart_config[] = { #define I2C_0_SCL_PORT GPIOB #define I2C_0_SCL_PIN 6 #define I2C_0_SCL_AF 4 -#define I2C_0_SCL_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define I2C_0_SCL_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) #define I2C_0_SDA_PORT GPIOB #define I2C_0_SDA_PIN 7 #define I2C_0_SDA_AF 4 -#define I2C_0_SDA_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define I2C_0_SDA_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) #ifdef __cplusplus } diff --git a/boards/nucleo-f030/include/periph_conf.h b/boards/nucleo-f030/include/periph_conf.h index a2df78bd1a7f67371738e4cefee9a251b1eea029..1d47d945d84064b611e72b442bad81a6076b9c8e 100644 --- a/boards/nucleo-f030/include/periph_conf.h +++ b/boards/nucleo-f030/include/periph_conf.h @@ -73,26 +73,26 @@ static const timer_conf_t timer_config[] = { /* UART 0 device configuration */ #define UART_0_DEV USART2 -#define UART_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART2EN) -#define UART_0_CLKDIS() (RCC->APB1ENR &= (~RCC_APB1ENR_USART2EN)) +#define UART_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART2EN)) +#define UART_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_USART2EN)) #define UART_0_IRQ USART2_IRQn #define UART_0_ISR isr_usart2 /* UART 0 pin configuration */ #define UART_0_PORT GPIOA -#define UART_0_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define UART_0_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define UART_0_RX_PIN 3 #define UART_0_TX_PIN 2 #define UART_0_AF 1 /* UART 1 device configuration */ #define UART_1_DEV USART1 -#define UART_1_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_USART1EN) -#define UART_1_CLKDIS() (RCC->APB2ENR &= (~RCC_APB2ENR_USART1EN)) +#define UART_1_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_USART1EN)) +#define UART_1_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_USART1EN)) #define UART_1_IRQ USART1_IRQn #define UART_1_ISR isr_usart1 /* UART 1 pin configuration */ #define UART_1_PORT GPIOB -#define UART_1_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN) +#define UART_1_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOBEN)) #define UART_1_RX_PIN 7 #define UART_1_TX_PIN 6 #define UART_1_AF 0 diff --git a/boards/nucleo-f070/include/periph_conf.h b/boards/nucleo-f070/include/periph_conf.h index 0a077edbcaa9dbe78e6365ba35ccac0da3f38af5..5f1fc905b45845d2ef7ee55fbd1c73d49f9abf9e 100644 --- a/boards/nucleo-f070/include/periph_conf.h +++ b/boards/nucleo-f070/include/periph_conf.h @@ -73,26 +73,26 @@ static const timer_conf_t timer_config[] = { /* UART 0 device configuration */ #define UART_0_DEV USART2 -#define UART_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART2EN) -#define UART_0_CLKDIS() (RCC->APB1ENR &= (~RCC_APB1ENR_USART2EN)) +#define UART_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART2EN)) +#define UART_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_USART2EN)) #define UART_0_IRQ USART2_IRQn #define UART_0_ISR isr_usart2 /* UART 0 pin configuration */ #define UART_0_PORT GPIOA -#define UART_0_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define UART_0_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define UART_0_RX_PIN 3 #define UART_0_TX_PIN 2 #define UART_0_AF 1 /* UART 1 device configuration */ #define UART_1_DEV USART3 -#define UART_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART3EN) -#define UART_1_CLKDIS() (RCC->APB1ENR &= (~RCC_APB1ENR_USART3EN)) +#define UART_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART3EN)) +#define UART_1_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_USART3EN)) #define UART_1_IRQ USART3_4_IRQn #define UART_1_ISR isr_usart3_8 /* UART 1 pin configuration */ #define UART_1_PORT GPIOC -#define UART_1_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOCEN) +#define UART_1_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOCEN)) #define UART_1_RX_PIN 11 #define UART_1_TX_PIN 10 #define UART_1_AF 1 diff --git a/boards/nucleo-f072/include/periph_conf.h b/boards/nucleo-f072/include/periph_conf.h index 28e77ab738d4d3b95c5c1b218e23e81b8b57fec3..79e29c96ab471db60fe36efdcbf050a194e975de 100644 --- a/boards/nucleo-f072/include/periph_conf.h +++ b/boards/nucleo-f072/include/periph_conf.h @@ -72,26 +72,26 @@ static const timer_conf_t timer_config[] = { /* UART 0 device configuration */ #define UART_0_DEV USART2 -#define UART_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART2EN) -#define UART_0_CLKDIS() (RCC->APB1ENR &= (~RCC_APB1ENR_USART2EN)) +#define UART_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART2EN)) +#define UART_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_USART2EN)) #define UART_0_IRQ USART2_IRQn #define UART_0_ISR isr_usart2 /* UART 0 pin configuration */ #define UART_0_PORT GPIOA -#define UART_0_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define UART_0_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define UART_0_RX_PIN 3 #define UART_0_TX_PIN 2 #define UART_0_AF 1 /* UART 1 device configuration */ #define UART_1_DEV USART1 -#define UART_1_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_USART1EN) -#define UART_1_CLKDIS() (RCC->APB2ENR &= (~RCC_APB2ENR_USART1EN)) +#define UART_1_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_USART1EN)) +#define UART_1_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_USART1EN)) #define UART_1_IRQ USART1_IRQn #define UART_1_ISR isr_usart1 /* UART 1 pin configuration */ #define UART_1_PORT GPIOB -#define UART_1_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN) +#define UART_1_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOBEN)) #define UART_1_RX_PIN 7 #define UART_1_TX_PIN 6 #define UART_1_AF 0 diff --git a/boards/nucleo-f091/include/periph_conf.h b/boards/nucleo-f091/include/periph_conf.h index 01bfb369ad7dc00923baea4459859d3033b7d397..73a6ee37c758149529631c061a8ec7f9b2e6bdb3 100644 --- a/boards/nucleo-f091/include/periph_conf.h +++ b/boards/nucleo-f091/include/periph_conf.h @@ -71,26 +71,26 @@ static const timer_conf_t timer_config[] = { /* UART 0 device configuration */ #define UART_0_DEV USART2 -#define UART_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART2EN) -#define UART_0_CLKDIS() (RCC->APB1ENR &= (~RCC_APB1ENR_USART2EN)) +#define UART_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART2EN)) +#define UART_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_USART2EN)) #define UART_0_IRQ USART2_IRQn #define UART_0_ISR isr_usart2 /* UART 0 pin configuration */ #define UART_0_PORT GPIOA -#define UART_0_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define UART_0_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define UART_0_RX_PIN 3 #define UART_0_TX_PIN 2 #define UART_0_AF 1 /* UART 1 device configuration */ #define UART_1_DEV USART1 -#define UART_1_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_USART1EN) -#define UART_1_CLKDIS() (RCC->APB2ENR &= (~RCC_APB2ENR_USART1EN)) +#define UART_1_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_USART1EN)) +#define UART_1_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_USART1EN)) #define UART_1_IRQ USART1_IRQn #define UART_1_ISR isr_usart1 /* UART 1 pin configuration */ #define UART_1_PORT GPIOB -#define UART_1_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN) +#define UART_1_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOBEN)) #define UART_1_RX_PIN 7 #define UART_1_TX_PIN 6 #define UART_1_AF 0 diff --git a/boards/nucleo-f103/include/periph_conf.h b/boards/nucleo-f103/include/periph_conf.h index feb31718a4fb23e3d241d4e43b408cc2e65b0c5f..c3e40472b4d119cde7483660f4383864ce903c52 100644 --- a/boards/nucleo-f103/include/periph_conf.h +++ b/boards/nucleo-f103/include/periph_conf.h @@ -139,8 +139,8 @@ static const uart_conf_t uart_config[] = { /* I2C 0 device configuration */ #define I2C_0_DEV I2C1 -#define I2C_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C1EN) -#define I2C_0_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C1EN)) #define I2C_0_EVT_IRQ I2C1_EV_IRQn #define I2C_0_EVT_ISR isr_i2c1_ev #define I2C_0_ERR_IRQ I2C1_ER_IRQn @@ -151,8 +151,8 @@ static const uart_conf_t uart_config[] = { /* I2C 1 device configuration */ #define I2C_1_DEV I2C2 -#define I2C_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C2EN) -#define I2C_1_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C2EN)) +#define I2C_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C2EN)) +#define I2C_1_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C2EN)) #define I2C_1_EVT_IRQ I2C2_EV_IRQn #define I2C_1_EVT_ISR isr_i2c2_ev #define I2C_1_ERR_IRQ I2C2_ER_IRQn @@ -173,8 +173,8 @@ static const uart_conf_t uart_config[] = { /* SPI 0 device config */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~RCC_APB2ENR_SPI1EN) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_IRQ SPI1_IRQn #define SPI_0_IRQ_HANDLER isr_spi1 #define SPI_0_BUS_DIV 1 @@ -186,8 +186,8 @@ static const uart_conf_t uart_config[] = { /* SPI 1 device config */ #define SPI_1_DEV SPI2 -#define SPI_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_SPI2EN) -#define SPI_1_CLKDIS() (RCC->APB1ENR &= ~RCC_APB1ENR_SPI2EN) +#define SPI_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_SPI2EN)) +#define SPI_1_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_SPI2EN)) #define SPI_1_IRQ SPI2_IRQn #define SPI_1_IRQ_HANDLER isr_spi2 #define SPI_1_BUS_DIV 1 diff --git a/boards/nucleo-f207/include/periph_conf.h b/boards/nucleo-f207/include/periph_conf.h index 9b4055667fc778f13b4eda634d7ccb1fff916a2f..d9d6e10f74244992fe1a10ca599b634e3897c909 100644 --- a/boards/nucleo-f207/include/periph_conf.h +++ b/boards/nucleo-f207/include/periph_conf.h @@ -188,8 +188,8 @@ static const uart_conf_t uart_config[] = { /* SPI 0 device config */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~RCC_APB2ENR_SPI1EN) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_BUS_DIV 1 /* 1 -> SPI bus runs with half CPU clock, 0 -> quarter CPU clock */ #define SPI_0_IRQ SPI1_IRQn #define SPI_0_IRQ_HANDLER isr_spi1 @@ -197,20 +197,20 @@ static const uart_conf_t uart_config[] = { #define SPI_0_SCK_PORT GPIOA /* A5 pin is shared with the green LED. */ #define SPI_0_SCK_PIN 5 #define SPI_0_SCK_AF 5 -#define SPI_0_SCK_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_SCK_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) #define SPI_0_MISO_PORT GPIOA #define SPI_0_MISO_PIN 6 #define SPI_0_MISO_AF 5 -#define SPI_0_MISO_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_MISO_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) #define SPI_0_MOSI_PORT GPIOA #define SPI_0_MOSI_PIN 7 #define SPI_0_MOSI_AF 5 -#define SPI_0_MOSI_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_MOSI_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) /* SPI 1 device config */ #define SPI_1_DEV SPI2 -#define SPI_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_SPI2EN) -#define SPI_1_CLKDIS() (RCC->APB1ENR &= ~RCC_APB1ENR_SPI2EN) +#define SPI_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_SPI2EN)) +#define SPI_1_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_SPI2EN)) #define SPI_1_BUS_DIV 0 /* 1 -> SPI bus runs with half CPU clock, 0 -> quarter CPU clock */ #define SPI_1_IRQ SPI2_IRQn #define SPI_1_IRQ_HANDLER isr_spi2 @@ -218,15 +218,15 @@ static const uart_conf_t uart_config[] = { #define SPI_1_SCK_PORT GPIOB #define SPI_1_SCK_PIN 3 #define SPI_1_SCK_AF 5 -#define SPI_1_SCK_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define SPI_1_SCK_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) #define SPI_1_MISO_PORT GPIOB #define SPI_1_MISO_PIN 4 #define SPI_1_MISO_AF 5 -#define SPI_1_MISO_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define SPI_1_MISO_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) #define SPI_1_MOSI_PORT GPIOB #define SPI_1_MOSI_PIN 5 #define SPI_1_MOSI_AF 5 -#define SPI_1_MOSI_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define SPI_1_MOSI_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) /** @} */ @@ -241,8 +241,8 @@ static const uart_conf_t uart_config[] = { /* I2C 0 device configuration */ #define I2C_0_DEV I2C1 -#define I2C_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C1EN) -#define I2C_0_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C1EN)) #define I2C_0_EVT_IRQ I2C1_EV_IRQn #define I2C_0_EVT_ISR isr_i2c1_ev #define I2C_0_ERR_IRQ I2C1_ER_IRQn @@ -252,12 +252,12 @@ static const uart_conf_t uart_config[] = { #define I2C_0_SCL_PIN 8 #define I2C_0_SCL_AF 4 #define I2C_0_SCL_PULLUP 0 -#define I2C_0_SCL_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define I2C_0_SCL_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) #define I2C_0_SDA_PORT GPIOB #define I2C_0_SDA_PIN 9 #define I2C_0_SDA_AF 4 #define I2C_0_SDA_PULLUP 0 -#define I2C_0_SDA_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define I2C_0_SDA_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) /** @} */ /** diff --git a/boards/nucleo-f303/include/periph_conf.h b/boards/nucleo-f303/include/periph_conf.h index 617dba18669b7ea1352cf219086ded7c9bf7ad73..4da4b8449ed82c10574941a378ef001950f3d0ff 100755 --- a/boards/nucleo-f303/include/periph_conf.h +++ b/boards/nucleo-f303/include/periph_conf.h @@ -85,12 +85,12 @@ static const timer_conf_t timer_config[] = { /* UART 0 device configuration */ #define UART_0_DEV USART2 -#define UART_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART2EN) +#define UART_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART2EN)) #define UART_0_CLK (CLOCK_CORECLOCK / 2) /* UART clock runs with 36MHz (F_CPU / 2) */ #define UART_0_IRQ_CHAN USART2_IRQn #define UART_0_ISR isr_usart2 /* UART 0 pin configuration */ -#define UART_0_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define UART_0_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define UART_0_PORT GPIOA #define UART_0_TX_PIN 2 #define UART_0_RX_PIN 3 @@ -98,12 +98,12 @@ static const timer_conf_t timer_config[] = { /* UART 1 device configuration */ #define UART_1_DEV USART1 -#define UART_1_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_USART1EN) +#define UART_1_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_USART1EN)) #define UART_1_CLK (CLOCK_CORECLOCK / 1) /* UART clock runs with 72MHz (F_CPU / 1) */ #define UART_1_IRQ_CHAN USART1_IRQn #define UART_1_ISR isr_usart1 /* UART 1 pin configuration */ -#define UART_1_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define UART_1_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define UART_1_PORT GPIOA #define UART_1_TX_PIN 9 #define UART_1_RX_PIN 10 @@ -111,12 +111,12 @@ static const timer_conf_t timer_config[] = { /* UART 2 device configuration */ #define UART_2_DEV USART3 -#define UART_2_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART3EN) +#define UART_2_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART3EN)) #define UART_2_CLK (CLOCK_CORECLOCK / 2) /* UART clock runs with 36MHz (F_CPU / 2) */ #define UART_2_IRQ_CHAN USART3_IRQn #define UART_2_ISR isr_usart3 /* UART 2 pin configuration */ -#define UART_2_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN) +#define UART_2_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOBEN)) #define UART_2_PORT GPIOB #define UART_2_TX_PIN 10 #define UART_2_RX_PIN 11 @@ -153,43 +153,43 @@ static const pwm_conf_t pwm_config[] = { /* SPI 0 device config */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~RCC_APB2ENR_SPI1EN) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_IRQ SPI1_IRQn #define SPI_0_IRQ_HANDLER isr_spi1 /* SPI 0 pin configuration */ #define SPI_0_SCK_PORT GPIOA #define SPI_0_SCK_PIN 5 #define SPI_0_SCK_AF 5 -#define SPI_0_SCK_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define SPI_0_SCK_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define SPI_0_MISO_PORT GPIOA #define SPI_0_MISO_PIN 6 #define SPI_0_MISO_AF 5 -#define SPI_0_MISO_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define SPI_0_MISO_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define SPI_0_MOSI_PORT GPIOA #define SPI_0_MOSI_PIN 7 #define SPI_0_MOSI_AF 5 -#define SPI_0_MOSI_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define SPI_0_MOSI_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) /* SPI 1 device config */ #define SPI_1_DEV SPI3 -#define SPI_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_SPI3EN) -#define SPI_1_CLKDIS() (RCC->APB1ENR &= ~RCC_APB1ENR_SPI3EN) +#define SPI_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_SPI3EN)) +#define SPI_1_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_SPI3EN)) #define SPI_1_IRQ SPI3_IRQn #define SPI_1_IRQ_HANDLER isr_spi3 /* SPI 1 pin configuration */ #define SPI_1_SCK_PORT GPIOC #define SPI_1_SCK_PIN 10 #define SPI_1_SCK_AF 6 -#define SPI_1_SCK_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOCEN) +#define SPI_1_SCK_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOCEN)) #define SPI_1_MISO_PORT GPIOC #define SPI_1_MISO_PIN 11 #define SPI_1_MISO_AF 6 -#define SPI_1_MISO_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOCEN) +#define SPI_1_MISO_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOCEN)) #define SPI_1_MOSI_PORT GPIOC #define SPI_1_MOSI_PIN 12 #define SPI_1_MOSI_AF 6 -#define SPI_1_MOSI_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOCEN) +#define SPI_1_MOSI_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOCEN)) /** @} */ /** @@ -204,8 +204,8 @@ static const pwm_conf_t pwm_config[] = { /* I2C 0 device configuration */ #define I2C_0_DEV I2C1 -#define I2C_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C1EN) -#define I2C_0_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C1EN)) #define I2C_0_EVT_IRQ I2C1_EV_IRQn #define I2C_0_EVT_ISR isr_i2c1_ev #define I2C_0_ERR_IRQ I2C1_ER_IRQn @@ -214,16 +214,16 @@ static const pwm_conf_t pwm_config[] = { #define I2C_0_SCL_PORT GPIOB #define I2C_0_SCL_PIN 8 #define I2C_0_SCL_AF 4 -#define I2C_0_SCL_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN) +#define I2C_0_SCL_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOBEN)) #define I2C_0_SDA_PORT GPIOB #define I2C_0_SDA_PIN 9 #define I2C_0_SDA_AF 4 -#define I2C_0_SDA_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN) +#define I2C_0_SDA_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOBEN)) /* I2C 1 device configuration */ #define I2C_1_DEV I2C3 -#define I2C_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C3EN) -#define I2C_1_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C3EN)) +#define I2C_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C3EN)) +#define I2C_1_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C3EN)) #define I2C_1_EVT_IRQ I2C3_EV_IRQn #define I2C_1_EVT_ISR isr_i2c3_ev #define I2C_1_ERR_IRQ I2C3_ER_IRQn @@ -232,11 +232,11 @@ static const pwm_conf_t pwm_config[] = { #define I2C_1_SCL_PORT GPIOA #define I2C_1_SCL_PIN 8 #define I2C_1_SCL_AF 3 -#define I2C_1_SCL_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define I2C_1_SCL_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define I2C_1_SDA_PORT GPIOB #define I2C_1_SDA_PIN 5 #define I2C_1_SDA_AF 8 -#define I2C_1_SDA_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN) +#define I2C_1_SDA_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOBEN)) /** @} */ #ifdef __cplusplus diff --git a/boards/nucleo-f334/include/periph_conf.h b/boards/nucleo-f334/include/periph_conf.h index 073024b07ed464f792f1440bcf1648ab29f49ecf..11e1b39285ae6b1ad56dc525e571ae010dc48d00 100644 --- a/boards/nucleo-f334/include/periph_conf.h +++ b/boards/nucleo-f334/include/periph_conf.h @@ -89,13 +89,13 @@ static const timer_conf_t timer_config[] = { /* UART 0 device configuration */ #define UART_0_DEV USART2 -#define UART_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART2EN) +#define UART_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART2EN)) #define UART_0_CLK (CLOCK_CORECLOCK / 2) /* UART clock runs with 32MHz (F_CPU / 1) */ #define UART_0_IRQ_CHAN USART2_IRQn #define UART_0_ISR isr_usart2 /* UART 0 pin configuration */ #define UART_0_PORT GPIOA -#define UART_0_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define UART_0_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define UART_0_RX_PIN 3 #define UART_0_TX_PIN 2 #define UART_0_AF 7 @@ -130,23 +130,23 @@ static const pwm_conf_t pwm_config[] = { /* SPI 0 device config */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~RCC_APB2ENR_SPI1EN) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_IRQ SPI1_IRQn #define SPI_0_IRQ_HANDLER isr_spi1 /* SPI 0 pin configuration */ #define SPI_0_SCK_PORT GPIOA #define SPI_0_SCK_PIN 5 #define SPI_0_SCK_AF 5 -#define SPI_0_SCK_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define SPI_0_SCK_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define SPI_0_MISO_PORT GPIOA #define SPI_0_MISO_PIN 6 #define SPI_0_MISO_AF 5 -#define SPI_0_MISO_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define SPI_0_MISO_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define SPI_0_MOSI_PORT GPIOA #define SPI_0_MOSI_PIN 7 #define SPI_0_MOSI_AF 5 -#define SPI_0_MOSI_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define SPI_0_MOSI_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) /** @} */ #ifdef __cplusplus diff --git a/boards/nucleo-f401/include/periph_conf.h b/boards/nucleo-f401/include/periph_conf.h index a8e2115ec362eff05f499cdd0d811d96bb2811a5..4bb04c00d01369869fc0ec9b53508f53eec24af8 100644 --- a/boards/nucleo-f401/include/periph_conf.h +++ b/boards/nucleo-f401/include/periph_conf.h @@ -111,8 +111,8 @@ static const uart_conf_t uart_config[] = { /* SPI 0 device config */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~RCC_APB2ENR_SPI1EN) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_BUS_DIV 1 /* 1 -> SPI bus runs with half CPU clock, 0 -> quarter CPU clock */ #define SPI_0_IRQ SPI1_IRQn #define SPI_0_IRQ_HANDLER isr_spi1 @@ -120,15 +120,15 @@ static const uart_conf_t uart_config[] = { #define SPI_0_SCK_PORT GPIOA /* A5 pin is shared with the green LED. */ #define SPI_0_SCK_PIN 5 #define SPI_0_SCK_AF 5 -#define SPI_0_SCK_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_SCK_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) #define SPI_0_MISO_PORT GPIOA #define SPI_0_MISO_PIN 6 #define SPI_0_MISO_AF 5 -#define SPI_0_MISO_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_MISO_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) #define SPI_0_MOSI_PORT GPIOA #define SPI_0_MOSI_PIN 7 #define SPI_0_MOSI_AF 5 -#define SPI_0_MOSI_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_MOSI_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) /** @} */ @@ -143,8 +143,8 @@ static const uart_conf_t uart_config[] = { /* I2C 0 device configuration */ #define I2C_0_DEV I2C1 -#define I2C_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C1EN) -#define I2C_0_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C1EN)) #define I2C_0_EVT_IRQ I2C1_EV_IRQn #define I2C_0_EVT_ISR isr_i2c1_ev #define I2C_0_ERR_IRQ I2C1_ER_IRQn @@ -153,11 +153,11 @@ static const uart_conf_t uart_config[] = { #define I2C_0_SCL_PORT GPIOB #define I2C_0_SCL_PIN 8 #define I2C_0_SCL_AF 4 -#define I2C_0_SCL_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define I2C_0_SCL_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) #define I2C_0_SDA_PORT GPIOB #define I2C_0_SDA_PIN 9 #define I2C_0_SDA_AF 4 -#define I2C_0_SDA_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define I2C_0_SDA_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) /** @} */ /** diff --git a/boards/nucleo-f446/include/periph_conf.h b/boards/nucleo-f446/include/periph_conf.h index fa2703181bb24d7370aba718ac034645efa3fb2a..e44c4e2f3ff1f079fb3d9d63a3e59c29819a1cb7 100644 --- a/boards/nucleo-f446/include/periph_conf.h +++ b/boards/nucleo-f446/include/periph_conf.h @@ -111,8 +111,8 @@ static const uart_conf_t uart_config[] = { /* SPI 0 device config */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~RCC_APB2ENR_SPI1EN) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_BUS_DIV 1 /* 1 -> SPI bus runs with half CPU clock, 0 -> quarter CPU clock */ #define SPI_0_IRQ SPI1_IRQn #define SPI_0_IRQ_HANDLER isr_spi1 @@ -120,15 +120,15 @@ static const uart_conf_t uart_config[] = { #define SPI_0_SCK_PORT GPIOA /* A5 pin is shared with the green LED. */ #define SPI_0_SCK_PIN 5 #define SPI_0_SCK_AF 5 -#define SPI_0_SCK_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_SCK_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) #define SPI_0_MISO_PORT GPIOA #define SPI_0_MISO_PIN 6 #define SPI_0_MISO_AF 5 -#define SPI_0_MISO_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_MISO_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) #define SPI_0_MOSI_PORT GPIOA #define SPI_0_MOSI_PIN 7 #define SPI_0_MOSI_AF 5 -#define SPI_0_MOSI_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_MOSI_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) /** @} */ @@ -143,8 +143,8 @@ static const uart_conf_t uart_config[] = { /* I2C 0 device configuration */ #define I2C_0_DEV I2C1 -#define I2C_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C1EN) -#define I2C_0_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C1EN)) #define I2C_0_EVT_IRQ I2C1_EV_IRQn #define I2C_0_EVT_ISR isr_i2c1_ev #define I2C_0_ERR_IRQ I2C1_ER_IRQn @@ -153,11 +153,11 @@ static const uart_conf_t uart_config[] = { #define I2C_0_SCL_PORT GPIOB #define I2C_0_SCL_PIN 8 #define I2C_0_SCL_AF 4 -#define I2C_0_SCL_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define I2C_0_SCL_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) #define I2C_0_SDA_PORT GPIOB #define I2C_0_SDA_PIN 9 #define I2C_0_SDA_AF 4 -#define I2C_0_SDA_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define I2C_0_SDA_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) /** @} */ /** diff --git a/boards/nucleo-l1/include/periph_conf.h b/boards/nucleo-l1/include/periph_conf.h index 52d27d3c8d50fa280c6bf288b7523a325163bc28..77540afc495b773bb5561fb3eb434a2ac0e8260f 100644 --- a/boards/nucleo-l1/include/periph_conf.h +++ b/boards/nucleo-l1/include/periph_conf.h @@ -89,7 +89,7 @@ static const timer_conf_t timer_config[] = { /* UART 0 device configuration */ #define UART_0_DEV USART2 -#define UART_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART2EN) +#define UART_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART2EN)) #define UART_0_CLK (CLOCK_CORECLOCK) /* UART clock runs with 32MHz (F_CPU / 1) */ #define UART_0_IRQ USART2_IRQn #define UART_0_ISR isr_usart2 @@ -108,12 +108,12 @@ static const timer_conf_t timer_config[] = { /* SPI 0 device configuration */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~(RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_IRQ SPI1_IRQn #define SPI_0_ISR isr_spi1 /* SPI 0 pin configuration */ -#define SPI_0_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define SPI_0_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define SPI_0_PORT GPIOA #define SPI_0_PIN_SCK 5 #define SPI_0_PIN_MOSI 7 diff --git a/boards/spark-core/include/periph_conf.h b/boards/spark-core/include/periph_conf.h index 80ff806d041852a110ccea097639b318ba4d04a3..83e2a641b347877559a6dc34f1bff4d1c4baf16b 100644 --- a/boards/spark-core/include/periph_conf.h +++ b/boards/spark-core/include/periph_conf.h @@ -116,8 +116,8 @@ static const uart_conf_t uart_config[] = { /* SPI 0 device configuration */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~(RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_BUS_DIV 0 /* 1 -> SPI runs with full CPU clock, 0 -> half CPU clock */ /* SPI 0 pin configuration */ #define SPI_0_CLK_PIN GPIO_PIN(PORT_B,15) diff --git a/boards/stm32f0discovery/include/periph_conf.h b/boards/stm32f0discovery/include/periph_conf.h index 4c2027c0d78f00dfcbdae10f72fe0e9afa8ed92a..775fec08d1106cbaff330d02fd7d2aa4e6156207 100644 --- a/boards/stm32f0discovery/include/periph_conf.h +++ b/boards/stm32f0discovery/include/periph_conf.h @@ -71,26 +71,26 @@ static const timer_conf_t timer_config[] = { /* UART 0 device configuration */ #define UART_0_DEV USART1 -#define UART_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_USART1EN) -#define UART_0_CLKDIS() (RCC->APB2ENR &= (~RCC_APB2ENR_USART1EN)) +#define UART_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_USART1EN)) +#define UART_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_USART1EN)) #define UART_0_IRQ USART1_IRQn #define UART_0_ISR isr_usart1 /* UART 0 pin configuration */ #define UART_0_PORT GPIOB -#define UART_0_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN) +#define UART_0_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOBEN)) #define UART_0_RX_PIN 7 #define UART_0_TX_PIN 6 #define UART_0_AF 0 /* UART 1 device configuration */ #define UART_1_DEV USART2 -#define UART_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART2EN) -#define UART_1_CLKDIS() (RCC->APB1ENR &= (~RCC_APB1ENR_USART2EN)) +#define UART_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART2EN)) +#define UART_1_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_USART2EN)) #define UART_1_IRQ USART2_IRQn #define UART_1_ISR isr_usart2 /* UART 1 pin configuration */ #define UART_1_PORT GPIOA -#define UART_1_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define UART_1_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define UART_1_RX_PIN 3 #define UART_1_TX_PIN 2 #define UART_1_AF 1 @@ -133,13 +133,13 @@ static const timer_conf_t timer_config[] = { /* SPI 0 device config */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~(RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_IRQ SPI1_IRQn #define SPI_0_ISR isr_spi1 /* SPI 1 pin configuration */ #define SPI_0_PORT GPIOA -#define SPI_0_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define SPI_0_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define SPI_0_PIN_SCK 5 #define SPI_0_PIN_MISO 6 #define SPI_0_PIN_MOSI 7 @@ -147,13 +147,13 @@ static const timer_conf_t timer_config[] = { /* SPI 1 device config */ #define SPI_1_DEV SPI2 -#define SPI_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_SPI2EN) -#define SPI_1_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_SPI2EN)) +#define SPI_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_SPI2EN)) +#define SPI_1_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_SPI2EN)) #define SPI_1_IRQ SPI2_IRQn #define SPI_1_ISR isr_spi2 /* SPI 1 pin configuration */ #define SPI_1_PORT GPIOB -#define SPI_1_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN) +#define SPI_1_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOBEN)) #define SPI_1_PIN_SCK 13 #define SPI_1_PIN_MISO 14 #define SPI_1_PIN_MOSI 15 diff --git a/boards/stm32f3discovery/include/periph_conf.h b/boards/stm32f3discovery/include/periph_conf.h index 7c33e85eec8f7cbb8284a3fd49cad87d0452a4bd..eccc128fd29d9c67977480d8ec2981d3b002e2b1 100644 --- a/boards/stm32f3discovery/include/periph_conf.h +++ b/boards/stm32f3discovery/include/periph_conf.h @@ -87,12 +87,12 @@ static const timer_conf_t timer_config[] = { /* UART 0 device configuration */ #define UART_0_DEV USART1 -#define UART_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_USART1EN) +#define UART_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_USART1EN)) #define UART_0_CLK (CLOCK_CORECLOCK / 1) /* UART clock runs with 72MHz (F_CPU / 1) */ #define UART_0_IRQ_CHAN USART1_IRQn #define UART_0_ISR isr_usart1 /* UART 0 pin configuration */ -#define UART_0_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define UART_0_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define UART_0_PORT GPIOA #define UART_0_TX_PIN 9 #define UART_0_RX_PIN 10 @@ -100,12 +100,12 @@ static const timer_conf_t timer_config[] = { /* UART 1 device configuration */ #define UART_1_DEV USART2 -#define UART_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART2EN) +#define UART_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART2EN)) #define UART_1_CLK (CLOCK_CORECLOCK / 2) /* UART clock runs with 36MHz (F_CPU / 2) */ #define UART_1_IRQ_CHAN USART2_IRQn #define UART_1_ISR isr_usart2 /* UART 1 pin configuration */ -#define UART_1_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIODEN) +#define UART_1_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIODEN)) #define UART_1_PORT GPIOD #define UART_1_TX_PIN 5 #define UART_1_RX_PIN 6 @@ -113,12 +113,12 @@ static const timer_conf_t timer_config[] = { /* UART 1 device configuration */ #define UART_2_DEV USART3 -#define UART_2_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_USART3EN) +#define UART_2_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_USART3EN)) #define UART_2_CLK (CLOCK_CORECLOCK / 2) /* UART clock runs with 36MHz (F_CPU / 2) */ #define UART_2_IRQ_CHAN USART3_IRQn #define UART_2_ISR isr_usart3 /* UART 1 pin configuration */ -#define UART_2_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIODEN) +#define UART_2_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIODEN)) #define UART_2_PORT GPIOD #define UART_2_TX_PIN 8 #define UART_2_RX_PIN 9 @@ -164,43 +164,43 @@ static const pwm_conf_t pwm_config[] = { /* SPI 0 device config */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~RCC_APB2ENR_SPI1EN) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_IRQ SPI1_IRQn #define SPI_0_IRQ_HANDLER isr_spi1 /* SPI 0 pin configuration */ #define SPI_0_SCK_PORT GPIOA #define SPI_0_SCK_PIN 5 #define SPI_0_SCK_AF 5 -#define SPI_0_SCK_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define SPI_0_SCK_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define SPI_0_MISO_PORT GPIOA #define SPI_0_MISO_PIN 6 #define SPI_0_MISO_AF 5 -#define SPI_0_MISO_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define SPI_0_MISO_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) #define SPI_0_MOSI_PORT GPIOA #define SPI_0_MOSI_PIN 7 #define SPI_0_MOSI_AF 5 -#define SPI_0_MOSI_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOAEN) +#define SPI_0_MOSI_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOAEN)) /* SPI 1 device config */ #define SPI_1_DEV SPI3 -#define SPI_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_SPI3EN) -#define SPI_1_CLKDIS() (RCC->APB1ENR &= ~RCC_APB1ENR_SPI3EN) +#define SPI_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_SPI3EN)) +#define SPI_1_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_SPI3EN)) #define SPI_1_IRQ SPI3_IRQn #define SPI_1_IRQ_HANDLER isr_spi3 /* SPI 1 pin configuration */ #define SPI_1_SCK_PORT GPIOC #define SPI_1_SCK_PIN 10 #define SPI_1_SCK_AF 6 -#define SPI_1_SCK_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOCEN) +#define SPI_1_SCK_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOCEN)) #define SPI_1_MISO_PORT GPIOC #define SPI_1_MISO_PIN 11 #define SPI_1_MISO_AF 6 -#define SPI_1_MISO_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOCEN) +#define SPI_1_MISO_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOCEN)) #define SPI_1_MOSI_PORT GPIOC #define SPI_1_MOSI_PIN 12 #define SPI_1_MOSI_AF 6 -#define SPI_1_MOSI_PORT_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOCEN) +#define SPI_1_MOSI_PORT_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOCEN)) /** @} */ /** @@ -215,8 +215,8 @@ static const pwm_conf_t pwm_config[] = { /* I2C 0 device configuration */ #define I2C_0_DEV I2C1 -#define I2C_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C1EN) -#define I2C_0_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C1EN)) #define I2C_0_EVT_IRQ I2C1_EV_IRQn #define I2C_0_EVT_ISR isr_i2c1_ev #define I2C_0_ERR_IRQ I2C1_ER_IRQn @@ -225,16 +225,16 @@ static const pwm_conf_t pwm_config[] = { #define I2C_0_SCL_PORT GPIOB #define I2C_0_SCL_PIN 6 #define I2C_0_SCL_AF 4 -#define I2C_0_SCL_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN) +#define I2C_0_SCL_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOBEN)) #define I2C_0_SDA_PORT GPIOB #define I2C_0_SDA_PIN 7 #define I2C_0_SDA_AF 4 -#define I2C_0_SDA_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOBEN) +#define I2C_0_SDA_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOBEN)) /* I2C 1 device configuration */ #define I2C_1_DEV I2C2 -#define I2C_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C2EN) -#define I2C_1_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C2EN)) +#define I2C_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C2EN)) +#define I2C_1_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C2EN)) #define I2C_1_EVT_IRQ I2C2_EV_IRQn #define I2C_1_EVT_ISR isr_i2c2_ev #define I2C_1_ERR_IRQ I2C2_ER_IRQn @@ -243,11 +243,11 @@ static const pwm_conf_t pwm_config[] = { #define I2C_1_SCL_PORT GPIOF #define I2C_1_SCL_PIN 1 #define I2C_1_SCL_AF 4 -#define I2C_1_SCL_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOFEN) +#define I2C_1_SCL_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOFEN)) #define I2C_1_SDA_PORT GPIOF #define I2C_1_SDA_PIN 0 #define I2C_1_SDA_AF 4 -#define I2C_1_SDA_CLKEN() (RCC->AHBENR |= RCC_AHBENR_GPIOFEN) +#define I2C_1_SDA_CLKEN() (periph_clk_en(AHB, RCC_AHBENR_GPIOFEN)) /** @} */ #ifdef __cplusplus diff --git a/boards/stm32f4discovery/include/periph_conf.h b/boards/stm32f4discovery/include/periph_conf.h index ff28e418812b55b9d6701d6e680057f95c89a409..1116c1d66b3e5821c73aad49aeebd33f0a448372 100644 --- a/boards/stm32f4discovery/include/periph_conf.h +++ b/boards/stm32f4discovery/include/periph_conf.h @@ -186,8 +186,8 @@ static const pwm_conf_t pwm_config[] = { /* SPI 0 device config */ #define SPI_0_DEV SPI1 -#define SPI_0_CLKEN() (RCC->APB2ENR |= RCC_APB2ENR_SPI1EN) -#define SPI_0_CLKDIS() (RCC->APB2ENR &= ~RCC_APB2ENR_SPI1EN) +#define SPI_0_CLKEN() (periph_clk_en(APB2, RCC_APB2ENR_SPI1EN)) +#define SPI_0_CLKDIS() (periph_clk_dis(APB2, RCC_APB2ENR_SPI1EN)) #define SPI_0_BUS_DIV 1 /* 1 -> SPI runs with half CPU clock, 0 -> quarter CPU clock */ #define SPI_0_IRQ SPI1_IRQn #define SPI_0_IRQ_HANDLER isr_spi1 @@ -195,20 +195,20 @@ static const pwm_conf_t pwm_config[] = { #define SPI_0_SCK_PORT GPIOA #define SPI_0_SCK_PIN 5 #define SPI_0_SCK_AF 5 -#define SPI_0_SCK_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_SCK_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) #define SPI_0_MISO_PORT GPIOA #define SPI_0_MISO_PIN 6 #define SPI_0_MISO_AF 5 -#define SPI_0_MISO_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_MISO_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) #define SPI_0_MOSI_PORT GPIOA #define SPI_0_MOSI_PIN 7 #define SPI_0_MOSI_AF 5 -#define SPI_0_MOSI_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN) +#define SPI_0_MOSI_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOAEN)) /* SPI 1 device config */ #define SPI_1_DEV SPI2 -#define SPI_1_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_SPI2EN) -#define SPI_1_CLKDIS() (RCC->APB1ENR &= ~RCC_APB1ENR_SPI2EN) +#define SPI_1_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_SPI2EN)) +#define SPI_1_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_SPI2EN)) #define SPI_1_BUS_DIV 0 /* 1 -> SPI runs with half CPU clock, 0 -> quarter CPU clock */ #define SPI_1_IRQ SPI2_IRQn #define SPI_1_IRQ_HANDLER isr_spi2 @@ -216,15 +216,15 @@ static const pwm_conf_t pwm_config[] = { #define SPI_1_SCK_PORT GPIOB #define SPI_1_SCK_PIN 13 #define SPI_1_SCK_AF 5 -#define SPI_1_SCK_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define SPI_1_SCK_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) #define SPI_1_MISO_PORT GPIOB #define SPI_1_MISO_PIN 14 #define SPI_1_MISO_AF 5 -#define SPI_1_MISO_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define SPI_1_MISO_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) #define SPI_1_MOSI_PORT GPIOB #define SPI_1_MOSI_PIN 15 #define SPI_1_MOSI_AF 5 -#define SPI_1_MOSI_PORT_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define SPI_1_MOSI_PORT_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) /** @} */ /** @@ -238,8 +238,8 @@ static const pwm_conf_t pwm_config[] = { /* I2C 0 device configuration */ #define I2C_0_DEV I2C1 -#define I2C_0_CLKEN() (RCC->APB1ENR |= RCC_APB1ENR_I2C1EN) -#define I2C_0_CLKDIS() (RCC->APB1ENR &= ~(RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKEN() (periph_clk_en(APB1, RCC_APB1ENR_I2C1EN)) +#define I2C_0_CLKDIS() (periph_clk_dis(APB1, RCC_APB1ENR_I2C1EN)) #define I2C_0_EVT_IRQ I2C1_EV_IRQn #define I2C_0_EVT_ISR isr_i2c1_ev #define I2C_0_ERR_IRQ I2C1_ER_IRQn @@ -248,11 +248,11 @@ static const pwm_conf_t pwm_config[] = { #define I2C_0_SCL_PORT GPIOB #define I2C_0_SCL_PIN 6 #define I2C_0_SCL_AF 4 -#define I2C_0_SCL_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define I2C_0_SCL_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) #define I2C_0_SDA_PORT GPIOB #define I2C_0_SDA_PIN 7 #define I2C_0_SDA_AF 4 -#define I2C_0_SDA_CLKEN() (RCC->AHB1ENR |= RCC_AHB1ENR_GPIOBEN) +#define I2C_0_SDA_CLKEN() (periph_clk_en(AHB1, RCC_AHB1ENR_GPIOBEN)) /** @} */ #ifdef __cplusplus diff --git a/cpu/stm32f0/periph/adc.c b/cpu/stm32f0/periph/adc.c index fe381fc90ac9571f16ed198f66d3ffd5a0877f0c..8429d66e9332675e981c1161dcda30146ab76698 100644 --- a/cpu/stm32f0/periph/adc.c +++ b/cpu/stm32f0/periph/adc.c @@ -44,12 +44,12 @@ static mutex_t lock = MUTEX_INIT; static inline void prep(void) { mutex_lock(&lock); - RCC->APB2ENR |= RCC_APB2ENR_ADCEN; + periph_clk_en(APB2, RCC_APB2ENR_ADCEN); } static inline void done(void) { - RCC->APB2ENR &= ~(RCC_APB2ENR_ADCEN); + periph_clk_dis(APB2, RCC_APB2ENR_ADCEN); mutex_unlock(&lock); } diff --git a/cpu/stm32f0/periph/gpio.c b/cpu/stm32f0/periph/gpio.c index 1a40186f8e172390d7815320eab6a3048bddb510..99fb2e846ba331105b59200c1ee5e8bc14f767d7 100644 --- a/cpu/stm32f0/periph/gpio.c +++ b/cpu/stm32f0/periph/gpio.c @@ -67,7 +67,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode) int pin_num = _pin_num(pin); /* enable clock */ - RCC->AHBENR |= (RCC_AHBENR_GPIOAEN << _port_num(pin)); + periph_clk_en(AHB, (RCC_AHBENR_GPIOAEN << _port_num(pin))); /* set mode */ port->MODER &= ~(0x3 << (2 * pin_num)); @@ -96,7 +96,7 @@ int gpio_init_int(gpio_t pin, gpio_mode_t mode, gpio_flank_t flank, isr_ctx[pin_num].arg = arg; /* enable clock of the SYSCFG module for EXTI configuration */ - RCC->APB2ENR |= RCC_APB2ENR_SYSCFGCOMPEN; + periph_clk_en(APB2, RCC_APB2ENR_SYSCFGCOMPEN); /* initialize pin as input */ gpio_init(pin, mode); @@ -145,7 +145,7 @@ void gpio_init_analog(gpio_t pin) { /* enable clock, needed as this function can be used without calling * gpio_init first */ - RCC->AHBENR |= (RCC_AHBENR_GPIOAEN << _port_num(pin)); + periph_clk_en(AHB, (RCC_AHBENR_GPIOAEN << _port_num(pin))); /* set to analog mode */ _port(pin)->MODER |= (0x3 << (2 * _pin_num(pin))); } diff --git a/cpu/stm32f0/periph/rtc.c b/cpu/stm32f0/periph/rtc.c index 54b90b29a6a29739f36ea70332af1424081c3af2..93bd75f97e91be372fe383e38ebf926cb75f08c9 100644 --- a/cpu/stm32f0/periph/rtc.c +++ b/cpu/stm32f0/periph/rtc.c @@ -53,7 +53,7 @@ void rtc_init(void) { /* Enable write access to RTC registers */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); PWR->CR |= PWR_CR_DBP; /* Reset RTC domain */ @@ -102,7 +102,7 @@ void rtc_init(void) int rtc_set_time(struct tm *time) { /* Enable write access to RTC registers */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); PWR->CR |= PWR_CR_DBP; /* Unlock RTC write protection */ @@ -146,7 +146,7 @@ int rtc_get_time(struct tm *time) int rtc_set_alarm(struct tm *time, rtc_alarm_cb_t cb, void *arg) { /* Enable write access to RTC registers */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); PWR->CR |= PWR_CR_DBP; /* Unlock RTC write protection */ @@ -217,7 +217,7 @@ void rtc_poweron(void) void rtc_poweroff(void) { /* Enable write access to RTC registers */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); PWR->CR |= PWR_CR_DBP; /* Reset RTC domain */ diff --git a/cpu/stm32f1/periph/adc.c b/cpu/stm32f1/periph/adc.c index d12de67866624ec812f89f170c5edf1e69552f79..a69c71532a1a1878f0bc430d12a3b4c13df4d87b 100644 --- a/cpu/stm32f1/periph/adc.c +++ b/cpu/stm32f1/periph/adc.c @@ -57,12 +57,12 @@ static inline ADC_TypeDef *dev(adc_t line) static inline void prep(adc_t line) { mutex_lock(&locks[adc_config[line].dev]); - RCC->APB2ENR |= (RCC_APB2ENR_ADC1EN << adc_config[line].dev); + periph_clk_en(APB2, (RCC_APB2ENR_ADC1EN << adc_config[line].dev)); } static inline void done(adc_t line) { - RCC->APB2ENR &= ~(RCC_APB2ENR_ADC1EN << adc_config[line].dev); + periph_clk_dis(APB2, (RCC_APB2ENR_ADC1EN << adc_config[line].dev)); mutex_unlock(&locks[adc_config[line].dev]); } diff --git a/cpu/stm32f1/periph/gpio.c b/cpu/stm32f1/periph/gpio.c index 721edfc06f06437ad909affee6fe10c30bd246a3..06076906c16dc9c68864aca4cc240eee808831d9 100644 --- a/cpu/stm32f1/periph/gpio.c +++ b/cpu/stm32f1/periph/gpio.c @@ -85,7 +85,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode) } /* enable the clock for the selected port */ - RCC->APB2ENR |= (RCC_APB2ENR_IOPAEN << _port_num(pin)); + periph_clk_en(APB2, (RCC_APB2ENR_IOPAEN << _port_num(pin))); /* set pin mode */ port->CR[pin_num >> 3] &= ~(0xf << ((pin_num & 0x7) * 4)); @@ -110,7 +110,7 @@ int gpio_init_int(gpio_t pin, gpio_mode_t mode, gpio_flank_t flank, exti_ctx[pin_num].cb = cb; exti_ctx[pin_num].arg = arg; /* enable alternate function clock for the GPIO module */ - RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; + periph_clk_en(APB2, RCC_APB2ENR_AFIOEN); /* configure the EXTI channel */ AFIO->EXTICR[pin_num >> 2] &= ~(0xf << ((pin_num & 0x3) * 4)); AFIO->EXTICR[pin_num >> 2] |= (_port_num(pin) << ((pin_num & 0x3) * 4)); @@ -142,7 +142,7 @@ void gpio_init_af(gpio_t pin, gpio_af_out_t af) GPIO_TypeDef *port = _port(pin); /* enable the clock for the selected port */ - RCC->APB2ENR |= (RCC_APB2ENR_IOPAEN << _port_num(pin)); + periph_clk_en(APB2, (RCC_APB2ENR_IOPAEN << _port_num(pin))); /* configure the pin */ port->CR[pin_num >> 3] &= ~(0xf << ((pin_num & 0x7) * 4)); port->CR[pin_num >> 3] |= (af << ((pin_num & 0x7) * 4)); @@ -151,7 +151,7 @@ void gpio_init_af(gpio_t pin, gpio_af_out_t af) void gpio_init_analog(gpio_t pin) { /* enable the GPIO port RCC */ - RCC->APB2ENR |= (RCC_APB2ENR_IOPAEN << _port_num(pin)); + periph_clk_en(APB2, (RCC_APB2ENR_IOPAEN << _port_num(pin))); /* map the pin as analog input */ int pin_num = _pin_num(pin); diff --git a/cpu/stm32f1/periph/rtt.c b/cpu/stm32f1/periph/rtt.c index 6a6340d1d9eee9ad5a1581639efaaac03c4881af..766f194ebc94d20079d502d0592d030bd937f63a 100644 --- a/cpu/stm32f1/periph/rtt.c +++ b/cpu/stm32f1/periph/rtt.c @@ -155,7 +155,7 @@ void rtt_clear_alarm(void) void rtt_poweron(void) { - RCC->APB1ENR |= (RCC_APB1ENR_BKPEN|RCC_APB1ENR_PWREN); /* enable BKP and PWR, Clock */ + periph_clk_en(APB1, (RCC_APB1ENR_BKPEN|RCC_APB1ENR_PWREN)); /* enable BKP and PWR, Clock */ /* RTC clock source configuration */ PWR->CR |= PWR_CR_DBP; /* Allow access to BKP Domain */ RCC->BDCR |= RCC_BDCR_LSEON; /* Enable LSE OSC */ @@ -168,7 +168,7 @@ void rtt_poweroff(void) { PWR->CR |= PWR_CR_DBP; /* Allow access to BKP Domain */ RCC->BDCR &= ~RCC_BDCR_RTCEN; /* disable RTC */ - RCC->APB1ENR &= ~(RCC_APB1ENR_BKPEN|RCC_APB1ENR_PWREN); /* disable BKP and PWR, Clock */ + periph_clk_dis(APB1, (RCC_APB1ENR_BKPEN|RCC_APB1ENR_PWREN)); /* disable BKP and PWR, Clock */ } inline void _rtt_enter_config_mode(void) diff --git a/cpu/stm32f1/periph/uart.c b/cpu/stm32f1/periph/uart.c index c46a867fff23e36f9d17bcc16fa7c905eaf544fe..5a553c712ba9882b17498b999b3ea508747a44b0 100644 --- a/cpu/stm32f1/periph/uart.c +++ b/cpu/stm32f1/periph/uart.c @@ -43,10 +43,10 @@ static inline USART_TypeDef *dev(uart_t uart) static void clk_en(uart_t uart) { if (uart_config[uart].bus == APB1) { - RCC->APB1ENR |= uart_config[uart].rcc_pin; + periph_clk_en(APB1, uart_config[uart].rcc_pin); } else { - RCC->APB2ENR |= uart_config[uart].rcc_pin; + periph_clk_en(APB2, uart_config[uart].rcc_pin); } } diff --git a/cpu/stm32f2/include/periph_cpu.h b/cpu/stm32f2/include/periph_cpu.h index 29d28648cc03d9f1347c4fe7982c89ede512693c..2c15dce26df08024f3592251fe5491ef25123797 100644 --- a/cpu/stm32f2/include/periph_cpu.h +++ b/cpu/stm32f2/include/periph_cpu.h @@ -52,15 +52,6 @@ typedef enum { } gpio_mode_t; /** @} */ -/** - * @brief Available peripheral buses - */ -enum { - AHB1, /**< AHB1 bus */ - AHB2, /**< AHB2 bus */ - AHB3 /**< AHB3 bus */ -}; - /** * @brief Available ports on the STM32F2 family */ @@ -161,9 +152,9 @@ void gpio_init_analog(gpio_t pin); static inline void dma_poweron(int stream) { if (stream < 8) { - RCC->AHB1ENR |= RCC_AHB1ENR_DMA1EN; + periph_clk_en(AHB1, RCC_AHB1ENR_DMA1EN); } else { - RCC->AHB1ENR |= RCC_AHB1ENR_DMA2EN; + periph_clk_en(AHB1, RCC_AHB1ENR_DMA2EN); } } diff --git a/cpu/stm32f2/periph/adc.c b/cpu/stm32f2/periph/adc.c index 8025ccadf986a249fba8e94dcee9e5c2e423c55a..2aaf639d51412e6c80ce3fa65dd34b0adcdb346e 100644 --- a/cpu/stm32f2/periph/adc.c +++ b/cpu/stm32f2/periph/adc.c @@ -60,12 +60,12 @@ static inline ADC_TypeDef *dev(adc_t line) static inline void prep(adc_t line) { mutex_lock(&locks[adc_config[line].dev]); - RCC->APB2ENR |= (RCC_APB2ENR_ADC1EN << adc_config[line].dev); + periph_clk_en(APB2, (RCC_APB2ENR_ADC1EN << adc_config[line].dev)); } static inline void done(adc_t line) { - RCC->APB2ENR &= ~(RCC_APB2ENR_ADC1EN << adc_config[line].dev); + periph_clk_dis(APB2, (RCC_APB2ENR_ADC1EN << adc_config[line].dev)); mutex_unlock(&locks[adc_config[line].dev]); } diff --git a/cpu/stm32f2/periph/dac.c b/cpu/stm32f2/periph/dac.c index f7dc2c99dd0fc9a48e4547e9469d16147141fa69..0336480e767f63dac27d427a5279e95d1dace56f 100644 --- a/cpu/stm32f2/periph/dac.c +++ b/cpu/stm32f2/periph/dac.c @@ -45,7 +45,7 @@ int8_t dac_init(dac_t line) /* configure pin */ gpio_init_analog(dac_config[line].pin); /* enable the DAC's clock */ - RCC->APB1ENR |= RCC_APB1ENR_DACEN; + periph_clk_en(APB1, RCC_APB1ENR_DACEN); /* reset output and enable the line's channel */ dac_set(line, 0); dac_poweron(line); diff --git a/cpu/stm32f2/periph/gpio.c b/cpu/stm32f2/periph/gpio.c index 6ce2f513e06f59b1109a1cb2f25a956dc21dd736..d7d90e672d0b444d6dcbb394ee8d451b2b338b24 100644 --- a/cpu/stm32f2/periph/gpio.c +++ b/cpu/stm32f2/periph/gpio.c @@ -68,7 +68,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode) int pin_num = _pin_num(pin); /* enable clock */ - RCC->AHB1ENR |= (RCC_AHB1ENR_GPIOAEN << _port_num(pin)); + periph_clk_en(AHB1, (RCC_AHB1ENR_GPIOAEN << _port_num(pin))); /* set mode */ port->MODER &= ~(0x3 << (2 * pin_num)); @@ -96,7 +96,7 @@ int gpio_init_int(gpio_t pin, gpio_mode_t mode, gpio_flank_t flank, exti_chan[pin_num].cb = cb; exti_chan[pin_num].arg = arg; /* enable the SYSCFG clock */ - RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN; + periph_clk_en(APB2, RCC_APB2ENR_SYSCFGEN); /* initialize pin as input */ gpio_init(pin, mode); /* enable global pin interrupt */ @@ -150,7 +150,7 @@ void gpio_init_af(gpio_t pin, gpio_af_t af) void gpio_init_analog(gpio_t pin) { /* enable clock */ - RCC->AHB1ENR |= (RCC_AHB1ENR_GPIOAEN << _port_num(pin)); + periph_clk_en(AHB1, (RCC_AHB1ENR_GPIOAEN << _port_num(pin))); /* set to analog mode */ _port(pin)->MODER |= (0x3 << (2 * _pin_num(pin))); } diff --git a/cpu/stm32f2/periph/hwrng.c b/cpu/stm32f2/periph/hwrng.c index c1063e29a5736152d076373c6ac4987605e4ef50..6412c1e6729cda417edabcfe8405a005163a1500 100644 --- a/cpu/stm32f2/periph/hwrng.c +++ b/cpu/stm32f2/periph/hwrng.c @@ -30,9 +30,9 @@ void hwrng_init(void) { /* enable RNG reset state */ - RCC->AHB2ENR |= RCC_AHB2ENR_RNGEN; + periph_clk_en(AHB2, RCC_AHB2ENR_RNGEN); /* release RNG from reset state */ - RCC->AHB2ENR &= ~RCC_AHB2ENR_RNGEN; + periph_clk_dis(AHB2, RCC_AHB2ENR_RNGEN); } @@ -43,7 +43,7 @@ void hwrng_read(uint8_t *buf, unsigned int num) unsigned int count = 0; /* enable RNG reset state */ - RCC->AHB2ENR |= RCC_AHB2ENR_RNGEN; + periph_clk_en(AHB2, RCC_AHB2ENR_RNGEN); /* enable the RNG */ RNG->CR |= RNG_CR_RNGEN; @@ -62,7 +62,7 @@ void hwrng_read(uint8_t *buf, unsigned int num) /* disable the RNG */ RNG->CR &= ~RNG_CR_RNGEN; /* release RNG from reset state */ - RCC->AHB2ENR &= ~RCC_AHB2ENR_RNGEN; + periph_clk_dis(AHB2, RCC_AHB2ENR_RNGEN); } #endif /* RANDOM_NUMOF */ diff --git a/cpu/stm32f2/periph/rtc.c b/cpu/stm32f2/periph/rtc.c index 53400f931a663f39f4b88c0bb8d2b7c506e607c6..4b29580a827cd0c644d2822bdae44f588add1bbc 100644 --- a/cpu/stm32f2/periph/rtc.c +++ b/cpu/stm32f2/periph/rtc.c @@ -52,7 +52,7 @@ void rtc_init(void) { /* Enable write access to RTC registers */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); PWR->CR |= PWR_CR_DBP; /* Reset RTC domain */ @@ -103,7 +103,7 @@ void rtc_init(void) int rtc_set_time(struct tm *time) { /* Enable write access to RTC registers */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); PWR->CR |= PWR_CR_DBP; /* Unlock RTC write protection */ @@ -158,7 +158,7 @@ int rtc_get_time(struct tm *time) int rtc_set_alarm(struct tm *time, rtc_alarm_cb_t cb, void *arg) { /* Enable write access to RTC registers */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); PWR->CR |= PWR_CR_DBP; /* Unlock RTC write protection */ @@ -232,7 +232,7 @@ void rtc_poweron(void) void rtc_poweroff(void) { /* Enable write access to RTC registers */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); PWR->CR |= PWR_CR_DBP; /* Reset RTC domain */ diff --git a/cpu/stm32f2/periph/uart.c b/cpu/stm32f2/periph/uart.c index 148e86b13c836eb3f4b68d67f570976663a88a4b..74d6492459d9bc173f44066e3bf69ccaaefb613d 100644 --- a/cpu/stm32f2/periph/uart.c +++ b/cpu/stm32f2/periph/uart.c @@ -177,20 +177,20 @@ void uart_write(uart_t uart, const uint8_t *data, size_t len) void uart_poweron(uart_t uart) { if (_bus(uart) == 1) { - RCC->APB1ENR |= uart_config[uart].rcc_mask; + periph_clk_en(APB1, uart_config[uart].rcc_mask); } else { - RCC->APB2ENR |= uart_config[uart].rcc_mask; + periph_clk_en(APB2, uart_config[uart].rcc_mask); } } void uart_poweroff(uart_t uart) { if (_bus(uart) == 1) { - RCC->APB1ENR &= ~(uart_config[uart].rcc_mask); + periph_clk_dis(APB1, uart_config[uart].rcc_mask); } else { - RCC->APB2ENR &= ~(uart_config[uart].rcc_mask); + periph_clk_dis(APB2, uart_config[uart].rcc_mask); } } diff --git a/cpu/stm32f3/periph/gpio.c b/cpu/stm32f3/periph/gpio.c index 0559e1acf5195ffec37f37dda4c3f4cca252cde8..00248550ebf77ef6e1eaa8065e20f7829d1a9823 100644 --- a/cpu/stm32f3/periph/gpio.c +++ b/cpu/stm32f3/periph/gpio.c @@ -67,7 +67,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode) int pin_num = _pin_num(pin); /* enable clock */ - RCC->AHBENR |= (RCC_AHBENR_GPIOAEN << _port_num(pin)); + periph_clk_en(AHB, (RCC_AHBENR_GPIOAEN << _port_num(pin))); /* set mode */ port->MODER &= ~(0x3 << (2 * pin_num)); @@ -95,7 +95,7 @@ int gpio_init_int(gpio_t pin, gpio_mode_t mode, gpio_flank_t flank, exti_chan[pin_num].cb = cb; exti_chan[pin_num].arg = arg; /* enable the SYSCFG clock */ - RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN; + periph_clk_en(APB2, RCC_APB2ENR_SYSCFGEN); /* configure pin as input */ gpio_init(pin, mode); /* enable global pin interrupt */ @@ -150,7 +150,7 @@ void gpio_init_analog(gpio_t pin) { /* enable clock, needed as this function can be used without calling * gpio_init first */ - RCC->AHBENR |= (RCC_AHBENR_GPIOAEN << _port_num(pin)); + periph_clk_en(AHB, (RCC_AHBENR_GPIOAEN << _port_num(pin))); /* set to analog mode */ _port(pin)->MODER |= (0x3 << (2 * _pin_num(pin))); } diff --git a/cpu/stm32f4/cpu.c b/cpu/stm32f4/cpu.c index 445e5983dc0481d49e06ef0367a84fd06a55d50a..b2e50c6988cbc58581f1d76baa1c338e9f251408 100644 --- a/cpu/stm32f4/cpu.c +++ b/cpu/stm32f4/cpu.c @@ -89,7 +89,7 @@ static void cpu_clock_init(void) /* setup power module */ /* enable the power module */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); /* set the voltage scaling to 1 to enable the maximum frequency */ PWR->CR |= PWR_CR_VOS_1; diff --git a/cpu/stm32f4/include/periph_cpu.h b/cpu/stm32f4/include/periph_cpu.h index 25eddf38bd8300f99d93f0c79235b39f31cdf800..c010d32cbb5dd4b855ea09188c6cb19078a1f051 100644 --- a/cpu/stm32f4/include/periph_cpu.h +++ b/cpu/stm32f4/include/periph_cpu.h @@ -154,10 +154,10 @@ void gpio_init_af(gpio_t pin, gpio_af_t af); static inline void dma_poweron(int stream) { if (stream < 8) { - RCC->AHB1ENR |= RCC_AHB1ENR_DMA1EN; + periph_clk_en(AHB1, RCC_AHB1ENR_DMA1EN); } else { - RCC->AHB1ENR |= RCC_AHB1ENR_DMA2EN; + periph_clk_en(AHB1, RCC_AHB1ENR_DMA2EN); } } diff --git a/cpu/stm32f4/periph/adc.c b/cpu/stm32f4/periph/adc.c index 8be40712b3d460c79b7943f55df3f8eead2b61df..2de09ae87c2948a6b53eb75bb3607a7fa5bda9b6 100644 --- a/cpu/stm32f4/periph/adc.c +++ b/cpu/stm32f4/periph/adc.c @@ -56,12 +56,12 @@ static inline ADC_TypeDef *dev(adc_t line) static inline void prep(adc_t line) { mutex_lock(&locks[adc_config[line].dev]); - RCC->APB2ENR |= (RCC_APB2ENR_ADC1EN << adc_config[line].dev); + periph_clk_en(APB2, (RCC_APB2ENR_ADC1EN << adc_config[line].dev)); } static inline void done(adc_t line) { - RCC->APB2ENR &= ~(RCC_APB2ENR_ADC1EN << adc_config[line].dev); + periph_clk_dis(APB2, (RCC_APB2ENR_ADC1EN << adc_config[line].dev)); mutex_unlock(&locks[adc_config[line].dev]); } diff --git a/cpu/stm32f4/periph/gpio.c b/cpu/stm32f4/periph/gpio.c index 4ebb07d18e91ab726b557f7da8fcec462aa78687..159013a1c7f795c2c179ef8dc6aacf40224cae0d 100644 --- a/cpu/stm32f4/periph/gpio.c +++ b/cpu/stm32f4/periph/gpio.c @@ -68,7 +68,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode) int pin_num = _pin_num(pin); /* enable clock */ - RCC->AHB1ENR |= (RCC_AHB1ENR_GPIOAEN << _port_num(pin)); + periph_clk_en(AHB1, (RCC_AHB1ENR_GPIOAEN << _port_num(pin))); /* set mode */ port->MODER &= ~(0x3 << (2 * pin_num)); @@ -96,7 +96,7 @@ int gpio_init_int(gpio_t pin, gpio_mode_t mode, gpio_flank_t flank, exti_chan[pin_num].cb = cb; exti_chan[pin_num].arg = arg; /* enable the SYSCFG clock */ - RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN; + periph_clk_en(APB2, RCC_APB2ENR_SYSCFGEN); /* initialize pin as input */ gpio_init(pin, mode); /* enable global pin interrupt */ @@ -150,7 +150,7 @@ void gpio_init_af(gpio_t pin, gpio_af_t af) void gpio_init_analog(gpio_t pin) { /* enable clock */ - RCC->AHB1ENR |= (RCC_AHB1ENR_GPIOAEN << _port_num(pin)); + periph_clk_en(AHB1, (RCC_AHB1ENR_GPIOAEN << _port_num(pin))); /* set to analog mode */ _port(pin)->MODER |= (0x3 << (2 * _pin_num(pin))); } diff --git a/cpu/stm32f4/periph/hwrng.c b/cpu/stm32f4/periph/hwrng.c index 5f60bfe367e05697c54ea451a364568d3e8ae1c5..f5acc728237de2d4f34fa22b46f119a1b6927e8d 100644 --- a/cpu/stm32f4/periph/hwrng.c +++ b/cpu/stm32f4/periph/hwrng.c @@ -19,6 +19,7 @@ */ #include "cpu.h" +#include "periph_conf.h" #include "periph/hwrng.h" /* only build if the CPU actually provides a RNG peripheral */ @@ -34,7 +35,7 @@ void hwrng_read(uint8_t *buf, unsigned int num) unsigned int count = 0; /* power on and enable the device */ - RCC->AHB2ENR |= RCC_AHB2ENR_RNGEN; + periph_clk_en(AHB2, RCC_AHB2ENR_RNGEN); RNG->CR = RNG_CR_RNGEN; /* get random data */ @@ -52,7 +53,7 @@ void hwrng_read(uint8_t *buf, unsigned int num) /* finally disable the device again */ RNG->CR = 0; - RCC->AHB2ENR &= ~RCC_AHB2ENR_RNGEN; + periph_clk_dis(AHB2, RCC_AHB2ENR_RNGEN); } #endif /* CPUID_LEN */ diff --git a/cpu/stm32l1/cpu.c b/cpu/stm32l1/cpu.c index 63891d5c399dcd7aa5736e7cd15d245576de3818..bf092531d642d850e36ed22faa01d0473583e21d 100644 --- a/cpu/stm32l1/cpu.c +++ b/cpu/stm32l1/cpu.c @@ -75,7 +75,7 @@ static void clk_init(void) /* Flash 1 wait state */ FLASH->ACR |= CLOCK_FLASH_LATENCY; /* Power enable */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); /* Select the Voltage Range 1 (1.8 V) */ PWR->CR = PWR_CR_VOS_0; /* Wait Until the Voltage Regulator is ready */ diff --git a/cpu/stm32l1/periph/gpio.c b/cpu/stm32l1/periph/gpio.c index 94f81a563b9d4fded0b3ee6ec97ba7cedaa66d25..7485cae5b2d2503aadc59a24e9c4b8786b88c1aa 100644 --- a/cpu/stm32l1/periph/gpio.c +++ b/cpu/stm32l1/periph/gpio.c @@ -69,7 +69,7 @@ int gpio_init(gpio_t pin, gpio_mode_t mode) int pin_num = _pin_num(pin); /* enable clock */ - RCC->AHBENR |= (RCC_AHBENR_GPIOAEN << _port_num(pin)); + periph_clk_en(AHB, (RCC_AHBENR_GPIOAEN << _port_num(pin))); /* set mode */ port->MODER &= ~(0x3 << (2 * pin_num)); @@ -97,7 +97,7 @@ int gpio_init_int(gpio_t pin, gpio_mode_t mode, gpio_flank_t flank, exti_chan[pin_num].cb = cb; exti_chan[pin_num].arg = arg; /* enable the SYSCFG clock */ - RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN; + periph_clk_en(APB2, RCC_APB2ENR_SYSCFGEN); /* initialize pin as input */ gpio_init(pin, mode); /* enable global pin interrupt */ @@ -152,7 +152,7 @@ void gpio_init_analog(gpio_t pin) { /* enable clock, needed as this function can be used without calling * gpio_init first */ - RCC->AHBENR |= (RCC_AHBENR_GPIOAEN << _port_num(pin)); + periph_clk_en(AHB, (RCC_AHBENR_GPIOAEN << _port_num(pin))); /* set to analog mode */ _port(pin)->MODER |= (0x3 << (2 * _pin_num(pin))); } diff --git a/cpu/stm32l1/periph/i2c.c b/cpu/stm32l1/periph/i2c.c index c3f6e6c2182ef0c73514c95c2537584a1457e281..1a7b36b8e73c382ddc17ff112c023c244d3d2184 100644 --- a/cpu/stm32l1/periph/i2c.c +++ b/cpu/stm32l1/periph/i2c.c @@ -344,7 +344,7 @@ int i2c_write_regs(i2c_t dev, uint8_t address, uint8_t reg, const void *data, in void i2c_poweron(i2c_t dev) { if ((unsigned int)dev < I2C_NUMOF) { - RCC->APB1ENR |= (RCC_APB1ENR_I2C1EN << dev); + periph_clk_en(APB1, (RCC_APB1ENR_I2C1EN << dev)); } } @@ -352,7 +352,7 @@ void i2c_poweroff(i2c_t dev) { if ((unsigned int)dev < I2C_NUMOF) { while (i2c_config[dev].dev->SR2 & I2C_SR2_BUSY) {} - RCC->APB1ENR &= ~(RCC_APB1ENR_I2C1EN << dev); + periph_clk_dis(APB1, (RCC_APB1ENR_I2C1EN << dev)); } } diff --git a/cpu/stm32l1/periph/rtc.c b/cpu/stm32l1/periph/rtc.c index 1701ac876fd1f491ef3982a9bdc8903a8bc3ffae..6339d82b0aca53c218054260abb7cf109d09e2d5 100644 --- a/cpu/stm32l1/periph/rtc.c +++ b/cpu/stm32l1/periph/rtc.c @@ -83,7 +83,7 @@ void rtc_init(void) int rtc_set_time(struct tm *time) { /* Enable write access to RTC registers */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); PWR->CR |= PWR_CR_DBP; /* Unlock RTC write protection */ @@ -127,7 +127,7 @@ int rtc_get_time(struct tm *time) int rtc_set_alarm(struct tm *time, rtc_alarm_cb_t cb, void *arg) { /* Enable write access to RTC registers */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); PWR->CR |= PWR_CR_DBP; /* Unlock RTC write protection */ @@ -193,7 +193,7 @@ void rtc_clear_alarm(void) void rtc_poweron(void) { /* Enable write access to RTC registers */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); PWR->CR |= PWR_CR_DBP; /* Reset RTC domain */ @@ -217,7 +217,7 @@ void rtc_poweron(void) void rtc_poweroff(void) { /* Enable write access to RTC registers */ - RCC->APB1ENR |= RCC_APB1ENR_PWREN; + periph_clk_en(APB1, RCC_APB1ENR_PWREN); PWR->CR |= PWR_CR_DBP; /* Reset RTC domain */