Remove Edison BSP.

Intel has obsoleted this hardware and the BSP was never completed.

closes #3086.
This commit is contained in:
Joel Sherrill
2017-07-28 14:15:36 -05:00
parent 9cb874d667
commit dd6992fd7c
10 changed files with 3 additions and 189 deletions

View File

@@ -69,11 +69,7 @@ noinst_LIBRARIES += libbsp.a
libbsp_a_SOURCES = libbsp_a_SOURCES =
# clock # clock
if RTEMS_EDISON
libbsp_a_SOURCES += ../../shared/clock_driver_simidle.c
else
libbsp_a_SOURCES += clock/ckinit.c libbsp_a_SOURCES += clock/ckinit.c
endif
libbsp_a_SOURCES += ../../shared/clockdrv_shell.h libbsp_a_SOURCES += ../../shared/clockdrv_shell.h
libbsp_a_SOURCES += clock/todcfg.c libbsp_a_SOURCES += clock/todcfg.c
libbsp_a_SOURCES += ../../shared/tod.c libbsp_a_SOURCES += ../../shared/tod.c
@@ -113,9 +109,6 @@ endif
endif endif
# console (non-graphics support) # console (non-graphics support)
if RTEMS_EDISON
libbsp_a_SOURCES += console/console_edison.c
endif
include_HEADERS += ../../i386/shared/comm/i386_io.h include_HEADERS += ../../i386/shared/comm/i386_io.h
include_rtems_HEADERS += ../../shared/console_private.h include_rtems_HEADERS += ../../shared/console_private.h
libbsp_a_SOURCES += console/serial_mouse_config.c libbsp_a_SOURCES += console/serial_mouse_config.c

View File

@@ -17,15 +17,6 @@ RTEMS_PROG_CCAS
RTEMS_CHECK_NETWORKING RTEMS_CHECK_NETWORKING
RTEMS_CHECK_SMP RTEMS_CHECK_SMP
# Is this an Intel Edison?
# NOTE: As we learn more, this could be trimmed if more issues
# turn out fo lack of legacy peripherals
RTEMS_BSPOPTS_SET([BSP_IS_EDISON],[edison],[1])
RTEMS_BSPOPTS_SET([BSP_IS_EDISON],[*],[0])
RTEMS_BSPOPTS_HELP([BSP_IS_EDISON],[Set if the BSP variant is Intel Edison.])
AM_CONDITIONAL(RTEMS_EDISON,[test "$BSP_IS_EDISON" = "1"])
RTEMS_BSPOPTS_SET([BSP_ENABLE_VGA],[edison],[0])
RTEMS_BSPOPTS_SET([BSP_ENABLE_VGA],[*],[1]) RTEMS_BSPOPTS_SET([BSP_ENABLE_VGA],[*],[1])
RTEMS_BSPOPTS_HELP([BSP_ENABLE_VGA], RTEMS_BSPOPTS_HELP([BSP_ENABLE_VGA],
[Set if the VGA and keyboard console support is enabled.]) [Set if the VGA and keyboard console support is enabled.])
@@ -35,7 +26,6 @@ RTEMS_BSPOPTS_SET([BSP_ENABLE_COM1_COM4],[*],[1])
RTEMS_BSPOPTS_HELP([BSP_ENABLE_COM1_COM4], RTEMS_BSPOPTS_HELP([BSP_ENABLE_COM1_COM4],
[Set if COM1..COM4 support is enabled.]) [Set if COM1..COM4 support is enabled.])
RTEMS_BSPOPTS_SET([BSP_ENABLE_IDE],[edison],[0])
RTEMS_BSPOPTS_SET([BSP_ENABLE_IDE],[*],[1]) RTEMS_BSPOPTS_SET([BSP_ENABLE_IDE],[*],[1])
RTEMS_BSPOPTS_HELP([BSP_ENABLE_IDE], RTEMS_BSPOPTS_HELP([BSP_ENABLE_IDE],
[Set if IDE support is enabled.]) [Set if IDE support is enabled.])

View File

@@ -60,10 +60,6 @@
} }
#endif #endif
#if (BSP_IS_EDISON == 1 )
extern const console_fns edison_fns;
#endif
/* /*
* Default to the PC VGA console if present and configured. * Default to the PC VGA console if present and configured.
*/ */
@@ -99,27 +95,6 @@ unsigned long Console_Configuration_Count =
(sizeof(Console_Configuration_Ports)/sizeof(console_tbl)); (sizeof(Console_Configuration_Ports)/sizeof(console_tbl));
static console_tbl Legacy_Ports[] = { static console_tbl Legacy_Ports[] = {
#if (BSP_IS_EDISON == 1)
{
"/dev/com1", /* sDeviceName */
-1, /* deviceType */
&edison_fns, /* pDeviceFns */
NULL, /* deviceProbe */
NULL, /* pDeviceFlow */
16, /* ulMargin */
8, /* ulHysteresis */
(void *) NULL, /* NULL */ /* pDeviceParams */
0x00000000, /* ulCtrlPort1 */
0x00000000, /* ulCtrlPort2 */
0x00000000, /* ulDataPort */
NULL, /* getRegister */
NULL, /* setRegister */
NULL,/* unused */ /* getData */
NULL,/* unused */ /* setData */
0x0, /* ulClock */
0x0 /* ulIntVector -- base for port */
},
#endif
#if BSP_ENABLE_COM1_COM4 #if BSP_ENABLE_COM1_COM4
{ {
"/dev/com1", /* sDeviceName */ "/dev/com1", /* sDeviceName */

View File

@@ -1,94 +0,0 @@
#include <bsp.h>
#include <libchip/serial.h>
/* XXX hack until real support is available, code copied from libchip */
#define NS16550_RECEIVE_BUFFER 0
#define NS16550_TRANSMIT_BUFFER 0
#define NS16550_INTERRUPT_ENABLE 1
#define NS16550_INTERRUPT_ID 2
#define NS16550_FIFO_CONTROL 2
#define NS16550_LINE_CONTROL 3
#define NS16550_MODEM_CONTROL 4
#define NS16550_LINE_STATUS 5
#define NS16550_MODEM_STATUS 6
#define NS16550_SCRATCH_PAD 7
#define NS16550_FRACTIONAL_DIVIDER 10
/* status bits we use in line status */
#define SP_LSR_TX 0x40
#define SP_LSR_THOLD 0x20
#define SP_LSR_RDY 0x01
static volatile uint8_t *edison_com = (volatile uint8_t *)0xff010180;
void edison_write_polled(int minor, char cChar);
int edison_inbyte_nonblocking_polled(int minor);
static int edison_open(int major, int minor, void *arg)
{
return 0;
}
static int edison_close(int major, int minor, void *arg)
{
return 0;
}
int edison_inbyte_nonblocking_polled(int minor)
{
if ( edison_com[NS16550_LINE_STATUS] & 0x01 )
return (int) edison_com[NS16550_RECEIVE_BUFFER];
return -1;
}
static ssize_t edison_write_support_polled(int minor, const char *buf, size_t len)
{
ssize_t i;
for ( i=0 ; i<len ; i++ ) {
#if 0
if ( (edison_com[NS16550_LINE_STATUS] & SP_LSR_TX) == 0 )
break;
#else
while ( (edison_com[NS16550_LINE_STATUS] & SP_LSR_TX) == 0x00 )
/* wait until ready */;
#endif
edison_com[NS16550_TRANSMIT_BUFFER] = (uint8_t) buf[i];
}
return i;
}
static void edison_init(int minor)
{
}
void edison_write_polled(int minor, char cChar)
{
while ( (edison_com[NS16550_LINE_STATUS] & SP_LSR_TX) == 0x00 )
/* wait until ready */;
edison_com[NS16550_TRANSMIT_BUFFER] = (uint8_t) cChar;
}
static bool edison_probe(int minor)
{
return true;
}
static int edison_set_attributes(int minor, const struct termios *t)
{
return 0;
}
const console_fns edison_fns =
{
edison_probe, /* deviceProbe */
edison_open, /* deviceFirstOpen */
edison_close, /* deviceLastClose */
edison_inbyte_nonblocking_polled, /* deviceRead */
edison_write_support_polled, /* deviceWrite */
edison_init, /* deviceInitialize */
edison_write_polled, /* deviceWritePolled */
edison_set_attributes, /* deviceSetAttributes */
FALSE, /* deviceOutputUsesInterrupts */
};

View File

@@ -189,31 +189,8 @@ void Calibrate_loop_1ms(void); /* from 'timer.c' */
void rtems_irq_mngt_init(void); /* from 'irq_init.c' */ void rtems_irq_mngt_init(void); /* from 'irq_init.c' */
#if (BSP_IS_EDISON == 0) void Clock_driver_install_handler(void); /* from 'ckinit.c' */
void Clock_driver_install_handler(void); /* from 'ckinit.c' */ void Clock_driver_support_initialize_hardware(void); /* from 'ckinit.c' */
void Clock_driver_support_initialize_hardware(void); /* from 'ckinit.c' */
#else
/**
* @defgroup edison_bsp Clock Tick Support
*
* @ingroup i386_pc386
*
* @brief Clock Tick Support Package
*/
void *clock_driver_sim_idle_body(uintptr_t);
#define BSP_IDLE_TASK_BODY clock_driver_sim_idle_body
/*
* hack to kill some time. Hopefully hitting a hardware register is slower
* than an empty loop.
*/
#define BSP_CLOCK_DRIVER_DELAY() \
do { \
uint64_t _i = 2500000; \
while (_i) { \
_i--; \
} \
} while ( 0 )
#endif /* edison */
void *bsp_idle_thread( uintptr_t ignored ); void *bsp_idle_thread( uintptr_t ignored );
#define BSP_IDLE_TASK_BODY bsp_idle_thread #define BSP_IDLE_TASK_BODY bsp_idle_thread

View File

@@ -1,5 +0,0 @@
#
# Configuration file for an Intel Edision
#
include $(RTEMS_ROOT)/make/custom/pc586-sse.cfg

View File

@@ -56,7 +56,6 @@ static void bsp_size_memory(void)
{ {
uintptr_t topAddr; uintptr_t topAddr;
#if (BSP_IS_EDISON == 0)
/* Set the value of start of free memory. */ /* Set the value of start of free memory. */
rtemsWorkAreaStart = (uint32_t)WorkAreaBase + _stack_size; rtemsWorkAreaStart = (uint32_t)WorkAreaBase + _stack_size;
@@ -117,10 +116,6 @@ static void bsp_size_memory(void)
#endif #endif
} }
#else
topAddr = (1 * 1024 * 1024 * 1024);
#endif
bsp_mem_size = topAddr; bsp_mem_size = topAddr;
} }

View File

@@ -14,9 +14,5 @@
void bsp_reset(void) void bsp_reset(void)
{ {
/* shutdown and reboot */ /* shutdown and reboot */
#if (BSP_IS_EDISON == 0) *((uint32_t*)0xff009000) = 0xf3; /* use watchdog */
outport_byte(0x64, 0xFE); /* use keyboard controller */
#else
*((uint32_t*)0xff009000) = 0xf3; /* use watchdog */
#endif
} }

View File

@@ -49,7 +49,6 @@ rtems_pci_config_t BSP_pci_configuration = {
*/ */
static void bsp_pci_initialize_helper(void) static void bsp_pci_initialize_helper(void)
{ {
#if (BSP_IS_EDISON == 0)
const pci_config_access_functions *pci_accessors; const pci_config_access_functions *pci_accessors;
pci_accessors = pci_bios_initialize(); pci_accessors = pci_bios_initialize();
@@ -67,7 +66,6 @@ static void bsp_pci_initialize_helper(void)
} }
printk("PCI bus: could not initialize PCI BIOS interface\n"); printk("PCI bus: could not initialize PCI BIOS interface\n");
#endif
} }
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+
@@ -82,17 +80,10 @@ static void bsp_start_default( void )
/* /*
* Turn off watchdog * Turn off watchdog
*/ */
#if (BSP_IS_EDISON == 1)
volatile uint32_t *edison_wd = (volatile uint32_t *)0xff009000;
*edison_wd = 0x11f8;
#endif
/* /*
* Calibrate variable for 1ms-loop (see timer.c) * Calibrate variable for 1ms-loop (see timer.c)
*/ */
#if (BSP_IS_EDISON == 0)
Calibrate_loop_1ms(); Calibrate_loop_1ms();
#endif
/* /*
* Init rtems interrupt management * Init rtems interrupt management
@@ -136,9 +127,7 @@ static void bsp_start_default( void )
*/ */
pc386_parse_console_arguments(); pc386_parse_console_arguments();
#if (BSP_IS_EDISON == 0)
Clock_driver_install_handler(); Clock_driver_install_handler();
#endif
#if BSP_ENABLE_IDE #if BSP_ENABLE_IDE
bsp_ide_cmdline_init(); bsp_ide_cmdline_init();

View File

@@ -120,7 +120,6 @@ next_step:
| it isn't fun. | it isn't fun.
+---------------------------------------------------------------------*/ +---------------------------------------------------------------------*/
#if (BSP_IS_EDISON == 0)
movb $0x11, al /* initialization sequence */ movb $0x11, al /* initialization sequence */
outb al, $0x20 /* send it to 8259A-1 */ outb al, $0x20 /* send it to 8259A-1 */
call SYM(pc386_delay) call SYM(pc386_delay)
@@ -156,7 +155,6 @@ next_step:
movb $0xFB, al /* mask all irq's but irq2 which */ movb $0xFB, al /* mask all irq's but irq2 which */
outb al, $0x21 /* is cascaded */ outb al, $0x21 /* is cascaded */
call SYM(pc386_delay) call SYM(pc386_delay)
#endif
jmp SYM (_establish_stack) # return to the bsp entry code jmp SYM (_establish_stack) # return to the bsp entry code
/*-------------------------------------------------------------------------+ /*-------------------------------------------------------------------------+