Skip to content

Commit a79a670

Browse files
Avinash Mehtahug-dev
authored andcommitted
CM3DS: update UART implementation
This commit adds the UART driver and updates the UART HAL implementation to use this driver. It also removes legacy definitions. Change-Id: Ie8e7a7bb64c763a2d97bc66d949fab3596736bbc Signed-off-by: Avinash Mehta <[email protected]>
1 parent 37cf802 commit a79a670

File tree

9 files changed

+842
-326
lines changed

9 files changed

+842
-326
lines changed

targets/TARGET_ARM_SSG/TARGET_CM3DS_MPS2/PeripheralNames.h

100644100755
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ extern "C" {
2323
#endif
2424

2525
typedef enum {
26-
UART_0 = (int)CMSDK_UART0_BASE, /* MCC UART */
27-
UART_1 = (int)CMSDK_UART1_BASE, /* MPS2+ UART */
28-
UART_2 = (int)CMSDK_UART2_BASE, /* Shield 0 UART */
29-
UART_3 = (int)CMSDK_UART3_BASE, /* Shield 1 UART */
30-
UART_4 = (int)CMSDK_UART4_BASE /* Shield BT UART */
26+
UART_0 = 0, /* MCC UART */
27+
UART_1, /* MPS2+ UART */
28+
UART_2, /* Shield 0 UART */
29+
UART_3, /* Shield 1 UART */
30+
UART_4 /* Shield BT UART */
3131
} UARTName;
3232

3333
typedef enum {

targets/TARGET_ARM_SSG/TARGET_CM3DS_MPS2/device/CMSDK_CM3DS.h

100644100755
Lines changed: 1 addition & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -135,73 +135,6 @@ typedef enum IRQn
135135
#warning Not supported compiler type
136136
#endif
137137

138-
/*------------- Universal Asynchronous Receiver Transmitter (UART) -----------*/
139-
typedef struct
140-
{
141-
__IO uint32_t DATA; /* Offset: 0x000 (R/W) Data Register */
142-
__IO uint32_t STATE; /* Offset: 0x004 (R/W) Status Register */
143-
__IO uint32_t CTRL; /* Offset: 0x008 (R/W) Control Register */
144-
union {
145-
__I uint32_t INTSTATUS; /* Offset: 0x00C (R/ ) Interrupt Status Register */
146-
__O uint32_t INTCLEAR; /* Offset: 0x00C ( /W) Interrupt Clear Register */
147-
};
148-
__IO uint32_t BAUDDIV; /* Offset: 0x010 (R/W) Baudrate Divider Register */
149-
150-
} CMSDK_UART_TypeDef;
151-
152-
/* CMSDK_UART DATA Register Definitions */
153-
154-
#define CMSDK_UART_DATA_Pos 0 /* CMSDK_UART_DATA_Pos: DATA Position */
155-
#define CMSDK_UART_DATA_Msk (0xFFul << CMSDK_UART_DATA_Pos) /* CMSDK_UART DATA: DATA Mask */
156-
157-
#define CMSDK_UART_STATE_RXOR_Pos 3 /* CMSDK_UART STATE: RXOR Position */
158-
#define CMSDK_UART_STATE_RXOR_Msk (0x1ul << CMSDK_UART_STATE_RXOR_Pos) /* CMSDK_UART STATE: RXOR Mask */
159-
160-
#define CMSDK_UART_STATE_TXOR_Pos 2 /* CMSDK_UART STATE: TXOR Position */
161-
#define CMSDK_UART_STATE_TXOR_Msk (0x1ul << CMSDK_UART_STATE_TXOR_Pos) /* CMSDK_UART STATE: TXOR Mask */
162-
163-
#define CMSDK_UART_STATE_RXBF_Pos 1 /* CMSDK_UART STATE: RXBF Position */
164-
#define CMSDK_UART_STATE_RXBF_Msk (0x1ul << CMSDK_UART_STATE_RXBF_Pos) /* CMSDK_UART STATE: RXBF Mask */
165-
166-
#define CMSDK_UART_STATE_TXBF_Pos 0 /* CMSDK_UART STATE: TXBF Position */
167-
#define CMSDK_UART_STATE_TXBF_Msk (0x1ul << CMSDK_UART_STATE_TXBF_Pos ) /* CMSDK_UART STATE: TXBF Mask */
168-
169-
#define CMSDK_UART_CTRL_HSTM_Pos 6 /* CMSDK_UART CTRL: HSTM Position */
170-
#define CMSDK_UART_CTRL_HSTM_Msk (0x01ul << CMSDK_UART_CTRL_HSTM_Pos) /* CMSDK_UART CTRL: HSTM Mask */
171-
172-
#define CMSDK_UART_CTRL_RXORIRQEN_Pos 5 /* CMSDK_UART CTRL: RXORIRQEN Position */
173-
#define CMSDK_UART_CTRL_RXORIRQEN_Msk (0x01ul << CMSDK_UART_CTRL_RXORIRQEN_Pos) /* CMSDK_UART CTRL: RXORIRQEN Mask */
174-
175-
#define CMSDK_UART_CTRL_TXORIRQEN_Pos 4 /* CMSDK_UART CTRL: TXORIRQEN Position */
176-
#define CMSDK_UART_CTRL_TXORIRQEN_Msk (0x01ul << CMSDK_UART_CTRL_TXORIRQEN_Pos) /* CMSDK_UART CTRL: TXORIRQEN Mask */
177-
178-
#define CMSDK_UART_CTRL_RXIRQEN_Pos 3 /* CMSDK_UART CTRL: RXIRQEN Position */
179-
#define CMSDK_UART_CTRL_RXIRQEN_Msk (0x01ul << CMSDK_UART_CTRL_RXIRQEN_Pos) /* CMSDK_UART CTRL: RXIRQEN Mask */
180-
181-
#define CMSDK_UART_CTRL_TXIRQEN_Pos 2 /* CMSDK_UART CTRL: TXIRQEN Position */
182-
#define CMSDK_UART_CTRL_TXIRQEN_Msk (0x01ul << CMSDK_UART_CTRL_TXIRQEN_Pos) /* CMSDK_UART CTRL: TXIRQEN Mask */
183-
184-
#define CMSDK_UART_CTRL_RXEN_Pos 1 /* CMSDK_UART CTRL: RXEN Position */
185-
#define CMSDK_UART_CTRL_RXEN_Msk (0x01ul << CMSDK_UART_CTRL_RXEN_Pos) /* CMSDK_UART CTRL: RXEN Mask */
186-
187-
#define CMSDK_UART_CTRL_TXEN_Pos 0 /* CMSDK_UART CTRL: TXEN Position */
188-
#define CMSDK_UART_CTRL_TXEN_Msk (0x01ul << CMSDK_UART_CTRL_TXEN_Pos) /* CMSDK_UART CTRL: TXEN Mask */
189-
190-
#define CMSDK_UART_INTSTATUS_RXORIRQ_Pos 3 /* CMSDK_UART CTRL: RXORIRQ Position */
191-
#define CMSDK_UART_INTSTATUS_RXORIRQ_Msk (0x01ul << CMSDK_UART_INTSTATUS_RXORIRQ_Pos) /* CMSDK_UART CTRL: RXORIRQ Mask */
192-
193-
#define CMSDK_UART_INTSTATUS_TXORIRQ_Pos 2 /* CMSDK_UART CTRL: TXORIRQ Position */
194-
#define CMSDK_UART_INTSTATUS_TXORIRQ_Msk (0x01ul << CMSDK_UART_INTSTATUS_TXORIRQ_Pos) /* CMSDK_UART CTRL: TXORIRQ Mask */
195-
196-
#define CMSDK_UART_INTSTATUS_RXIRQ_Pos 1 /* CMSDK_UART CTRL: RXIRQ Position */
197-
#define CMSDK_UART_INTSTATUS_RXIRQ_Msk (0x01ul << CMSDK_UART_INTSTATUS_RXIRQ_Pos) /* CMSDK_UART CTRL: RXIRQ Mask */
198-
199-
#define CMSDK_UART_INTSTATUS_TXIRQ_Pos 0 /* CMSDK_UART CTRL: TXIRQ Position */
200-
#define CMSDK_UART_INTSTATUS_TXIRQ_Msk (0x01ul << CMSDK_UART_INTSTATUS_TXIRQ_Pos) /* CMSDK_UART CTRL: TXIRQ Mask */
201-
202-
#define CMSDK_UART_BAUDDIV_Pos 0 /* CMSDK_UART BAUDDIV: BAUDDIV Position */
203-
#define CMSDK_UART_BAUDDIV_Msk (0xFFFFFul << CMSDK_UART_BAUDDIV_Pos) /* CMSDK_UART BAUDDIV: BAUDDIV Mask */
204-
205138
/*------------- System Control (SYSCON) --------------------------------------*/
206139
typedef struct
207140
{
@@ -408,11 +341,6 @@ typedef struct
408341
/* ================ Peripheral declaration ================ */
409342
/* ================================================================================ */
410343

411-
#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
412-
#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
413-
#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
414-
#define CMSDK_UART3 ((CMSDK_UART_TypeDef *) CMSDK_UART3_BASE )
415-
#define CMSDK_UART4 ((CMSDK_UART_TypeDef *) CMSDK_UART4_BASE )
416344
#define CMSDK_RTC ((CMSDK_RTC_TypeDef *) CMSDK_RTC_BASE )
417345
#define CMSDK_WATCHDOG ((CMSDK_WATCHDOG_TypeDef *) CMSDK_WATCHDOG_BASE )
418346
#define CMSDK_SYSCON ((CMSDK_SYSCON_TypeDef *) CMSDK_SYSCTRL_BASE )
@@ -421,4 +349,4 @@ typedef struct
421349
}
422350
#endif
423351

424-
#endif /* CMSDK_BEETLE_H */
352+
#endif /* CMSDK_CM3DS_H */

targets/TARGET_ARM_SSG/TARGET_CM3DS_MPS2/device/device_cfg.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,12 @@
5050
#define ARM_SPI3
5151
#define ARM_SPI4
5252

53+
/* ARM UART */
54+
#define DEFAULT_UART_BAUDRATE 9600
55+
#define ARM_UART0
56+
#define ARM_UART1
57+
#define ARM_UART2
58+
#define ARM_UART3
59+
#define ARM_UART4
60+
5361
#endif /* __ARM_LTD_DEVICE_CFG_H__ */

0 commit comments

Comments
 (0)