i.MX6Q, QNX, MediaLB, clocks

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

i.MX6Q, QNX, MediaLB, clocks

1,264 Views
andrey_shvetsov
Contributor I

I use the i.MX6Q SABRE for Automotive Infotainment to develop a MediaLB driver
for the QNX Neutrino 6.6.0

The BSP is BSP_freescale_imx6x-sabreARD_br-660_be-660_SVN737103_JBN5.zip

I can access the DIM2 IP using its register wall and it responses according to
the DIM2 manuals.

To let the DIM2 IP to lock to the INIC (a MediaLB master) over the 6 pin
interface, the clocks mlb150_clk and pll6 must be activated.

Does anybody have an idea how to achieve this?  Which changes must be done in
the BSP to activate those clocks?  Any code examples are appreciated.

Regards,

A.

Labels (1)
Tags (3)
0 Kudos
4 Replies

1,093 Views
andrey_shvetsov
Contributor I

#define PLL_MLB (MX6X_ANATOP_BASE + MX6X_ANATOP_PLL6_MLB)
#define CCGR3 (MX6X_CCM_BASE + MX6X_CCM_CCGR3)
 
out32(PLL_MLB, in32(PLL_MLB) & ~(1u << 16));
out32(CCGR3, in32(CCGR3) | CCGR3_CG9_MLB);

0 Kudos

1,093 Views
igorpadykov
NXP Employee
NXP Employee

Hi Andrey

one can check sect.4.7.2 MLB Driver Overview attached Linux Manual and

Linux L4.14.78 link
https://source.codeaurora.org/external/imx/linux-imx/tree/?h=imx_4.14.78_1.0.0_ga

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

1,093 Views
andrey_shvetsov
Contributor I

Hi Igor,

Thanks for your respond.

Actually, the understanding of the DIM2 (IP for the MediaLB used in IMX) is not
a problem.  I delivered the DIM2 Linux driver and platform specific
initializations including one for the IMX.
(https://elixir.bootlin.com/linux/v4.20/source/drivers/staging/most/dim2)

What makes me unsure is missing functionality around the PLL6_MLB in the QNX
BSP.  For example the definition of MX6X_ANATOP_PLL6_MLB in mx6.h has no usage
at all.  See how it is done for the MX6X_ANATOP_PLL8_ENET.

I'm looking for the IMX specific code that initializes the MediaLB clocks in
the QNX and is analogue to the Linux function fsl_mx6_enable() from the link
https://elixir.bootlin.com/linux/v4.20/source/drivers/staging/most/dim2/dim2.c#L935

I also want to know what is the analogue for the QNX to the Linux patch
https://github.com/microchip-ais/meta-mchp-most-fsl/blob/master/recipes-kernel/linux/linux-imx-3.14....
that initializes the clocks for the MediaLB.

Regards,

Andrey

0 Kudos

1,093 Views
igorpadykov
NXP Employee
NXP Employee

Hi Andrey

qnx software is not supported by nxp, suggest to apply to qnx tech support directly.

Best regards
igor

0 Kudos