| /* | |
| * (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 common/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 |