source: rtems/c/src/lib/libbsp/arm/lpc24xx/console/console-config.c @ c499856

4.115
Last change on this file since c499856 was c499856, checked in by Chris Johns <chrisj@…>, on 03/20/14 at 21:10:47

Change all references of rtems.com to rtems.org.

  • Property mode set to 100644
File size: 3.6 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup lpc24xx
5 *
6 * @brief Console configuration.
7 */
8
9/*
10 * Copyright (c) 2008-2011 embedded brains GmbH.  All rights reserved.
11 *
12 *  embedded brains GmbH
13 *  Obere Lagerstr. 30
14 *  82178 Puchheim
15 *  Germany
16 *  <rtems@embedded-brains.de>
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
20 * http://www.rtems.org/license/LICENSE.
21 */
22
23#include <libchip/serial.h>
24#include <libchip/ns16550.h>
25
26#include <bsp.h>
27#include <bsp/lpc24xx.h>
28#include <bsp/irq.h>
29#include <bsp/io.h>
30
31static uint8_t lpc24xx_uart_get_register(uintptr_t addr, uint8_t i)
32{
33  volatile uint32_t *reg = (volatile uint32_t *) addr;
34
35  return (uint8_t) reg [i];
36}
37
38static void lpc24xx_uart_set_register(uintptr_t addr, uint8_t i, uint8_t val)
39{
40  volatile uint32_t *reg = (volatile uint32_t *) addr;
41
42  reg [i] = val;
43}
44
45console_tbl Console_Configuration_Ports [] = {
46  #ifdef LPC24XX_CONFIG_CONSOLE
47    {
48      .sDeviceName = "/dev/ttyS0",
49      .deviceType = SERIAL_NS16550_WITH_FDR,
50      .pDeviceFns = &ns16550_fns,
51      .deviceProbe = NULL,
52      .pDeviceFlow = NULL,
53      .ulMargin = 16,
54      .ulHysteresis = 8,
55      .pDeviceParams = (void *) LPC24XX_UART_BAUD,
56      .ulCtrlPort1 = UART0_BASE_ADDR,
57      .ulCtrlPort2 = 0,
58      .ulDataPort = UART0_BASE_ADDR,
59      .getRegister = lpc24xx_uart_get_register,
60      .setRegister = lpc24xx_uart_set_register,
61      .getData = NULL,
62      .setData = NULL,
63      .ulClock = LPC24XX_PCLK,
64      .ulIntVector = LPC24XX_IRQ_UART_0
65    },
66  #endif
67  #ifdef LPC24XX_CONFIG_UART_1
68    {
69      .sDeviceName = "/dev/ttyS1",
70      .deviceType = SERIAL_NS16550_WITH_FDR,
71      .pDeviceFns = &ns16550_fns,
72      .deviceProbe = lpc24xx_uart_probe_1,
73      .pDeviceFlow = NULL,
74      .ulMargin = 16,
75      .ulHysteresis = 8,
76      .pDeviceParams = (void *) LPC24XX_UART_BAUD,
77      .ulCtrlPort1 = UART1_BASE_ADDR,
78      .ulCtrlPort2 = 0,
79      .ulDataPort = UART1_BASE_ADDR,
80      .getRegister = lpc24xx_uart_get_register,
81      .setRegister = lpc24xx_uart_set_register,
82      .getData = NULL,
83      .setData = NULL,
84      .ulClock = LPC24XX_PCLK,
85      .ulIntVector = LPC24XX_IRQ_UART_1
86    },
87  #endif
88  #ifdef LPC24XX_CONFIG_UART_2
89    {
90      .sDeviceName = "/dev/ttyS2",
91      .deviceType = SERIAL_NS16550_WITH_FDR,
92      .pDeviceFns = &ns16550_fns,
93      .deviceProbe = lpc24xx_uart_probe_2,
94      .pDeviceFlow = NULL,
95      .ulMargin = 16,
96      .ulHysteresis = 8,
97      .pDeviceParams = (void *) LPC24XX_UART_BAUD,
98      .ulCtrlPort1 = UART2_BASE_ADDR,
99      .ulCtrlPort2 = 0,
100      .ulDataPort = UART2_BASE_ADDR,
101      .getRegister = lpc24xx_uart_get_register,
102      .setRegister = lpc24xx_uart_set_register,
103      .getData = NULL,
104      .setData = NULL,
105      .ulClock = LPC24XX_PCLK,
106      .ulIntVector = LPC24XX_IRQ_UART_2
107    },
108  #endif
109  #ifdef LPC24XX_CONFIG_UART_3
110    {
111      .sDeviceName = "/dev/ttyS3",
112      .deviceType = SERIAL_NS16550_WITH_FDR,
113      .pDeviceFns = &ns16550_fns,
114      .deviceProbe = lpc24xx_uart_probe_3,
115      .pDeviceFlow = NULL,
116      .ulMargin = 16,
117      .ulHysteresis = 8,
118      .pDeviceParams = (void *) LPC24XX_UART_BAUD,
119      .ulCtrlPort1 = UART3_BASE_ADDR,
120      .ulCtrlPort2 = 0,
121      .ulDataPort = UART3_BASE_ADDR,
122      .getRegister = lpc24xx_uart_get_register,
123      .setRegister = lpc24xx_uart_set_register,
124      .getData = NULL,
125      .setData = NULL,
126      .ulClock = LPC24XX_PCLK,
127      .ulIntVector = LPC24XX_IRQ_UART_3
128    },
129  #endif
130};
131
132#define LPC24XX_UART_COUNT \
133  (sizeof(Console_Configuration_Ports) \
134    / sizeof(Console_Configuration_Ports [0]))
135unsigned long Console_Configuration_Count = LPC24XX_UART_COUNT;
Note: See TracBrowser for help on using the repository browser.