Skip to content

Commit 45b353c

Browse files
committed
cpu/msp430: make use of vendor header files
The MSP430 vendor files already provide macros containing register constants and symbols (provided via linker scripts) containing addresses of peripheral registers. So lets make use of that rather than maintaining a long list of constants.
1 parent ff7f8ae commit 45b353c

29 files changed

+391
-608
lines changed

boards/msb-430/include/periph_conf.h

+6-10
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ static const msp430_clock_params_t clock_params = {
4949
* @{
5050
*/
5151
#define TIMER_NUMOF (1U)
52-
#define TIMER_BASE (TIMER_A)
52+
#define TIMER_BASE (&TIMER_A)
5353
#define TIMER_CHAN (3)
5454
#define TIMER_ISR_CC0 (TIMERA0_VECTOR)
5555
#define TIMER_ISR_CCX (TIMERA1_VECTOR)
@@ -61,14 +61,12 @@ static const msp430_clock_params_t clock_params = {
6161
*/
6262
#define UART_NUMOF (1U)
6363

64-
#define UART_BASE (USART_1)
65-
#define UART_IE (SFR->IE2)
66-
#define UART_IF (SFR->IFG2)
64+
#define UART_BASE (&USART_1)
65+
#define UART_SFR (&USART_1_SFR)
6766
#define UART_IE_RX_BIT (1 << 4)
6867
#define UART_IE_TX_BIT (1 << 5)
69-
#define UART_ME (SFR->ME2)
7068
#define UART_ME_BITS (0x30)
71-
#define UART_PORT (PORT_3)
69+
#define UART_PORT (&PORT_3)
7270
#define UART_RX_PIN (1 << 6)
7371
#define UART_TX_PIN (1 << 7)
7472
#define UART_RX_ISR (USART1RX_VECTOR)
@@ -82,12 +80,10 @@ static const msp430_clock_params_t clock_params = {
8280
#define SPI_NUMOF (1U)
8381

8482
/* SPI configuration */
85-
#define SPI_BASE (USART_0)
86-
#define SPI_IE (SFR->IE1)
87-
#define SPI_IF (SFR->IFG1)
83+
#define SPI_BASE (&USART_0)
84+
#define SPI_SFR (&USART_0_SFR)
8885
#define SPI_IE_RX_BIT (1 << 6)
8986
#define SPI_IE_TX_BIT (1 << 7)
90-
#define SPI_ME (SFR->ME1)
9187
#define SPI_ME_BIT (1 << 6)
9288
#define SPI_PIN_MISO GPIO_PIN(P5, 2)
9389
#define SPI_PIN_MOSI GPIO_PIN(P5, 1)

boards/msb-430h/include/periph_conf.h

+6-10
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ static const msp430_clock_params_t clock_params = {
4848
* @{
4949
*/
5050
#define TIMER_NUMOF (1U)
51-
#define TIMER_BASE (TIMER_A)
51+
#define TIMER_BASE (&TIMER_A)
5252
#define TIMER_CHAN (3)
5353
#define TIMER_ISR_CC0 (TIMERA0_VECTOR)
5454
#define TIMER_ISR_CCX (TIMERA1_VECTOR)
@@ -60,14 +60,12 @@ static const msp430_clock_params_t clock_params = {
6060
*/
6161
#define UART_NUMOF (1U)
6262

63-
#define UART_BASE (USART_1)
64-
#define UART_IE (SFR->IE2)
65-
#define UART_IF (SFR->IFG2)
63+
#define UART_BASE (&USART_1)
64+
#define UART_SFR (&USART_1_SFR)
6665
#define UART_IE_RX_BIT (1 << 4)
6766
#define UART_IE_TX_BIT (1 << 5)
68-
#define UART_ME (SFR->ME2)
6967
#define UART_ME_BITS (0x30)
70-
#define UART_PORT (PORT_3)
68+
#define UART_PORT (&PORT_3)
7169
#define UART_RX_PIN (1 << 6)
7270
#define UART_TX_PIN (1 << 7)
7371
#define UART_RX_ISR (USART1RX_VECTOR)
@@ -81,12 +79,10 @@ static const msp430_clock_params_t clock_params = {
8179
#define SPI_NUMOF (1U)
8280

8381
/* SPI configuration */
84-
#define SPI_BASE (USART_0)
85-
#define SPI_IE (SFR->IE1)
86-
#define SPI_IF (SFR->IFG1)
82+
#define SPI_BASE (&USART_0)
83+
#define SPI_SFR (&USART_0_SFR)
8784
#define SPI_IE_RX_BIT (1 << 6)
8885
#define SPI_IE_TX_BIT (1 << 7)
89-
#define SPI_ME (SFR->ME1)
9086
#define SPI_ME_BIT (1 << 6)
9187
#define SPI_PIN_MISO GPIO_PIN(P3, 2)
9288
#define SPI_PIN_MOSI GPIO_PIN(P3, 1)

boards/olimex-msp430-h1611/include/periph_conf.h

+6-10
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ static const msp430_clock_params_t clock_params = {
4848
* @{
4949
*/
5050
#define TIMER_NUMOF (1U)
51-
#define TIMER_BASE (TIMER_A)
51+
#define TIMER_BASE (&TIMER_A)
5252
#define TIMER_CHAN (3)
5353
#define TIMER_ISR_CC0 (TIMERA0_VECTOR)
5454
#define TIMER_ISR_CCX (TIMERA1_VECTOR)
@@ -60,14 +60,12 @@ static const msp430_clock_params_t clock_params = {
6060
*/
6161
#define UART_NUMOF (1U)
6262

63-
#define UART_BASE (USART_1)
64-
#define UART_IE (SFR->IE2)
65-
#define UART_IF (SFR->IFG2)
63+
#define UART_BASE (&USART_1)
64+
#define UART_SFR (&USART_1_SFR)
6665
#define UART_IE_RX_BIT (1 << 4)
6766
#define UART_IE_TX_BIT (1 << 5)
68-
#define UART_ME (SFR->ME2)
6967
#define UART_ME_BITS (0x30)
70-
#define UART_PORT (PORT_3)
68+
#define UART_PORT (&PORT_3)
7169
#define UART_RX_PIN (1 << 6)
7270
#define UART_TX_PIN (1 << 7)
7371
#define UART_RX_ISR (USART1RX_VECTOR)
@@ -81,12 +79,10 @@ static const msp430_clock_params_t clock_params = {
8179
#define SPI_NUMOF (1U)
8280

8381
/* SPI configuration */
84-
#define SPI_BASE (USART_0)
85-
#define SPI_IE (SFR->IE1)
86-
#define SPI_IF (SFR->IFG1)
82+
#define SPI_BASE (&USART_0)
83+
#define SPI_SFR (&USART_0_SFR)
8784
#define SPI_IE_RX_BIT (1 << 6)
8885
#define SPI_IE_TX_BIT (1 << 7)
89-
#define SPI_ME (SFR->ME1)
9086
#define SPI_ME_BIT (1 << 6)
9187
#define SPI_PIN_MISO GPIO_PIN(P3, 2)
9288
#define SPI_PIN_MOSI GPIO_PIN(P3, 1)

boards/olimex-msp430-h2618/include/periph_conf.h

+9-9
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ static const msp430_clock_params_t clock_params = {
4747
* @{
4848
*/
4949
#define TIMER_NUMOF (1U)
50-
#define TIMER_BASE (TIMER_A)
50+
#define TIMER_BASE (&TIMER_A)
5151
#define TIMER_CHAN (3)
5252
#define TIMER_ISR_CC0 (TIMERA0_VECTOR)
5353
#define TIMER_ISR_CCX (TIMERA1_VECTOR)
@@ -59,14 +59,14 @@ static const msp430_clock_params_t clock_params = {
5959
*/
6060
#define UART_NUMOF (1U)
6161

62-
#define UART_BASE (USCI_0)
63-
#define UART_IE (SFR->IE2)
64-
#define UART_IF (SFR->IFG2)
62+
#define UART_BASE (&USCI_A0)
63+
#define UART_IE (IE2)
64+
#define UART_IF (IFG2)
6565
#define UART_IE_RX_BIT (1 << 0)
6666
#define UART_IE_TX_BIT (1 << 1)
67-
#define UART_RX_PORT ((msp_port_t *)PORT_3)
67+
#define UART_RX_PORT (&PORT_3)
6868
#define UART_RX_PIN (1 << 5)
69-
#define UART_TX_PORT ((msp_port_t *)PORT_3)
69+
#define UART_TX_PORT (&PORT_3)
7070
#define UART_TX_PIN (1 << 4)
7171
#define UART_RX_ISR (USCIAB0RX_VECTOR)
7272
#define UART_TX_ISR (USCIAB0TX_VECTOR)
@@ -79,9 +79,9 @@ static const msp430_clock_params_t clock_params = {
7979
#define SPI_NUMOF (1U)
8080

8181
/* SPI configuration */
82-
#define SPI_BASE (USCI_0_B_SPI)
83-
#define SPI_IE (SFR->IE2)
84-
#define SPI_IF (SFR->IFG2)
82+
#define SPI_BASE (&USCI_B0)
83+
#define SPI_IE (IE2)
84+
#define SPI_IF (IFG2)
8585
#define SPI_IE_RX_BIT (1 << 2)
8686
#define SPI_IE_TX_BIT (1 << 3)
8787
#define SPI_PIN_MISO GPIO_PIN(P3, 2)

boards/telosb/include/periph_conf.h

+6-11
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ static const msp430_clock_params_t clock_params = {
4848
* @{
4949
*/
5050
#define TIMER_NUMOF (1U)
51-
#define TIMER_BASE (TIMER_A)
51+
#define TIMER_BASE (&TIMER_A)
5252
#define TIMER_CHAN (3)
5353
#define TIMER_ISR_CC0 (TIMERA0_VECTOR)
5454
#define TIMER_ISR_CCX (TIMERA1_VECTOR)
@@ -60,14 +60,12 @@ static const msp430_clock_params_t clock_params = {
6060
*/
6161
#define UART_NUMOF (1U)
6262

63-
#define UART_BASE (USART_1)
64-
#define UART_IE (SFR->IE2)
65-
#define UART_IF (SFR->IFG2)
63+
#define UART_BASE (&USART_1)
64+
#define UART_SFR (&USART_1_SFR)
6665
#define UART_IE_RX_BIT (1 << 4)
6766
#define UART_IE_TX_BIT (1 << 5)
68-
#define UART_ME (SFR->ME2)
6967
#define UART_ME_BITS (0x30)
70-
#define UART_PORT (PORT_3)
68+
#define UART_PORT (&PORT_3)
7169
#define UART_RX_PIN (1 << 6)
7270
#define UART_TX_PIN (1 << 7)
7371
#define UART_RX_ISR (USART1RX_VECTOR)
@@ -80,13 +78,10 @@ static const msp430_clock_params_t clock_params = {
8078
*/
8179
#define SPI_NUMOF (1U)
8280

83-
/* SPI configuration */
84-
#define SPI_BASE (USART_0)
85-
#define SPI_IE (SFR->IE1)
86-
#define SPI_IF (SFR->IFG1)
81+
#define SPI_BASE (&USART_0)
82+
#define SPI_SFR (&USART_0_SFR)
8783
#define SPI_IE_RX_BIT (1 << 6)
8884
#define SPI_IE_TX_BIT (1 << 7)
89-
#define SPI_ME (SFR->ME1)
9085
#define SPI_ME_BIT (1 << 6)
9186
#define SPI_PIN_MISO GPIO_PIN(P3, 2)
9287
#define SPI_PIN_MOSI GPIO_PIN(P3, 1)

boards/z1/include/periph_conf.h

+9-9
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ static const msp430_clock_params_t clock_params = {
4848
* @{
4949
*/
5050
#define TIMER_NUMOF (1U)
51-
#define TIMER_BASE (TIMER_A)
51+
#define TIMER_BASE (&TIMER_A)
5252
#define TIMER_CHAN (3)
5353
#define TIMER_ISR_CC0 (TIMERA0_VECTOR)
5454
#define TIMER_ISR_CCX (TIMERA1_VECTOR)
@@ -60,14 +60,14 @@ static const msp430_clock_params_t clock_params = {
6060
*/
6161
#define UART_NUMOF (1U)
6262

63-
#define UART_BASE (USCI_0)
64-
#define UART_IE (SFR->IE2)
65-
#define UART_IF (SFR->IFG2)
63+
#define UART_BASE (&USCI_A0)
64+
#define UART_IE (IE2)
65+
#define UART_IF (IFG2)
6666
#define UART_IE_RX_BIT (1 << 0)
6767
#define UART_IE_TX_BIT (1 << 1)
68-
#define UART_RX_PORT ((msp_port_t *)PORT_3)
68+
#define UART_RX_PORT (&PORT_3)
6969
#define UART_RX_PIN (1 << 5)
70-
#define UART_TX_PORT ((msp_port_t *)PORT_3)
70+
#define UART_TX_PORT (&PORT_3)
7171
#define UART_TX_PIN (1 << 4)
7272
#define UART_RX_ISR (USCIAB0RX_VECTOR)
7373
#define UART_TX_ISR (USCIAB0TX_VECTOR)
@@ -80,9 +80,9 @@ static const msp430_clock_params_t clock_params = {
8080
#define SPI_NUMOF (1U)
8181

8282
/* SPI configuration */
83-
#define SPI_BASE (USCI_0_B_SPI)
84-
#define SPI_IE (SFR->IE2)
85-
#define SPI_IF (SFR->IFG2)
83+
#define SPI_BASE (&USCI_B0)
84+
#define SPI_IE (IE2)
85+
#define SPI_IF (IFG2)
8686
#define SPI_IE_RX_BIT (1 << 2)
8787
#define SPI_IE_TX_BIT (1 << 3)
8888
#define SPI_PIN_MISO GPIO_PIN(P3, 2)

0 commit comments

Comments
 (0)