cancel
Showing results for 
Search instead for 
Did you mean: 

STM32 board support eDP bridge?

LLe.1
Associate II

Hi,

We are using stm32mp157c MCU/board and it has DSI output built-in. Now we want to add display port support via DSI to eDP bridge SN65DSI86. It seems that stm32 does not support Displayport output or it has never been done. At least the driver dw_mipi_dsi-stm.c should be updated not to require a panel.

Any idea how this can be achieved please?

34 REPLIES 34

Hello @LLe.1​,

Sorry to see that the patch is not enough to face your issue.

I think, as you said, that upgrade OSTL version would be a good idea. Your kernel version is quite old now, and if there is no blocker for you to pass on a OSTL 4.0 version, it could be a good idea.

Moreover, as dev team is currently working with this same version, it will be much easier to detect if there are things that go wrong.

Please let me informed about the evolution.

Kind regards.

Erwan.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
LLe.1
Associate II

@Erwan SZYMANSKI​ unfortunately upgrading the kernel is not an option for us.

However, I got a bit further, by removing simplepanel's power supply init from panel's probe function, I got panel probe faster and thus solved the probe ordering issue. I don't think panel needs that as it is an external display.

/* commented out
	panel->supply = devm_regulator_get(dev, "power");
	if (IS_ERR(panel->supply))
	{
		DRM_ERROR("PANEL_probe: err supply \n");
		return PTR_ERR(panel->supply);
	}
*/

Now probe and attach order is fine. dsi, bridge are attached. However, after that panel_simple_get_modes() -> panel_simple_get_non_edid_modes() is called and within this function the connector pointer is NULL. Nothing else happens after that, meaning no more action from dsi or bridge.

struct drm_connector *connector = panel->base.connector;
connector is NULL

Any idea please?

I am concerning about the location of my simple-panel in device tree, should it be like it is now (under root node), or should it be inside bridge node?

How does simple-panel indicate its presence (when DisplayPort is plugged in) to bridge and dsi so that they start sending data?

@Erwan SZYMANSKI​ ok I sorted it out, from TI bridge it should call attach panel directly with current panel code. I did that, now attach finishes ok. However, after that nothing happens, dsi phy init not called, dsi power on not called, etc.

I think my main problem is I don't know the init order of this chain.

@Erwan SZYMANSKI​ could you give me some hint from where the bridge_enable() get called please, that would help me finding out why its not called.