I’m using an HDMI display panel and have connected GPIOAO_11 to the EN pin on the display backlight control IC. I wrote a device tree overlay to enable the pwm-backlight device control in Linux, and it is working exactly as intended.
The downside is that the backlight remains off until the point in the boot process where my custom script is called and the backlight is powered on. I would like to enable the pwm-backlight support in U-Boot so that the backlight will be enabled earlier in the boot process, and so I can further have U-Boot display a nice boot logo within moments of power-up.
I have (finally) successfully built and flashed mainline U-Boot with the related config options enabled and with a modified .dtsi that includes the pwm backlight and associates it with a “simple-panel.” As a result, U-Boot does recognize the simple-panel and pwm-backlight uclass objects, and it does output the console framebuffer on the HDMI display, but the pwm-backlight pin is not actually enabled/driven high as I would expect.
I will update this later to post my defconfig, dtsi changes, and console outputs when I have access to my machine. But in general, it looks like I am having the same issue as this fellow on SO who does not appear to have gotten an answer to his question.
If anyone here has experience with the inner workings of U-Boot, I could use some help understanding what I should be expecting. Various things I have read suggest that if the panel and associated backlight are properly defined, the backlight will be enabled automatically when the device is probed. On the other hand, I’ve noticed that some devices have a board.c that includes an explicit function to enable the backlight. So I’m not quite sure what tree I should be barking up. Should I be trying to figure out how to get U-Boot to “probe” the panel because doing so will automatically enable the backlight? Or should I be trying to cobble together some function for board.c to explicitly enable the backlight? Or am I not even on the right track at all?