[iMX8MPlus] How to dump MIPI-CSI2 registers ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[iMX8MPlus] How to dump MIPI-CSI2 registers ?

Jump to solution
893 Views
khang_letruong
Senior Contributor III

Dear Community,

In drivers/staging/media/imx/imx8-mipi-csi2-sam.c, I would like to have below function to show MIPI-CSI2 related registers during streaming :

 

static void dump_csis_regs(struct csi_state *state, const char *label)
{
        struct {
                u32 offset;
                const char * const name;
        } registers[] = {
                { 0x00, "CSIS_VERSION" },
                { 0x04, "CSIS_CMN_CTRL" },
                { 0x08, "CSIS_CLK_CTRL" },
                { 0x10, "CSIS_INTMSK" },
                { 0x14, "CSIS_INTSRC" },
                { 0x20, "CSIS_DPHYSTATUS" },
                { 0x24, "CSIS_DPHYCTRL" },
                { 0x30, "CSIS_DPHYBCTRL_L" },
                { 0x34, "CSIS_DPHYBCTRL_H" },
                { 0x38, "CSIS_DPHYSCTRL_L" },
                { 0x3C, "CSIS_DPHYSCTRL_H" },
                { 0x40, "CSIS_ISPCONFIG_CH0" },
                { 0x50, "CSIS_ISPCONFIG_CH1" },
                { 0x60, "CSIS_ISPCONFIG_CH2" },
                { 0x70, "CSIS_ISPCONFIG_CH3" },
                { 0x44, "CSIS_ISPRESOL_CH0" },
                { 0x54, "CSIS_ISPRESOL_CH1" },
                { 0x64, "CSIS_ISPRESOL_CH2" },
                { 0x74, "CSIS_ISPRESOL_CH3" },
                { 0x48, "CSIS_ISPSYNC_CH0" },
                { 0x58, "CSIS_ISPSYNC_CH1" },
                { 0x68, "CSIS_ISPSYNC_CH2" },
                { 0x78, "CSIS_ISPSYNC_CH3" },
        };
        u32 i;

        v4l2_dbg(2, debug, &state->sd, "--- %s ---\n", label);

        for (i = 0; i < ARRAY_SIZE(registers); i++) {
                u32 cfg = mipi_csis_read(state, registers[i].offset);
                v4l2_dbg(2, debug, &state->sd, "%20s[%x]: 0x%.8x\n", registers[i].name, registers[i].offset, cfg);
        }
}

 

 

For that purpose, I add mxc-mipi-csi2-sam.debug=2  to following u-Boot's environment variable :

 

u-boot=> setenv mmcargs "setenv bootargs ${jh_clk} console=${console} root=${mmcroot} mxc-mipi-csi2-sam.debug=2"

 

which becomes :

 

mmcargs=setenv bootargs console=ttymxc1,115200 root=/dev/mmcblk1p2 rootwait rw mxc-mipi-csi2-sam.debug=2

 

 Then I saveenv and boot but nothing shows when streaming.

 

Could you point out what is missing, please ?

Thanks in advance,

Khang

 

0 Kudos
Reply
1 Solution
1 Reply
879 Views
khang_letruong
Senior Contributor III
0 Kudos
Reply