101 lines
3.1 KiB
Plaintext
101 lines
3.1 KiB
Plaintext
|
SPDX-License-Identifier: GPL-2.0+
|
||
|
/*
|
||
|
* (C) Copyright 2000
|
||
|
* Paolo Scaffardi, AIRVENT SAM s.p.a - RIMINI(ITALY), arsenio@tin.it
|
||
|
*/
|
||
|
|
||
|
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 serial <- To use the serial input
|
||
|
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
|