You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(79) |
Aug
(27) |
Sep
(64) |
Oct
(202) |
Nov
(31) |
Dec
(59) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(125) |
Feb
(173) |
Mar
(13) |
Apr
(140) |
May
(75) |
Jun
(1) |
Jul
(37) |
Aug
(14) |
Sep
|
Oct
(20) |
Nov
(9) |
Dec
(2) |
2003 |
Jan
(51) |
Feb
(12) |
Mar
(18) |
Apr
(24) |
May
(1) |
Jun
|
Jul
|
Aug
(72) |
Sep
(12) |
Oct
(18) |
Nov
(60) |
Dec
(26) |
2004 |
Jan
(1) |
Feb
(40) |
Mar
(3) |
Apr
(3) |
May
|
Jun
(1) |
Jul
(4) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(5) |
2006 |
Jan
(13) |
Feb
(5) |
Mar
(8) |
Apr
(13) |
May
(7) |
Jun
(6) |
Jul
(10) |
Aug
(6) |
Sep
(6) |
Oct
(35) |
Nov
(20) |
Dec
(10) |
2007 |
Jan
(13) |
Feb
(9) |
Mar
(2) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(2) |
Aug
(3) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(1) |
2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(4) |
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(54) |
Jun
(78) |
Jul
(35) |
Aug
(21) |
Sep
(21) |
Oct
(29) |
Nov
(10) |
Dec
(5) |
2010 |
Jan
|
Feb
|
Mar
(26) |
Apr
(55) |
May
(73) |
Jun
(63) |
Jul
(38) |
Aug
(39) |
Sep
(19) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2011 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Erik M. <er...@us...> - 2001-10-15 21:27:08
|
Update of /cvsroot/blob/blob/src/lib In directory usw-pr-cvs1:/tmp/cvs-serv13231/src/lib Modified Files: led.c Log Message: - add led_lock(), led_unlock(), and led_init() functions - use led_init() in init calls - remove led_off() from exit calls (so pleb will remain working) Index: led.c =================================================================== RCS file: /cvsroot/blob/blob/src/lib/led.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- led.c 2001/10/14 20:24:32 1.4 +++ led.c 2001/10/15 21:27:05 1.5 @@ -48,12 +48,25 @@ static int led_state; +static int led_locked; + + + + +void led_init(void) +{ + led_unlock(); + led_on(); +} void led_on(void) { + if(led_locked) + return; + GPSR = LED_GPIO; led_state = 1; } @@ -63,6 +76,9 @@ void led_off(void) { + if(led_locked) + return; + GPCR = LED_GPIO; led_state = 0; } @@ -76,4 +92,20 @@ led_off(); else led_on(); +} + + + + +void led_lock(void) +{ + led_locked = 1; +} + + + + +void led_unlock(void) +{ + led_locked = 0; } |
From: Erik M. <er...@us...> - 2001-10-15 21:27:08
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv13231/include/blob Modified Files: led.h Log Message: - add led_lock(), led_unlock(), and led_init() functions - use led_init() in init calls - remove led_off() from exit calls (so pleb will remain working) Index: led.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/led.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- led.h 2001/10/14 20:24:32 1.2 +++ led.h 2001/10/15 21:27:05 1.3 @@ -27,9 +27,12 @@ +void led_init(void); void led_on(void); void led_off(void); void led_toggle(void); +void led_lock(void); +void led_unlock(void); |
From: Erik M. <er...@us...> - 2001-10-15 21:24:42
|
Update of /cvsroot/blob/blob/src/lib In directory usw-pr-cvs1:/tmp/cvs-serv12525/src/lib Modified Files: error.c Log Message: - add flash erase and program errors - simplify list with error strings Index: error.c =================================================================== RCS file: /cvsroot/blob/blob/src/lib/error.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- error.c 2001/10/07 21:28:57 1.3 +++ error.c 2001/10/15 21:24:39 1.4 @@ -33,25 +33,21 @@ #include <blob/types.h> -typedef struct { - int errno; - char *string; -} error_t; - - -static error_t errors[] = { - { ENOERROR, "no error" }, - { EINVAL, "invalid argument" }, - { ENOPARAMS, "not enough parameters" }, - { EMAGIC, "magic value failed" }, - { ECOMMAND, "invalid command" }, - { ENAN, "not a number" }, - { EALIGN, "alignment error" }, - { ERANGE, "out of range" }, - { ETIMEOUT, "timeout exceeded" }, - { ETOOSHORT, "short file" }, - { ETOOLONG, "long file" }, - { EAMBIGCMD, "ambiguous command" }, +static char *error_strings[] = { + "no error", /* ENOERROR */ + "invalid argument", /* EINVAL */ + "not enough parameters", /* ENOPARAMS */ + "magic value failed", /* EMAGIC */ + "invalid command", /* ECOMMAND */ + "not a number", /* ENAN */ + "alignment error", /* EALIGN */ + "out of range", /* ERANGE */ + "timeout exceeded", /* ETIMEOUT */ + "short file", /* ETOOSHORT */ + "long file", /* ETOOLONG */ + "ambiguous command", /* EAMBIGCMD */ + "can't erase flash block", /* EFLASHERASE */ + "flash program error", /* EFLASHPGM */ }; @@ -61,18 +57,16 @@ char *strerror(int errnum) { - int i; - int num = sizeof(errors) / sizeof(error_t); + int num = sizeof(error_strings) / sizeof(char*); /* make positive if it is negative */ if(errnum < 0) errnum = -errnum; - - for(i = 0; i < num; i++) - if(errors[i].errno == errnum) - return errors[i].string; - return unknown; + if(errnum >= num) + return unknown; + else + return error_strings[errnum]; } |
From: Erik M. <er...@us...> - 2001-10-15 21:24:42
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv12525/include/blob Modified Files: errno.h Log Message: - add flash erase and program errors - simplify list with error strings Index: errno.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/errno.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- errno.h 2001/10/07 21:28:57 1.2 +++ errno.h 2001/10/15 21:24:39 1.3 @@ -39,5 +39,8 @@ #define ETOOSHORT 9 /* short file */ #define ETOOLONG 10 /* long file */ #define EAMBIGCMD 11 /* ambiguous command */ +#define EFLASHERASE 12 /* can't erase flash block */ +#define EFLASHPGM 13 /* flash program error */ + #endif |
From: Stefan E. <se...@us...> - 2001-10-15 15:06:08
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv13442 Modified Files: lcd.h Log Message: - bugfixes in lcd configuration for pt system 3 platform - lcd_controller_enable() separated to two functions Index: lcd.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/lcd.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- lcd.h 2001/10/09 19:24:54 1.3 +++ lcd.h 2001/10/15 15:06:06 1.4 @@ -35,14 +35,14 @@ # define LCD_BPP 8 # define LCD_COLS 640 # define LCD_ROWS 480 -# define LCD_VIDEORAM_OFFSET ((LCD_BPP*LCD_ROWS*LCD_COLS)>>1) +# define LCD_VIDEORAM_SIZE ((LCD_BPP*LCD_ROWS*LCD_COLS)>>3) # define LCD_PALETTE_ENTRIES 256 -# define LCD_PALETTE_SIZE (LCD_PALETTE_ENTRIES * 8) +# define LCD_PALETTE_SIZE (LCD_PALETTE_ENTRIES * 2) # define LCD_RAM_BASE 0xd0000000 # define LCD_PALETTE_DMA_ADR (LCD_RAM_BASE + 0x0) # define LCD_VIDEORAM_START (LCD_RAM_BASE + LCD_PALETTE_SIZE) -# define LCD_VIDEORAM_END (LCD_VIDEORAM_START + 2*LCD_VIDEORAM_OFFSET) -# define LCD_VIDEORAM_DMA_ADR (LCD_PALETTE_DMA_ADR + LCD_PALETTE_SIZE + LCD_VIDEORAM_OFFSET) +# define LCD_VIDEORAM_END (LCD_VIDEORAM_START + LCD_VIDEORAM_SIZE) +# define LCD_VIDEORAM_DMA_ADR (LCD_PALETTE_DMA_ADR + LCD_PALETTE_SIZE + (LCD_VIDEORAM_SIZE>>1)) #else # error "Cowardly refusing to break your LCD, please supply correct LCD parameters." @@ -55,6 +55,7 @@ int lcd_gpio_setup( void ); +int lcd_controller_setup( void ); int lcd_controller_enable( void ); int lcd_controller_disable( void ); |
From: Stefan E. <se...@us...> - 2001-10-15 15:04:28
|
Update of /cvsroot/blob/blob/src/diag In directory usw-pr-cvs1:/tmp/cvs-serv12899 Modified Files: system3.c Log Message: - init sa1111 for pwm module (brightness & contrast) - lcd_power_up() bugfixes Index: system3.c =================================================================== RCS file: /cvsroot/blob/blob/src/diag/system3.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- system3.c 2001/10/09 17:54:08 1.2 +++ system3.c 2001/10/15 15:04:25 1.3 @@ -35,7 +35,9 @@ #include <blob/errno.h> #include <blob/util.h> #include <blob/command.h> +#include <blob/init.h> #include <blob/serial.h> +#include <blob/time.h> #include <blob/sa1100.h> #include <blob/sa1111.h> @@ -48,6 +50,14 @@ #define SET(reg,bit) ((reg) |= (1<<(bit))) #define CLR(reg,bit) ((reg) &= ~(1<<(bit))) +#define mem_b(adr) ( ((volatile unsigned char*)0)[adr] ) +#define mem_w(adr) ( ((volatile unsigned short int*)0)[(adr)/2] ) +#define mem_dw(adr) ( ((volatile unsigned long*)(0)) [(adr)/4] ) + +/* Optimization barrier */ +/* The "volatile" is due to gcc bugs */ +#define barrier() __asm__ __volatile__("": : :"memory") + #define CPLD_BASE (0x10000000) #define CPLD_ID (CPLD_BASE + 0x00) #define CPLD_IRQ (CPLD_BASE + 0x24) @@ -66,58 +76,100 @@ /********************************************************************** * prototypes */ +void sa1111_init(); /*********************************************************************/ /*********************************************************************/ /*********************************************************************/ #if defined(CONFIG_LCD_SUPPORT) + +__initlist(sa1111_init, INIT_LEVEL_INITIAL_HARDWARE); + +void sa1111_init() +{ + /* switch on clock for sa1111 */ + GAFR |= GPIO_32_768kHz; + GPDR |= GPIO_32_768kHz; + TUCR = TUCR_3_6864MHz; + + /* Now, set up the PLL and RCLK in the SA-1111: */ + SKCR = SKCR_PLL_BYPASS | SKCR_RDYEN | SKCR_OE_EN; + msleep(100); + SKCR = SKCR_PLL_BYPASS | SKCR_RCLKEN | SKCR_RDYEN | SKCR_OE_EN; + + SerialOutputString( "SA1111 ID: " ); + SerialOutputHex( SKID ); + SerialOutputString( "\n" ); + + /* + * SA-1111 Register Access Bus should now be available. Clocks for + * any other SA-1111 functional blocks must be enabled separately + * using the SKPCR. + */ + SKPCR |= SKPCR_DCLKEN | SKPCR_PWMCLKEN; + + /* + * If the system is going to use the SA-1111 DMA engines, set up + * the memory bus request/grant pins. Also configure the shared + * memory controller on the SA-1111 (SA-1111 Developer's Manual, + * section 3.2.3) and power up the DMA bus clock: + */ + GAFR |= (GPIO_MBGNT | GPIO_MBREQ); + GPDR |= GPIO_MBGNT; + GPDR &= ~GPIO_MBREQ; + TUCR |= TUCR_MR; + + SMCR = (SMCR_DTIM | SMCR_MBGE | + FInsrt(FExtr(MDCNFG, MDCNFG_SA1110_DRAC0), SMCR_DRAC) | + ((FExtr(MDCNFG, MDCNFG_SA1110_TDL0)==3) ? SMCR_CLAT : 0)); +} + /********************************************************************** * Overwrite LCD functions special for this platform */ int lcd_power_up( void ) { - SerialOutputString("_system3_" ); SET( MEM( CPLD_0 ), 7 ); + PB_DDR = 0xFFFFFFFF; SKPEN0 = 1; - SKPWM0 = 95; // und halbe Kraft SKPEN1 = 1; - SKPWM1 = 240; // und auf null + + lcd_contrast( 0x95 ); + lcd_brightness( 240 ); + lcd_backlight_on(); return 0; } int lcd_power_down( void ) { - SerialOutputString("_system3_" ); + SKPEN0 = 0; + SKPEN0 = 0; CLR( MEM( CPLD_0 ), 7 ); return 0; } int lcd_backlight_on( void ) { - SerialOutputString("_system3_" ); SET( MEM( CPLD_0 ), 2 ); return 0; } int lcd_backlight_off( void ) { - SerialOutputString("_system3_" ); CLR( MEM( CPLD_0 ), 2 ); return 0; } int lcd_contrast( int value ) { - SerialOutputString("_system3_" ); SKPWM0 = value; return 0; } int lcd_brightness( int value ) { - SerialOutputString("_system3_" ); SKPWM1 = value; return 0; } @@ -128,3 +180,19 @@ /********************************************************************** * static functions */ + +static int cpldtest( int argc, char *argv[] ) +{ + + int i = 100000; + unsigned char x = 0; + +label: + x = (*((unsigned char *)0x10000090)); + barrier(); + (*((unsigned char *)0x10000090)) = x; + barrier(); + goto label; +} +static char cpldhelp[] = "does not return!\n"; +__commandlist(cpldtest, "cpldtest", cpldhelp); |
From: Stefan E. <se...@us...> - 2001-10-15 15:02:43
|
Update of /cvsroot/blob/blob/src/diag In directory usw-pr-cvs1:/tmp/cvs-serv12326 Modified Files: lcd.c Log Message: - lcd_controller_enable() separated to _setup() and _enable() - Debugging output - bugfixes in test pattern code Index: lcd.c =================================================================== RCS file: /cvsroot/blob/blob/src/diag/lcd.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- lcd.c 2001/10/09 19:24:54 1.3 +++ lcd.c 2001/10/15 15:02:40 1.4 @@ -47,6 +47,12 @@ #define SET(reg,bit) ((reg) |= (1<<(bit))) #define CLR(reg,bit) ((reg) &= ~(1<<(bit))) +#define LCD_DEBUG 1 + +#define OUTHEX( val ) SerialOutputString( #val"=0x" ); \ + SerialOutputHex( val ); \ + SerialOutputByte( '\n' ); + /********************************************************************** * program globals */ @@ -56,6 +62,7 @@ */ u16 *lcd_palette = (u16*)(LCD_PALETTE_DMA_ADR); +u32 *lcd_vram = (u32*)(LCD_VIDEORAM_START); /********************************************************************** * Prototypes @@ -87,7 +94,7 @@ return 0; } -int WEAK_SYM lcd_controller_enable( void ) +int WEAK_SYM lcd_controller_setup( void ) { lcd_palette[0] &= 0xcfff; lcd_palette[0] |= 2<<16; // 8 bpp @@ -99,6 +106,11 @@ LCCR0 = LCD_LCCR0 & ~LCCR0_LEN; DBAR1 = (u32 *)LCD_PALETTE_DMA_ADR; DBAR2 = (u32 *)LCD_VIDEORAM_DMA_ADR; + return 0; +} + +int WEAK_SYM lcd_controller_enable( void ) +{ LCCR0 |= LCCR0_LEN; return 0; } @@ -154,6 +166,24 @@ int x,y; char c; +#if LCD_DEBUG + OUTHEX( LCD_LCCR0 ); + OUTHEX( LCD_LCCR1 ); + OUTHEX( LCD_LCCR2 ); + OUTHEX( LCD_LCCR3 ); + OUTHEX( LCD_BPP ); + OUTHEX( LCD_COLS ); + OUTHEX( LCD_ROWS ); + OUTHEX( LCD_PALETTE_ENTRIES ); + OUTHEX( LCD_PALETTE_SIZE ); + OUTHEX( LCD_RAM_BASE ); + OUTHEX( LCD_VIDEORAM_SIZE ); + OUTHEX( LCD_VIDEORAM_START ); + OUTHEX( LCD_VIDEORAM_END ); + OUTHEX( LCD_VIDEORAM_DMA_ADR ); + OUTHEX( LCD_PALETTE_DMA_ADR ); +#endif + SerialOutputString( "LCD: power up ..." ); ret = lcd_power_up(); if ( ret != 0 ) return ret; @@ -164,13 +194,16 @@ if ( ret != 0 ) return ret; SerialOutputString( "done\n" ); + SerialOutputString( "LCD: controller setup ..." ); + ret = lcd_controller_setup(); + if ( ret != 0 ) return ret; + SerialOutputString( "done\n" ); SerialOutputString( "LCD: palette setup ..." ); ret = lcd_palette_setup(); if ( ret != 0 ) return ret; SerialOutputString( "done\n" ); - SerialOutputString( "LCD: controller enable ..." ); ret = lcd_controller_enable(); if ( ret != 0 ) return ret; @@ -186,9 +219,14 @@ SerialOutputString( "LCD: vertical lines test pattern ..." ); for ( y=0; y<LCD_ROWS; y++ ) { for ( x=0; x<(LCD_COLS>>2); x++ ) { - MEM( LCD_VIDEORAM_START + (y*LCD_ROWS) + (x<<2) ) = 0xF0F0F0F0; + if ( x%2 == 0 ) { + lcd_vram[y*(LCD_COLS>>2) + x ] = 0xffffffff; + } else { + lcd_vram[y*(LCD_COLS>>2) + x ] = 0x00000000; + } } } + SerialOutputString( "done\n" ); SerialOutputString( "LCD: press any key to proceed\n" ); |
From: Erik M. <er...@us...> - 2001-10-14 22:37:46
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv953 Modified Files: start.S Log Message: Fix bug in reblob code. If we're running from RAM, we can just skip the memory setup code and immediately do relocate the freshly downloaded blob. Index: start.S =================================================================== RCS file: /cvsroot/blob/blob/src/blob/start.S,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- start.S 2001/10/14 20:24:32 1.2 +++ start.S 2001/10/14 22:37:43 1.3 @@ -88,6 +88,10 @@ mov r1, #0x00 str r1, [r0, #ICMR] + /* if we're running from RAM, we don't want to setup and clear again */ + and r0, pc, #0xff000000 + teq r0, #0 + bne relocate /* switch CPU to correct speed */ ldr r0, PWR_BASE @@ -153,10 +157,10 @@ bne clear_loop +relocate: /* get a clue where we are running, so we know what to copy */ and r0, pc, #0xff000000 /* we don't care about the low bits */ - /* relocate the second stage loader */ add r2, r0, #(128 * 1024) /* blob is 128kB */ add r0, r0, #0x400 /* skip first 1024 bytes */ |
From: Erik M. <er...@us...> - 2001-10-14 22:36:14
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv600 Modified Files: Makefile.am Added Files: assabet.c brutus.c clart.c lart.c nesa.c pleb.c shannon.c system3.c Log Message: Initial platform specific files. These are empty files right now, I want to put the flash layout in these files, but it's a bit too late for that right now. (yes, expect new flash code RSN). --- NEW FILE: assabet.c --- /* * assabet.c: Assabet specific stuff * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: assabet.c,v 1.1 2001/10/14 22:36:11 erikm Exp $" #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif #include <blob/arch.h> --- NEW FILE: brutus.c --- /* * brutus.c: Brutus specific stuff * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: brutus.c,v 1.1 2001/10/14 22:36:11 erikm Exp $" #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif #include <blob/arch.h> --- NEW FILE: clart.c --- /* * clart.c: CreditLART specific stuff * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: clart.c,v 1.1 2001/10/14 22:36:11 erikm Exp $" #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif #include <blob/arch.h> --- NEW FILE: lart.c --- /* * lart.c: LART specific stuff * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: lart.c,v 1.1 2001/10/14 22:36:11 erikm Exp $" #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif #include <blob/arch.h> --- NEW FILE: nesa.c --- /* * nesa.c: NESA specific stuff * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: nesa.c,v 1.1 2001/10/14 22:36:11 erikm Exp $" #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif #include <blob/arch.h> --- NEW FILE: pleb.c --- /* * pleb.c: PLEB specific stuff * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: pleb.c,v 1.1 2001/10/14 22:36:11 erikm Exp $" #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif #include <blob/arch.h> --- NEW FILE: shannon.c --- /* * shannon.c: SHANNON specific stuff * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: shannon.c,v 1.1 2001/10/14 22:36:11 erikm Exp $" #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif #include <blob/arch.h> --- NEW FILE: system3.c --- /* * system3.c: PT System3 specific stuff * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: system3.c,v 1.1 2001/10/14 22:36:11 erikm Exp $" #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif #include <blob/arch.h> Index: Makefile.am =================================================================== RCS file: /cvsroot/blob/blob/src/blob/Makefile.am,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Makefile.am 2001/10/07 20:54:23 1.5 +++ Makefile.am 2001/10/14 22:36:11 1.6 @@ -92,10 +92,19 @@ EXTRA_blob_rest_elf32_SOURCES = \ chkmem.c \ clock.c \ - debug.c + debug.c \ + assabet.c \ + brutus.c \ + clart.c \ + lart.c \ + nesa.c \ + pleb.c \ + shannon.c \ + system3.c blob_rest_elf32_DEPENDENCIES = \ + @BLOB_PLATFORM_OBJ@ \ @CHKMEM@ \ @DEBUG@ \ @CLOCK@ @@ -106,6 +115,7 @@ blob_rest_elf32_LDADD += \ + @BLOB_PLATFORM_OBJ@ \ @CHKMEM@ \ @DEBUG@ \ @CLOCK@ \ |
From: Erik M. <er...@us...> - 2001-10-14 20:24:36
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv31603/include/blob Modified Files: Makefile.am led.h main.h Added Files: arch.h Log Message: Large cleanup of the include files, all platform specific defines are moved into a single include file in include/blob/arch/ . *Please* check if the definitions for your platform are still OK. --- NEW FILE: arch.h --- /* * arch.h: Architecture specific defines * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: arch.h,v 1.1 2001/10/14 20:24:32 erikm Exp $ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: arch.h,v 1.1 2001/10/14 20:24:32 erikm Exp $" #ifndef BLOB_ARCH_H #define BLOB_ARCH_H /* memory start and end */ #define MEMORY_START (0xc0000000) #define MEMORY_END (0xe0000000) /* architecture specific include files */ #if defined ASSABET # include <blob/arch/assabet.h> #elif defined BRUTUS # include <blob/arch/brutus.h> #elif defined CLART # include <blob/arch/clart.h> #elif defined LART # include <blob/arch/lart.h> #elif defined NESA # include <blob/arch/nesa.h> #elif defined PLEB # include <blob/arch/pleb.h> #elif defined SHANNON # include <blob/arch/shannon.h> #elif defined PT_SYSTEM3 # include <blob/arch/system3.h> #else # error "Please add an architecture specific include file" #endif #endif Index: Makefile.am =================================================================== RCS file: /cvsroot/blob/blob/include/blob/Makefile.am,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- Makefile.am 2001/10/14 14:49:42 1.9 +++ Makefile.am 2001/10/14 20:24:32 1.10 @@ -15,6 +15,7 @@ noinst_HEADERS = \ + arch.h \ command.h \ command_hist.h \ errno.h \ Index: led.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/led.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- led.h 2001/10/07 15:17:49 1.1 +++ led.h 2001/10/14 20:24:32 1.2 @@ -27,29 +27,10 @@ -/* define the GPIO pin for the LED */ -#if defined ASSABET -# define LED_GPIO 0x00020000 /* GPIO 17 */ -#elif (defined CLART) || (defined LART) || (defined NESA) -# define LED_GPIO 0x00800000 /* GPIO 23 */ -#elif defined PLEB -# define LED_GPIO 0x00010000 /* GPIO 16 */ -#elif defined PT_SYSTEM3 -# define LED_GPIO 0x00000400 /* GPIO 10 */ -#else -#warning "FIXME: Include code to turn on one of the LEDs on your board" -# define LED_GPIO 0x00000000 /* safe mode: no GPIO, so no LED */ -#endif - - - -#ifndef ASSEMBLY - void led_on(void); void led_off(void); void led_toggle(void); -#endif Index: main.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/main.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- main.h 2001/10/07 15:27:35 1.2 +++ main.h 2001/10/14 20:24:32 1.3 @@ -34,61 +34,6 @@ #ifndef BLOB_MAIN_H #define BLOB_MAIN_H -/* memory start and end */ -#define MEMORY_START (0xc0000000) -#define MEMORY_END (0xe0000000) - - -/* where does blob live when we download it */ -#if defined SHANNON -# define BLOB_RAM_BASE (0xc0100000) -#elif defined PT_SYSTEM3 -# define BLOB_RAM_BASE (0xc0100000) -#else -# define BLOB_RAM_BASE (0xc0100000) -#endif - - -#define BLOB_BLOCK_OFFSET (0x00000000) - -/* where does the paramater list live when we download it */ -#define PARAM_RAM_BASE (0xc0110000) - -/* where does the kernel live in RAM */ -#define KERNEL_RAM_BASE (0xC0008000) - -#define KERNEL_BLOCK_OFFSET (0x00008000) - - -/* where does the ramdisk live in RAM */ -#if defined ASSABET -# define RAMDISK_RAM_BASE (0xC0800000) -#elif defined SHANNON -# define RAMDISK_RAM_BASE (0xC8000000) -#elif defined PT_SYSTEM3 -# define RAMDISK_RAM_BASE (0xC0800000) -#else -# define RAMDISK_RAM_BASE (0xC0400000) -#endif - -#if defined ASSABET -# define RAMDISK_BLOCK_OFFSET (0x00800000) -#elif defined SHANNON -# define RAMDISK_BLOCK_OFFSET (0x00200000) -#elif defined PT_SYSTEM3 -# define RAMDISK_BLOCK_OFFSET (0x00800000) -#else -# define RAMDISK_BLOCK_OFFSET (0x00400000) -#endif - -/* where does the command block live in memory */ -/* As far as I know all architectures have this at the same address */ -#define BOOT_PARAMS (0xc0000100) - -/* the size to which the compressed ramdisk expands */ -#define RAMDISK_SIZE (8 * 1024) - - #include <blob/types.h> #include <blob/serial.h> #include <asm-arm/setup.h> |
From: Erik M. <er...@us...> - 2001-10-14 20:24:35
|
Update of /cvsroot/blob/blob/include/blob/arch In directory usw-pr-cvs1:/tmp/cvs-serv31603/include/blob/arch Modified Files: Makefile.am Added Files: assabet.h brutus.h clart.h lart.h nesa.h pleb.h shannon.h system3.h Log Message: Large cleanup of the include files, all platform specific defines are moved into a single include file in include/blob/arch/ . *Please* check if the definitions for your platform are still OK. --- NEW FILE: assabet.h --- /* * assabet.h: Assabet specific defines * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: assabet.h,v 1.1 2001/10/14 20:24:32 erikm Exp $ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: assabet.h,v 1.1 2001/10/14 20:24:32 erikm Exp $" #ifndef BLOB_ARCH_ASSABET_H #define BLOB_ARCH_ASSABET_H /* boot CPU speed */ #define CPU_SPEED (0x0b) /* GPIO for the LED */ #define LED_GPIO (0x00020000) /* GPIO 17 */ /* where do various parts live in RAM */ #define BLOB_RAM_BASE (0xc0100000) #define KERNEL_RAM_BASE (0xC0008000) #define PARAM_RAM_BASE (0xc0110000) #define RAMDISK_RAM_BASE (0xC0800000) /* and where do they live in flash */ #define BLOB_BLOCK_OFFSET (0x00000000) #define KERNEL_BLOCK_OFFSET (0x00008000) #define RAMDISK_BLOCK_OFFSET (0x00800000) /* the position of the kernel boot parameters */ #define BOOT_PARAMS (0xc0000100) /* the size (in kbytes) to which the compressed ramdisk expands */ #define RAMDISK_SIZE (8 * 1024) #endif --- NEW FILE: brutus.h --- /* * brutus.h: Brutus specific defines * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: brutus.h,v 1.1 2001/10/14 20:24:32 erikm Exp $ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: brutus.h,v 1.1 2001/10/14 20:24:32 erikm Exp $" #ifndef BLOB_ARCH_BRUTUS_H #define BLOB_ARCH_BRUTUS_H /* boot CPU speed */ #define CPU_SPEED (0x0b) /* GPIO for the LED */ #define LED_GPIO (0x00000000) /* safe mode: no GPIO, no LED */ /* where do various parts live in RAM */ #define BLOB_RAM_BASE (0xc0100000) #define KERNEL_RAM_BASE (0xC0008000) #define PARAM_RAM_BASE (0xc0110000) #define RAMDISK_RAM_BASE (0xC0400000) /* and where do they live in flash */ #define BLOB_BLOCK_OFFSET (0x00000000) #define KERNEL_BLOCK_OFFSET (0x00008000) #define RAMDISK_BLOCK_OFFSET (0x00400000) /* the position of the kernel boot parameters */ #define BOOT_PARAMS (0xc0000100) /* the size (in kbytes) to which the compressed ramdisk expands */ #define RAMDISK_SIZE (8 * 1024) #endif --- NEW FILE: clart.h --- /* * clart.h: CreditLART specific defines * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: clart.h,v 1.1 2001/10/14 20:24:32 erikm Exp $ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: clart.h,v 1.1 2001/10/14 20:24:32 erikm Exp $" #ifndef BLOB_ARCH_CLART_H #define BLOB_ARCH_CLART_H /* boot CPU speed */ #define CPU_SPEED (0x0b) /* GPIO for the LED */ #define LED_GPIO (0x00800000) /* GPIO 23 */ /* where do various parts live in RAM */ #define BLOB_RAM_BASE (0xc0100000) #define KERNEL_RAM_BASE (0xC0008000) #define PARAM_RAM_BASE (0xc0110000) #define RAMDISK_RAM_BASE (0xC0400000) /* and where do they live in flash */ #define BLOB_BLOCK_OFFSET (0x00000000) #define KERNEL_BLOCK_OFFSET (0x00008000) #define RAMDISK_BLOCK_OFFSET (0x00400000) /* the position of the kernel boot parameters */ #define BOOT_PARAMS (0xc0000100) /* the size (in kbytes) to which the compressed ramdisk expands */ #define RAMDISK_SIZE (8 * 1024) #endif --- NEW FILE: lart.h --- /* * lart.h: LART specific defines * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: lart.h,v 1.1 2001/10/14 20:24:32 erikm Exp $ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: lart.h,v 1.1 2001/10/14 20:24:32 erikm Exp $" #ifndef BLOB_ARCH_LART_H #define BLOB_ARCH_LART_H /* boot CPU speed */ #define CPU_SPEED (0x0b) /* GPIO for the LED */ #define LED_GPIO (0x00800000) /* GPIO 23 */ /* where do various parts live in RAM */ #define BLOB_RAM_BASE (0xc0100000) #define KERNEL_RAM_BASE (0xC0008000) #define PARAM_RAM_BASE (0xc0110000) #define RAMDISK_RAM_BASE (0xC0400000) /* and where do they live in flash */ #define BLOB_BLOCK_OFFSET (0x00000000) #define KERNEL_BLOCK_OFFSET (0x00008000) #define RAMDISK_BLOCK_OFFSET (0x00400000) /* the position of the kernel boot parameters */ #define BOOT_PARAMS (0xc0000100) /* the size (in kbytes) to which the compressed ramdisk expands */ #define RAMDISK_SIZE (8 * 1024) #endif --- NEW FILE: nesa.h --- /* * nesa.h: NESA specific defines * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: nesa.h,v 1.1 2001/10/14 20:24:32 erikm Exp $ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: nesa.h,v 1.1 2001/10/14 20:24:32 erikm Exp $" #ifndef BLOB_ARCH_NESA_H #define BLOB_ARCH_NESA_H /* boot CPU speed */ #define CPU_SPEED (0x0b) /* GPIO for the LED */ #define LED_GPIO (0x00800000) /* GPIO 23 */ /* where do various parts live in RAM */ #define BLOB_RAM_BASE (0xc0100000) #define KERNEL_RAM_BASE (0xC0008000) #define PARAM_RAM_BASE (0xc0110000) #define RAMDISK_RAM_BASE (0xC0400000) /* and where do they live in flash */ #define BLOB_BLOCK_OFFSET (0x00000000) #define KERNEL_BLOCK_OFFSET (0x00008000) #define RAMDISK_BLOCK_OFFSET (0x00400000) /* the position of the kernel boot parameters */ #define BOOT_PARAMS (0xc0000100) /* the size (in kbytes) to which the compressed ramdisk expands */ #define RAMDISK_SIZE (8 * 1024) #endif --- NEW FILE: pleb.h --- /* * pleb.h: PLEB specific defines * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: pleb.h,v 1.1 2001/10/14 20:24:32 erikm Exp $ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: pleb.h,v 1.1 2001/10/14 20:24:32 erikm Exp $" #ifndef BLOB_ARCH_PLEB_H #define BLOB_ARCH_PLEB_H /* boot CPU speed */ #define CPU_SPEED (0x0a) /* GPIO for the LED */ #define LED_GPIO (0x00010000) /* GPIO 16 */ /* where do various parts live in RAM */ #define BLOB_RAM_BASE (0xc0100000) #define KERNEL_RAM_BASE (0xC0008000) #define PARAM_RAM_BASE (0xc0110000) #define RAMDISK_RAM_BASE (0xC0400000) /* and where do they live in flash */ #define BLOB_BLOCK_OFFSET (0x00000000) #define KERNEL_BLOCK_OFFSET (0x00008000) #define RAMDISK_BLOCK_OFFSET (0x00400000) /* the position of the kernel boot parameters */ #define BOOT_PARAMS (0xc0000100) /* the size (in kbytes) to which the compressed ramdisk expands */ #define RAMDISK_SIZE (8 * 1024) #endif --- NEW FILE: shannon.h --- /* * shannon.h: SHANNON specific defines * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: shannon.h,v 1.1 2001/10/14 20:24:32 erikm Exp $ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: shannon.h,v 1.1 2001/10/14 20:24:32 erikm Exp $" #ifndef BLOB_ARCH_SHANNON_H #define BLOB_ARCH_SHANNON_H /* boot CPU speed */ #define CPU_SPEED (0x09) /* GPIO for the LED */ #define LED_GPIO (0x00000000) /* safe mode: no GPIO, no LED */ /* where do various parts live in RAM */ #define BLOB_RAM_BASE (0xc0100000) #define KERNEL_RAM_BASE (0xC0008000) #define PARAM_RAM_BASE (0xc0110000) #define RAMDISK_RAM_BASE (0xC8000000) /* and where do they live in flash */ #define BLOB_BLOCK_OFFSET (0x00000000) #define KERNEL_BLOCK_OFFSET (0x00008000) #define RAMDISK_BLOCK_OFFSET (0x00200000) /* the position of the kernel boot parameters */ #define BOOT_PARAMS (0xc0000100) /* the size (in kbytes) to which the compressed ramdisk expands */ #define RAMDISK_SIZE (8 * 1024) #endif --- NEW FILE: system3.h --- /* * system3.h: PT system3 specific defines * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: system3.h,v 1.1 2001/10/14 20:24:32 erikm Exp $ * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: system3.h,v 1.1 2001/10/14 20:24:32 erikm Exp $" #ifndef BLOB_ARCH_SYSTEM3_H #define BLOB_ARCH_SYSTEM3_H /* boot CPU speed */ #define CPU_SPEED (0x05) /* GPIO for the LED */ #define LED_GPIO (0x00000400) /* GPIO 10 */ /* where do various parts live in RAM */ #define BLOB_RAM_BASE (0xc0100000) #define KERNEL_RAM_BASE (0xC0008000) #define PARAM_RAM_BASE (0xc0110000) #define RAMDISK_RAM_BASE (0xC0800000) /* and where do they live in flash */ #define BLOB_BLOCK_OFFSET (0x00000000) #define KERNEL_BLOCK_OFFSET (0x00008000) #define RAMDISK_BLOCK_OFFSET (0x00800000) /* the position of the kernel boot parameters */ #define BOOT_PARAMS (0xc0000100) /* the size (in kbytes) to which the compressed ramdisk expands */ #define RAMDISK_SIZE (8 * 1024) #endif Index: Makefile.am =================================================================== RCS file: /cvsroot/blob/blob/include/blob/arch/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Makefile.am 2001/10/14 14:49:42 1.1 +++ Makefile.am 2001/10/14 20:24:32 1.2 @@ -10,7 +10,15 @@ ## Modified at: Tue Sep 28 23:36:51 1999 ########################################################################### -noinst_HEADERS = +noinst_HEADERS = \ + assabet.h \ + brutus.h \ + clart.h \ + lart.h \ + nesa.h \ + pleb.h \ + shannon.h \ + system3.h CLEANFILES = ${srcdir}/*~ |
From: Erik M. <er...@us...> - 2001-10-14 20:24:35
|
Update of /cvsroot/blob/blob/src/lib In directory usw-pr-cvs1:/tmp/cvs-serv31603/src/lib Modified Files: led.c Log Message: Large cleanup of the include files, all platform specific defines are moved into a single include file in include/blob/arch/ . *Please* check if the definitions for your platform are still OK. Index: led.c =================================================================== RCS file: /cvsroot/blob/blob/src/lib/led.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- led.c 2001/10/07 20:16:57 1.3 +++ led.c 2001/10/14 20:24:32 1.4 @@ -40,6 +40,7 @@ # include <blob/config.h> #endif +#include <blob/arch.h> #include <blob/led.h> #include <blob/sa1100.h> #include <blob/init.h> |
From: Erik M. <er...@us...> - 2001-10-14 20:24:35
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv31603/src/blob Modified Files: chkmem.c flash.c ledasm.S linux.c main.c memory.c reboot.c start.S Log Message: Large cleanup of the include files, all platform specific defines are moved into a single include file in include/blob/arch/ . *Please* check if the definitions for your platform are still OK. Index: chkmem.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/chkmem.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- chkmem.c 2001/10/07 23:01:08 1.3 +++ chkmem.c 2001/10/14 20:24:32 1.4 @@ -35,7 +35,7 @@ # include <blob/config.h> #endif -#include <blob/main.h> +#include <blob/arch.h> #include <blob/command.h> #include <blob/types.h> #include <blob/sa1100.h> Index: flash.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/flash.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- flash.c 2001/10/07 19:34:17 1.2 +++ flash.c 2001/10/14 20:24:32 1.3 @@ -35,10 +35,10 @@ # include <blob/config.h> #endif +#include <blob/arch.h> #include <blob/errno.h> #include <blob/error.h> #include <blob/led.h> -#include <blob/main.h> #include <blob/util.h> #include <blob/serial.h> #include <blob/flash.h> Index: ledasm.S =================================================================== RCS file: /cvsroot/blob/blob/src/blob/ledasm.S,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ledasm.S 2001/10/07 15:51:01 1.1 +++ ledasm.S 2001/10/14 20:24:32 1.2 @@ -32,8 +32,7 @@ # include <blob/config.h> #endif -#define ASSEMBLY -#include <blob/led.h> +#include <blob/arch.h> Index: linux.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/linux.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- linux.c 2001/10/07 20:53:56 1.3 +++ linux.c 2001/10/14 20:24:32 1.4 @@ -26,12 +26,12 @@ #endif #include <blob/linux.h> +#include <blob/arch.h> #include <blob/command.h> -#include <blob/main.h> #include <blob/flash.h> #include <blob/init.h> +#include <blob/main.h> #include <blob/memory.h> -#include <blob/serial.h> #include <blob/util.h> #include <asm-arm/setup.h> Index: main.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/main.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- main.c 2001/10/07 19:34:17 1.2 +++ main.c 2001/10/14 20:24:32 1.3 @@ -38,6 +38,7 @@ # include <blob/config.h> #endif +#include <blob/arch.h> #include <blob/command.h> #include <blob/errno.h> #include <blob/error.h> Index: memory.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/memory.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- memory.c 2001/10/07 19:34:17 1.2 +++ memory.c 2001/10/14 20:24:32 1.3 @@ -25,7 +25,7 @@ # include <blob/config.h> #endif -#include <blob/main.h> +#include <blob/arch.h> #include <blob/memory.h> #include <blob/serial.h> Index: reboot.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/reboot.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- reboot.c 2001/10/07 22:36:11 1.3 +++ reboot.c 2001/10/14 20:24:32 1.4 @@ -27,8 +27,8 @@ # include <blob/config.h> #endif +#include <blob/arch.h> #include <blob/command.h> -#include <blob/main.h> #include <blob/serial.h> #include <blob/sa1100.h> #include <blob/time.h> Index: start.S =================================================================== RCS file: /cvsroot/blob/blob/src/blob/start.S,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- start.S 2001/10/07 15:51:01 1.1 +++ start.S 2001/10/14 20:24:32 1.2 @@ -40,6 +40,8 @@ # include <blob/config.h> #endif +#include <blob/arch.h> + .text /* Jump vector table as in table 3.1 in [1] */ @@ -69,25 +71,13 @@ #define RCSR 0x04 /* main memory starts at 0xc0000000 */ -MEM_START: .long 0xc0000000 +MEM_START: .long MEMORY_START /* The initial CPU speed. Note that the SA11x0 CPUs can be safely overclocked: - * 190 MHz CPUs are able to run at 221 MHz, 133 MHz CPUs can do 206 Mhz. + * 190 MHz CPUs are able to run at 221 MHz, 133 MHz CPUs can do 190 Mhz. */ -#if (defined ASSABET) || (defined CLART) || (defined LART) || (defined NESA) -cpuspeed: .long 0x0b /* 221 MHz */ -#elif defined PLEB -cpuspeed: .long 0x0a /* 206.4 MHz */ -#elif defined SHANNON -cpuspeed: .long 0x09 /* 191.7 MHz */ -#elif defined PT_SYSTEM3 -cpuspeed: .long 0x05 /* 133 MHz for now */ -#else -#warning "FIXME: Include code to use the correct clock speed for your board" -cpuspeed: .long 0x05 /* safe 133 MHz speed */ -#endif - +cpuspeed: .long CPU_SPEED |
From: Erik M. <er...@us...> - 2001-10-14 14:49:44
|
Update of /cvsroot/blob/blob/include/blob/arch In directory usw-pr-cvs1:/tmp/cvs-serv627/include/blob/arch Added Files: Makefile.am Log Message: Architecture dependent directory (yes, even more cleanups :) Architecture dependent object file --- NEW FILE: Makefile.am --- # -*- makefile -*- ########################################################################### ## Filename: Makefile.am ## Version: $Id: Makefile.am,v 1.1 2001/10/14 14:49:42 erikm Exp $ ## Copyright: Copyright (C) 1999, Erik Mouw ## Author: Erik Mouw <J.A...@it...> ## Description: Makefile ## Created at: Tue Aug 17 17:25:56 1999 ## Modified by: Erik Mouw <J.A...@it...> ## Modified at: Tue Sep 28 23:36:51 1999 ########################################################################### noinst_HEADERS = CLEANFILES = ${srcdir}/*~ |
From: Erik M. <er...@us...> - 2001-10-14 14:49:44
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv627/include/blob Modified Files: Makefile.am Log Message: Architecture dependent directory (yes, even more cleanups :) Architecture dependent object file Index: Makefile.am =================================================================== RCS file: /cvsroot/blob/blob/include/blob/Makefile.am,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- Makefile.am 2001/10/09 19:24:54 1.8 +++ Makefile.am 2001/10/14 14:49:42 1.9 @@ -10,6 +10,9 @@ ## Modified at: Tue Sep 28 23:36:51 1999 ########################################################################### +SUBDIRS = \ + arch + noinst_HEADERS = \ command.h \ |
From: Erik M. <er...@us...> - 2001-10-14 14:49:44
|
Update of /cvsroot/blob/blob In directory usw-pr-cvs1:/tmp/cvs-serv627 Modified Files: configure.in Log Message: Architecture dependent directory (yes, even more cleanups :) Architecture dependent object file Index: configure.in =================================================================== RCS file: /cvsroot/blob/blob/configure.in,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- configure.in 2001/10/09 19:24:54 1.17 +++ configure.in 2001/10/14 14:49:41 1.18 @@ -82,6 +82,7 @@ AC_MSG_RESULT(Assabet) AC_DEFINE(ASSABET) AC_DEFINE(USE_SERIAL1) + BLOB_PLATFORM_OBJ="assabet.o" use_cpu="sa1110" use_lcd="no" ;; @@ -89,6 +90,7 @@ AC_MSG_RESULT(Brutus) AC_DEFINE(BRUTUS) AC_DEFINE(USE_SERIAL3) + BLOB_PLATFORM_OBJ="brutus.o" use_cpu="sa1100" use_lcd="no" ;; @@ -96,6 +98,7 @@ AC_MSG_RESULT(CreditLART) AC_DEFINE(CLART) AC_DEFINE(USE_SERIAL3) + BLOB_PLATFORM_OBJ="clart.o" use_cpu="sa1110" use_lcd="no" ;; @@ -103,6 +106,7 @@ AC_MSG_RESULT(LART) AC_DEFINE(LART) AC_DEFINE(USE_SERIAL3) + BLOB_PLATFORM_OBJ="lart.o" use_cpu="sa1100" use_lcd="no" ;; @@ -110,6 +114,7 @@ AC_MSG_RESULT(NESA) AC_DEFINE(NESA) AC_DEFINE(USE_SERIAL3) + BLOB_PLATFORM_OBJ="nesa.o" use_cpu="sa1100" use_lcd="no" ;; @@ -117,6 +122,7 @@ AC_MSG_RESULT(PLEB) AC_DEFINE(PLEB) AC_DEFINE(USE_SERIAL3) + BLOB_PLATFORM_OBJ="pleb.o" use_cpu="sa1100" use_lcd="no" ;; @@ -124,6 +130,7 @@ AC_MSG_RESULT(SHANNON) AC_DEFINE(SHANNON) AC_DEFINE(USE_SERIAL3) + BLOB_PLATFORM_OBJ="shannon.o" use_cpu="sa1100" use_lcd="no" ;; @@ -131,6 +138,7 @@ AC_MSG_RESULT(PTSystem3) AC_DEFINE(PT_SYSTEM3) AC_DEFINE(USE_SERIAL1) + BLOB_PLATFORM_OBJ="system3.o" DIAG_PLATFORM_OBJ="system3.o" use_cpu="sa1110" use_lcd="yes" @@ -139,6 +147,7 @@ AC_MSG_RESULT(unknown) AC_MSG_WARN([Unknown board name, assuming SA1100 with serial 3]) AC_DEFINE(USE_SERIAL3) + BLOB_PLATFORM_OBJ="unknown.o" use_cpu="sa1100" use_lcd="no" ;; @@ -268,7 +277,8 @@ dnl Check wether or not additional platform source code -dnl for diag is needed +dnl for is needed +AC_SUBST(BLOB_PLATFORM_OBJ) AC_SUBST(DIAG_PLATFORM_OBJ) @@ -331,6 +341,7 @@ AC_OUTPUT(Makefile include/Makefile include/blob/Makefile +include/blob/arch/Makefile src/Makefile src/blob/Makefile src/diag/Makefile |
From: Erik M. <er...@us...> - 2001-10-14 14:45:01
|
Update of /cvsroot/blob/blob/include/blob/arch In directory usw-pr-cvs1:/tmp/cvs-serv32211/arch Log Message: Directory /cvsroot/blob/blob/include/blob/arch added to the repository |
From: Erik M. <er...@us...> - 2001-10-09 19:25:02
|
Update of /cvsroot/blob/blob/src/diag In directory usw-pr-cvs1:/tmp/cvs-serv6782/src/diag Modified Files: lcd.c Log Message: make it compile on all platforms with --enable-all-features enabled lcd_test() can be a static function Index: lcd.c =================================================================== RCS file: /cvsroot/blob/blob/src/diag/lcd.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- lcd.c 2001/10/09 17:53:37 1.2 +++ lcd.c 2001/10/09 19:24:54 1.3 @@ -35,7 +35,6 @@ #include <blob/command.h> #include <blob/serial.h> #include <blob/sa1100.h> -#include <blob/sa1111.h> #include <blob/lcd.h> @@ -144,10 +143,12 @@ return 0; } -static char testlcdhelp[] = "lcdtest\nTests lcd display\n"; -__commandlist(lcd_test, "lcdtest", testlcdhelp); +/********************************************************************** + * Statische Funktionen + */ -int WEAK_SYM lcd_test( void ) + +static int lcd_test( int argc, char *argv[] ) { int ret = 0; int x,y; @@ -212,9 +213,8 @@ return 0; } -/********************************************************************** - * Statische Funktionen - */ +static char testlcdhelp[] = "lcdtest\nTests lcd display\n"; +__commandlist(lcd_test, "lcdtest", testlcdhelp); void lcd_palette_set( int no, int val ) { |
From: Erik M. <er...@us...> - 2001-10-09 19:25:02
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv6782/include/blob Modified Files: Makefile.am lcd.h sa1111.h Log Message: make it compile on all platforms with --enable-all-features enabled lcd_test() can be a static function Index: Makefile.am =================================================================== RCS file: /cvsroot/blob/blob/include/blob/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Makefile.am 2001/10/09 17:50:27 1.7 +++ Makefile.am 2001/10/09 19:24:54 1.8 @@ -28,6 +28,7 @@ param_block.h \ reboot.h \ sa1100.h \ + sa1111.h \ serial.h \ terminal.h \ time.h \ @@ -36,4 +37,4 @@ uucodec.h -CLEANFILES = *~ +CLEANFILES = ${srcdir}/*~ Index: lcd.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/lcd.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- lcd.h 2001/10/09 18:15:07 1.2 +++ lcd.h 2001/10/09 19:24:54 1.3 @@ -22,8 +22,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#ifndef INC_LCD_H -#define INC_LCD_H 1 +#ifndef BLOB_LCD_H +#define BLOB_LCD_H #if defined(CONFIG_LCD_SUPPORT) @@ -45,9 +45,11 @@ # define LCD_VIDEORAM_DMA_ADR (LCD_PALETTE_DMA_ADR + LCD_PALETTE_SIZE + LCD_VIDEORAM_OFFSET) #else -# error "define lcd register values for your platform" +# error "Cowardly refusing to break your LCD, please supply correct LCD parameters." #endif +#endif + int lcd_power_up( void ); int lcd_power_down( void ); @@ -63,9 +65,5 @@ int lcd_contrast( int ); int lcd_brightness( int ); - -int lcd_test( void ); - -#endif #endif Index: sa1111.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/sa1111.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- sa1111.h 2001/10/09 18:11:00 1.1 +++ sa1111.h 2001/10/09 19:24:54 1.2 @@ -1,7 +1,9 @@ /* * sa1111.h: wrapper file to include asm/arch-sa1100/SA-1111.h * - * Copyright (C) 2001 Erik Mouw (J.A...@it...) + * Copyright (C) 2001 Stefan Eletzhofer <ste...@ww...> + * + * $Id$ * * 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 |
From: Erik M. <er...@us...> - 2001-10-09 19:25:02
|
Update of /cvsroot/blob/blob In directory usw-pr-cvs1:/tmp/cvs-serv6782 Modified Files: configure.in Log Message: make it compile on all platforms with --enable-all-features enabled lcd_test() can be a static function Index: configure.in =================================================================== RCS file: /cvsroot/blob/blob/configure.in,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- configure.in 2001/10/09 17:49:36 1.16 +++ configure.in 2001/10/09 19:24:54 1.17 @@ -83,42 +83,49 @@ AC_DEFINE(ASSABET) AC_DEFINE(USE_SERIAL1) use_cpu="sa1110" + use_lcd="no" ;; brutus) AC_MSG_RESULT(Brutus) AC_DEFINE(BRUTUS) AC_DEFINE(USE_SERIAL3) use_cpu="sa1100" + use_lcd="no" ;; creditlart) AC_MSG_RESULT(CreditLART) AC_DEFINE(CLART) AC_DEFINE(USE_SERIAL3) use_cpu="sa1110" + use_lcd="no" ;; lart) AC_MSG_RESULT(LART) AC_DEFINE(LART) AC_DEFINE(USE_SERIAL3) use_cpu="sa1100" + use_lcd="no" ;; nesa) AC_MSG_RESULT(NESA) AC_DEFINE(NESA) AC_DEFINE(USE_SERIAL3) use_cpu="sa1100" + use_lcd="no" ;; pleb) AC_MSG_RESULT(PLEB) AC_DEFINE(PLEB) AC_DEFINE(USE_SERIAL3) use_cpu="sa1100" + use_lcd="no" ;; shannon) AC_MSG_RESULT(SHANNON) AC_DEFINE(SHANNON) AC_DEFINE(USE_SERIAL3) use_cpu="sa1100" + use_lcd="no" ;; system3) AC_MSG_RESULT(PTSystem3) @@ -126,12 +133,14 @@ AC_DEFINE(USE_SERIAL1) DIAG_PLATFORM_OBJ="system3.o" use_cpu="sa1110" + use_lcd="yes" ;; *) AC_MSG_RESULT(unknown) AC_MSG_WARN([Unknown board name, assuming SA1100 with serial 3]) AC_DEFINE(USE_SERIAL3) use_cpu="sa1100" + use_lcd="no" ;; esac @@ -188,12 +197,12 @@ [chkmem_flag=no]) AC_ARG_ENABLE(debug, -[ --enable-debug Enable support for misc debugging functions ], +[ --enable-debug Enable support for misc debugging functions ], [debug_flag=$enable_debug], [debug_flag=no]) AC_ARG_ENABLE(lcd, -[ --enable-lcd Enable lcd support ], +[ --enable-lcd Enable lcd support ], [lcd_flag=$enable_lcd], [lcd_flag=no]) @@ -245,8 +254,14 @@ dnl Check wether or not lcd support code is wanted if test "x$lcd_flag" = "xyes" ; then - LCD="lcd.o" - AC_DEFINE(CONFIG_LCD_SUPPORT) + if test "x$use_lcd" = "xyes" ; then + LCD="lcd.o" + AC_DEFINE(CONFIG_LCD_SUPPORT) + else + AC_MSG_WARN([No LCD suport for ${board_name}, disabling]) + LCD="" + lcd_flag="no" + fi fi AC_SUBST(LCD) |
From: Stefan E. <se...@us...> - 2001-10-09 18:15:10
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv20127 Modified Files: lcd.h Log Message: - lcd support functions Index: lcd.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/lcd.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- lcd.h 2001/10/09 16:38:42 1.1 +++ lcd.h 2001/10/09 18:15:07 1.2 @@ -0,0 +1,71 @@ +/********************************************************************** + * lcd.h + * + * AUTOR: SELETZ + * + * Generic lcd framework + * + * Copyright (C) 2001 Stefan Eletzhofer <ste...@ww...> + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef INC_LCD_H +#define INC_LCD_H 1 + +#if defined(CONFIG_LCD_SUPPORT) + +#ifdef PT_SYSTEM3 +# define LCD_LCCR0 0x000AA03C +# define LCD_LCCR1 0x01000270 +# define LCD_LCCR2 0x000004EF +# define LCD_LCCR3 0x0000FF16 +# define LCD_BPP 8 +# define LCD_COLS 640 +# define LCD_ROWS 480 +# define LCD_VIDEORAM_OFFSET ((LCD_BPP*LCD_ROWS*LCD_COLS)>>1) +# define LCD_PALETTE_ENTRIES 256 +# define LCD_PALETTE_SIZE (LCD_PALETTE_ENTRIES * 8) +# define LCD_RAM_BASE 0xd0000000 +# define LCD_PALETTE_DMA_ADR (LCD_RAM_BASE + 0x0) +# define LCD_VIDEORAM_START (LCD_RAM_BASE + LCD_PALETTE_SIZE) +# define LCD_VIDEORAM_END (LCD_VIDEORAM_START + 2*LCD_VIDEORAM_OFFSET) +# define LCD_VIDEORAM_DMA_ADR (LCD_PALETTE_DMA_ADR + LCD_PALETTE_SIZE + LCD_VIDEORAM_OFFSET) + +#else +# error "define lcd register values for your platform" +#endif + +int lcd_power_up( void ); +int lcd_power_down( void ); + +int lcd_gpio_setup( void ); + +int lcd_controller_enable( void ); +int lcd_controller_disable( void ); + +int lcd_backlight_on( void ); +int lcd_backlight_off( void ); + +int lcd_palette_setup( void ); + +int lcd_contrast( int ); +int lcd_brightness( int ); + +int lcd_test( void ); + +#endif + +#endif |
From: Stefan E. <se...@us...> - 2001-10-09 18:11:03
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv19060/include/blob Added Files: sa1111.h Log Message: - companion chip include wrapper --- NEW FILE: sa1111.h --- /* * sa1111.h: wrapper file to include asm/arch-sa1100/SA-1111.h * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: sa1111.h,v 1.1 2001/10/09 18:11:00 seletz Exp $" #ifndef BLOB_SA1111_H #define BLOB_SA1111_H #ifdef PT_SYSTEM3 # define SA1111_BASE (0x40000000) #else # error "DEFINE SA1111 BASE ADDRESS!" #endif #define SA1111_p2v(x) (x) /* Tell SA-1111.h to shut up; we're including it anyway. Nyah nyah ;-) */ #define __ASM_ARCH_HARDWARE_H #include <asm-arm/arch-sa1100/SA-1111.h> #endif |
From: Stefan E. <se...@us...> - 2001-10-09 17:55:07
|
Update of /cvsroot/blob/blob/src/diag In directory usw-pr-cvs1:/tmp/cvs-serv14436 Modified Files: Makefile.am Log Message: - added lcd and platform specific objects Index: Makefile.am =================================================================== RCS file: /cvsroot/blob/blob/src/diag/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile.am 2001/10/07 23:32:05 1.3 +++ Makefile.am 2001/10/09 17:55:04 1.4 @@ -41,12 +41,21 @@ initcalls.c \ main.c +EXTRA_diag_elf32_SOURCES = \ + lcd.c \ + system3.c +diag_elf32_DEPENDENCIES = \ + @LCD@ \ + @DIAG_PLATFORM_OBJ@ + diag_elf32_LDFLAGS += \ -Wl,-T,${srcdir}/ld-script diag_elf32_LDADD += \ + @LCD@ \ + @DIAG_PLATFORM_OBJ@ \ -L${top_builddir}/src/lib -lblob \ -lgcc |
From: Stefan E. <se...@us...> - 2001-10-09 17:54:11
|
Update of /cvsroot/blob/blob/src/diag In directory usw-pr-cvs1:/tmp/cvs-serv14319 Modified Files: system3.c Log Message: - system 3 test and diagnosis functions Index: system3.c =================================================================== RCS file: /cvsroot/blob/blob/src/diag/system3.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- system3.c 2001/10/09 16:49:56 1.1 +++ system3.c 2001/10/09 17:54:08 1.2 @@ -0,0 +1,130 @@ +/********************************************************************** + * system3.c + * + * AUTOR: SELETZ + * + * Implements several POST routines for PT System 3 platform + * + * Copyright (C) 2001 Stefan Eletzhofer <ste...@ww...> + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ident "$Id$" + +/********************************************************************** + * Includes + */ +#ifdef HAVE_CONFIG_H +# include <blob/config.h> +#endif + +#include <blob/types.h> +#include <blob/errno.h> +#include <blob/util.h> +#include <blob/command.h> +#include <blob/serial.h> +#include <blob/sa1100.h> +#include <blob/sa1111.h> + +#include <blob/lcd.h> + +/********************************************************************** + * defines + */ +#define MEM(adr) (*((u32*)adr)) +#define SET(reg,bit) ((reg) |= (1<<(bit))) +#define CLR(reg,bit) ((reg) &= ~(1<<(bit))) + +#define CPLD_BASE (0x10000000) +#define CPLD_ID (CPLD_BASE + 0x00) +#define CPLD_IRQ (CPLD_BASE + 0x24) +#define CPLD_0 (CPLD_BASE + 0x90) +#define CPLD_1 (CPLD_BASE + 0xA0) +#define CPLD_2 (CPLD_BASE + 0xB0) + +/********************************************************************** + * program globals + */ + +/********************************************************************** + * module globals + */ + +/********************************************************************** + * prototypes + */ + +/*********************************************************************/ +/*********************************************************************/ +/*********************************************************************/ + +#if defined(CONFIG_LCD_SUPPORT) +/********************************************************************** + * Overwrite LCD functions special for this platform + */ +int lcd_power_up( void ) +{ + SerialOutputString("_system3_" ); + SET( MEM( CPLD_0 ), 7 ); + PB_DDR = 0xFFFFFFFF; + SKPEN0 = 1; + SKPWM0 = 95; // und halbe Kraft + SKPEN1 = 1; + SKPWM1 = 240; // und auf null + return 0; +} + +int lcd_power_down( void ) +{ + SerialOutputString("_system3_" ); + CLR( MEM( CPLD_0 ), 7 ); + return 0; +} + +int lcd_backlight_on( void ) +{ + SerialOutputString("_system3_" ); + SET( MEM( CPLD_0 ), 2 ); + return 0; +} + +int lcd_backlight_off( void ) +{ + SerialOutputString("_system3_" ); + CLR( MEM( CPLD_0 ), 2 ); + return 0; +} + +int lcd_contrast( int value ) +{ + SerialOutputString("_system3_" ); + SKPWM0 = value; + return 0; +} + +int lcd_brightness( int value ) +{ + SerialOutputString("_system3_" ); + SKPWM1 = value; + return 0; +} + +#endif // defined(CONFIG_LCD_SUPPORT) + + +/********************************************************************** + * static functions + */ |
From: Stefan E. <se...@us...> - 2001-10-09 17:53:40
|
Update of /cvsroot/blob/blob/src/diag In directory usw-pr-cvs1:/tmp/cvs-serv13752 Modified Files: lcd.c Log Message: - generic LCD support and test functions - these functions can be overwritten by other modules to add platform specific behavior Index: lcd.c =================================================================== RCS file: /cvsroot/blob/blob/src/diag/lcd.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- lcd.c 2001/10/09 16:48:12 1.1 +++ lcd.c 2001/10/09 17:53:37 1.2 @@ -0,0 +1,227 @@ +/********************************************************************** + * lcd.c + * + * AUTOR: SELETZ + * + * Generic lcd framework + * + * Copyright (C) 2001 Stefan Eletzhofer <ste...@ww...> + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +/********************************************************************** + * includes + */ +#ifdef HAVE_CONFIG_H +# include <blob/config.h> +#endif + +#include <blob/types.h> +#include <blob/errno.h> +#include <blob/util.h> +#include <blob/command.h> +#include <blob/serial.h> +#include <blob/sa1100.h> +#include <blob/sa1111.h> + +#include <blob/lcd.h> + +/********************************************************************** + * defines + */ +#define WEAK_SYM __attribute__ (( weak )) + +#define MEM(adr) (*((u32 *)adr)) +#define SET(reg,bit) ((reg) |= (1<<(bit))) +#define CLR(reg,bit) ((reg) &= ~(1<<(bit))) + +/********************************************************************** + * program globals + */ + +/********************************************************************** + * module globals + */ + +u16 *lcd_palette = (u16*)(LCD_PALETTE_DMA_ADR); + +/********************************************************************** + * Prototypes + */ +void lcd_palette_set( int no, int val ); + +/**********************************************************************/ +/**********************************************************************/ +/**********************************************************************/ + +/********************************************************************** + * Do whatever necessary to power up lcd display + */ +int WEAK_SYM lcd_power_up( void ) +{ + return 0; +} + +int WEAK_SYM lcd_power_down( void ) +{ + return 0; +} + +int WEAK_SYM lcd_gpio_setup( void ) +{ + GPDR |= 0x3FC; + GAFR |= 0x3FC; + + return 0; +} + +int WEAK_SYM lcd_controller_enable( void ) +{ + lcd_palette[0] &= 0xcfff; + lcd_palette[0] |= 2<<16; // 8 bpp + + /* Sequence from 11.7.10 */ + LCCR3 = LCD_LCCR3; + LCCR2 = LCD_LCCR2; + LCCR1 = LCD_LCCR1; + LCCR0 = LCD_LCCR0 & ~LCCR0_LEN; + DBAR1 = (u32 *)LCD_PALETTE_DMA_ADR; + DBAR2 = (u32 *)LCD_VIDEORAM_DMA_ADR; + LCCR0 |= LCCR0_LEN; + return 0; +} + +int WEAK_SYM lcd_controller_disable( void ) +{ + LCCR0 &= ~LCCR0_LEN; + return 0; +} + +int WEAK_SYM lcd_backlight_on( void ) +{ + return 0; +} + +int WEAK_SYM lcd_backlight_off( void ) +{ + return 0; +} + +int WEAK_SYM lcd_palette_setup( void ) +{ + int n; + + for ( n = 0 ; n < 128 ; n++ ) { + lcd_palette_set(n, 0x1FFF ); + } + for ( n = 128 ; n < 256 ; n++ ) { + lcd_palette_set(n, 0x1000 ); + } + + return 0; +} + +int WEAK_SYM lcd_contrast( int value ) +{ + return 0; +} + +int WEAK_SYM lcd_brightness( int value ) +{ + return 0; +} + +static char testlcdhelp[] = "lcdtest\nTests lcd display\n"; +__commandlist(lcd_test, "lcdtest", testlcdhelp); + +int WEAK_SYM lcd_test( void ) +{ + int ret = 0; + int x,y; + char c; + + SerialOutputString( "LCD: power up ..." ); + ret = lcd_power_up(); + if ( ret != 0 ) return ret; + SerialOutputString( "done\n" ); + + SerialOutputString( "LCD: gpio setup ..." ); + ret = lcd_gpio_setup(); + if ( ret != 0 ) return ret; + SerialOutputString( "done\n" ); + + + SerialOutputString( "LCD: palette setup ..." ); + ret = lcd_palette_setup(); + if ( ret != 0 ) return ret; + SerialOutputString( "done\n" ); + + + SerialOutputString( "LCD: controller enable ..." ); + ret = lcd_controller_enable(); + if ( ret != 0 ) return ret; + SerialOutputString( "done\n" ); + + SerialOutputString( "LCD: backlight on ..." ); + ret = lcd_backlight_on(); + if ( ret != 0 ) return ret; + SerialOutputString( "done\n" ); + + + /* vertical lines */ + SerialOutputString( "LCD: vertical lines test pattern ..." ); + for ( y=0; y<LCD_ROWS; y++ ) { + for ( x=0; x<(LCD_COLS>>2); x++ ) { + MEM( LCD_VIDEORAM_START + (y*LCD_ROWS) + (x<<2) ) = 0xF0F0F0F0; + } + } + SerialOutputString( "done\n" ); + + SerialOutputString( "LCD: press any key to proceed\n" ); + while ( !SerialInputByte( &c ) ) + ; + + SerialOutputString( "LCD: backlight off ..." ); + ret = lcd_backlight_off(); + if ( ret != 0 ) return ret; + SerialOutputString( "done\n" ); + + SerialOutputString( "LCD: controller disable ..." ); + ret = lcd_controller_disable(); + if ( ret != 0 ) return ret; + SerialOutputString( "done\n" ); + + SerialOutputString( "LCD: power down ..." ); + ret = lcd_power_down(); + if ( ret != 0 ) return ret; + SerialOutputString( "done\n" ); + + return 0; +} + +/********************************************************************** + * Statische Funktionen + */ + +void lcd_palette_set( int no, int val ) +{ + if ( no < 0 || no > 255 ) + return; + + lcd_palette[ no ] = val; + + return; +} |