都是屏里面读id,看了我们这个android7和android9的,其实是几乎一个东西,用两种代码方式表述
都是在mdss_dsi_read_panel_signature里面读id
/bootable/bootloader/lk/platform/msm_shared/mipi_dsi.c
------------------
android7里面是这样的:
static char read_id_a1h_cmd[4] = { 0xA1, 0x00, 0x06, 0xA0 };
static struct mipi_dsi_cmd read_ddb_start_cmd =
{sizeof(read_id_a1h_cmd), read_id_a1h_cmd, 0x00};
static uint32_t mdss_dsi_read_panel_signature(struct mipi_panel_info *mipi)
{
.
..
...
ret = mdss_dsi_cmds_tx(mipi, &read_ddb_start_cmd, 1, 0);
.
..
...
}
android9里面就把这个内置成struct mipi_panel_info的一个成员
bootable/bootloader/lk/platform/msm_shared/include/msm_panel.h:315
struct mipi_dsi_cmd *panel_read_cmds;
写在屏.h里面,在oem_panel.c里面初始化的时候赋值,最后也是在mdss_dsi_read_panel_signature里面通过传入的mipi来调用
static uint32_t mdss_dsi_read_panel_signature(struct mipi_panel_info *mipi)
{
.
..
...
ret = mdss_dsi_cmds_tx(mipi, mipi->panel_read_cmds, 1, 0);
.
..
...
}