6.3 Implementing Display Initialization with ILI9881C

The Raspberry Pi Touch Display 2 uses the ILI9881C, a MIPI DSI-compatible display controller supporting a 720x1280 resolution at 60 Hz (83.33 MHz pixel clock). The DISP_STATE_CONFIG_MIPI_HOST state sends ILI9881C-specific DSI commands to initialize the display, ensuring compatibility with the SAMA7D65 DSI controller.

For a similar display initialization, refer to:

/Microchip-MPLAB-Harmony/ src/config/gfx/display/touch_display.c

For the display initialization sequence of the Raspberry Pi Touch Display 2, refer to:

/raspberrypi/linux/blob/rpi-6.6.y/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c#L1460

  • Switch to Command mode:
    • DSI_CommandMode() sets the DSI controller to Command mode, allowing Display Command Set (DCS) packet transmission.
  • Page-based configuration:
    • The ILI9881C requires commands across multiple configuration pages (0, 1, 3, 4), selected via DSI_DCS_WritePage.
  • Implement initialization sequence:

    In MPLAB Harmony, follow these steps:

    • Convert the initialization sequence to a C array compatible with Harmony.
    • Implement equivalent functions using the peripheral library for the DSI interface.