Module Name: src Committed By: rin Date: Mon Oct 19 01:12:14 UTC 2020
Modified Files: src/sys/arch/arm/fdt: arm_simplefb.c src/sys/arch/evbarm/fdt: fdt_machdep.c src/sys/dev/fdt: simplefb.c Log Message: 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!! To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/fdt/arm_simplefb.c cvs rdiff -u -r1.75 -r1.76 src/sys/arch/evbarm/fdt/fdt_machdep.c cvs rdiff -u -r1.8 -r1.9 src/sys/dev/fdt/simplefb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.