-
Jeffrey Lee authored
Add support for GPU mode changes, vcgencmd implementation, and fix some issues with rotated displays Detail: With recent firmware (~Aug 10th and newer) it's possible to issue a hdmi_timings command via vcgencmd to define custom mode timings on the fly. Make use of this feature (if available) to allow the OS to feed mode timings to the GPU instead of relying on the GPU to scale the framebuffer to the mode that was selected at boot. As an off-shoot of this we also get a vcgencmd *-command that's roughly equivalent to the vcgencmd command that's available under Linux File changes: - Makefile, Resources/UK/CmdHelp - *vcgencmd help text - s/BCMVideo - Add a few option switches to control the new behaviour. Add some generic code for interacting with VCHIQ services. Fix some issues with rotated displays (mainly 90 / 270 degree rotation) - s/Debug - Fix debug routines corrupting some registers - s/GraphicsV - Disable GraphicsV_StartupMode implementation if the builtin MDF is disabled (-> GPU mode changes are enabled) - s/HWPointer - Update to use the generic VCHIQ service code from s/BCMVideo - s/GenCmd - vcgencmd implementation. On initialisation, use it to read some of the GPU state & limits. - s/TVService - basic TV service implementation; enough to read the GPU state and perform mode changes - s/GPUMode - GPU mode change handling. Admin: Tested on Raspberry Pi 1, 2, 3 with old & new firmware Version 0.40. Tagged as 'BCMVideo-0_40'
fc7a96c2