Abort occurred when access to UART3 in i.MX7D

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

Abort occurred when access to UART3 in i.MX7D

877 Views
ko-hey
Senior Contributor II

Hi all

 

My customer tried to access UART3 in their custom board which has i.MX7D and driver which is based on file in platform/iMX7/src/drivers.

As a result, they can't access to UART3 and got data abort.

 

Then I tested it in MCIMX7SABRE and got external abort.

So I have a question about UART3 access in MCIMX7SABRE.

 

Here is an error message and command which I used.

-------------------------------------

root@imx6ul7d:/unit_tests# ./memtool UART3.*

SOC: i.MX7DUnhandled fault: external abort on non-linefetch (0x1008) at 0x76fe5000

pgd = a9864000

[76fe5000] *pgd=a880e831, *pte=30880703, *ppte=30880e33

 

UART3    Addr:0x30880000

Bus error

 

root@imx6ul7d:/unit_tests# ./memtool -32 0x30880000 1

E

Reading 0x1 count starting at aUnhandled fault: external abort on non-linefetch (0x1008) at 0x76fcf000

pgd = a88a4000

[76fcf000] *pgd=a880e831, *pte=30880703, *ppte=30880e33

ddress 0x30880000

 

Bus error

-------------------------------------

 

Could you tell me the reason why it can't access register of UART3 ?

 

 

Add info:

I use L4.1.15 BSP.

 

 

Ko-hey

 

0 Kudos
3 Replies

641 Views
igorpadykov
NXP Employee
NXP Employee

Hi Ko-hey

UART3 is not used on Sabre board, please check its dts :

linux/arch/arm/boot/dts/imx7d-sdb.dts

linux-imx.git - i.MX Linux Kernel 

For example uart1:

&uart1 {      pinctrl-names = "default";      pinctrl-0 = <&pinctrl_uart1>;      assigned-clocks = <&clks IMX7D_UART1_ROOT_SRC>;      assigned-clock-parents = <&clks IMX7D_OSC_24M_CLK>;      status = "okay"; };
One can enable uart3 using example linux/arch/arm/boot/dts/imx7d-12x12-lpddr3-arm2.dts:
linux-imx.git - i.MX Linux Kernel 

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

0 Kudos

641 Views
ko-hey
Senior Contributor II

Hi igorpadykov

According to your answer, I can access a UART1,5,6 because those register are set by following dts file.

http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/tree/arch/arm/boot/dts/imx7d-sdb.dts?h=imx_4...

However, I can't access UART5 and 6 as same as UART3.

Here is an error message.

Do you have any idea why I can't access to the registers ?

----------------------------------------------------------

root@imx6ul7d:/unit_tests# ./memtool UART5.*

SOC: i.MX7DUnhandled fault: external abort on non-linefetch (0x1008) at 0x76f3a000

pgd = a88a4000

[76f3a000] *pgd=a875b831, *pte=30a70703, *ppte=30a70e33

UART5    Addr:0x30a70000

Bus error

root@imx6ul7d:/unit_tests# ./memtool -32 0x03a70000 1

E

Reading 0x1 count starting at aUnhandled fault: external abort on non-linefetch (0x008) at 0x76f97000

pgd = a8bc0000

[76f97000] *pgd=a8c5e831, *pte=03a70703, *ppte=03a70e33

ddress 0x03A70000

Bus error

root@imx6ul7d:/unit_tests#

----------------------------------------------------------

----------------------------------------------------------

root@imx6ul7d:/unit_tests# ./memtool UART6.*

SOC: i.MX7DUnhandled fault: external abort on non-linefetch (0x1008) at 0x76fa6000

pgd = a88a4000

[76fa6000] *pgd=a875b831, *pte=30a80703, *ppte=30a80e33

UART6    Addr:0x30a80000

Bus error

root@imx6ul7d:/unit_tests# ./memtool -32 0x03a80000 1

E

Reading 0x1 count starting at aUnhandled fault: external abort on non-linefetch (0x008) at 0x76f86000

pgd = a8bc0000

[76f86000] *pgd=a8c5e831, *pte=03a80703, *ppte=03a80e33

ddress 0x03A80000

Bus error

root@imx6ul7d:/unit_tests#

----------------------------------------------------------

Ko-hey

0 Kudos

641 Views
igorpadykov
NXP Employee
NXP Employee

Hi Ko-hey

pelase attach jtag debugger and check if clocks for these uarts are enabled in

CCM_CCGRn.

https://community.nxp.com/thread/357478 

Best regards
igor

0 Kudos