21#ifndef LIBBSP_ARM_LM3S69XX_LM3S69XX_H
22#define LIBBSP_ARM_LM3S69XX_LM3S69XX_H
34#define LM3S69XX_SYSCON_BASE 0x400fe000
36#define LM3S69XX_UART_0_BASE 0x4000c000
37#define LM3S69XX_UART_1_BASE 0x4000d000
38#define LM3S69XX_UART_2_BASE 0x4000e000
40#ifdef LM3S69XX_USE_AHB_FOR_GPIO
41#define LM3S69XX_GPIO_A_BASE 0x40058000
42#define LM3S69XX_GPIO_B_BASE 0x40059000
43#define LM3S69XX_GPIO_C_BASE 0x4005a000
44#define LM3S69XX_GPIO_D_BASE 0x4005b000
45#define LM3S69XX_GPIO_E_BASE 0x4005c000
46#define LM3S69XX_GPIO_F_BASE 0x4005d000
47#if LM3S69XX_NUM_GPIO_BLOCKS > 6
48#define LM3S69XX_GPIO_G_BASE 0x4005e000
49#if LM3S69XX_NUM_GPIO_BLOCKS > 7
50#define LM3S69XX_GPIO_H_BASE 0x4005f000
54#define LM3S69XX_GPIO(port) ((volatile lm3s69xx_gpio *)(LM3S69XX_GPIO_A_BASE + (port) * 0x1000))
56#define LM3S69XX_GPIO_A_BASE 0x40004000
57#define LM3S69XX_GPIO_B_BASE 0x40005000
58#define LM3S69XX_GPIO_C_BASE 0x40006000
59#define LM3S69XX_GPIO_D_BASE 0x40007000
60#define LM3S69XX_GPIO_E_BASE 0x40024000
61#define LM3S69XX_GPIO_F_BASE 0x40025000
62#if LM3S69XX_NUM_GPIO_BLOCKS > 6
63#define LM3S69XX_GPIO_G_BASE 0x40026000
64#if LM3S69XX_NUM_GPIO_BLOCKS > 7
65#define LM3S69XX_GPIO_H_BASE 0x40027000
69#define LM3S69XX_GPIO(port) ((volatile lm3s69xx_gpio *)(((port) < 4) ? \
70 (LM3S69XX_GPIO_A_BASE + (port) * 0x1000) : \
71 (LM3S69XX_GPIO_E_BASE + ((port) - 4) * 0x1000)))
74#define LM3S69XX_SSI_0_BASE 0x40008000
75#if LM3S69XX_NUM_SSI_BLOCKS > 1
76#define LM3S69XX_SSI_1_BASE 0x40009000
77#if LM3S69XX_NUM_SSI_BLOCKS > 2
78#define LM3S69XX_SSI_2_BASE 0x4000A000
79#if LM3S69XX_NUM_SSI_BLOCKS > 3
80#define LM3S69XX_SSI_3_BASE 0x4000B000
85#define LM3S69XX_SYSCON ((volatile lm3s69xx_syscon *)LM3S69XX_SYSCON_BASE)
87#define LM3S69XX_PLL_FREQUENCY 400000000U
101 uint32_t reserved_0[55];
132#define SYSCONPBORCTL_BORIOR BSP_BIT32(1)
135#define SYSCONLDOPCTL_VADJ(val) BSP_FLD32(val, 0, 5)
136#define SYSCONLDOPCTL_VADJ_MASK BSP_MSK32(0, 5)
139 uint32_t reserved_2[2];
147#define SYSCONRIS_MOSCPUPRIS BSP_BIT32(8)
148#define SYSCONRIS_USBPLLRIS BSP_BIT32(7)
149#define SYSCONRIS_PLLLRIS BSP_BIT32(6)
150#define SYSCONRIS_BORRIS BSP_BIT32(1)
153#define SYSCONIMC_MOSCPUPIM BSP_BIT32(8)
154#define SYSCONIMC_USBPLLLIM BSP_BIT32(7)
155#define SYSCONIMC_PLLLIM BSP_BIT32(6)
156#define SYSCONIMC_BORIM BSP_BIT32(1)
159#define SYSCONMISC_MOSCPUPMIS BSP_BIT32(8)
160#define SYSCONMISC_USBPLLLMIS BSP_BIT32(7)
161#define SYSCONMISC_PLLLMIS BSP_BIT32(6)
162#define SYSCONMISC_BORMIS BSP_BIT32(1)
165#define SYSCONRESC_MOSCFAIL BSP_BIT32(16)
166#define SYSCONRESC_SW BSP_BIT32(4)
167#define SYSCONRESC_WDT BSP_BIT32(3)
168#define SYSCONRESC_BOR BSP_BIT32(2)
169#define SYSCONRESC_POR BSP_BIT32(1)
170#define SYSCONRESC_EXT BSP_BIT32(0)
173#define SYSCONRCC_AGC BSP_BIT32(27)
174#define SYSCONRCC_SYSDIV(val) BSP_FLD32(val, 23, 26)
175#define SYSCONRCC_SYSDIV_MSK BSP_MSK32(23, 26)
176#define SYSCONRCC_USESYSDIV BSP_BIT32(22)
177#define SYSCONRCC_USEPWMDIV BSP_BIT32(20)
178#define SYSCONRCC_PWMDIV(val) BSP_FLD32(val, 17, 19)
179#define SYSCONRCC_PWMDIV_DIV2_VAL 0
180#define SYSCONRCC_PWMDIV_DIV4_VAL 1
181#define SYSCONRCC_PWMDIV_DIV8_VAL 2
182#define SYSCONRCC_PWMDIV_DIV16_VAL 3
183#define SYSCONRCC_PWMDIV_DIV32_VAL 4
184#define SYSCONRCC_PWMDIV_DIV64_VAL 5
185#define SYSCONRCC_PWMDIV_MSK BSP_MSK32(17, 19)
186#define SYSCONRCC_PWRDN BSP_BIT32(13)
187#define SYSCONRCC_BYPASS BSP_BIT32(11)
188#define SYSCONRCC_XTAL(val) BSP_FLD32(val, 6, 10)
189#define SYSCONRCC_XTAL_MSK BSP_MSK32(6, 10)
190#define SYSCONRCC_OSCSRC(val) BSP_FLD32(val, 4, 5)
191#define SYSCONRCC_OSCSRC_MOSC SYSCONRCC_OSCSRC(0x0)
192#define SYSCONRCC_OSCSRC_IOSC SYSCONRCC_OSCSRC(0x1)
193#define SYSCONRCC_OSCSRC_IOSC_DIV_4 SYSCONRCC_OSCSRC(0x2)
194#define SYSCONRCC_OSCSRC_30KHZ SYSCONRCC_OSCSRC(0x3)
195#define SYSCONRCC_OSCSRC_MSK BSP_MSK32(4, 5)
196#define SYSCONRCC_IOSCDIS BSP_BIT32(1)
197#define SYSCONRCC_MOSCDIS BSP_BIT32(0)
200#define SYSCONPLLCFG_F(val) BSP_FLD32(val, 5, 13)
201#define SYSCONPLLCFG_F_MSK BSP_MSK32(5, 13)
202#define SYSCONPLLCFG_R(val) BSP_FLD32(val, 0, 4)
203#define SYSCONPLLCFG_R_MSK BSP_MSK32(0, 4)
208#define SYSCONGPIOHBCTL_PORTH BSP_BIT32(7)
209#define SYSCONGPIOHBCTL_PORTG BSP_BIT32(6)
210#define SYSCONGPIOHBCTL_PORTF BSP_BIT32(5)
211#define SYSCONGPIOHBCTL_PORTE BSP_BIT32(4)
212#define SYSCONGPIOHBCTL_PORTD BSP_BIT32(3)
213#define SYSCONGPIOHBCTL_PORTC BSP_BIT32(2)
214#define SYSCONGPIOHBCTL_PORTB BSP_BIT32(1)
215#define SYSCONGPIOHBCTL_PORTA BSP_BIT32(0)
218#define SYSCONRCC2_USERCC2 BSP_BIT32(31)
219#define SYSCONRCC2_DIV400 BSP_BIT32(30)
220#define SYSCONRCC2_SYSDIV2(val) BSP_FLD32(val, 23, 28)
221#define SYSCONRCC2_SYSDIV2_MSK BSP_MSK32(23, 28)
222#define SYSCONRCC2_SYSDIV2EXT(val) BSP_FLD32(val, 22, 28)
223#define SYSCONRCC2_SYSDIV2EXT_MSK BSP_MSK32(22, 28)
224#define SYSCONRCC2_USBPWRDN BSP_BIT32(14)
225#define SYSCONRCC2_PWRDN2 BSP_BIT32(13)
226#define SYSCONRCC2_BYPASS2 BSP_BIT32(11)
227#define SYSCONRCC2_OSCSRC2(val) BSP_FLD32(val, 4, 6)
228#define SYSCONRCC2_OSCSRC2_MSK BSP_MSK32(4, 6)
231 uint32_t reserved_5[2];
233#define SYSCONMOSCCTL_CVAL BSP_BIT32(0)
236 uint32_t reserved_6[32];
238#define SYSCONRCGC0_PWM BSP_BIT32(20)
239#define SYSCONRCGC0_ADC BSP_BIT32(16)
240#define SYSCONRCGC0_MAXADCSPD(val) BSP_FLD32(val, 8, 9)
241#define SYSCONRCGC0_MAXADCSPD_MSK BSP_MSK32(8, 9)
242#define SYSCONRCGC0_HIB BSP_BIT32(6)
243#define SYSCONRCGC0_WDT BSP_BIT32(3)
246#define SYSCONRCGC1_COMP1 BSP_BIT32(25)
247#define SYSCONRCGC1_COMP0 BSP_BIT32(24)
248#define SYSCONRCGC1_TIMER3 BSP_BIT32(19)
249#define SYSCONRCGC1_TIMER2 BSP_BIT32(18)
250#define SYSCONRCGC1_TIMER1 BSP_BIT32(17)
251#define SYSCONRCGC1_TIMER0 BSP_BIT32(16)
252#define SYSCONRCGC1_I2C1 BSP_BIT32(14)
253#define SYSCONRCGC1_I2C0 BSP_BIT32(12)
254#define SYSCONRCGC1_QEI0 BSP_BIT32(8)
255#if LM3S69XX_NUM_SSI_BLOCKS > 1
256#define SYSCONRCGC1_SSI1 BSP_BIT32(5)
258#define SYSCONRCGC1_SSI0 BSP_BIT32(4)
259#define SYSCONRCGC1_UART2 BSP_BIT32(2)
260#define SYSCONRCGC1_UART1 BSP_BIT32(1)
261#define SYSCONRCGC1_UART0 BSP_BIT32(0)
264#define SYSCONRCGC2_USB0 BSP_BIT32(16)
265#define SYSCONRCGC2_UDMA BSP_BIT32(13)
266#if LM3S69XX_NUM_GPIO_BLOCKS > 7
267#define SYSCONRCGC2_GPIOH BSP_BIT32(7)
269#define SYSCONRCGC2_GPIOG BSP_BIT32(6)
270#define SYSCONRCGC2_GPIOF BSP_BIT32(5)
271#define SYSCONRCGC2_GPIOE BSP_BIT32(4)
272#define SYSCONRCGC2_GPIOD BSP_BIT32(3)
273#define SYSCONRCGC2_GPIOC BSP_BIT32(2)
274#define SYSCONRCGC2_GPIOB BSP_BIT32(1)
275#define SYSCONRCGC2_GPIOA BSP_BIT32(0)
290 uint32_t reserved_9[6];
292#define SYSCONDSLPCLKCFG_DSDIVORIDE(val) BSP_FLD32(val, 23, 28)
293#define SYSCONDSLPCLKCFG_DSDIVORIDE_MSK BSP_MSK32(23, 28)
294#define SYSCONDSLPCLKCFG_DSOSCSRC(val) BSP_FLD32(val, 4, 6)
295#define SYSCONDSLPCLKCFG_DSOSCSRC_MSK BSP_MSK32(4, 6)
300#define UARTDR_OE BSP_BIT32(11)
301#define UARTDR_BE BSP_BIT32(10)
302#define UARTDR_PE BSP_BIT32(9)
303#define UARTDR_FE BSP_BIT32(8)
304#define UARTDR_ERROR_MSK BSP_MSK32(8, 11)
305#define UARTDR_DATA(val) BSP_FLD32(val, 0, 7)
306#define UARTDR_DATA_GET(reg) BSP_FLD32GET(reg, 0, 7)
310 uint32_t reserved_0[4];
312#define UARTFR_TXFE BSP_BIT32(7)
313#define UARTFR_RXFF BSP_BIT32(6)
314#define UARTFR_TXFF BSP_BIT32(5)
315#define UARTFR_RXFE BSP_BIT32(4)
316#define UARTFR_BUSY BSP_BIT32(3)
325#define UARTLCRH_SPS BSP_BIT32(7)
326#define UARTLCRH_WLEN(val) BSP_FLD32(val, 5, 6)
327#define UARTLCRH_FEN BSP_BIT32(4)
328#define UARTLCRH_STP2 BSP_BIT32(3)
329#define UARTLCRH_EPS BSP_BIT32(2)
330#define UARTLCRH_PEN BSP_BIT32(1)
331#define UARTLCRH_BRK BSP_BIT32(0)
334#define UARTCTL_RXE BSP_BIT32(9)
335#define UARTCTL_TXE BSP_BIT32(8)
336#define UARTCTL_LBE BSP_BIT32(7)
337#define UARTCTL_SIRLP BSP_BIT32(2)
338#define UARTCTL_SIREN BSP_BIT32(1)
339#define UARTCTL_UARTEN BSP_BIT32(0)
342#define UARTIFLS_RXIFLSEL(val) BSP_FLD32(val, 3, 5)
343#define UARTIFLS_TXIFLSEL(val) BSP_FLD32(val, 0, 2)
346#define UARTI_OE BSP_BIT32(10)
347#define UARTI_BE BSP_BIT32(9)
348#define UARTI_PE BSP_BIT32(8)
349#define UARTI_FE BSP_BIT32(7)
350#define UARTI_RT BSP_BIT32(6)
351#define UARTI_TX BSP_BIT32(5)
352#define UARTI_RX BSP_BIT32(4)
363#define SSICR0_SCR(val) BSP_FLD32(val, 8, 15)
364#define SSICR0_SPH BSP_BIT32(7)
365#define SSICR0_SPO BSP_BIT32(6)
366#define SSICR0_FRF(val) BSP_FLD32(val, 4, 5)
367#define SSICR0_DSS(val) BSP_FLD32(val, 0, 3)
370#define SSICR1_SOD BSP_BIT32(3)
371#define SSICR1_MS BSP_BIT32(2)
372#define SSICR1_SSE BSP_BIT32(1)
373#define SSICR1_LBM BSP_BIT32(0)
377#define SSISR_BSY BSP_BIT32(4)
378#define SSISR_RFF BSP_BIT32(3)
379#define SSISR_RNE BSP_BIT32(2)
380#define SSISR_TNF BSP_BIT32(1)
381#define SSISR_TFE BSP_BIT32(0)
384#define SSI_CPSRDIV(val) BSP_FLD32(val, 0, 7)
387#define SSII_TX BSP_BIT32(3)
388#define SSII_RX BSP_BIT32(2)
389#define SSII_RT BSP_BIT32(1)
390#define SSII_ROR BSP_BIT32(0)
397#define SSIDMACTL_TXDMAE BSP_BIT32(1)
398#define SSIDMACTL_RXDMAE BSP_BIT32(0)
This header file provides utility macros for BSPs.
Definition: lm3s69xx.h:89
Definition: lm3s69xx.h:362
Definition: lm3s69xx.h:116
Definition: lm3s69xx.h:299