[PATCH 3/5] drm/bridge: tc358762: Instruct DSI host to generate HSE packets
Marek Vasut
marex at denx.de
Thu Nov 16 18:17:08 UTC 2023
On 11/16/23 17:06, Marc Kleine-Budde wrote:
> Hey Marek,
>
> On 15.06.2023 22:19:00, Marek Vasut wrote:
>> This bridge seems to need the HSE packet, otherwise the image is
>> shifted up and corrupted at the bottom. This makes the bridge
>> work with Samsung DSIM on i.MX8MM and i.MX8MP.
>
> I'm using v6.6 (which includes this series) on an i.MX8MP with the 7inch
> Rspi Panel ("powertip,ph800480t013-idf02"), but I cannot get a stable
> image.
>
> With an unmodified imx8mp clock tree the lower 1/4 of the image sheers
> to the left.
>
> With 24.75 MHz on the media_disp1_pix and media_mipi_phy1_ref and 792
> MHz on video_pll1_out, the image is not static, but wobbly and it's
> wrapped around half of the image.
>
> video_pll1_ref_sel 1 1 0 24000000 0 0 50000 Y
> video_pll1 1 1 0 792000000 0 0 50000 Y
> video_pll1_bypass 1 1 0 792000000 0 0 50000 Y
> video_pll1_out 2 2 0 792000000 0 0 50000 Y
> media_mipi_phy1_ref 1 1 0 24750000 0 0 50000 Y
> media_mipi_phy1_ref_root 0 0 0 24750000 0 0 50000 Y
> media_disp2_pix 0 0 0 792000000 0 0 50000 N
> media_disp2_pix_root_clk 0 0 0 792000000 0 0 50000 N
> media_disp1_pix 1 1 0 24750000 0 0 50000 Y
> media_disp1_pix_root_clk 1 1 0 24750000 0 0 50000 Y
>
> Do you have a working device tree for such a setup? regards, Marc
This seems to be what I used last time I tried (notice the
samsung,burst-clock-frequency = <720000000>; ), but this was a few
months ago:
/ {
panel {
compatible = "powertip,ph800480t013-idf02";
backlight = <&attiny>;
enable-gpio = <&attiny 0 GPIO_ACTIVE_HIGH>;
power-supply = <&attiny>;
port {
panel_in: endpoint {
remote-endpoint = <&bridge_out>;
};
};
};
};
&mipi_dsi {
/*
* This is DSIM PLL frequency, DSI HS clock lane frequency
* is half of the "samsung,burst-clock-frequency" value.
*/
samsung,burst-clock-frequency = <720000000>;
status = "okay";
bridge at 0 {
compatible = "toshiba,tc358762";
reg = <0>;
vddc-supply = <&attiny>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
port at 0 {
reg = <0>;
bridge_in: endpoint {
data-lanes = <1>;
remote-endpoint = <&dsi_out>;
};
};
port at 1 {
reg = <1>;
bridge_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
};
&dsi_out {
data-lanes = <1>;
remote-endpoint = <&bridge_in>;
};
&i2cmuxed0 {
#address-cells = <1>;
#size-cells = <0>;
touchscreen: touchscreen at 38 {
compatible = "edt,edt-ft5406";
reg = <0x38>;
reset-gpios = <&attiny 1 GPIO_ACTIVE_LOW>;
/*
* Disabled, since the IRQ line is not on
* the FPC cable, so we cannot get touch
* IRQs unless its connected otherwise. In
* that case, add entry like this one and
* enable below.
*
* interrupt-parent = <&gpiog>;
* interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
*/
status = "disabled";
};
attiny: regulator at 45 {
compatible =
"raspberrypi,7inch-touchscreen-panel-regulator";
gpio-controller;
#gpio-cells = <2>;
reg = <0x45>;
};
};
&pwm1 {
status = "okay";
};
&lcdif1 {
status = "okay";
};
More information about the dri-devel
mailing list