SRGB Q&A
How to light up an SRGB type panel?
Take ST7789V+2.4 inch panel as an example:
-
Determine the chip PAD_MUX according to the schematic diagram and Check List.

It can be seen from the figure that PAD_TTL0~PAD_TTL3 are multiplexed as SPI interface; PAD_TTL4 is multiplexed as GPIO mode, which should be kept high as the screen reset pin normally; PAD_TTL12~PAD_TTL17 are multiplexed as LCD RGB interface.
Determine the PAD multiplexing mode according to Check List.

-
Configure the kernel dts file
Create a new .dts file in
kernel/arch/arm/boot/dts, and find the corresponding register and multiplexing mode inkernel/drivers/sstar/gpio/pioneer3/mhal_pinmux.c, and add the following content to .dts :
Note: The evaluation version is the panel of rgb888 by default. If the panel is rgb565, the remaining PAD_TTL8 and PAD_TTL11 can be used as gpio.
-
Configure SPI Mode according to the panel specifications.
SRGB panel generally sends a command to initialize the panel driver IC through the SPI interface, and the command is provided by the manufacturer. By configuring the SPI mode through the panel specification file , we can see that the high bit (MSB) of the SPI data is first, as the judgment bit of the command/data, so we configure the host SPI to 9bits mode.

-
Configure panel parameters according to panel specifications
Refer to TTL Panel to configure parameters.
Write the panel parameters to
config.ini, for example, the path of the SSD21X panel parameter file isproject/board/ini/misc/config.ini. There is a panel list in this file, and only one of each interface type (TTL, MIPI, SRGB) can be filled in:[ROOT] m_pnlList = {\ ST7710S,\ //MIPI ST7789V,\ //SRGB SAT070AT50,\ //TTL }
ST7789V panel parameters are as follows

There are some related options in the config file of
/project/configs/defconfigs.CONFIG_IS_DEMO_BOARD=3 //select demo board CONFIG_DISP_OUT_NAME="ST7789V" //select panel parameter CONFIG_KERNEL_CONFIG="pioneer3_ssc021a_s01a_spinand_defconfig" //Select the compile config of kernel
-
Initialize Panel through MI interface
Use
MI_PANEL_Initfor initialization, it will load the screen parameters found inconfig.ini. After that, run/customer/riu_w 1128 7 a, display the disp image on the panel, and the operation is end.
If you failed to light up the panel, first of all, check whether the register corresponding to PIN_MUX is set correctly; then run
/config/dump_configon the board to check whether the newly added panel parameters inconfig.iniare loaded successfully. Runcat /proc/mi_modules/mi_panel/mi_panel0to view the actual panel parameters currently in use.
...