This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM6548: AM6548 supports both LVDS and MIPI DPI display under linux

Part Number: AM6548
Other Parts Discussed in Thread: TFP410

Dear TI

      Customer is asking how to set the lvds and mipi dpi correctly in the DTS.I tried to modify the k3-am654-evm-oldi-lcd1evm.dtso file,

but I am not sure if it is correct, please help me to check it out. Customers need to support both lvds and mipi dpi display.

// SPDX-License-Identifier: GPL-2.0
/**
 * OLDI-LCD1EVM Rocktech integrated panel and touch DT overlay for AM654-EVM.
 *
 * Copyright (C) 2018 Texas Instruments Incorporated - http://www.ti.com/
 */

/dts-v1/;
/plugin/;

#include <dt-bindings/pwm/pwm.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>

/ {
  fragment@101 {
	target-path = "/";

	__overlay__ {
		display0 {
			compatible = "rocktech,rk101ii01d-ct";
			backlight = <&lcd_bl>;
			enable-gpios = <&pca9555 8 GPIO_ACTIVE_HIGH>;

			port@0 {
				lcd_in0: endpoint {
					remote-endpoint = <&oldi_out0>;
				};
			};
			port@1 {
				lcd_in1: endpoint {
					remote-endpoint = <&oldi_out1>;
				};
			};
		};

		lcd_bl: backlight {
			compatible = "pwm-backlight";
			pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
			brightness-levels = <0 32 64 96 128 160 192 224 255>;
			default-brightness-level = <8>;
		};
	};
  };
};

&dss {
	status = "ok";
};

&dss_ports {
	#address-cells = <1>;
	#size-cells = <0>;
	port@0 {
		reg = <0>;

		oldi_out0: endpoint {
			remote-endpoint = <&lcd_in0>;
		};
	};
	port@1 {
		reg = <1>;

		oldi_out1: endpoint {
			remote-endpoint = <&lcd_in1>;
		};
	};
};

&main_i2c1 {
	#address-cells = <1>;
	#size-cells = <0>;
	gt928: touchscreen@14 {
		status = "okay";
		compatible = "goodix,gt928";
		reg = <0x14>;

		interrupt-parent = <&pca9554>;
		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
		touchscreen-size-x = <1280>;
		touchscreen-size-y = <800>;

		reset-gpios = <&pca9555 9 GPIO_ACTIVE_HIGH>;
		irq-gpios = <&pca9554 3 GPIO_ACTIVE_HIGH>;
	};
};

  • Are there any updates?

  • James, 

    your dss port configuration does not seem right, as port 1 need to be dpi_out0. I saw we have  an example:

        k3-am654-evm-hdmi.dtso

        k3-am654-evm-oldi-lcd1evm.dtso

    where you can reference and combine. there are also pinmux entries in the HDIMI overlay file. To make dual display work, you may also tune the clock divider configurations around DSS to make sure the resolutions on both displays does not conflict using one PLL. 

    Sorry for the delay. pls reopen as you run into more questions. This is beyond standard SDK so debug may be needed. 

    Jian

  • Jian,

    I think we only need to modify last node of  k3-am654-evm-oldi-lcd1evm.dtso to support DPI display, would you please tell us how to modify the yellow portion of below? 

    &dss_ports {
                  #address-cells = <1>;
                 #size-cells = <0>;
                 port@1 {
                             reg = <1>;

                             dpi_out0: endpoint {
                              remote-endpoint = <&tfp410_in>;
                                  };
                  };
    };

  • Tony, 

    k3-am654-evm-oldi-lcd1evm.dtso seems configuring touch screen ports for either LCD or OLDI panels, so I am not sure simply adding the code block there will be recognized. 

    To enable dual display, we need to:

    1. setup pinmux for the VOUT pins (match to the panel) as in the HDMI dtso

    2. setup both port@0 and port@1

    3. setup corresponding clock mux and devices. 

    so I would expect most of the code blocks in the HDMI overlay file is needed. 

    If you have access to the customer hardware that has both interfaces, we can have a work session to test some tries. We will need to check clock devider and mux registers to see if the dts are taking effect. 

    regards

    Jian