Android bottom layer LCD driver debugging, LCD driver erase program how to write?

Lcd debugging process under android platform:

1) Debug lcd backlight, the backlight is mainly divided into PMIC self-contained and separate DCDC. If it is the backlight of PMIC, the general platform manufacturer has already done it, and the interface can be called directly. If it is a separate DCDC drive, it needs to be used. GPIO controls the EN end of DCDC

2) Confirm the analog power of lcd, whether the io power is normal

3) According to the resolution of lcd, RGB/CPU/MIPI and other different interfaces, configure the control register interface

4) Configure the PCLK frequency according to the lcd spec, configure the polarity of the control lines such as PCLK, VSYNC, HSYNC, DE, etc.

5) Use an oscilloscope to test the waveforms of all clk, confirm the frequency, and the polarity meets the requirements.

6) Use the oscilloscope to test the data line to see if there is data output, and if bpp is set correctly.

7) If lcd needs to be initialized, configure the spi interface, which is generally divided into cpu's own spi controller, and gpio emulated spi.

8) Initialize the lcd according to the initialization code in the lcd spec

9) Measure the lcd spi clk and data line with an oscilloscope to confirm whether it is output normally.

Cat /dev/graphics/fb0 》 /sdcard/fb0, then /sdcard/fb0 》 to another phone of the same resolution and the same format, see if the picture is normal ii) use irfanview software to show cat /dev/graphics /fb0 out raw data, pay attention to correctly set the resolution and format, otherwise display the screen iii) If the adb connection is normal, you can use the pea pod and other software to see if the data in fb is normal

10) Under normal circumstances, lcd should be able to light up. If it is not lit, follow steps 1 to 9 above to check the item by item. Focus on the fifth item, the polarity of clk.

11) If lcd is lit, but the screen is light. Then you need to confirm whether the data format is correct, and then confirm whether the data in fb is normal. There are several ways to confirm the data in fb.

i) cat /dev/graphics/fb0 》 /sdcard/fb0, then /sdcard/fb0 》 to another mobile phone of the same resolution and the same format, see if the picture is normal ii) use irfanview software to display cat /dev /graphics/fb0 raw data, pay attention to the correct resolution and format, otherwise display the screen iii) If the adb connection is normal, you can use the pea pod and other software to see if the data in fb is normal

Through the above three ways, if the data in the fb is confirmed to be displayed normally, it is likely to be a problem of the initialization code of the lcd, or a problem of the polarity of the clk. If the data of the fb is not normal, the configuration of the lcd control register may be abnormal.

LCD screen debugging considerations

1. Is the Pix clock within the specified range.

2. Is Pclk correct? The rising edge or the falling edge.

3. Splash screen problems caused by frequency conversion. It is possible to test whether it is caused by frequency conversion by locking the frequency.

Cat /dev/graphics/fb0 》 /sdcard/fb0, then /sdcard/fb0 》 to another phone of the same resolution and the same format, see if the picture is normal ii) use irfanview software to show cat /dev/graphics /fb0 out raw data, pay attention to correctly set the resolution and format, otherwise display the screen iii) If the adb connection is normal, you can use the pea pod and other software to see if the data in fb is normal

How to write the LCD erase program?

Here is the process I removed the lcd driver: linux3.0.1

1.Make menuconfig

-》 Device Drivers

---" Graphics support

---"(M)S3C FramebufferSupport (eXtended)

2. -" Device Drivers

---"MulTImedia support

---"Video capture adapters

---" (Remove) Samsung TV Driver

Cat /dev/graphics/fb0 》 /sdcard/fb0, then /sdcard/fb0 》 to another phone of the same resolution and the same format, see if the picture is normal ii) use irfanview software to show cat /dev/graphics /fb0 out raw data, pay attention to correctly set the resolution and format, otherwise display the screen iii) If the adb connection is normal, you can use the pea pod and other software to see if the data in fb is normal

3.vi drivers/media/video/samsung/fimc/s3c_fimc_core.c

Comment out //ctrl-"open_lcdfifo= s3cfb_enable_local;

//ctrl-"close_lcdfifo = s3cfb_enable_dma;

Otherwise the following error will occur:

/home/yubo/linux/zImage/3.0.1nolcd/drivers/media/video/samsung/fimc/s3c_fimc_core.c:468:undefined reference to `s3cfb_enable_local'

/home/yubo/linux/zImage/3.0.1nolcd/drivers/media/video/samsung/fimc/s3c_fimc_core.c:468:undefined reference to `s3cfb_enable_dma'

4.vi drivers/video/samsung/Makefile

Comment out #obj-$(CONFIG_FB_S3C_EXT) += s3cfb.o otherwise make modules will fail

5. Copy drivers/video/cfbcopyarea.ko

Drivers/video/cfbfillrect.ko

Drivers/video/cfbimgblt.ko

Household Energy Storage System

Enershare's commitment to future-ready energy solutions for smart home innovations, Enershare's Energy Storage Systems create a flexible energy maintenance system for homeowners who want to take more control of their home energy use, it is intended to be used for home battery energy storage and stores electricity for solar self-consumption, load shifting, backup power, and off-the-grid use. you can use it anytime you want-at night or during an outage.

Home Energy System,Home Battery Storage 10Kwh,Residential Energy Storage Unit,Residential Energy Storage System,Battery Energy Storage Solutions,Home Energy Storage Systems

Shenzhen Enershare Technology Co.,Ltd , https://www.enersharepower.com