Hello,
I want to use LPUART2 with Arm Cortex A35. The other LPUARTs are already in use, so you need to use LPUART2.
LPUART2 interrupts are not assigned to A35. But LPUART2 interrupt is not assigned to A35.
I am referring to the following manual:
i.MX 8ULP Processor Reference Manual Rev. 1, 09/2023
Table 3. GIC interrupt vector assignments
Is there a recommended implementation that uses LPUART2 from A35?
Regards,
mizo
Solved! Go to Solution.
Here is the block diagram of i.MX 8ULP, there are 4 uart in A35 core and 2 uart in M33.
More accurately, the LPUART2 is under PBRIDGE2 in DSPD. In other word, the LPUART2 is designed for DSP core, not A35 core. Of course, we could access LPUART2 registers from A35 with modifying T-MBC3 setting.
But A35 can't control the basic resources about LPUART2 like clocks and interrupt. The LPUART2 clock relies on DSP busclk(PCC2 clock unit) and the dsp busclk is generated by RTD_CGC(Real Time Domain Clock Generate Controller). The default interrupt is designed in DSP core.
There is no X-PAC( XRDC Peripheral Access Controller) in DSP domain which means we can't map the entire pbridge2 bus to A core kernel.
Best Regards
Zhiming
There is no such implementation in BSP.
Best Regards
Zhiming
Hi
The best way is to drive lpuart2 in DSP domain and use rpmsg framework to transfer data.
You can use SDK/rpmsg_lite_str_echo_rtos_imxcm33 and linux/drivers/rpmsg/imx_rpmsg_tty.c as an example.
Best Regards
Zhiming
Here is the block diagram of i.MX 8ULP, there are 4 uart in A35 core and 2 uart in M33.
More accurately, the LPUART2 is under PBRIDGE2 in DSPD. In other word, the LPUART2 is designed for DSP core, not A35 core. Of course, we could access LPUART2 registers from A35 with modifying T-MBC3 setting.
But A35 can't control the basic resources about LPUART2 like clocks and interrupt. The LPUART2 clock relies on DSP busclk(PCC2 clock unit) and the dsp busclk is generated by RTD_CGC(Real Time Domain Clock Generate Controller). The default interrupt is designed in DSP core.
There is no X-PAC( XRDC Peripheral Access Controller) in DSP domain which means we can't map the entire pbridge2 bus to A core kernel.
Best Regards
Zhiming