MCUXpresso SDK Documentation

dpu_1_fetch_yuv

dpu_1_fetch_yuv#

Overview#

The DPU Fetch Yuv example shows how to use the DPU driver to enable fetch Yuv unit and the scaler. The fetch yuv output frame size is smaller than desired output, so the scaler units are used for the frame size convert.

If this example runs success, rectangles will move in the screen.

The DPU path is configured like this:

                                     **********************
                                     *                    *
                                     *    Frame buffer    *
                                     *                    *
                                     **********************
                                               |
                                               v
                                       +-----------------+   +-----------------+
                                       |                 |   |                 |
                                       |   FetchYuv0     |   |  Const Frame 0  |
                                       |                 |   |                 |
                                       +-----------------+   +-----------------+
                                               |                      |
                                               v                      |
                                       +-----------------+            |
                                       |                 |            |
                                       |   VScaler 4 &   |            |
                                       |   HScaler 4     |            |
                                       |                 |            |
                                       +-----------------+            |
                                               |                      v
                                               |             +-----------------+
                                               |             |                 |
                                               +------------>|   LayerBlend 1  |
                                                             |                 |
                                                             +-----------------+
                                                                      |
                                                                      v
                                                             +-----------------+
                                                             |                 |
                                                             |    ExtDst 0     |
                                                             |                 |
                                                             +-----------------+
                                                                      |
                                                                      v
                                   Content Stream            +-----------------+
                                                             |                 |
                                                             |  FrameGen 0     |
                                                             |                 |
                                                             +-----------------+
                                                                      |
                                                                      v

Supported Boards#

IMX95LPD5EVK-19
Hardware requirements
  • Micro USB cable

  • IMX95LPD5EVK-19 board

  • J-Link Debug Probe

  • 12V~20V power supply

  • LCD SPEC panel

  • Personal Computer

Board settings

For DUAL LVDS panel(19201200), connect MINISAS ports J15 and J16 to panel. For LCD SPEC panel(1280800), connect MINISAS port J15 to MINISAS2LVDS card as LVDS0. J16 to MINISAS2LVDS card for LVDS1. The MINISAS2LVDS card need jumper, please refer to the card datasheet. For LVDS2HDMI card(19201080), connect MINISAS port J16 to panel. For MIPI DSI panel(10802340), connect MINISAS port J14 to panel. For MIPI2HDMI card(1920*1080), connect MINISAS port J14 to panel.

Prepare the Demo
  1. Connect 12V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board.

  2. Connect a micro USB cable between the host PC and the J31 USB port on the cpu board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Launch the debugger in your IDE to begin running the example.

Steps to configure the panels

Default panel is LCD SPEC panel, default port is DPU_DI_LVDS, default setting for APP_DISPLAY_EXTERNAL_CONVERTOR is disabled Tips: The APP_DISPLAY_EXTERNAL_CONVERTOR can be set as 1 when you are using MIPI2HDMI card(ADV7535) or LVDS2HDMI card(IT6263) only.

When Kconfig is used

Below setting is for kconfig, you can fix below settings in dpu/fetch_yuv/cm7/prj.conf For default LCD_SPEC panel, you do not need to change anything. For DUAL LVDS panel(19201200): CONFIG_LVDS_DUAL_PANEL=y CONFIG_MCUX_PRJSEG_module.board.display_support.LDB_DUAL_PANEL_ENABLE=y For LVDS2HDMI card(19201080): CONFIG_APP_DISPLAY_EXTERNAL_CONVERTOR=y CONFIG_LVDS2HDMI=y For MIPI DSI panel(10802340): CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_MIPI=y CONFIG_MX9_DSI_OLED=y For MIPI2HDMI card(19201080): CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_MIPI=y CONFIG_APP_DISPLAY_EXTERNAL_CONVERTOR=y CONFIG_MIPI2HDMI=y

When package is used

Below setting is for mcux_config.h. Setting DEMO_PANEL to 12 to DUAL LVDS panel(19201200). You also need to set LDB_DUAL_PANEL to 1. Setting DEMO_PANEL to 15 to use LVDS2HDMI card(19201080), you need to set APP_DISPLAY_EXTERNAL_CONVERTOR to 1. Setting DEMO_PANEL to 13 to use MIPI DSI panel(10802340), you also need to set DPU_EXAMPLE_DI to DPU_DI_MIPI. Setting DEMO_PANEL to 14 to use MIPI2HDMI card(19201080), you need to set DPU_EXAMPLE_DI to DPU_DI_MIPI. And you also need to set APP_DISPLAY_EXTERNAL_CONVERTOR to 1. For default LCD_SPEC panel, you do not need to change anything.

Running the demo

When the example runs successfully, rectangles will move in the screen.

IMX952-EVK
Hardware requirements
  • Micro USB cable

  • IMX952LPD5EVK-19 board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

  • BOE EV121WXM-N12 (LCD SPEC) panel

Board settings

For DUAL LVDS panel(19201200), connect MINISAS ports J15 and J16 to panel. For BOE EV121WXM-N12 (LCD SPEC) panel(1280800), connect MINISAS port J15 to MINISAS2LVDS card as LVDS0. J16 to MINISAS2LVDS card for LVDS1. The MINISAS2LVDS card need jumper, please refer to the card datasheet. For LVDS2HDMI card(19201080), connect MINISAS port J16 to panel. For MIPI DSI panel(10802340), connect MINISAS port J14 to panel. For MIPI2HDMI card(1920*1080), connect MINISAS port J14 to panel.

Prepare the Demo
  1. Connect 12V power supply and J-Link Debug Probe to the board, switch SW4 to power on the board.

  2. Connect a micro USB cable between the host PC and the J31 USB port on the cpu board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Launch the debugger in your IDE to begin running the example.

Steps to configure the panels

Default panel is LCD SPEC panel, default port is DPU_DI_LVDS, default setting for APP_DISPLAY_EXTERNAL_CONVERTOR is disabled Tips: The APP_DISPLAY_EXTERNAL_CONVERTOR can be set as 1 when you are using MIPI2HDMI card(ADV7535) or LVDS2HDMI card(IT6263) only.

When Kconfig is used

Below setting is for kconfig, you can fix below settings in dpu/fetch_yuv/cm7/prj.conf For default LCD_SPEC panel, you do not need to change anything. For DUAL LVDS panel(19201200): CONFIG_LVDS_DUAL_PANEL=y CONFIG_MCUX_PRJSEG_module.board.display_support.LDB_DUAL_PANEL_ENABLE=y For LVDS2HDMI card(19201080): CONFIG_APP_DISPLAY_EXTERNAL_CONVERTOR=y CONFIG_LVDS2HDMI=y For MIPI DSI panel(10802340): CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_MIPI=y CONFIG_MX9_DSI_OLED=y For MIPI2HDMI card(19201080): CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_MIPI=y CONFIG_APP_DISPLAY_EXTERNAL_CONVERTOR=y CONFIG_MIPI2HDMI=y

When package is used

Below setting is for mcux_config.h. Setting DEMO_PANEL to 12 to DUAL LVDS panel(19201200). You also need to set LDB_DUAL_PANEL to 1. Setting DEMO_PANEL to 15 to use LVDS2HDMI card(19201080), you need to set APP_DISPLAY_EXTERNAL_CONVERTOR to 1. Setting DEMO_PANEL to 13 to use MIPI DSI panel(10802340), you also need to set DPU_EXAMPLE_DI to DPU_DI_MIPI. Setting DEMO_PANEL to 14 to use MIPI2HDMI card(19201080), you need to set DPU_EXAMPLE_DI to DPU_DI_MIPI. And you also need to set APP_DISPLAY_EXTERNAL_CONVERTOR to 1. For default LCD_SPEC panel, you do not need to change anything.

Running the demo

When the example runs successfully, rectangles will move in the screen.

FRDM-IMX95
Hardware requirements
  • Micro USB cable

  • FRDMIMX95 board

  • J-Link Debug Probe

  • USB power supply

  • Personal Computer

  • WAVESHARE_DSI2DPI panel

Board settings

For LVDS2HDMI card(1920*1080), connect HDMI port J17 to panel.

For LCD_SPEC panel(1280*800), connect LVDS port J14 to panel. Ensure the J15 jumper connect to 12V, J12 jumper connect to 3.3V. The LCD_SPEC panel requires a 12V backlight supply. To ensure stable backlight operation, 20V input voltage must be negotiated via U-Boot. Boot Linux BSP to u-boot, and load M core image from SD card to run. (Put the image into SD card device before)

  1. Uboot command to disable lvds function in uboot “setenv video_off yes; saveenv” then reset the board.

  2. load mmc 1:1 0x90400000 dpu.bin; cp.b 0x90400000 0x203c0000 0x40000; bootaux 0x00000000 1;

For WAVESHARE_DSI2DPI panel(1024*600), connect MIPI DSI port J10 to panel Use Dupont wires to connect the following pins. —————————————————————————————————— | panel FAN 5V ———– J19-2 | | panel FAN GND ———- J19-39 | | panel FAN SCL1 ——— J2-7 | | panel FAN SDA1 ——— J2-9 | —————————————————————————————————

Prepare the Demo
  1. Connect USB power supply.

  2. Connect a micro USB cable between the host PC and the J1 USB port on the cpu board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

Steps to configure the panels

Default panel is WAVESHARE_DSI2DPI panel, default port is DPU_DI_MIPI, default setting for APP_DISPLAY_EXTERNAL_CONVERTOR is disabled Tips: The APP_DISPLAY_EXTERNAL_CONVERTOR can be set as 1 when you are using LVDS2HDMI card(IT6263) only.

When Kconfig is used

Below setting is for kconfig, you can fix below settings in dpu/fetch_yuv/cm7/prj.conf For default WAVESHARE_DSI2DPI panel, you do not need to change anything. For LCD_SPEC panel(1280800): CONFIG_LCD_SPEC=y CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_LVDS=y For LVDS2HDMI card(19201080): CONFIG_APP_DISPLAY_EXTERNAL_CONVERTOR=y CONFIG_LVDS2HDMI=y CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_LVDS=y

When package is used

Below setting is for mcux_config.h. For default WAVESHARE_DSI2DPI panel, you do not need to change anything. Setting DEMO_PANEL to 11 to use LCD_SPEC panel(1280800), you need to set DPU_EXAMPLE_DI to DPU_DI_LVDS. Setting DEMO_PANEL to 15 to use LVDS2HDMI card(19201080), you need to set APP_DISPLAY_EXTERNAL_CONVERTOR to 1 and set DPU_EXAMPLE_DI to DPU_DI_LVDS.

Running the demo

When the example runs successfully, rectangles will move in the screen.

frdmimx952
Hardware requirements
  • Micro USB cable

  • FRDMIMX952 board

  • J-Link Debug Probe

  • 12V~20V power supply

  • Personal Computer

  • WAVESHARE_DSI2DPI panel

Board settings

For BOE EV121WXM-N12 (LCD SPEC) panel(1280*800), connect LVDS port J14 to panel. Ensure the J15 jumper connect to 12V, J13 jumper connect to 3.3V The LCD_SPEC panel requires a 12V backlight supply. To ensure stable backlight operation, 20V input voltage must be negotiated via U-Boot. Boot Linux BSP to u-boot, and load M core image from SD card to run. (Put the image into SD card device before)

  1. Uboot command to disable lvds function in uboot “setenv video_off yes; saveenv” then reset the board.

  2. load mmc 1:1 0x90400000 dpu.bin; cp.b 0x90400000 0x203c0000 0x40000; bootaux 0x00000000 1;

For LVDS2HDMI card(1920*1080), connect HDMI port J16 to monitor.

For WAVESHARE_DSI2DPI panel(1024*600), connect MIPI DSI port J12 to panel Use Dupont wires to connect the following pins. —————————————————————————————————— | panel FAN 5V ———– J18-2 | | panel FAN GND ———- J18-39 | | panel FAN SCL1 ——— J2-7 | | panel FAN SDA1 ——— J2-9 | —————————————————————————————————

Prepare the Demo
  1. Connect 12V power supply to the board, switch SW5 to power on the board.

  2. Connect a micro USB cable between the host PC and the J1 USB port on the cpu board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Launch the debugger in your IDE to begin running the example.

Steps to configure the panels

Default panel is WAVESHARE_DSI2DPI panel, default port is DPU_DI_MIPI, default setting for APP_DISPLAY_EXTERNAL_CONVERTOR is disabled Tips: The APP_DISPLAY_EXTERNAL_CONVERTOR can be set as 1 when you are using LVDS2HDMI card(IT6263) only.

When Kconfig is used

Below setting is for kconfig, you can fix below settings in dpu/fetch_yuv/cm7/prj.conf For default WAVESHARE_DSI2DPI panel, you do not need to change anything. For BOE EV121WXM-N12 (LCD SPEC) panel(1280800): CONFIG_LCD_SPEC=y CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_LVDS=y For LVDS2HDMI card(19201080): CONFIG_APP_DISPLAY_EXTERNAL_CONVERTOR=y CONFIG_LVDS2HDMI=y CONFIG_MCUX_PRJSEG_module.board.display_support.DPU_DI_LVDS=y

When package is used

Below setting is for mcux_config.h. For default WAVESHARE_DSI2DPI panel, you do not need to change anything. Setting DEMO_PANEL to 11 to use BOE EV121WXM-N12 (LCD SPEC) panel(1280800), you need to set DPU_EXAMPLE_DI to DPU_DI_LVDS. Setting DEMO_PANEL to 15 to use LVDS2HDMI card(19201080), you need to set APP_DISPLAY_EXTERNAL_CONVERTOR to 1. And you also need to set DPU_EXAMPLE_DI to DPU_DI_LVDS.

Running the demo

When the example runs successfully, rectangles will move in the screen.