Removing all traces of the old display drivers.

This commit is contained in:
Christian Vogel 2010-10-01 15:06:13 +02:00 committed by Harald Welte
parent 987787f0cb
commit 41eed0ee31
11 changed files with 4 additions and 609 deletions

View File

@ -67,12 +67,11 @@ INCLUDES=-Iinclude/ -I../../../include -I../../shared/libosmocore/include
# Various objects that are currently linked into all applications
FLASH_OBJS=flash/cfi_flash.o
DISPLAY_OBJS=display/font_r8x8.o display/font_r8x8_horiz.o display/st7558.o display/td014.o display/ssd1783.o display/ssd1963.o display/display.o
ABB_OBJS=abb/twl3025.o
RF_OBJS=rf/trf6151.o
# Objects that go in all applications
ANY_APP_OBJS+=$(ABB_OBJS) $(RF_OBJS) $(DISPLAY_OBJS) $(FLASH_OBJS)
ANY_APP_OBJS+=$(ABB_OBJS) $(RF_OBJS) $(FLASH_OBJS)
ANY_APP_LIBS+=calypso/libcalypso.a layer1/liblayer1.a lib/libmini.a comm/libcomm.a ../../shared/libosmocore/build-target/src/.libs/libosmocore.a ../../shared/libosmocore/build-target/src/gsm/.libs/libosmogsm.a
# Libraries are defined in subdirectories

View File

@ -31,7 +31,6 @@
#include <keypad.h>
#include <board.h>
#include <abb/twl3025.h>
#include <display.h>
#include <rf/trf6151.h>
#include <calypso/clock.h>
#include <calypso/tpu.h>
@ -55,7 +54,6 @@ static void console_rx_cb(uint8_t dlci, struct msgb *msg)
}
printf("Message on console DLCI: '%s'\n", msg->data);
display_puts((char *) msg->data);
msgb_free(msg);
}
@ -97,9 +95,6 @@ int main(void)
puts(hr);
#endif
display_set_attr(DISP_ATTR_INVERT);
display_puts("Hello World");
sercomm_register_rx_cb(SC_DLCI_CONSOLE, console_rx_cb);
sercomm_register_rx_cb(SC_DLCI_L1A_L23, l1a_l23_rx_cb);
@ -132,16 +127,13 @@ void key_handler(enum key_codes code, enum key_states state)
case KEY_7:
case KEY_8:
case KEY_9:
sprintf(test, "%d", code - KEY_0);
display_puts(test);
// used to be display_puts...
break;
case KEY_STAR:
sprintf(test, "*", 0);
display_puts(test);
// used to be display puts...
break;
case KEY_HASH:
sprintf(test, "#", 0);
display_puts(test);
// used to be display puts...
break;
default:
break;

View File

@ -32,7 +32,6 @@
#include <board.h>
#include <abb/twl3025.h>
#include <display.h>
#include <rf/trf6151.h>
#include <comm/sercomm.h>
@ -75,8 +74,6 @@ int main(void)
calypso_clk_dump();
puts(hr);
display_puts("layer1.bin");
/* initialize SIM */
calypso_sim_init();
@ -84,7 +81,6 @@ int main(void)
memset(atr,0,sizeof(atr));
atrLength = calypso_sim_powerup(atr);
layer1_init();
display_unset_attr(DISP_ATTR_INVERT);

View File

@ -31,7 +31,6 @@
#include <keypad.h>
#include <board.h>
#include <abb/twl3025.h>
#include <display.h>
#include <rf/trf6151.h>
#include <calypso/clock.h>
#include <calypso/tpu.h>
@ -338,9 +337,6 @@ int main(void)
puts(hr);
#endif
display_set_attr(DISP_ATTR_INVERT);
display_puts("SIM-TEST");
sercomm_register_rx_cb(SC_DLCI_CONSOLE, console_rx_cb);
do_sim_test();

View File

@ -44,7 +44,6 @@
#include <abb/twl3025.h>
#include <rf/trf6151.h>
#include <display.h>
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@ -123,8 +122,6 @@ void board_init(void)
timer_init();
/* Initialize LCD driver (uses I2C) and backlight */
display = &st7558_display;
display_init();
bl_mode_pwl(1);
bl_level(50);

View File

@ -44,7 +44,6 @@
#include <abb/twl3025.h>
#include <rf/trf6151.h>
#include <display.h>
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@ -127,8 +126,6 @@ void board_init(void)
timer_init();
/* Initialize LCD driver (uses UWire) and backlight */
display = &ssd1783_display;
display_init();
bl_mode_pwl(1);
bl_level(50);

View File

@ -44,7 +44,6 @@
#include <abb/twl3025.h>
#include <rf/trf6151.h>
#include <display.h>
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@ -123,8 +122,6 @@ void board_init(void)
timer_init();
/* Initialize LCD driver (uses I2C) and backlight */
display = &st7558_display;
display_init();
bl_mode_pwl(1);
bl_level(50);

View File

@ -26,7 +26,6 @@
#include <defines.h>
#include <debug.h>
#include <memory.h>
#include <display.h>
#include <calypso/irq.h>
#define BASE_ADDR_RTC 0xfffe1800
@ -61,10 +60,6 @@ static int tick_ctr;
static void rtc_irq_tick(__unused enum irq_nr nr)
{
if (tick_ctr & 1)
display_set_attr(DISP_ATTR_INVERT);
else
display_unset_attr(DISP_ATTR_INVERT);
tick_ctr++;
}

View File

@ -1,261 +0,0 @@
/* 8x8 font, right aligned, horizontal scanning */
const unsigned char fontdata_r8x8_horiz[] ={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x7e,0x81,0xa5,0x81,0xbd,0x99,0x81,0x7e,
0x7e,0xff,0xdb,0xff,0xc3,0xe7,0xff,0x7e,
0x6c,0xfe,0xfe,0xfe,0x7c,0x38,0x10,0x00,
0x08,0x1c,0x3e,0x7f,0x3e,0x1c,0x08,0x00,
0x1c,0x1c,0x1c,0x7f,0x7f,0x6b,0x08,0x1c,
0x10,0x10,0x38,0x7c,0xfe,0x7c,0x10,0x38,
0x00,0x00,0x18,0x3c,0x3c,0x18,0x00,0x00,
0xff,0xff,0xe7,0xc3,0xc3,0xe7,0xff,0xff,
0x00,0x3c,0x66,0x42,0x42,0x66,0x3c,0x00,
0xff,0xc3,0x99,0xbd,0xbd,0x99,0xc3,0xff,
0x0f,0x07,0x0f,0x7d,0xcc,0xcc,0xcc,0x78,
0x3c,0x66,0x66,0x66,0x3c,0x18,0x7e,0x18,
0x3f,0x33,0x3f,0x30,0x30,0x70,0xf0,0xe0,
0x7f,0x63,0x7f,0x63,0x63,0x67,0xe6,0xc0,
0x18,0xdb,0x3c,0xe7,0xe7,0x3c,0xdb,0x18,
0x80,0xe0,0xf8,0xfe,0xf8,0xe0,0x80,0x00,
0x02,0x0e,0x3e,0xfe,0x3e,0x0e,0x02,0x00,
0x18,0x3c,0x7e,0x18,0x18,0x7e,0x3c,0x18,
0x66,0x66,0x66,0x66,0x66,0x00,0x66,0x00,
0x7f,0xdb,0xdb,0x7b,0x1b,0x1b,0x1b,0x00,
0x3e,0x63,0x38,0x6c,0x6c,0x38,0xcc,0x78,
0x00,0x00,0x00,0x00,0x7e,0x7e,0x7e,0x00,
0x18,0x3c,0x7e,0x18,0x7e,0x3c,0x18,0xff,
0x18,0x3c,0x7e,0x18,0x18,0x18,0x18,0x00,
0x18,0x18,0x18,0x18,0x7e,0x3c,0x18,0x00,
0x00,0x18,0x0c,0xfe,0x0c,0x18,0x00,0x00,
0x00,0x30,0x60,0xfe,0x60,0x30,0x00,0x00,
0x00,0x00,0xc0,0xc0,0xc0,0xfe,0x00,0x00,
0x00,0x24,0x66,0xff,0x66,0x24,0x00,0x00,
0x00,0x18,0x3c,0x7e,0xff,0xff,0x00,0x00,
0x00,0xff,0xff,0x7e,0x3c,0x18,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x30,0x78,0x78,0x30,0x30,0x00,0x30,0x00,
0x6c,0x6c,0x6c,0x00,0x00,0x00,0x00,0x00,
0x6c,0x6c,0xfe,0x6c,0xfe,0x6c,0x6c,0x00,
0x18,0x3e,0x60,0x3c,0x06,0x7c,0x18,0x00,
0x00,0x63,0x66,0x0c,0x18,0x33,0x63,0x00,
0x1c,0x36,0x1c,0x3b,0x6e,0x66,0x3b,0x00,
0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,
0x0c,0x18,0x30,0x30,0x30,0x18,0x0c,0x00,
0x30,0x18,0x0c,0x0c,0x0c,0x18,0x30,0x00,
0x00,0x66,0x3c,0xff,0x3c,0x66,0x00,0x00,
0x00,0x30,0x30,0xfc,0x30,0x30,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x30,
0x00,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,
0x03,0x06,0x0c,0x18,0x30,0x60,0x40,0x00,
0x3e,0x63,0x67,0x6f,0x7b,0x73,0x3e,0x00,
0x18,0x38,0x58,0x18,0x18,0x18,0x7e,0x00,
0x3c,0x66,0x06,0x1c,0x30,0x66,0x7e,0x00,
0x3c,0x66,0x06,0x1c,0x06,0x66,0x3c,0x00,
0x0e,0x1e,0x36,0x66,0x7f,0x06,0x0f,0x00,
0x7e,0x60,0x7c,0x06,0x06,0x66,0x3c,0x00,
0x1c,0x30,0x60,0x7c,0x66,0x66,0x3c,0x00,
0x7e,0x66,0x06,0x0c,0x18,0x18,0x18,0x00,
0x3c,0x66,0x66,0x3c,0x66,0x66,0x3c,0x00,
0x3c,0x66,0x66,0x3e,0x06,0x0c,0x38,0x00,
0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00,
0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x30,
0x0c,0x18,0x30,0x60,0x30,0x18,0x0c,0x00,
0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,
0x30,0x18,0x0c,0x06,0x0c,0x18,0x30,0x00,
0x3c,0x66,0x06,0x0c,0x18,0x00,0x18,0x00,
0x3e,0x63,0x6f,0x69,0x6f,0x60,0x3e,0x00,
0x18,0x3c,0x66,0x66,0x7e,0x66,0x66,0x00,
0x7e,0x33,0x33,0x3e,0x33,0x33,0x7e,0x00,
0x1e,0x33,0x60,0x60,0x60,0x33,0x1e,0x00,
0x7c,0x36,0x33,0x33,0x33,0x36,0x7c,0x00,
0x7f,0x31,0x34,0x3c,0x34,0x31,0x7f,0x00,
0x7f,0x31,0x34,0x3c,0x34,0x30,0x78,0x00,
0x1e,0x33,0x60,0x60,0x67,0x33,0x1f,0x00,
0x66,0x66,0x66,0x7e,0x66,0x66,0x66,0x00,
0x3c,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,
0x0f,0x06,0x06,0x06,0x66,0x66,0x3c,0x00,
0x73,0x33,0x36,0x3c,0x36,0x33,0x73,0x00,
0x78,0x30,0x30,0x30,0x31,0x33,0x7f,0x00,
0x63,0x77,0x7f,0x7f,0x6b,0x63,0x63,0x00,
0x63,0x73,0x7b,0x6f,0x67,0x63,0x63,0x00,
0x3e,0x63,0x63,0x63,0x63,0x63,0x3e,0x00,
0x7e,0x33,0x33,0x3e,0x30,0x30,0x78,0x00,
0x3c,0x66,0x66,0x66,0x6e,0x3c,0x0e,0x00,
0x7e,0x33,0x33,0x3e,0x36,0x33,0x73,0x00,
0x3c,0x66,0x30,0x18,0x0c,0x66,0x3c,0x00,
0x7e,0x5a,0x18,0x18,0x18,0x18,0x3c,0x00,
0x66,0x66,0x66,0x66,0x66,0x66,0x7e,0x00,
0x66,0x66,0x66,0x66,0x66,0x3c,0x18,0x00,
0x63,0x63,0x63,0x6b,0x7f,0x77,0x63,0x00,
0x63,0x63,0x36,0x1c,0x1c,0x36,0x63,0x00,
0x66,0x66,0x66,0x3c,0x18,0x18,0x3c,0x00,
0x7f,0x63,0x46,0x0c,0x19,0x33,0x7f,0x00,
0x3c,0x30,0x30,0x30,0x30,0x30,0x3c,0x00,
0x60,0x30,0x18,0x0c,0x06,0x03,0x01,0x00,
0x3c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3c,0x00,
0x08,0x1c,0x36,0x63,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
0x18,0x18,0x0c,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x3c,0x06,0x3e,0x66,0x3b,0x00,
0x70,0x30,0x30,0x3e,0x33,0x33,0x6e,0x00,
0x00,0x00,0x3c,0x66,0x60,0x66,0x3c,0x00,
0x0e,0x06,0x06,0x3e,0x66,0x66,0x3b,0x00,
0x00,0x00,0x3c,0x66,0x7e,0x60,0x3c,0x00,
0x1c,0x36,0x30,0x78,0x30,0x30,0x78,0x00,
0x00,0x00,0x3b,0x66,0x66,0x3e,0x06,0x7c,
0x70,0x30,0x36,0x3b,0x33,0x33,0x73,0x00,
0x18,0x00,0x38,0x18,0x18,0x18,0x3c,0x00,
0x06,0x00,0x06,0x06,0x06,0x66,0x66,0x3c,
0x70,0x30,0x33,0x36,0x3c,0x36,0x73,0x00,
0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,
0x00,0x00,0x66,0x7f,0x7f,0x6b,0x63,0x00,
0x00,0x00,0x7c,0x66,0x66,0x66,0x66,0x00,
0x00,0x00,0x3c,0x66,0x66,0x66,0x3c,0x00,
0x00,0x00,0x6e,0x33,0x33,0x3e,0x30,0x78,
0x00,0x00,0x3b,0x66,0x66,0x3e,0x06,0x0f,
0x00,0x00,0x6e,0x3b,0x33,0x30,0x78,0x00,
0x00,0x00,0x3e,0x60,0x3c,0x06,0x7c,0x00,
0x08,0x18,0x3e,0x18,0x18,0x1a,0x0c,0x00,
0x00,0x00,0x66,0x66,0x66,0x66,0x3b,0x00,
0x00,0x00,0x66,0x66,0x66,0x3c,0x18,0x00,
0x00,0x00,0x63,0x6b,0x7f,0x7f,0x36,0x00,
0x00,0x00,0x63,0x36,0x1c,0x36,0x63,0x00,
0x00,0x00,0x66,0x66,0x66,0x3e,0x06,0x7c,
0x00,0x00,0x7e,0x4c,0x18,0x32,0x7e,0x00,
0x0e,0x18,0x18,0x70,0x18,0x18,0x0e,0x00,
0x0c,0x0c,0x0c,0x00,0x0c,0x0c,0x0c,0x00,
0x70,0x18,0x18,0x0e,0x18,0x18,0x70,0x00,
0x3b,0x6e,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x08,0x1c,0x36,0x63,0x63,0x7f,0x00,
0x3c,0x66,0x60,0x66,0x3c,0x0c,0x06,0x3c,
0x00,0x66,0x00,0x66,0x66,0x66,0x3f,0x00,
0x1c,0x00,0x78,0xcc,0xfc,0xc0,0x78,0x00,
0x7e,0xc3,0x3c,0x06,0x3e,0x66,0x3f,0x00,
0x66,0x00,0x3c,0x06,0x3e,0x66,0x3f,0x00,
0x70,0x00,0x3c,0x06,0x3e,0x66,0x3f,0x00,
0x18,0x18,0x3c,0x06,0x3e,0x66,0x3f,0x00,
0x00,0x00,0x3c,0x60,0x60,0x3c,0x06,0x1c,
0x7e,0xc3,0x3c,0x66,0x7e,0x60,0x3c,0x00,
0xcc,0x00,0x78,0xcc,0xfc,0xc0,0x78,0x00,
0x70,0x00,0x3c,0x66,0x7e,0x60,0x3c,0x00,
0x66,0x00,0x38,0x18,0x18,0x18,0x3c,0x00,
0x3e,0x63,0x1c,0x0c,0x0c,0x0c,0x1e,0x00,
0x70,0x00,0x38,0x18,0x18,0x18,0x3c,0x00,
0x63,0x1c,0x36,0x63,0x7f,0x63,0x63,0x00,
0x18,0x18,0x00,0x3c,0x66,0x7e,0x66,0x00,
0x1c,0x00,0xfc,0x60,0x78,0x60,0xfc,0x00,
0x00,0x00,0x7f,0x0c,0x7f,0xcc,0x7f,0x00,
0x1f,0x36,0x66,0x7f,0x66,0x66,0x67,0x00,
0x3c,0x66,0x00,0x3c,0x66,0x66,0x3c,0x00,
0x00,0x66,0x00,0x3c,0x66,0x66,0x3c,0x00,
0x00,0x70,0x00,0x3c,0x66,0x66,0x3c,0x00,
0x3c,0x66,0x00,0x66,0x66,0x66,0x3f,0x00,
0x00,0x70,0x00,0x66,0x66,0x66,0x3f,0x00,
0x00,0xcc,0x00,0xcc,0xcc,0x7c,0x0c,0xf8,
0xc3,0x18,0x3c,0x66,0x66,0x3c,0x18,0x00,
0x66,0x00,0x66,0x66,0x66,0x66,0x3c,0x00,
0x0c,0x0c,0x3f,0x60,0x60,0x3f,0x0c,0x0c,
0x1c,0x36,0x32,0x78,0x30,0x73,0x7e,0x00,
0x66,0x66,0x3c,0x7e,0x18,0x7e,0x18,0x18,
0xf8,0xcc,0xcc,0xfa,0xc6,0xcf,0xc6,0xc7,
0x0e,0x1b,0x18,0x3c,0x18,0x18,0xd8,0x70,
0x0e,0x00,0x3c,0x06,0x3e,0x66,0x3f,0x00,
0x1c,0x00,0x38,0x18,0x18,0x18,0x3c,0x00,
0x00,0x0e,0x00,0x3c,0x66,0x66,0x3c,0x00,
0x00,0x0e,0x00,0x66,0x66,0x66,0x3f,0x00,
0x00,0x7c,0x00,0x7c,0x66,0x66,0x66,0x00,
0x7e,0x00,0x66,0x76,0x7e,0x6e,0x66,0x00,
0x1e,0x36,0x36,0x1f,0x00,0x3f,0x00,0x00,
0x1c,0x36,0x36,0x1c,0x00,0x3e,0x00,0x00,
0x18,0x00,0x18,0x30,0x60,0x66,0x3c,0x00,
0x00,0x00,0x00,0x7e,0x60,0x60,0x00,0x00,
0x00,0x00,0x00,0xfc,0x0c,0x0c,0x00,0x00,
0xc3,0xc6,0xcc,0xde,0x33,0x66,0xcc,0x0f,
0xc3,0xc6,0xcc,0xdb,0x37,0x6f,0xcf,0x03,
0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x00,
0x00,0x33,0x66,0xcc,0x66,0x33,0x00,0x00,
0x00,0xcc,0x66,0x33,0x66,0xcc,0x00,0x00,
0x22,0x88,0x22,0x88,0x22,0x88,0x22,0x88,
0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,
0xdb,0x77,0xdb,0xee,0xdb,0x77,0xdb,0xee,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
0x18,0x18,0x18,0x18,0xf8,0x18,0x18,0x18,
0x18,0x18,0xf8,0x18,0xf8,0x18,0x18,0x18,
0x36,0x36,0x36,0x36,0xf6,0x36,0x36,0x36,
0x00,0x00,0x00,0x00,0xfe,0x36,0x36,0x36,
0x00,0x00,0xf8,0x18,0xf8,0x18,0x18,0x18,
0x36,0x36,0xf6,0x06,0xf6,0x36,0x36,0x36,
0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
0x00,0x00,0xfe,0x06,0xf6,0x36,0x36,0x36,
0x36,0x36,0xf6,0x06,0xfe,0x00,0x00,0x00,
0x36,0x36,0x36,0x36,0xfe,0x00,0x00,0x00,
0x18,0x18,0xf8,0x18,0xf8,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xf8,0x18,0x18,0x18,
0x18,0x18,0x18,0x18,0x1f,0x00,0x00,0x00,
0x18,0x18,0x18,0x18,0xff,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xff,0x18,0x18,0x18,
0x18,0x18,0x18,0x18,0x1f,0x18,0x18,0x18,
0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,
0x18,0x18,0x18,0x18,0xff,0x18,0x18,0x18,
0x18,0x18,0x1f,0x18,0x1f,0x18,0x18,0x18,
0x36,0x36,0x36,0x36,0x37,0x36,0x36,0x36,
0x36,0x36,0x37,0x30,0x3f,0x00,0x00,0x00,
0x00,0x00,0x3f,0x30,0x37,0x36,0x36,0x36,
0x36,0x36,0xf7,0x00,0xff,0x00,0x00,0x00,
0x00,0x00,0xff,0x00,0xf7,0x36,0x36,0x36,
0x36,0x36,0x37,0x30,0x37,0x36,0x36,0x36,
0x00,0x00,0xff,0x00,0xff,0x00,0x00,0x00,
0x36,0x36,0xf7,0x00,0xf7,0x36,0x36,0x36,
0x18,0x18,0xff,0x00,0xff,0x00,0x00,0x00,
0x36,0x36,0x36,0x36,0xff,0x00,0x00,0x00,
0x00,0x00,0xff,0x00,0xff,0x18,0x18,0x18,
0x00,0x00,0x00,0x00,0xff,0x36,0x36,0x36,
0x36,0x36,0x36,0x36,0x3f,0x00,0x00,0x00,
0x18,0x18,0x1f,0x18,0x1f,0x00,0x00,0x00,
0x00,0x00,0x1f,0x18,0x1f,0x18,0x18,0x18,
0x00,0x00,0x00,0x00,0x3f,0x36,0x36,0x36,
0x36,0x36,0x36,0x36,0xff,0x36,0x36,0x36,
0x18,0x18,0xff,0x18,0xff,0x18,0x18,0x18,
0x18,0x18,0x18,0x18,0xf8,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1f,0x18,0x18,0x18,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,
0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
0x00,0x00,0x3b,0x6e,0x64,0x6e,0x3b,0x00,
0x00,0x3c,0x66,0x7c,0x66,0x7c,0x60,0x60,
0x00,0x7e,0x66,0x60,0x60,0x60,0x60,0x00,
0x00,0x7f,0x36,0x36,0x36,0x36,0x36,0x00,
0x7e,0x66,0x30,0x18,0x30,0x66,0x7e,0x00,
0x00,0x00,0x3f,0x6c,0x6c,0x6c,0x38,0x00,
0x00,0x33,0x33,0x33,0x33,0x3e,0x30,0x60,
0x00,0x3b,0x6e,0x0c,0x0c,0x0c,0x0c,0x00,
0x7e,0x18,0x3c,0x66,0x66,0x3c,0x18,0x7e,
0x1c,0x36,0x63,0x7f,0x63,0x36,0x1c,0x00,
0x1c,0x36,0x63,0x63,0x36,0x36,0x77,0x00,
0x0e,0x18,0x0c,0x3e,0x66,0x66,0x3c,0x00,
0x00,0x00,0x7e,0xdb,0xdb,0x7e,0x00,0x00,
0x06,0x0c,0x7e,0xdb,0xdb,0x7e,0x60,0xc0,
0x1c,0x30,0x60,0x7c,0x60,0x30,0x1c,0x00,
0x3c,0x66,0x66,0x66,0x66,0x66,0x66,0x00,
0x00,0x7e,0x00,0x7e,0x00,0x7e,0x00,0x00,
0x18,0x18,0x7e,0x18,0x18,0x00,0x7e,0x00,
0x30,0x18,0x0c,0x18,0x30,0x00,0x7e,0x00,
0x0c,0x18,0x30,0x18,0x0c,0x00,0x7e,0x00,
0x0e,0x1b,0x1b,0x18,0x18,0x18,0x18,0x18,
0x18,0x18,0x18,0x18,0x18,0xd8,0xd8,0x70,
0x18,0x18,0x00,0x7e,0x00,0x18,0x18,0x00,
0x00,0x3b,0x6e,0x00,0x3b,0x6e,0x00,0x00,
0x1c,0x36,0x36,0x1c,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0c,0x0c,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,
0x0f,0x0c,0x0c,0x0c,0xec,0x6c,0x3c,0x1c,
0x78,0x6c,0x6c,0x6c,0x6c,0x00,0x00,0x00,
0x70,0x18,0x30,0x60,0x78,0x00,0x00,0x00,
0x00,0x00,0x3c,0x3c,0x3c,0x3c,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};

View File

@ -1,257 +0,0 @@
/* Solomon SSD1783 LCD Driver (Epson S1D15G10D08B000 clone) */
/* (C) 2010 by Steve Markgraf <steve@steve-m.de>
* (C) 2010 by Harald Welte <laforge@gnumonks.org>
*
* All Rights Reserved
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
*/
#include <stdint.h>
#include <stdio.h>
//#define DEBUG
#include <debug.h>
#include <delay.h>
#include <uwire.h>
#include <display.h>
#include <display/ssd1783.h>
#include <calypso/clock.h>
#define LCD_COLUMNS 98
#define LCD_ROWS 67
#define LCD_TOP_FREE_ROWS 3
#define LCD_LEFT_FREE_COLS 0
#define PIXEL_BYTES 3
#define SSD1783_UWIRE_BITLEN 9
#define SSD1783_DEV_ID 0
#define FONT_HEIGHT 8
#define FONT_WIDTH 8
static const uint8_t rgb8_palette[] ={
0x00, //P01 Intermediate red tone 000
0x03, //P02 Intermediate red tone 001
0x05, //P03 Intermediate red tone 010
0x07, //P04 Intermediate red tone 011
0x09, //P05 Intermediate red tone 100
0x0b, //P06 Intermediate red tone 101
0x0d, //P07 Intermediate red tone 110
0x0f, //P08 Intermediate red tone 111
0x00, //P09 Intermediate green tone 000
0x03, //P10 Intermediate green tone 001
0x05, //P11 Intermediate green tone 010
0x07, //P12 Intermediate green tone 011
0x09, //P13 Intermediate green tone 100
0x0b, //P14 Intermediate green tone 101
0x0d, //P15 Intermediate green tone 110
0x0f, //P16 Intermediate green tone 111
0x00, //P17 Intermediate blue tone 00
0x05, //P18 Intermediate blue tone 01
0x0a, //P19 Intermediate blue tone 10
0x0f, //P20 Intermediate blue tone 11
};
static void ssd1783_cmd_write(const uint8_t cmd)
{
uint16_t cmd_out = cmd;
uwire_xfer(SSD1783_DEV_ID, SSD1783_UWIRE_BITLEN, &cmd_out, NULL);
}
static void ssd1783_data_write(const uint8_t data)
{
uint16_t data_out = ((0x01 << 8) + data);
uwire_xfer(SSD1783_DEV_ID, SSD1783_UWIRE_BITLEN, &data_out, NULL);
}
static void ssd1783_clrscr(void)
{
uint16_t i;
/* Select the whole display area for clearing */
ssd1783_cmd_write(CMD_PASET); /* Page address set [2] */
ssd1783_data_write(0x00); /* Start page: 0x00 */
ssd1783_data_write(LCD_ROWS-1); /* End page */
ssd1783_cmd_write(CMD_CASET); /* Column address set [2] */
ssd1783_data_write(0x00); /* Start column: 0x00 */
ssd1783_data_write((LCD_COLUMNS/2)-1); /* End column (2 pixels per column) */
ssd1783_cmd_write(CMD_RAMWR); /* Write to memory */
/* Fill the display with white */
for(i=0; i < (LCD_ROWS * (LCD_COLUMNS/2) * PIXEL_BYTES); i++){
ssd1783_data_write(0xff);
}
ssd1783_cmd_write(CMD_NOP); /* Terminate RAMWR with NOP */
}
static void ssd1783_init(void)
{
unsigned int i;
calypso_reset_set(RESET_EXT, 0);
uwire_init();
delay_ms(3);
/* Begin SSD1783 initialization sequence */
ssd1783_cmd_write(CMD_OSCON); /* Internal OSC on */
ssd1783_cmd_write(CMD_SLPOUT); /* Sleep out (Leave sleep mode) */
ssd1783_cmd_write(CMD_COMSCN); /* Common scan direction [1] */
ssd1783_data_write(0x01); /* Scan 1 -> 68, 132 <- 69 */
ssd1783_cmd_write(CMD_DATCTL); /* Data Scan Direction [3] */
ssd1783_data_write(0x00); /* Normal page address, normal rotation,
* scan direction in column direction */
ssd1783_data_write(0x00); /* RGB arrangement: RGB-RGB */
ssd1783_data_write(0x02); /* Gray-scale setup: 16 gray-scale Type A, 8-bit mode */
/* Initialize RGB8 palette for 8-Bit color mode */
ssd1783_cmd_write(CMD_RGBSET8); /* 256-color position set [20] */
for(i=0; i < sizeof(rgb8_palette); i++){
ssd1783_data_write(rgb8_palette[i]);
}
ssd1783_cmd_write(CMD_DISCTL); /* Display control [3] */
ssd1783_data_write(0xff); /* no clock division, F1, F2 switching period = field */
ssd1783_data_write(0x10); /* Drive duty, P24 = 1 */
ssd1783_data_write(0x01); /* FR inverse set, P30=1 */
ssd1783_cmd_write(CMD_SCSTART); /* Scroll start set [1] */
ssd1783_data_write(0x00); /* Start block address 0x00 */
/* Turn on the power regulator which generates VLCD */
ssd1783_cmd_write(CMD_PWRCTR); /* Power Control [1] */
ssd1783_data_write(0x0b); /* Booster, follower and regulator circuit on */
/* FIXME: put this in a separate function (ssd1783_set_contrast) */
ssd1783_cmd_write(CMD_VOLCTR); /* Electronic Volume Control [2] */
ssd1783_data_write(0x29); /* Set contrast */
ssd1783_data_write(0x05); /* Set contrast */
ssd1783_cmd_write(CMD_DISINV); /* Invert Display */
ssd1783_cmd_write(CMD_TMPGRD); /* Temperature gradient set */
ssd1783_data_write(0x00); /* default temperature gradient (-0.05% / °C) */
ssd1783_cmd_write(CMD_BIASSET); /* Set biasing ratio [1] */
ssd1783_data_write(0x03); /* 1/10 bias */
ssd1783_cmd_write(CMD_FREQSET); /* Set frequency and n-line inversion [2] */
ssd1783_data_write(0x08); /* frequency: 75Hz (POR) */
ssd1783_data_write(0x06); /* n-line inversion: 6 lines */
ssd1783_cmd_write(CMD_RESCMD); /* reserved command in datasheet? */
ssd1783_cmd_write(CMD_PWMSEL); /* Select PWM/FRC, Full/8 color mode [3] */
ssd1783_data_write(0x28); /* fixed */
ssd1783_data_write(0x2c); /* 5 bits PWM + 1 bit FRC (POR) */
ssd1783_data_write(0x05); /* Full color mode (0x45 would be 8 color powersaving) */
ssd1783_cmd_write(CMD_DISON); /* Display ON */
ssd1783_clrscr(); /* Clear the display */
}
extern const unsigned char fontdata_r8x8_horiz[];
/*
* Pixel format for 8-bit mode, 12-bit color, 2 Pixel per 3 byte
* D7, D6, D5, D4, D3, D2, D1, D0: RRRRGGGG (8 bits) 1st write
* D7, D6, D5, D4, D3, D2, D1, D0: BBBBRRRR (8 bits) 2nd write
* D7, D6, D5, D4, D3, D2, D1, D0: GGGGBBBB (8 bits) 3rd write
*/
static void ssd1783_goto_xy(int xpos, int ypos)
{
ssd1783_cmd_write(CMD_PASET);
ssd1783_data_write(xpos);
ssd1783_data_write(xpos + (FONT_HEIGHT-1));
ssd1783_cmd_write(CMD_CASET);
ssd1783_data_write(ypos);
ssd1783_data_write(ypos + ((FONT_WIDTH/2)-1));
ssd1783_cmd_write(CMD_NOP);
}
static int ssd1783_putc_col(unsigned char c, int fColor, int bColor)
{
int i, j;
uint8_t cols = FONT_WIDTH;
uint8_t rows = FONT_HEIGHT;
uint8_t row_slice;
uint8_t rowmask;
uint16_t pixel0; /* left pixel */
uint16_t pixel1; /* right pixel */
ssd1783_cmd_write(CMD_RAMWR);
for (i = 0; i < rows; i++) {
row_slice = fontdata_r8x8_horiz[(FONT_WIDTH * c)+i];
printd("\nSSD1783 FontData=0x%02hx", row_slice);
rowmask = 0x80;
for (j = 0; j < cols; j += 2) {
if (!(row_slice & rowmask))
pixel0 = bColor;
else
pixel0 = fColor;
rowmask = rowmask >> 1;
if (!(row_slice & rowmask))
pixel1 = bColor;
else
pixel1 = fColor;
rowmask = rowmask >> 1;
/* Write the RGB-RGB pixel data */
ssd1783_data_write((pixel0 >> 4) & 0xff);
ssd1783_data_write(((pixel0 & 0x00f) << 4) | ((pixel1 >> 8) & 0x00f));
ssd1783_data_write(pixel1 & 0xff);
}
}
ssd1783_cmd_write(CMD_NOP);
return c;
}
static int ssd1783_puts_col(const char *str, int txtline, int fColor, int bColor)
{
int i;
for (i = 0; *str != 0x00; i += (FONT_WIDTH/2)) {
ssd1783_goto_xy(((txtline*FONT_HEIGHT)+LCD_TOP_FREE_ROWS),
(i + LCD_LEFT_FREE_COLS));
ssd1783_putc_col(*str++, fColor, bColor);
}
return 0;
}
/* interface to display driver core */
static void ssd1783_set_attr(unsigned long attr)
{
/* FIXME */
}
static int ssd1783_putc(unsigned int c)
{
return ssd1783_putc_col(c, BLACK, WHITE);
}
static int ssd1783_puts(const char *str)
{
return ssd1783_puts_col(str, 0, BLACK, WHITE);
}
const struct display_driver ssd1783_display = {
.name = "ssd1783",
.init = &ssd1783_init,
.set_attr = &ssd1783_set_attr,
.unset_attr = &ssd1783_set_attr,
.clrscr = &ssd1783_clrscr,
.goto_xy = &ssd1783_goto_xy,
.putc = &ssd1783_putc,
.puts = &ssd1783_puts,
};

View File

@ -1,56 +0,0 @@
#ifndef _SSD1783_H
#define _SSD1783_H
/* Some basic colors */
#define RED 0x0f00
#define GREEN 0x00f0
#define BLUE 0x000f
#define YELLOW 0x0ff0
#define MAGENTA 0x0f0f
#define CYAN 0x00ff
#define BLACK 0x0000
#define WHITE 0x0fff
/* Epson S1D15G10D08B000 commandset */
#define CMD_DISON 0xaf // Display on
#define CMD_DISOFF 0xae // Display off
#define CMD_DISNOR 0xa6 // Normal display
#define CMD_DISINV 0xa7 // Inverse display
#define CMD_COMSCN 0xbb // Common scan direction
#define CMD_DISCTL 0xca // Display control
#define CMD_SLPIN 0x95 // Sleep in
#define CMD_SLPOUT 0x94 // Sleep out
#define CMD_PASET 0x75 // Page address set
#define CMD_CASET 0x15 // Column address set
#define CMD_DATCTL 0xbc // Data scan direction, etc.
#define CMD_RGBSET8 0xce // 256-color position set
#define CMD_RAMWR 0x5c // Writing to memory
#define CMD_RAMRD 0x5d // Reading from memory
#define CMD_PTLIN 0xa8 // Partial display in
#define CMD_PTLOUT 0xa9 // Partial display out
#define CMD_RMWIN 0xe0 // Read and modify write
#define CMD_RMWOUT 0xee // End
#define CMD_ASCSE 0xaa // Area scroll set
#define CMD_SCSTART 0xab // Scroll start set
#define CMD_OSCON 0xd1 // Internal oscillation on
#define CMD_OSCOFF 0xd2 // Internal oscillation off
#define CMD_PWRCTR 0x20 // Power control
#define CMD_VOLCTR 0x81 // Electronic volume control
#define CMD_VOLUP 0xd6 // Increment electronic control by 1
#define CMD_VOLDOWN 0xd7 // Decrement electronic control by 1
#define CMD_TMPGRD 0x82 // Temperature gradient set
#define CMD_EPCTIN 0xcd // Control EEPROM
#define CMD_EPCOUT 0xcc // Cancel EEPROM control
#define CMD_EPMWR 0xfc // Write into EEPROM
#define CMD_EPMRD 0xfd // Read from EEPROM
#define CMD_EPSRRD1 0x7c // Read register 1
#define CMD_EPSRRD2 0x7d // Read register 2
#define CMD_NOP 0x25 // NOP instruction
/* Extended SSD1783 commandset, partly (also has HW graphic functionalities) */
#define CMD_BIASSET 0xfb // Set bias ratio
#define CMD_FREQSET 0xf2 // Set frequency and n-line inversion
#define CMD_RESCMD 0xa2 // reserved command
#define CMD_PWMSEL 0xf7 // Select PWM/FRC, Full/8 color mode
#endif