Home | History | Annotate | Download | only in fdt
History log of /src/sys/dev/fdt/simplefb.c
RevisionDateAuthorComments
 1.16  06-Sep-2025  thorpej Re-factor the console-related code into fdt_console.[ch]
 1.15  30-Aug-2021  jmcneill Add 10-bit pixel format support.
 1.14  02-Mar-2021  jmcneill Fix previous: Each line is "stride" bytes wide, not "width * depth".

While here, add a comment explaining what this test is doing.
 1.13  02-Mar-2021  skrll Sanity check size vs width x height x depth. Buggy firmware exists.
 1.12  27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.11  21-Oct-2020  rin branches: 1.11.2;
sfb_addr should be uint64_t, not bus_addr_t. Otherwise, its value
cannot be obtained via prop_dictionary_get_uint64() for most ILP32
architectures where bus_addr_t is 32-bit width.
 1.10  20-Oct-2020  jmcneill Instead of trying to prevent pciconf from reconfiguring the firmware's
framebuffer, instead allow MD code to register callbacks. If a resource is
changed, the driver can unmap the old resource and remap the new. Do this
with simplefb so the console doesn't explode when the VGA device is
(potentially) reconfigured at boot.
 1.9  19-Oct-2020  rin Fix colors of 32-bpp raster console for evbarm/aarch64eb and armeb.

Most boards are configured to little-endian in initial, and switched
to big-endian after kernel is loaded. In this case, framebuffer seems
byte-swapped to CPU.

It is best to reconfigure framebuffer (as done recently for sunxi_mixer
by jmcneill), but in most cases, HW is incapable, or we just don't know
register bits to configure them.

Therefore, override "format" FDT property for "simple-framebuffer" to
let drivers know byte-order for 32-bpp framebuffer.

Then, make fdt/simplefb (genfb) and arm_simplefb (early console) detect
byte-swapped FB, and configure genfb(4) or rasops(4) layers accordingly.

Tested on Pine A64+ (arm_simplefb) and Cubietruck (both fdt/simplefb and
arm_simplefb).

Discussed with jmcneill. Thanks!!
 1.8  23-Jul-2019  rin For drivers whose framebuffer is located not page-aligned, permit
offset of mmap up to (length of framebuffer) + (page offset of base
address of framebuffer). This is necessary in order to map the
highest page of framebuffer correctly, see,
http://cvsweb.netbsd.org/bsdweb.cgi/xsrc/external/mit/xf86-video-wsfb/dist/src/wsfb_driver.c#rev1.35
 1.7  30-Jan-2019  jmcneill Call genfb_cnattach when WSDISPLAY_MULTICONS is defined
 1.6  23-Jul-2018  macallan if the framebuffer address isn't page aligned, set fbi_fboffset appropriately
 1.5  06-May-2018  jmcneill branches: 1.5.2;
Pass WSDISPLAYIO_SVIDEO through to pmf
 1.4  01-Apr-2018  ryo Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)

- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
 1.3  18-Dec-2017  jmcneill branches: 1.3.2;
Always set "is_console" property to true when WSDISPLAY_MULTICONS is defined
 1.2  04-Sep-2017  jmcneill branches: 1.2.2;
Add console support.
 1.1  27-Aug-2017  jmcneill Add an FDT "Simple Framebuffer" driver. This lets us take over framebuffers
configured by U-Boot without any knowledge of the underlying hardware.
 1.2.2.2  03-Dec-2017  jdolecek update from HEAD
 1.2.2.1  04-Sep-2017  jdolecek file simplefb.c was added on branch tls-maxphys on 2017-12-03 11:37:01 +0000
 1.3.2.3  28-Jul-2018  pgoyette Sync with HEAD
 1.3.2.2  21-May-2018  pgoyette Sync with HEAD
 1.3.2.1  07-Apr-2018  pgoyette Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
 1.5.2.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.5.2.1  10-Jun-2019  christos Sync with HEAD
 1.11.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed