|  | /* | 
|  | * (C) Copyright 2000 | 
|  | * Paolo Scaffardi, AIRVENT SAM s.p.a - RIMINI(ITALY), arsenio@tin.it | 
|  | * | 
|  | * See file CREDITS for list of people who contributed to this | 
|  | * project. | 
|  | * | 
|  | * 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 | 
|  | */ | 
|  |  | 
|  | U-Boot console handling | 
|  | ======================== | 
|  |  | 
|  | HOW THE CONSOLE WORKS? | 
|  | ---------------------- | 
|  |  | 
|  | At system startup U-Boot initializes a serial console. When U-Boot | 
|  | relocates itself to RAM, all console drivers are initialized (they | 
|  | will register all detected console devices to the system for further | 
|  | use). | 
|  |  | 
|  | If not defined in the environment, the first input device is assigned | 
|  | to the 'stdin' file, the first output one to 'stdout' and 'stderr'. | 
|  |  | 
|  | You can use the command "coninfo" to see all registered console | 
|  | devices and their flags. You can assign a standard file (stdin, | 
|  | stdout or stderr) to any device you see in that list simply by | 
|  | assigning its name to the corresponding environment variable. For | 
|  | example: | 
|  |  | 
|  | setenv stdin wl_kbd		<- To use the wireless keyboard | 
|  | setenv stdout video		<- To use the video console | 
|  |  | 
|  | Do a simple "saveenv" to save the console settings in the environment | 
|  | and get them working on the next startup, too. | 
|  |  | 
|  | HOW CAN I USE STANDARD FILE INTO THE SOURCES? | 
|  | --------------------------------------------- | 
|  |  | 
|  | You can use the following functions to access the console: | 
|  |  | 
|  | * STDOUT: | 
|  | putc	(to put a char to stdout) | 
|  | puts	(to put a string to stdout) | 
|  | printf	(to format and put a string to stdout) | 
|  |  | 
|  | * STDIN: | 
|  | tstc	(to test for the presence of a char in stdin) | 
|  | getc	(to get a char from stdin) | 
|  |  | 
|  | * STDERR: | 
|  | eputc	(to put a char to stderr) | 
|  | eputs	(to put a string to stderr) | 
|  | eprintf	(to format and put a string to stderr) | 
|  |  | 
|  | * FILE (can be 'stdin', 'stdout', 'stderr'): | 
|  | fputc	(like putc but redirected to a file) | 
|  | fputs	(like puts but redirected to a file) | 
|  | fprintf	(like printf but redirected to a file) | 
|  | ftstc	(like tstc but redirected to a file) | 
|  | fgetc	(like getc but redirected to a file) | 
|  |  | 
|  | Remember that all FILE-related functions CANNOT be used before | 
|  | U-Boot relocation (done in 'board_init_r' in arch/*/lib/board.c). | 
|  |  | 
|  | HOW CAN I USE STANDARD FILE INTO APPLICATIONS? | 
|  | ---------------------------------------------- | 
|  |  | 
|  | Use the 'bd_mon_fnc' field of the bd_t structure passed to the | 
|  | application to do everything you want with the console. | 
|  |  | 
|  | But REMEMBER that that will work only if you have not overwritten any | 
|  | U-Boot code while loading (or uncompressing) the image of your | 
|  | application. | 
|  |  | 
|  | For example, you won't get the console stuff running in the Linux | 
|  | kernel because the kernel overwrites U-Boot before running. Only | 
|  | some parameters like the framebuffer descriptors are passed to the | 
|  | kernel in the high memory area to let the applications (the kernel) | 
|  | use the framebuffers initialized by U-Boot. | 
|  |  | 
|  | SUPPORTED DRIVERS | 
|  | ----------------- | 
|  |  | 
|  | Working drivers: | 
|  |  | 
|  | serial	(architecture dependent serial stuff) | 
|  | video	(mpc8xx video controller) | 
|  |  | 
|  | Work in progress: | 
|  |  | 
|  | wl_kbd	(Wireless 4PPM keyboard) | 
|  |  | 
|  | Waiting for volounteers: | 
|  |  | 
|  | lcd	(mpc8xx lcd controller; to ) | 
|  |  | 
|  | TESTED CONFIGURATIONS | 
|  | --------------------- | 
|  |  | 
|  | The driver has been tested with the following configurations (see | 
|  | CREDITS for other contact informations): | 
|  |  | 
|  | - MPC823FADS with AD7176 on a PAL TV (YCbYCr)	- arsenio@tin.it | 
|  | - GENIETV    with AD7177 on a PAL TV (YCbYCr)	- arsenio@tin.it |