summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/beagle/console/console-config.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/beagle/console/console-config.c')
-rw-r--r--c/src/lib/libbsp/arm/beagle/console/console-config.c152
1 files changed, 0 insertions, 152 deletions
diff --git a/c/src/lib/libbsp/arm/beagle/console/console-config.c b/c/src/lib/libbsp/arm/beagle/console/console-config.c
deleted file mode 100644
index 78af5f6a93..0000000000
--- a/c/src/lib/libbsp/arm/beagle/console/console-config.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/**
- * @file
- *
- * @ingroup arm_beagle
- *
- * @brief Console configuration.
- */
-
-/*
- * Copyright (c) 2012 Claas Ziemke. All rights reserved.
- *
- * Claas Ziemke
- * Kernerstrasse 11
- * 70182 Stuttgart
- * Germany
- * <claas.ziemke@gmx.net>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- *
- * Modified by Ben Gras <beng@shrike-systems.com> to make
- * interrupt-driven uart i/o work for beagleboards; beaglebone support added.
- */
-
-#include <libchip/serial.h>
-#include <libchip/ns16550.h>
-
-#include <rtems/bspIo.h>
-
-#include <bsp.h>
-#include <bsp/irq.h>
-#include <bsp/uart-output-char.h>
-
-#define CONSOLE_UART_THR (*(volatile unsigned int *)BSP_CONSOLE_UART_BASE)
-#define CONSOLE_UART_RHR (*(volatile unsigned int *)BSP_CONSOLE_UART_BASE)
-#define CONSOLE_UART_LSR (*(volatile unsigned int *)(BSP_CONSOLE_UART_BASE+0x14))
-#define CONSOLE_SYSC (*(volatile uint32_t *) (BSP_CONSOLE_UART_BASE + 0x54))
-#define CONSOLE_SYSS (*(volatile uint32_t *) (BSP_CONSOLE_UART_BASE + 0x58))
-
-#define TX_FIFO_E (1<<5)
-#define RX_FIFO_E (1<<0)
-
-static uint8_t beagle_uart_get_register(uintptr_t addr, uint8_t i)
-{
- uint8_t v;
- volatile uint32_t *reg_r = (volatile uint32_t *) addr + i;
-
- if(reg_r == (uint32_t*) BSP_CONSOLE_UART_BASE /* reading RHR */ ) {
- /* check there should be anything in the RHR before accessing it */
- if(!(CONSOLE_UART_LSR & 0x01)) {
- return 0;
- }
- }
-
- v = (uint8_t) *reg_r;
-
- return v;
-}
-
-static void beagle_uart_set_register(uintptr_t addr, uint8_t i, uint8_t val)
-{
- volatile uint32_t *reg = (volatile uint32_t *) addr;
-
- reg [i] = val;
-}
-
-console_tbl Console_Configuration_Ports [] = {
- {
- .sDeviceName = "/dev/ttyS0",
- .deviceType = SERIAL_NS16550,
-#if CONSOLE_POLLED /* option to facilitate running the tests */
- .pDeviceFns = &ns16550_fns_polled,
-#else
- .pDeviceFns = &ns16550_fns,
-#endif
- .ulMargin = 16,
- .ulHysteresis = 8,
- .pDeviceParams = (void *) CONSOLE_BAUD,
- .ulCtrlPort1 = BSP_CONSOLE_UART_BASE,
- .ulDataPort = BSP_CONSOLE_UART_BASE,
- .ulIntVector = BSP_CONSOLE_UART_IRQ,
- .getRegister = beagle_uart_get_register,
- .setRegister = beagle_uart_set_register,
- .ulClock = UART_CLOCK, /* 48MHz base clock */
- },
-};
-
-unsigned long Console_Configuration_Count = 1;
-
-static int init_needed = 1; // don't rely on bss being 0
-
-static void beagle_console_init(void)
-{
- if(init_needed) {
- const uint32_t div = UART_CLOCK / 16 / CONSOLE_BAUD;
- CONSOLE_SYSC = 2;
- while ((CONSOLE_SYSS & 1) == 0)
- ;
- if ((CONSOLE_LSR & (CONSOLE_LSR_THRE | CONSOLE_LSR_TEMT)) == CONSOLE_LSR_THRE) {
- CONSOLE_LCR = 0x83;
- CONSOLE_DLL = div;
- CONSOLE_DLM = (div >> 8) & 0xff;
- CONSOLE_LCR = 0x03;
- CONSOLE_ACR = 0x00;
- }
-
- while ((CONSOLE_LSR & CONSOLE_LSR_TEMT) == 0)
- ;
-
- CONSOLE_LCR = 0x80 | 0x03;
- CONSOLE_DLL = 0x00;
- CONSOLE_DLM = 0x00;
- CONSOLE_LCR = 0x03;
- CONSOLE_MCR = 0x03;
- CONSOLE_FCR = 0x07;
- CONSOLE_LCR = 0x83;
- CONSOLE_DLL = div;
- CONSOLE_DLM = (div >> 8) & 0xff;
- CONSOLE_LCR = 0x03;
- CONSOLE_ACR = 0x00;
- init_needed = 0;
- }
-}
-
-#define CONSOLE_THR8 (*(volatile uint8_t *) (BSP_CONSOLE_UART_BASE + 0x00))
-
-static void uart_write_polled( char c )
-{
- if(init_needed) beagle_console_init();
-
- while( ( CONSOLE_LSR & TX_FIFO_E ) == 0 )
- ;
- CONSOLE_THR8 = c;
-}
-
-static void _BSP_put_char( char c ) {
- uart_write_polled( c );
-}
-
-static int _BSP_get_char(void)
-{
- if ((CONSOLE_LSR & CONSOLE_LSR_RDR) != 0) {
- return CONSOLE_RBR;
- } else {
- return -1;
- }
-}
-
-BSP_output_char_function_type BSP_output_char = _BSP_put_char;
-
-BSP_polling_getchar_function_type BSP_poll_char = _BSP_get_char;