IMX8MP and sec-dsim.c support

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8MP and sec-dsim.c support

2,826 Views
tylernol
Contributor IV

hi there,

 I am attempting to bring up a panel connected via MIPI DSI to the imx8MP . While looking at the source for the DSI bridge driver, I noticed that the driver has "disappeared" from the fslc branch. 

This is the last occurrance I see : https://github.com/Freescale/linux-fslc/commits/5.15-2.2.x-imx/drivers/gpu/drm/bridge/sec-dsim.c

I am currently using this branch:

linux-imx_5.10.72_2.2.0

where has the driver moved to in more current branches? I see some activity to consolidate with a Samsung version. 

 

 thanks!

 

 

 

0 Kudos
Reply
4 Replies

2,738 Views
tylernol
Contributor IV

this appears to be fine. Determined that there was bug in the clock enable sequencing, so commands were not being sent out. 

0 Kudos
Reply

2,810 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

You need to check if your kernel is available from the new git:

https://github.com/nxp-imx

Regards

2,804 Views
tylernol
Contributor IV

the driver still exists here, good! The line I am curious about is unchanged, so I will ask here.  https://github.com/nxp-imx/linux-imx/blob/29549c7073bf72cfb2c4614d37de45ec36b60475/drivers/gpu/drm/b...

```

if (packet.payload_length) {		/* Long Packet case */
		reinit_completion(&dsim->pl_tx_done);

		/* write packet payload */
		sec_mipi_dsim_write_pl_to_sfr_fifo(dsim,
						   packet.payload,
						   packet.payload_length);

		/* write packet header */
		sec_mipi_dsim_write_ph_to_sfr_fifo(dsim,
						   packet.header,
						   use_lpm);

		ret = wait_for_completion_timeout(&dsim->ph_tx_done,
						  MIPI_FIFO_TIMEOUT);
		if (!ret) {
			dev_err(dsim->dev, "wait payload tx done time out\n");
			return -EBUSY;
		}
	}
```

we are resetting 

dsim->pl_tx_done

 however we are waiting on :

wait_for_completion_timeout(&dsim->ph_tx_done,

 is this correct? Does the hw generate interrupts for both the pl_tx and the ph_tx for long packets? 

0 Kudos
Reply

445 Views
persandberg
Contributor II

Hi,

I was wondering the same thing. Have you solved this? Why is it waiting for ph_tx_done instead of pl_tx_done.

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-1637461%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EIMX8MP%20and%20sec-dsim.c%20support%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1637461%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Ehi%20there%2C%3C%2FP%3E%3CP%3E%26nbsp%3BI%20am%20attempting%20to%20bring%20up%20a%20panel%20connected%20via%20MIPI%20DSI%20to%20the%20imx8MP%20.%20While%20looking%20at%20the%20source%20for%20the%20DSI%20bridge%20driver%2C%20I%20noticed%20that%20the%20driver%20has%20%22disappeared%22%20from%20the%20fslc%20branch.%26nbsp%3B%3C%2FP%3E%3CP%3EThis%20is%20the%20last%20occurrance%20I%20see%20%3A%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FFreescale%2Flinux-fslc%2Fcommits%2F5.15-2.2.x-imx%2Fdrivers%2Fgpu%2Fdrm%2Fbridge%2Fsec-dsim.c%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2FFreescale%2Flinux-fslc%2Fcommits%2F5.15-2.2.x-imx%2Fdrivers%2Fgpu%2Fdrm%2Fbridge%2Fsec-dsim.c%3C%2FA%3E%3C%2FP%3E%3CP%3EI%20am%20currently%20using%20this%20branch%3A%3C%2FP%3E%3CP%3Elinux-imx_5.10.72_2.2.0%3C%2FP%3E%3CP%3Ewhere%20has%20the%20driver%20moved%20to%20in%20more%20current%20branches%3F%20I%20see%20some%20activity%20to%20consolidate%20with%20a%20Samsung%20version.%26nbsp%3B%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%26nbsp%3Bthanks!%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2263507%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX8MP%20and%20sec-dsim.c%20support%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2263507%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3EI%20was%20wondering%20the%20same%20thing.%20Have%20you%20solved%20this%3F%20Why%20is%20it%20waiting%20for%20ph_tx_done%20instead%20of%20pl_tx_done.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1642451%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX8MP%20and%20sec-dsim.c%20support%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1642451%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Ethis%20appears%20to%20be%20fine.%20Determined%20that%20there%20was%20bug%20in%20the%20clock%20enable%20sequencing%2C%20so%20commands%20were%20not%20being%20sent%20out.%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1638177%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX8MP%20and%20sec-dsim.c%20support%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1638177%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Ethe%20driver%20still%20exists%20here%2C%20good!%20The%20line%20I%20am%20curious%20about%20is%20unchanged%2C%20so%20I%20will%20ask%20here.%20%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2F29549c7073bf72cfb2c4614d37de45ec36b60475%2Fdrivers%2Fgpu%2Fdrm%2Fbridge%2Fsec-dsim.c%23L695%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2F29549c7073bf72cfb2c4614d37de45ec36b60475%2Fdrivers%2Fgpu%2Fdrm%2Fbridge%2Fsec-dsim.c%23L695%3C%2FA%3E%3C%2FP%3E%3CP%3E%60%60%60%3C%2FP%3E%3CPRE%3Eif%20(packet.payload_length)%20%7B%09%09%2F*%20Long%20Packet%20case%20*%2F%0A%09%09reinit_completion(%26amp%3Bdsim-%26gt%3Bpl_tx_done)%3B%0A%0A%09%09%2F*%20write%20packet%20payload%20*%2F%0A%09%09sec_mipi_dsim_write_pl_to_sfr_fifo(dsim%2C%0A%09%09%09%09%09%09%20%20%20packet.payload%2C%0A%09%09%09%09%09%09%20%20%20packet.payload_length)%3B%0A%0A%09%09%2F*%20write%20packet%20header%20*%2F%0A%09%09sec_mipi_dsim_write_ph_to_sfr_fifo(dsim%2C%0A%09%09%09%09%09%09%20%20%20packet.header%2C%0A%09%09%09%09%09%09%20%20%20use_lpm)%3B%0A%0A%09%09ret%20%3D%20wait_for_completion_timeout(%26amp%3Bdsim-%26gt%3Bph_tx_done%2C%0A%09%09%09%09%09%09%20%20MIPI_FIFO_TIMEOUT)%3B%0A%09%09if%20(!ret)%20%7B%0A%09%09%09dev_err(dsim-%26gt%3Bdev%2C%20%22wait%20payload%20tx%20done%20time%20out%5Cn%22)%3B%0A%09%09%09return%20-EBUSY%3B%0A%09%09%7D%0A%09%7D%3CBR%20%2F%3E%60%60%60%3C%2FPRE%3E%3CP%3Ewe%20are%20resetting%26nbsp%3B%3C%2FP%3E%3CPRE%3Edsim-%26gt%3Bpl_tx_done%3C%2FPRE%3E%3CP%3E%26nbsp%3Bhowever%20we%20are%20waiting%20on%20%3A%3C%2FP%3E%3CPRE%3Ewait_for_completion_timeout(%26amp%3Bdsim-%26gt%3Bph_tx_done%2C%3C%2FPRE%3E%3CP%3E%26nbsp%3Bis%20this%20correct%3F%20Does%20the%20hw%20generate%20interrupts%20for%20both%20the%20pl_tx%20and%20the%20ph_tx%20for%20long%20packets%3F%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1638065%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20IMX8MP%20and%20sec-dsim.c%20support%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1638065%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%0A%3CP%3EYou%20need%20to%20check%20if%20your%20kernel%20is%20available%20from%20the%20new%20git%3A%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fnxp-imx%3C%2FA%3E%3C%2FP%3E%0A%3CP%3ERegards%3C%2FP%3E%3C%2FLINGO-BODY%3E