hackbar wrote:Hi, I have a Pi 4 with the vga666 to drive an analog CRT. I'd like to get kernel modesetting working, including all the initial splash screen (rainbow), kernel boot message, and normal userspace.
My current setup gets valid video only after the vc4 framebuffer takes over. Before that, I'm not getting valid video.
Current config:
start_x=1
arm_64bit=1
dtparam=i2c_arm=off
dtparam=spi=off
disable_fw_kms_setup=1
dtoverlay=vc4-kms-v3d,noaudio,nohdmi
dtoverlay=vc4-kms-dpi-generic,hactive=320,hfp=19,hsync=43,hbp=36
dtparam=vactive=240,vfp=2,vsync=6,vbp=14
dtparam=clock-frequency=6400000,hsync-invert,vsync-invert,rgb666
enable_dpi_lcd=1
display_default_lcd=1
max_framebuffers=1
dpi_group=2
dpi_mode=87
dpi_timings=320 1 19 43 36 240 1 2 6 14 0 0 0 60 0 6400000 1
packages:
raspberrypi-bootloader: 1:1.20230106-1
raspberrypi-kernel: 1:1.20230106-1
So some questions:
Is there even a way to get the rainbow splash on the vga666? Can the firmware do this?
How can I get boot messages using KMS?
I'm using the vc4-kms-dpi-generic overlay because I couldn't figure out how to specify modelines to vc4-kms-vga666. How can I do that? I assume I should be using that driver?
Thanks for the help...
Code: Select all
enable_dpi_lcd=1
display_default_lcd=1
max_framebuffers=1
dpi_group=2
dpi_mode=87
dpi_timings=320 1 19 43 36 240 1 2 6 14 0 0 0 60 0 6400000 1
I think the only bit that is missing is configuring the GPIOs to the relevant alt function.
Code: Select all
gpio=2-21=a2
vc4-kms-vga666 adds relatively little over vc4-kms-dpi-generic - they're both configuring a DPI display. The main option it does add is that if you add an I2C level shifter to GPIOs 0&1, the VGA666 can read the EDID of the display and automatically configure the resolutions supported.
Watch out if you have a premade VGA666 board though as a PCB design SNAFU means that VGA pins 4, 9, 11, 12, and 15 are all connected together - "NC" became a net instead of not connected. https://github.com/fenlogic/vga666/issues/15