UART3 on i.MX 8M Mini

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

UART3 on i.MX 8M Mini

ソリューションへジャンプ
2,960件の閲覧回数
josc
Contributor II

Hi,

I try to use UART3 on i.MX 8M Mini LPDDR4 EVKB M4 core but I'm not getting any signals. I'm using the evkmimx8mm_iuart_interrupt_transfer example. I edited pin_mux.c:

IOMUXC_SetPinMux(IOMUXC_UART3_RXD_UART3_RX, 0U); 
IOMUXC_SetPinConfig(IOMUXC_UART3_RXD_UART3_RX, 
IOMUXC_SW_PAD_CTL_PAD_DSE(6U) | IOMUXC_SW_PAD_CTL_PAD_FSEL(2U)); 
IOMUXC_SetPinMux(IOMUXC_UART3_TXD_UART3_TX, 0U); IOMUXC_SetPinConfig(IOMUXC_UART3_TXD_UART3_TX, 
IOMUXC_SW_PAD_CTL_PAD_DSE(6U) | IOMUXC_SW_PAD_CTL_PAD_FSEL(2U)); 

 

I also had to edit the function BOARD_BootClockRUN() in clock_config.c:

CLOCK_SetRootMux(kCLOCK_RootUart3, kCLOCK_UartRootmuxSysPll1Div10);
CLOCK_SetRootDivider(kCLOCK_RootUart3, 1U, 1U);
CLOCK_EnableClock(kCLOCK_Uart3); 

 

And I of course changed the definitions in main.c:

#define DEMO_UART UART3 
#define DEMO_UART_CLK_FREQ \ 
CLOCK_GetPllFreq(kCLOCK_SystemPll1Ctrl) / (CLOCK_GetRootPreDivider(kCLOCK_RootUart3)) / \ (CLOCK_GetRootPostDivider(kCLOCK_RootUart3)) / 10 

 

The Boot Switches are in Download Mode and I'm uploading the code via J-Link. I also configured UART3 in RDC. Therefore should UART3 be accessible with the M4, right?

I connected Pin 8, which should be UART3 TX, from the Expansion Connector J1003 on an oscilloscope to detect signals but I can't see anything. What am I missing here?

ラベル(1)
0 件の賞賛
返信
1 解決策
2,836件の閲覧回数
josc
Contributor II

I could fix the issue by using the correct PinMux configuration. Instead of IOMUXC_UART3_RXD_UART3_RX  and IOMUXC_UART3_TXD_UART3_TX I'm using IOMUXC_ECSPI1_SCLK_UART3_RX and IOMUXC_ECSPI1_MOSI_UART3_TX now.

Thank you for your help!

元の投稿で解決策を見る

5 返答(返信)
2,926件の閲覧回数
josc
Contributor II

There's no dts when the switches are in Download mode. So UART3 should be free to use.

0 件の賞賛
返信
2,847件の閲覧回数
joanxie
NXP TechSupport
NXP TechSupport

do you dts has this? if yes, you need set to "disabled," pls double check it

linux-imx/arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi at lf-6.6.y · nxp-imx/linux-imx · GitHub

&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>;
assigned-clocks = <&clk IMX8MM_CLK_UART3>;
assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_80M>;
fsl,uart-has-rtscts;
status = "okay";
};

0 件の賞賛
返信
2,837件の閲覧回数
josc
Contributor II

I could fix the issue by using the correct PinMux configuration. Instead of IOMUXC_UART3_RXD_UART3_RX  and IOMUXC_UART3_TXD_UART3_TX I'm using IOMUXC_ECSPI1_SCLK_UART3_RX and IOMUXC_ECSPI1_MOSI_UART3_TX now.

Thank you for your help!

2,588件の閲覧回数
Vishal-K-V
Contributor I

This worked for me as well , But I want to ask why we have done this.

0 件の賞賛
返信
2,945件の閲覧回数
joanxie
NXP TechSupport
NXP TechSupport

could you confirm if your dts doesn't use uart3? if linux side uses this, you need disable this firstly, I don't know how your SW is, you can check it by yourself

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-1931780%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EUART3%20on%20i.MX%208M%20Mini%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1931780%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%3CP%3E8M%20Mini%20LPDDR4%20EVKB%20M4%20%E3%82%B3%E3%82%A2%E3%81%A7%20UART3%20%E3%82%92%E4%BD%BF%E7%94%A8%20i.MX%20%E8%A9%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E4%BF%A1%E5%8F%B7%E3%81%8C%E5%B1%8A%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E7%A7%81%E3%81%AFevkmimx8mm_iuart_interrupt_transfer%E3%81%AE%E4%BE%8B%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82pin_mux.c%E3%82%92%E7%B7%A8%E9%9B%86%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3EIOMUXC_SetPinMux(IOMUXC_UART3_RXD_UART3_RX%2C%200U)%3B%20%0AIOMUXC_SetPinConfig(IOMUXC_UART3_RXD_UART3_RX%2C%20%0AIOMUXC_SW_PAD_CTL_PAD_DSE(6U)%20%7C%20IOMUXC_SW_PAD_CTL_PAD_FSEL(2U))%3B%20%0AIOMUXC_SetPinMux(IOMUXC_UART3_TXD_UART3_TX%2C%200U)%3B%20IOMUXC_SetPinConfig(IOMUXC_UART3_TXD_UART3_TX%2C%20%0AIOMUXC_SW_PAD_CTL_PAD_DSE(6U)%20%7C%20IOMUXC_SW_PAD_CTL_PAD_FSEL(2U))%3B%20%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E3%81%BE%E3%81%9F%E3%80%81clock_config.c%E3%81%AE%E9%96%A2%E6%95%B0BOARD_BootClockRUN()%E3%82%92%E7%B7%A8%E9%9B%86%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3ECLOCK_SetRootMux(kCLOCK_RootUart3%2C%20kCLOCK_UartRootmuxSysPll1Div10)%3B%0ACLOCK_SetRootDivider(kCLOCK_RootUart3%2C%201U%2C%201U)%3B%0ACLOCK_EnableClock(kCLOCK_Uart3)%3B%20%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E3%81%9D%E3%81%97%E3%81%A6%E3%82%82%E3%81%A1%E3%82%8D%E3%82%93%E3%80%81main.c%E3%81%AE%E5%AE%9A%E7%BE%A9%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%23define%20DEMO_UART%20UART3%20%0A%23define%20DEMO_UART_CLK_FREQ%20%5C%20%0ACLOCK_GetPllFreq(kCLOCK_SystemPll1Ctrl)%20%2F%20(CLOCK_GetRootPreDivider(kCLOCK_RootUart3))%20%2F%20%5C%20(CLOCK_GetRootPostDivider(kCLOCK_RootUart3))%20%2F%2010%20%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E3%83%96%E3%83%BC%E3%83%88%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%E3%81%AF%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81J-Link%E7%B5%8C%E7%94%B1%E3%81%A7%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82RDC%E3%81%A7UART3%E3%82%82%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%E3%81%97%E3%81%9F%E3%81%8C%E3%81%A3%E3%81%A6%E3%80%81UART3%E3%81%AFM4%E3%81%A7%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%82%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%82%88%E3%81%AD%3F%3C%2FP%3E%3CP%3E%E3%82%AA%E3%82%B7%E3%83%AD%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97%E3%81%AE%E6%8B%A1%E5%BC%B5%E3%82%B3%E3%83%8D%E3%82%AF%E3%82%BFJ1003%E3%81%8B%E3%82%89%E3%83%94%E3%83%B38(UART3%20TX%E3%81%A7%E3%81%82%E3%82%8B%E3%81%AF%E3%81%9A%E3%81%A7%E3%81%99)%E3%82%92%E6%8E%A5%E7%B6%9A%E3%81%97%E3%81%A6%E4%BF%A1%E5%8F%B7%E3%82%92%E6%A4%9C%E5%87%BA%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E4%BD%95%E3%82%82%E8%A6%8B%E3%81%88%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%93%E3%81%93%E3%81%A7%E4%BD%95%E3%81%8C%E8%B6%B3%E3%82%8A%E3%81%AA%E3%81%84%E3%81%AE%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-1931780%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%208M%20%7C%20i.MX%208M%20Mini%20%7C%20i.MX%208M%20Nano%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1977786%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20UART3%20on%20i.MX%208M%20Mini%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1977786%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%8C%E3%81%AF%E7%A7%81%E3%81%AB%E3%81%A8%E3%81%A3%E3%81%A6%E3%82%82%E3%81%86%E3%81%BE%E3%81%8F%E3%81%84%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E3%81%AA%E3%81%9C%E3%81%93%E3%82%8C%E3%82%92%E3%81%97%E3%81%9F%E3%81%AE%E3%81%8B%E3%82%92%E5%B0%8B%E3%81%AD%E3%81%9F%E3%81%84%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1937072%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20UART3%20on%20i.MX%208M%20Mini%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1937072%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%AD%A3%E3%81%97%E3%81%84PinMux%E6%A7%8B%E6%88%90%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E5%95%8F%E9%A1%8C%E3%82%92%E8%A7%A3%E6%B1%BA%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3CSPAN%3E%3CSPAN%20class%3D%22%22%3EIOMUXC_UART3_RXD_UART3_RX%E3%81%A8IOMUXC_UART3_TXD_UART3_TX%E3%81%AE%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%AB%E3%80%81%E4%BB%8A%E3%81%AFIOMUXC_ECSPI1_SCLK_UART3_RX%E3%81%A8IOMUXC_ECSPI1_MOSI_UART3_TX%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22%22%3E%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%84%E3%81%9F%E3%81%A0%E3%81%8D%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99!%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1936871%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20UART3%20on%20i.MX%208M%20Mini%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1936871%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EDTS%E3%81%AF%E3%81%93%E3%82%8C%E3%82%92%E6%8C%81%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B%3F%E3%81%AF%E3%81%84%E3%81%AE%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E3%80%8C%E7%84%A1%E5%8A%B9%E3%80%8D%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%81pls%E3%81%AF%E3%81%9D%E3%82%8C%E3%82%92%E5%86%8D%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Flinux-imx%2Fblob%2Flf-6.6.y%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx8mm-evk.dtsi%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3ELF-6.6.y%20%E3%81%AE%20linux-imx%2Farch%2Farm64%2Fboot%2Fdts%2Ffreescale%2Fimx8mm-evk.dtsi%C2%B7nxp-imx%2Flinux-imx%20%C2%B7GitHub%E3%81%AE%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26amp%3Buart3%20%7B%3CBR%20%2F%3Epinctrl-names%20%3D%20%22%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%22%3B%3CBR%20%2F%3E%E3%83%94%E3%83%B3ctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_uart3%26gt%3B%3B%3CBR%20%2F%3Eassigned-clocks%20%3D%20%26lt%3B%26amp%3Bclk%20IMX8MM_CLK_UART3%26gt%3B%3B%3CBR%20%2F%3Eassigned-clock-parents%20%3D%20%26lt%3B%26amp%3Bclk%20IMX8MM_SYS_PLL1_80M%26gt%3B%3B%3CBR%20%2F%3EFSL%E3%80%81UART-HAS-RTSCTS%3B%3CBR%20%2F%3Estatus%20%3D%20%22%E5%A4%A7%E4%B8%88%E5%A4%AB%22%3B%3CBR%20%2F%3E%7D%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1932011%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20UART3%20on%20i.MX%208M%20Mini%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1932011%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81%E3%81%8C%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81dts%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%97%E3%81%9F%E3%81%8C%E3%81%A3%E3%81%A6%E3%80%81UART3%E3%81%AF%E7%84%A1%E6%96%99%E3%81%A7%E4%BD%BF%E7%94%A8%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%AF%E3%81%9A%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1931862%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20UART3%20on%20i.MX%208M%20Mini%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1931862%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EDTS%E3%81%8CUART3%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E3%81%A0%E3%81%91%E3%81%BE%E3%81%99%E3%81%8B%3FLinux%E5%81%B4%E3%81%8C%E3%81%93%E3%82%8C%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81%E6%9C%80%E5%88%9D%E3%81%AB%E3%81%93%E3%82%8C%E3%82%92%E7%84%A1%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%81%E7%A7%81%E3%81%AF%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AESW%E3%81%8C%E3%81%A9%E3%81%86%E3%81%A7%E3%81%82%E3%82%8B%E3%81%8B%E3%82%8F%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%81%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AF%E8%87%AA%E5%88%86%E3%81%A7%E3%81%9D%E3%82%8C%E3%82%92%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%3C%2FP%3E%3C%2FLINGO-BODY%3E