CHRP Linear Frame Buffer Display Device Binding
CHRP(TM) Linear Frame Buffer Display
Device Binding to
IEEE 1275-1994
Standard for Boot (Initialization,
Configuration) Firmware
Revision: 1.0 Unapproved DRAFT
May 6,1996
Table of Contents
This document specifies the application of Open Firmware to the PowerPC Common Hardware Reference Platform (CHRP) linear frame buffer devices, including device-specific requirements and practices for initialization, properties, and methods.
Revision 1.0 Unapproved DRAFT , Initial revision. Jordan Brown, Sunsoft and John Kingman, IBM editors
This Open Firmware System binding standard shall be used in conjunction with the following publications. When the following standards are superseded by an approved revision, the revision shall apply.
- [1]
- IEEE Std 1275-1994 Standard for Boot (Initialization, Configuration) Firmware, Core Practices and Requirements.
- [2]
- Core Errata, IEEE P1275.7/D4.
- [3]
- Open Firmware Recommended Practice: 8-bit Graphics Extension.
- [4]
- Open Firmware Recommended Practice: 16-color Text Extension.
- [5]
- PowerPC Microprocessor Common Hardware Reference Platform: I/O Device Reference. This document describes the PowerPC Common Hardware Reference Platform (CHRP) System Standard I/O Devices; hardware registers, register locations, and hardware attributes.
- [6]
- Open Firmware Recommended Practice: Generic Names.
- [7]
- PowerPC Microprocessor Common Hardware Reference Platform binding to: IEEE Std 1275-1994, Standard for Boot (Initialization, Configuration) Firmware.
A linear frame buffer device consists of a linear video frame buffer and a video digital-to-analog converter. The video frame buffer is mapped as a continuous memory-mapped area of 8 bit pixels. The video DAC drives the analog output to the display connector.
CHRP[5] requires a linear frame buffer device to display 640 x 480 pixels, where each pixel is 8-bits.
Generally, a linear frame buffer will be provided as a sub-function of a more comprehensive graphics implementation. In that case, the linear frame buffer will be supported by a set of methods provided in the "display" device node.
None.
As specified in [1], [3], [4], and [7], with the following additions or modifications.
"name" S
Standard property name, specifies the generic name of the device.
The meaning of this property is as defined in Open Firmware core document [1], as modified by the Generic Names Recommended Practice [6]. The value for nodes described by this specification shall be "display".
"device_type" S
Standard property name to define the device's implemented interface.
The meaning of this property is as defined in the Open Firmware core document [1]. The value for nodes described by this specification shall be "display".
"compatible" S
Standard property name, specifies device names with which this device is compatible.
The meaning of this property is as defined in Open Firmware, as modified by the Generic Names Recommended Practice [6]. As described in those documents, the entries are a list of device names with which this device is compatible, starting with the name of the device itself and progressing through successively less precise and possibly less functional compatible devices.
The value of this property shall include "chrp,lfb."
Additional entries may be supplied, at their appropriate position in the list, to describe devices with which this device is compatible.
"reg" S
Standard property name to define the package's addressable functions.
The meaning of this property is as defined in the Open Firmware core document [1]. It describes the device's register set. The values which shall be assigned to this property are defined in the device's interface specification.
"iso6429-1983-colors" S
Standard property name to indicate 16-color text (logo) capability.
prop-encoded-array: None; presence or absence of the property conveys the information.
See the Open Firmware Recommended Practice: 16-color Text Extension. for more information.
"height" S
prop-name, specifies the visible height of the screen.
prop-encoded-array: An integer, encoded with encode-integer.
This property shall specify the maximum number of vertical pixels visible on the screen in the current mode.
"width" S
prop-name, specifies the visible width of the screen.
prop-encoded-array: An integer, encoded with encode-integer.
This property shall specify the maximum number of horizontal pixels visible on the screen in the current mode.
"linebytes" S
prop-name, specifies the width of the frame buffer.
prop-encoded-array: An integer, encoded with encode-integer.
This property shall specify the number of bytes from the beginning of one scan line to the beginning of the next.
As specified in [1], without addition or modification.
As specified in [1], without addition or modification.
As defined in the Open Firmware Recommended Practices 8-bit Graphics Extension[3] and 16-color Text Extension[4].
None.
None.
For devices not selected as Open Firmware's "console input device" or "console output device" device, the initial state is undefined.
For devices which are selected as Open Firmware's "console input device" or "console output device" device, the device shall be initialized appropriately for the device to which it is attached.
For devices not selected as Open Firmware's "console input device" or "console output device" device, there is no requirement.
For devices selected as Open Firmware's "console input device" or "console output device" device, the state should be unmodified from the initial state on client start-up.
Note: If the device is in a different state when the client calls Open Firmware, unpredictable behavior may result if Open Firmware accepts input or generates output. Clients changing the device state should either restore the original state before calling Open Firmware or should avoid using Open Firmware features requiring user interaction. Changing the device state is likely to render Open Firmware unusable for debugging purposes.