summaryrefslogtreecommitdiffstats
path: root/Src/osmolib/src/target/firmware/board
diff options
context:
space:
mode:
Diffstat (limited to 'Src/osmolib/src/target/firmware/board')
-rw-r--r--Src/osmolib/src/target/firmware/board/compal/highram.lds4
-rw-r--r--Src/osmolib/src/target/firmware/board/compal/ram.lds4
-rw-r--r--Src/osmolib/src/target/firmware/board/compal_e86/init.c7
-rw-r--r--Src/osmolib/src/target/firmware/board/compal_e88/init.c6
-rw-r--r--Src/osmolib/src/target/firmware/board/compal_e99/init.c8
-rw-r--r--Src/osmolib/src/target/firmware/board/gta0x/init.c3
-rw-r--r--Src/osmolib/src/target/firmware/board/pirelli_dpl10/init.c42
-rw-r--r--Src/osmolib/src/target/firmware/board/se_j100/init.c7
8 files changed, 52 insertions, 29 deletions
diff --git a/Src/osmolib/src/target/firmware/board/compal/highram.lds b/Src/osmolib/src/target/firmware/board/compal/highram.lds
index 1f0a5a6..498a2fa 100644
--- a/Src/osmolib/src/target/firmware/board/compal/highram.lds
+++ b/Src/osmolib/src/target/firmware/board/compal/highram.lds
@@ -16,9 +16,9 @@ MEMORY
/* lowram: could be anything, we place exception vectors here */
XRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00020000
/* highram binary: our text, initialized data */
- LRAM (rw) : ORIGIN = 0x00820000, LENGTH = 0x00010000
+ LRAM (rw) : ORIGIN = 0x00820000, LENGTH = 0x00014000
/* highram binary: our unitialized data, stacks, heap */
- IRAM (rw) : ORIGIN = 0x00830000, LENGTH = 0x00010000
+ IRAM (rw) : ORIGIN = 0x00834000, LENGTH = 0x0000c000
}
SECTIONS
{
diff --git a/Src/osmolib/src/target/firmware/board/compal/ram.lds b/Src/osmolib/src/target/firmware/board/compal/ram.lds
index 342870d..9503ede 100644
--- a/Src/osmolib/src/target/firmware/board/compal/ram.lds
+++ b/Src/osmolib/src/target/firmware/board/compal/ram.lds
@@ -11,9 +11,9 @@ ENTRY(_start)
MEMORY
{
/* compal-loaded binary: our text, initialized data */
- LRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00010000
+ LRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00014000
/* compal-loaded binary: our unitialized data, stacks, heap */
- IRAM (rw) : ORIGIN = 0x00810000, LENGTH = 0x00010000
+ IRAM (rw) : ORIGIN = 0x00814000, LENGTH = 0x0000c000
}
SECTIONS
{
diff --git a/Src/osmolib/src/target/firmware/board/compal_e86/init.c b/Src/osmolib/src/target/firmware/board/compal_e86/init.c
index 1de6193..2d463cb 100644
--- a/Src/osmolib/src/target/firmware/board/compal_e86/init.c
+++ b/Src/osmolib/src/target/firmware/board/compal_e86/init.c
@@ -41,10 +41,12 @@
#include <calypso/backlight.h>
#include <comm/sercomm.h>
+#include <comm/timer.h>
#include <abb/twl3025.h>
#include <rf/trf6151.h>
-#include <display.h>
+
+#include <fb/framebuffer.h>
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@@ -127,8 +129,7 @@ void board_init(void)
timer_init();
/* Initialize LCD driver (uses UWire) */
- display = &td014_display;
- display_init();
+ fb_init();
bl_mode_pwl(1);
bl_level(0);
diff --git a/Src/osmolib/src/target/firmware/board/compal_e88/init.c b/Src/osmolib/src/target/firmware/board/compal_e88/init.c
index a5bf880..fe3fd72 100644
--- a/Src/osmolib/src/target/firmware/board/compal_e88/init.c
+++ b/Src/osmolib/src/target/firmware/board/compal_e88/init.c
@@ -44,7 +44,7 @@
#include <abb/twl3025.h>
#include <rf/trf6151.h>
-#include <display.h>
+#include <fb/framebuffer.h>
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@@ -123,8 +123,8 @@ void board_init(void)
timer_init();
/* Initialize LCD driver (uses I2C) and backlight */
- display = &st7558_display;
- display_init();
+ fb_init();
+
bl_mode_pwl(1);
bl_level(50);
diff --git a/Src/osmolib/src/target/firmware/board/compal_e99/init.c b/Src/osmolib/src/target/firmware/board/compal_e99/init.c
index 0c218a8..31eb978 100644
--- a/Src/osmolib/src/target/firmware/board/compal_e99/init.c
+++ b/Src/osmolib/src/target/firmware/board/compal_e99/init.c
@@ -41,10 +41,12 @@
#include <calypso/backlight.h>
#include <comm/sercomm.h>
+#include <comm/timer.h>
#include <abb/twl3025.h>
#include <rf/trf6151.h>
-#include <display.h>
+
+#include <fb/framebuffer.h>
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@@ -127,11 +129,11 @@ 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);
+ fb_init();
+
/* Initialize keypad driver */
keypad_init(1);
diff --git a/Src/osmolib/src/target/firmware/board/gta0x/init.c b/Src/osmolib/src/target/firmware/board/gta0x/init.c
index 4f256ea..d125e15 100644
--- a/Src/osmolib/src/target/firmware/board/gta0x/init.c
+++ b/Src/osmolib/src/target/firmware/board/gta0x/init.c
@@ -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);
diff --git a/Src/osmolib/src/target/firmware/board/pirelli_dpl10/init.c b/Src/osmolib/src/target/firmware/board/pirelli_dpl10/init.c
index 53fb257..ef18403 100644
--- a/Src/osmolib/src/target/firmware/board/pirelli_dpl10/init.c
+++ b/Src/osmolib/src/target/firmware/board/pirelli_dpl10/init.c
@@ -1,7 +1,7 @@
/* Initialization for the Pirelli DP-L10 */
/* (C) 2010 by Harald Welte <laforge@gnumonks.org>
- * (C) 2011 by Steve Markgraf <steve@steve-m.de>
+ * (C) 2011-12 by Steve Markgraf <steve@steve-m.de>
*
* All Rights Reserved
*
@@ -45,10 +45,13 @@
#include <abb/twl3025.h>
#include <rf/trf6151.h>
-#include <display.h>
+
+#include <fb/framebuffer.h>
#define ARMIO_LATCH_OUT 0xfffe4802
+#define IO_CNTL_REG 0xfffe4804
#define ASIC_CONF_REG 0xfffef008
+#define IO_CONF_REG 0xfffef00a
static void board_io_init(void)
{
@@ -59,17 +62,36 @@ static void board_io_init(void)
reg |= ((1 << 12) | (1 << 7)); /* SCL / SDA */
/* TWL3025: Set SPI+RIF RX clock to rising edge */
reg |= (1 << 13) | (1 << 14);
+ reg &= ~(1 << 1);
writew(reg, ASIC_CONF_REG);
+
+ /* enable IO functionality */
+ reg = readw(IO_CONF_REG);
+ reg |= (1 << 9) | (1 << 4) | (1 << 3) | (1 << 2) | (1 << 1) | (1 << 0);
+ writew(reg, IO_CONF_REG);
+
+ /* set IO directions */
+ reg = readw(IO_CNTL_REG);
+ reg &= ~((1 << 7) | (1 << 4) | (1 << 1));
+ writew(reg, IO_CNTL_REG);
+
+ /* reset display controller, disable bypass mode, set nCS4 to display */
+ reg = readw(ARMIO_LATCH_OUT);
+ reg &= ~(1 << 4);
+ writew(reg, ARMIO_LATCH_OUT);
+ reg &= ~(1 << 7);
+ reg |= (1 << 4) | (1 << 1);
+ writew(reg, ARMIO_LATCH_OUT);
}
void board_init(void)
{
/* Configure the memory interface */
- calypso_mem_cfg(CALYPSO_nCS0, 3, CALYPSO_MEM_16bit, 1);
- calypso_mem_cfg(CALYPSO_nCS1, 3, CALYPSO_MEM_16bit, 1);
+ calypso_mem_cfg(CALYPSO_nCS0, 4, CALYPSO_MEM_16bit, 1);
+ calypso_mem_cfg(CALYPSO_nCS1, 4, CALYPSO_MEM_16bit, 1);
calypso_mem_cfg(CALYPSO_nCS2, 5, CALYPSO_MEM_16bit, 1);
- calypso_mem_cfg(CALYPSO_nCS3, 5, CALYPSO_MEM_16bit, 1);
- calypso_mem_cfg(CALYPSO_CS4, 0, CALYPSO_MEM_8bit, 1);
+ calypso_mem_cfg(CALYPSO_nCS3, 4, CALYPSO_MEM_16bit, 1);
+ calypso_mem_cfg(CALYPSO_CS4, 7, CALYPSO_MEM_16bit, 1);
calypso_mem_cfg(CALYPSO_nCS6, 0, CALYPSO_MEM_32bit, 1);
calypso_mem_cfg(CALYPSO_nCS7, 0, CALYPSO_MEM_32bit, 0);
@@ -110,11 +132,11 @@ void board_init(void)
/* Initialize system timers (uses hwtimer 2) */
timer_init();
- /* Initialize LCD driver (uses I2C) and backlight */
- display = &st7558_display;
- display_init();
+ /* Initialize LCD driver and backlight (0 is max, 255 min brightness) */
bl_mode_pwl(1);
- bl_level(0);
+ bl_level(50);
+
+ fb_init();
/* Initialize keypad driver */
keypad_init(1);
diff --git a/Src/osmolib/src/target/firmware/board/se_j100/init.c b/Src/osmolib/src/target/firmware/board/se_j100/init.c
index 30c3e6b..2a3de0e 100644
--- a/Src/osmolib/src/target/firmware/board/se_j100/init.c
+++ b/Src/osmolib/src/target/firmware/board/se_j100/init.c
@@ -41,10 +41,12 @@
#include <calypso/backlight.h>
#include <comm/sercomm.h>
+#include <comm/timer.h>
#include <abb/twl3025.h>
#include <rf/trf6151.h>
-#include <display.h>
+
+#include <fb/framebuffer.h>
#define ARMIO_LATCH_OUT 0xfffe4802
#define IO_CNTL_REG 0xfffe4804
@@ -127,8 +129,7 @@ void board_init(void)
timer_init();
/* Initialize LCD driver (uses UWire) and backlight */
- display = &ssd1963_display;
- display_init();
+ fb_init();
bl_mode_pwl(1);
bl_level(50);