Display Controller Configuration

Enable Display Output in Kernel menuconfig

Follow the steps below to enable the kernel menu configuration for the display controller.
  1. Under the root directory of freelight-u-sdk, run the following command to enter the kernel menu configuration GUI.
    make linux-menuconfig
  2. Enter the Device Drivers menu.

  3. Enter the Graphics support menu and do the following depending on your target output devices:
    • For HDMI output, select the HDMI2.0 option.
    • For MIPI output, select the StarFive MIPI DSI Select option.
    • For RGB2HDMI output, enter the Direct Rendering Manager > I2C encoder or helper chips menu, and select the NXP Semiconductors TDA998X HDMI encoder option.
  4. Save your change before you exit the kernel configuration dialog.

Enable modetest in menuconfig

Follow the steps below to install test programs:
  1. Under the root directory of freelight-u-sdk, type the following command to enter the kernel menu configuration GUI.
    make buildroot_initramfs-menuconfig
  2. Enter the Target packages > Libraries > Graphics > libdrm menu.
  3. Select the Install test programs option, or you may select all options under this menu.

    Result: After you have completed all the above configuration, you can use the modetest tool in kernel for testing.

  4. Save your change before you exit the kernel configuration dialog.

Board-level Display Output Configuration

The following code snippet In the file jh7110-common.dtsi connects the DC8200 display controller to external video outputs on the board:
  • HDMI
  • LCD
  • MIPI
&dc8200 {
	status = "okay";

	dc_out: port {
		#address-cells = <1>;
		#size-cells = <0>;
		dc_out_dpi0: endpoint@0 {
			reg = <0>;
			remote-endpoint = <&hdmi_input0>;
		};
		dc_out_dpi1: endpoint@1 {
			reg = <1>;
			remote-endpoint = <&hdmi_in_lcdc>;
		};

		dc_out_dpi2: endpoint@2 {
			reg = <2>;
			remote-endpoint = <&mipi_in>;
		};
	};
};
Parameter explanations:
  • status = "okay";: Turns on the display controller.
  • dc_out: port { ... }: The video output port for DC8200. It has multiple endpoints to send video to different hardware:
    • dc_out_dpi0: endpoint@0: Connects DC8200 channel 0 to HDMI controller 0.
    • dc_out_dpi1: endpoint@1: Connects DC8200 channel 1 to LCD.
    • dc_out_dpi2: endpoint@2: Connects DC8200 channel 1 to MIPI.