i.MX 6ULL// Use UART2 In OP-TEE only

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

i.MX 6ULL// Use UART2 In OP-TEE only

2,879 Views
Karun
Contributor II

I'm working in i.MX 6ULL.

I need to do same thing like this : https://github.com/OP-TEE/optee_os/issues/2438#2438 

 

UART1 is used for OP-TEE debug log.
I want to use UART2 in OP-TEE.

For that I have done the changes as mentioned in that issue.
Changes are as below.

in uboot:
file: imx-linux-kirkstone/build_secure/workspace/sources/u-boot-imx/board/freescale/mx6ullevk/mx6ullevk.c

static iomux_v3_cfg_t const uart2_pads[] = {
MX6_PAD_UART2_TX_DATA__UART2_DTE_RX | MUX_PAD_CTRL(UART_PAD_CTRL),
MX6_PAD_UART2_RX_DATA__UART2_DTE_TX | MUX_PAD_CTRL(UART_PAD_CTRL),
MX6_PAD_UART2_RTS_B__UART2_DTE_CTS | MUX_PAD_CTRL(UART_PAD_CTRL),
MX6_PAD_UART2_CTS_B__UART2_DTE_RTS | MUX_PAD_CTRL(UART_PAD_CTRL),
};

static void setup_iomux_uart(void)
{
setup_dtemode_uart();
imx_iomux_v3_setup_multiple_pads(uart1_pads, ARRAY_SIZE(uart1_pads));
imx_iomux_v3_setup_multiple_pads(uart2_pads, ARRAY_SIZE(uart2_pads));
}

In Kernel
Disabled UART2 from linux kernel:
file: arch/arm/boot/dts/imx6ul-14x14-evk.dtsi

&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
uart-has-rtscts;
/* for DTE mode, add below change /
/
 fsl,dte-mode; /
/
 pinctrl-0 = <&pinctrl_uart2dte>; */
status = "disabled";
};

file: drivers/clk/imx/clk-imx6ul.c
static int const clks_init_on[] __initconst = {
IMX6UL_CLK_AIPSTZ1, IMX6UL_CLK_AIPSTZ2, IMX6UL_CLK_AIPSTZ3,
IMX6UL_CLK_AXI, IMX6UL_CLK_ARM, IMX6UL_CLK_ROM,
IMX6UL_CLK_MMDC_P0_FAST, IMX6UL_CLK_MMDC_P0_IPG,
IMX6UL_CLK_OCOTP, IMX6UL_CLK_UART2_IPG, IMX6UL_CLK_UART2_SERIAL};

in imx-optee-os
file: optee/imx-optee-os/core/arch/arm/plat-imx/main.c

register_phys_mem_pgdir(MEM_AREA_IO_SEC, UART2_BASE, CORE_MMU_PGDIR_SIZE);

attached pta : core/pta/imx/uart_demo.c/

attached Host app: host_uart_demo.c

Getting below error:
# ./optee_uart
TEEC Init success: 0x0D/TC:? 0 tee_ta_init_pseudo_ta_session:296 Lookup pseudo TA aabbccdd-1122-3344-5566-778899aabbcc

D/TC:? 0 tee_ta_init_pseudo_ta_session:309 Open pta_uart2_demo
D/TC:? 0 tee_ta_init_pseudo_ta_session:326 pta_uart2_demo : aabbccdd-1122-3344-5566-778899aabbcc
OpenSession success: 0x0I/TC: >>> UART base=21e8000

D/TC:? 0 init_uart2:32 uart2_va = 0x80de8000
E/TC:? 0 init_uart2:42 >>> UART mapped!
D/TC:? 0 init_uart2:47 uart2_data.base.pa = 0x21e8000
D/TC:? 0 init_uart2:48 uart2_data.base.va = 0x80de8000
E/TC:? 0 init_uart2:56 >>> UART init!
I/TC: >>> UART va = 0x80de8000, ops = 0x840a845c
I/TC: PTA_CMD_UART_PUTC
I/TC: >>> UART SR = 0x4008
I/TC: >>> ops = 0x840a845c, putc = 0x84064fdd
[ 139.214962] 8<--- cut here ---
[ 139.218056] Unhandled fault: imprecise external abort (0x1c06) at 0x004b3194
[ 139.225117] pgd = 64e0aac0
[ 139.227836] [004b3194] *pgd=862e5835, *pte=881b575f, *ppte=881b5c7f
[ 139.234138] Internal error: : 1c06 [#1 ] SMP ARM
[ 139.238678] Modules linked in:
[ 139.241741] CPU: 0 PID: 429 Comm: optee_uart Not tainted 5.15.71-00006-g53c88ccf1338-dirty #27 
[ 139.250364] Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[ 139.256549] PC is at __arm_smccc_smc+0x10/0x3c
[ 139.261011] LR is at optee_smccc_smc+0x3c/0x44
[ 139.265470] pc : [] lr : [] psr: 60080013
[ 139.271740] sp : c3c9bd80 ip : c3c9bd90 fp : ffff0004
[ 139.276971] r10: c0f76f2c r9 : c3c9bdec r8 : c38cd310
[ 139.282202] r7 : 00000000 r6 : 00000000 r5 : 00000000 r4 : 00000000
[ 139.288733] r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : 00000000
[ 139.295268] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[ 139.302413] Control: 10c5387d Table: 839cc06a DAC: 00000051
[ 139.308164] Register r0 information: NULL pointer
[ 139.312882] Register r1 information: NULL pointer
[ 139.317595] Register r2 information: NULL pointer
[ 139.322305] Register r3 information: NULL pointer
[ 139.327017] Register r4 information: NULL pointer
[ 139.331730] Register r5 information: NULL pointer
[ 139.336441] Register r6 information: NULL pointer
[ 139.341153] Register r7 information: NULL pointer
[ 139.345865] Register r8 information: slab kmalloc-192 start c38cd300 pointer offset 16 size 192
[ 139.354601] Register r9 information: non-slab/vmalloc memory
[ 139.360269] Register r10 information: non-slab/vmalloc memory
[ 139.366025] Register r11 information: non-paged memory
[ 139.371175] Register r12 information: non-slab/vmalloc memory
[ 139.376928] Process optee_uart (pid: 429, stack limit = 0x9e99b3d7)
[ 139.383205] Stack: (0xc3c9bd80 to 0xc3c9c000)
[ 139.387576] bd80: c1f2e4c0 c38cd300 c3c9bddc c3a3e280 00000000 00000000 00000000 00000000
[ 139.395765] bda0: c3c9bddc 00000000 ffff0004 c0f77ecc 00000000 00000000 00000000 00000000
[ 139.403951] bdc0: c3c9bddc 00000000 c38cd324 c3c9a000 00000000 00000000 00000000 ffff0004
[ 139.412138] bde0: 00000000 00000000 00000000 c38cd324 c38cd324 00000000 00000000 c3c9bdfc
[ 139.420324] be00: c3c9bdfc 32000003 00000000 00000000 00000000 00000000 00000000 00000000
[ 139.428511] be20: 00000000 26cdbbcd c3c9be54 c3a3e300 c3c9bec0 c3a3e280 c62e2b00 c3a3e2c0
[ 139.436697] be40: 00000000 bec26b58 00000000 c0f784d4 00000000 c269e000 8269e000 26cdbbcd
[ 139.444884] be60: 00000051 00000000 00000000 c62e2b00 bec26b40 c3a3e280 c3c9bec0 c0f75a20
[ 139.453072] be80: 00000000 00000000 00000000 c3c9be8c c3c9be8c 26cdbbcd 00000019 c24da600
[ 139.461259] bea0: bec26b40 00000000 00000098 00000000 c2726d00 c039e9a4 00000004 00000000
[ 139.469445] bec0: 00000000 00000001 00000000 00000000 00000000 00000004 00000000 c27500c0
[ 139.477631] bee0: c3c9bf80 00000019 00000019 00000000 00000000 00000004 bec26bb7 26cdbbcd
[ 139.485820] bf00: 00000019 8010a403 c39e2a80 bec26ac0 bec26ab0 c39e2a80 00000003 c3ee23c8
[ 139.494006] bf20: 00000000 c04dea94 00000000 00000000 c27500c0 00000000 00000000 00000000
[ 139.502194] bf40: 00000000 00000000 00000000 00000000 00000000 00000000 00000019 26cdbbcd
[ 139.510380] bf60: 004b2190 c27500c0 c27500c0 00000000 00000000 c0300324 c3c9a000 26cdbbcd
[ 139.518567] bf80: 00000000 bec26c38 00000000 bec26ac0 00000036 c0300324 c3c9a000 00000036
[ 139.526754] bfa0: 00000000 c03000c0 bec26c38 00000000 00000003 8010a403 bec26ab0 bec26aa0
[ 139.534941] bfc0: bec26c38 00000000 bec26ac0 00000036 00000000 bec26ab0 bec26b58 00000000
[ 139.543128] bfe0: 00000036 bec26a88 b6ed8269 b6e51ae6 60080030 00000003 00000000 00000000
[ 139.551319] [] (__arm_smccc_smc) from [] (optee_smccc_smc+0x3c/0x44)
[ 139.559438] [] (optee_smccc_smc) from [] (optee_do_call_with_arg+0x11c/0x2ec)
[ 139.568338] [] (optee_do_call_with_arg) from [] (optee_invoke_func+0x10c/0x188)
[ 139.577408] [] (optee_invoke_func) from [] (tee_ioctl+0xfec/0x1140)
[ 139.585434] [] (tee_ioctl) from [] (sys_ioctl+0x570/0xca8)
[ 139.592684] [] (sys_ioctl) from [] (ret_fast_syscall+0x0/0x58)
[ 139.600278] Exception stack(0xc3c9bfa8 to 0xc3c9bff0)
[ 139.605340] bfa0: bec26c38 00000000 00000003 8010a403 bec26ab0 bec26aa0
[ 139.613527] bfc0: bec26c38 00000000 bec26ac0 00000036 00000000 bec26ab0 bec26b58 00000000
[ 139.621711] bfe0: 00000036 bec26a88 b6ed8269 b6e51ae6
[ 139.626777] Code: e1a0c00d e92d00f0 e89c00f0 e1600070 (e59d4024)
[ 139.632880] ---[ end trace a7195b6f43be961b ]---
Segmentation fault

attached Full boot log: optee-log.txt 

May I know what I'm missing?

Tags (2)
0 Kudos
Reply
7 Replies

2,327 Views
Karun
Contributor II

@ha and nxp team

any update for us ,

we are stuck in this issue 
we have found some old ways , but that are not applicable on new uboot and kernel source 
so please provide us the solution for the  issue we are getting.

0 Kudos
Reply

2,734 Views
Harvey021
NXP TechSupport
NXP TechSupport

can try to copy another UART2 driver in PTA and use a specific log function in the PTA.

 

Regards

Harvey

0 Kudos
Reply

2,809 Views
Karun
Contributor II
To clarify my use case: I need to keep UART1 as-is, since it's being used as the debug UART.
In addition, I want to use UART2 for a different purpose, specifically within a separate PTA.
So both UART1 and UART2 will be active in OP-TEE:

UART1 → as debug console
UART2 → used by my custom PTA, my PTA communicating over UART2.

I followed the approach described in #2438 to enable UART2, but I encountered an error during runtime.
0 Kudos
Reply

2,757 Views
Karun
Contributor II
The issue is still unresolved, and I haven’t received any response yet.
0 Kudos
Reply

2,750 Views
Harvey021
NXP TechSupport
NXP TechSupport

Hi @Karun 

I'm working on the issue, Will revert back to you soon, sorry for the delay.

 

Regards

Harvey

2,204 Views
Karun
Contributor II

Hello @Harvey021 ,

 

any update for us ?

please let us know any steps and solution to proceed further

0 Kudos
Reply

2,395 Views
Karun
Contributor II

Hello @Harvey021 ,

 

any update for us ,

 

Latest observation ,

- we are starting microcom with 115200 baudrate in background and then doing uart communication using optee example , so that thing works.

- uart2 clocks are not by default started and when we start microcom then and then only it is getting started ,

we have checked in /sys/kernel/debug/clk/clk_summary

so seems like clock is managed by kernel driver itself.

 

So how can we totally configure uart with clocks to access it securely ?

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2124807%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Ei.MX%206ULL%2F%2F%20Use%20UART2%20In%20OP-TEE%20only%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2124807%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI'm%20working%20in%26nbsp%3Bi.MX%206ULL.%3C%2FP%3E%3CP%3EI%20need%20to%20do%20same%20thing%20like%20this%20%3A%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FOP-TEE%2Foptee_os%2Fissues%2F2438%232438%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2FOP-TEE%2Foptee_os%2Fissues%2F2438%232438%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EUART1%20is%20used%20for%20OP-TEE%20debug%20log.%3CBR%20%2F%3EI%20want%20to%20use%20UART2%20in%20OP-TEE.%3C%2FP%3E%3CP%3EFor%20that%20I%20have%20done%20the%20changes%20as%20mentioned%20in%20that%20issue.%3CBR%20%2F%3EChanges%20are%20as%20below.%3C%2FP%3E%3CP%3E%3CSTRONG%3Ein%20uboot%3A%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Efile%3A%20imx-linux-kirkstone%2Fbuild_secure%2Fworkspace%2Fsources%2Fu-boot-imx%2Fboard%2Ffreescale%2Fmx6ullevk%2Fmx6ullevk.c%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3Estatic%20iomux_v3_cfg_t%20const%20uart2_pads%5B%5D%20%3D%20%7B%3CBR%20%2F%3EMX6_PAD_UART2_TX_DATA__UART2_DTE_RX%20%7C%20MUX_PAD_CTRL(UART_PAD_CTRL)%2C%3CBR%20%2F%3EMX6_PAD_UART2_RX_DATA__UART2_DTE_TX%20%7C%20MUX_PAD_CTRL(UART_PAD_CTRL)%2C%3CBR%20%2F%3EMX6_PAD_UART2_RTS_B__UART2_DTE_CTS%20%7C%20MUX_PAD_CTRL(UART_PAD_CTRL)%2C%3CBR%20%2F%3EMX6_PAD_UART2_CTS_B__UART2_DTE_RTS%20%7C%20MUX_PAD_CTRL(UART_PAD_CTRL)%2C%3CBR%20%2F%3E%7D%3B%3C%2FP%3E%3CP%3Estatic%20void%20setup_iomux_uart(void)%3CBR%20%2F%3E%7B%3CBR%20%2F%3Esetup_dtemode_uart()%3B%3CBR%20%2F%3Eimx_iomux_v3_setup_multiple_pads(uart1_pads%2C%20ARRAY_SIZE(uart1_pads))%3B%3CBR%20%2F%3Eimx_iomux_v3_setup_multiple_pads(uart2_pads%2C%20ARRAY_SIZE(uart2_pads))%3B%3CBR%20%2F%3E%7D%3C%2FP%3E%3CP%3E%3CSTRONG%3EIn%20Kernel%3C%2FSTRONG%3E%3CBR%20%2F%3EDisabled%20UART2%20from%20linux%20kernel%3A%3CBR%20%2F%3E%3CSTRONG%3Efile%3A%20arch%2Farm%2Fboot%2Fdts%2Fimx6ul-14x14-evk.dtsi%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%26amp%3Buart2%20%7B%3CBR%20%2F%3Epinctrl-names%20%3D%20%22default%22%3B%3CBR%20%2F%3Epinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_uart2%26gt%3B%3B%3CBR%20%2F%3Euart-has-rtscts%3B%3CBR%20%2F%3E%2F*%20for%20DTE%20mode%2C%20add%20below%20change%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CEM%3E%2F%3CBR%20%2F%3E%2F%3C%2FEM%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Efsl%2Cdte-mode%3B%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CEM%3E%2F%3CBR%20%2F%3E%2F%3C%2FEM%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Epinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_uart2dte%26gt%3B%3B%20*%2F%3CBR%20%2F%3Estatus%20%3D%20%22disabled%22%3B%3CBR%20%2F%3E%7D%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3Efile%3A%20drivers%2Fclk%2Fimx%2Fclk-imx6ul.c%3C%2FSTRONG%3E%3CBR%20%2F%3Estatic%20int%20const%20clks_init_on%5B%5D%20__initconst%20%3D%20%7B%3CBR%20%2F%3EIMX6UL_CLK_AIPSTZ1%2C%20IMX6UL_CLK_AIPSTZ2%2C%20IMX6UL_CLK_AIPSTZ3%2C%3CBR%20%2F%3EIMX6UL_CLK_AXI%2C%20IMX6UL_CLK_ARM%2C%20IMX6UL_CLK_ROM%2C%3CBR%20%2F%3EIMX6UL_CLK_MMDC_P0_FAST%2C%20IMX6UL_CLK_MMDC_P0_IPG%2C%3CBR%20%2F%3EIMX6UL_CLK_OCOTP%2C%20IMX6UL_CLK_UART2_IPG%2C%20IMX6UL_CLK_UART2_SERIAL%7D%3B%3C%2FP%3E%3CP%3E%3CSTRONG%3Ein%20imx-optee-os%3C%2FSTRONG%3E%3CBR%20%2F%3E%3CSTRONG%3Efile%3A%20optee%2Fimx-optee-os%2Fcore%2Farch%2Farm%2Fplat-imx%2Fmain.c%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3Eregister_phys_mem_pgdir(MEM_AREA_IO_SEC%2C%20UART2_BASE%2C%20CORE_MMU_PGDIR_SIZE)%3B%3C%2FP%3E%3CP%3Eattached%20pta%20%3A%20core%2Fpta%2Fimx%2Fuart_demo.c%2F%3C%2FP%3E%3CP%3Eattached%20Host%20app%3A%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ehost_uart_demo.c%3C%2FP%3E%3CP%3EGetting%20below%20error%3A%3CBR%20%2F%3E%23%20.%2Foptee_uart%3CBR%20%2F%3ETEEC%20Init%20success%3A%200x0D%2FTC%3A%3F%200%20tee_ta_init_pseudo_ta_session%3A296%20Lookup%20pseudo%20TA%20aabbccdd-1122-3344-5566-778899aabbcc%3C%2FP%3E%3CP%3ED%2FTC%3A%3F%200%20tee_ta_init_pseudo_ta_session%3A309%20Open%20pta_uart2_demo%3CBR%20%2F%3ED%2FTC%3A%3F%200%20tee_ta_init_pseudo_ta_session%3A326%20pta_uart2_demo%20%3A%20aabbccdd-1122-3344-5566-778899aabbcc%3CBR%20%2F%3EOpenSession%20success%3A%200x0I%2FTC%3A%20%26gt%3B%26gt%3B%26gt%3B%20UART%20base%3D21e8000%3C%2FP%3E%3CP%3ED%2FTC%3A%3F%200%20init_uart2%3A32%20uart2_va%20%3D%200x80de8000%3CBR%20%2F%3EE%2FTC%3A%3F%200%20init_uart2%3A42%20%26gt%3B%26gt%3B%26gt%3B%20UART%20mapped!%3CBR%20%2F%3ED%2FTC%3A%3F%200%20init_uart2%3A47%20uart2_data.base.pa%20%3D%200x21e8000%3CBR%20%2F%3ED%2FTC%3A%3F%200%20init_uart2%3A48%20uart2_data.base.va%20%3D%200x80de8000%3CBR%20%2F%3EE%2FTC%3A%3F%200%20init_uart2%3A56%20%26gt%3B%26gt%3B%26gt%3B%20UART%20init!%3CBR%20%2F%3EI%2FTC%3A%20%26gt%3B%26gt%3B%26gt%3B%20UART%20va%20%3D%200x80de8000%2C%20ops%20%3D%200x840a845c%3CBR%20%2F%3EI%2FTC%3A%20PTA_CMD_UART_PUTC%3CBR%20%2F%3EI%2FTC%3A%20%26gt%3B%26gt%3B%26gt%3B%20UART%20SR%20%3D%200x4008%3CBR%20%2F%3EI%2FTC%3A%20%26gt%3B%26gt%3B%26gt%3B%20ops%20%3D%200x840a845c%2C%20putc%20%3D%200x84064fdd%3CBR%20%2F%3E%5B%20139.214962%5D%208%26lt%3B---%20cut%20here%20---%3CBR%20%2F%3E%5B%20139.218056%5D%20Unhandled%20fault%3A%20imprecise%20external%20abort%20(0x1c06)%20at%200x004b3194%3CBR%20%2F%3E%5B%20139.225117%5D%20pgd%20%3D%2064e0aac0%3CBR%20%2F%3E%5B%20139.227836%5D%20%5B004b3194%5D%20*pgd%3D862e5835%2C%20*pte%3D881b575f%2C%20*ppte%3D881b5c7f%3CBR%20%2F%3E%5B%20139.234138%5D%20Internal%20error%3A%20%3A%201c06%20%5B%231%26nbsp%3B%5D%20SMP%20ARM%3CBR%20%2F%3E%5B%20139.238678%5D%20Modules%20linked%20in%3A%3CBR%20%2F%3E%5B%20139.241741%5D%20CPU%3A%200%20PID%3A%20429%20Comm%3A%20optee_uart%20Not%20tainted%205.15.71-00006-g53c88ccf1338-dirty%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%2327%26nbsp%3B%3CBR%20%2F%3E%5B%20139.250364%5D%20Hardware%20name%3A%20Freescale%20i.MX6%20Ultralite%20(Device%20Tree)%3CBR%20%2F%3E%5B%20139.256549%5D%20PC%20is%20at%20__arm_smccc_smc%2B0x10%2F0x3c%3CBR%20%2F%3E%5B%20139.261011%5D%20LR%20is%20at%20optee_smccc_smc%2B0x3c%2F0x44%3CBR%20%2F%3E%5B%20139.265470%5D%20pc%20%3A%20%5B%5D%20lr%20%3A%20%5B%5D%20psr%3A%2060080013%3CBR%20%2F%3E%5B%20139.271740%5D%20sp%20%3A%20c3c9bd80%20ip%20%3A%20c3c9bd90%20fp%20%3A%20ffff0004%3CBR%20%2F%3E%5B%20139.276971%5D%20r10%3A%20c0f76f2c%20r9%20%3A%20c3c9bdec%20r8%20%3A%20c38cd310%3CBR%20%2F%3E%5B%20139.282202%5D%20r7%20%3A%2000000000%20r6%20%3A%2000000000%20r5%20%3A%2000000000%20r4%20%3A%2000000000%3CBR%20%2F%3E%5B%20139.288733%5D%20r3%20%3A%2000000000%20r2%20%3A%2000000000%20r1%20%3A%2000000000%20r0%20%3A%2000000000%3CBR%20%2F%3E%5B%20139.295268%5D%20Flags%3A%20nZCv%20IRQs%20on%20FIQs%20on%20Mode%20SVC_32%20ISA%20ARM%20Segment%20none%3CBR%20%2F%3E%5B%20139.302413%5D%20Control%3A%2010c5387d%20Table%3A%20839cc06a%20DAC%3A%2000000051%3CBR%20%2F%3E%5B%20139.308164%5D%20Register%20r0%20information%3A%20NULL%20pointer%3CBR%20%2F%3E%5B%20139.312882%5D%20Register%20r1%20information%3A%20NULL%20pointer%3CBR%20%2F%3E%5B%20139.317595%5D%20Register%20r2%20information%3A%20NULL%20pointer%3CBR%20%2F%3E%5B%20139.322305%5D%20Register%20r3%20information%3A%20NULL%20pointer%3CBR%20%2F%3E%5B%20139.327017%5D%20Register%20r4%20information%3A%20NULL%20pointer%3CBR%20%2F%3E%5B%20139.331730%5D%20Register%20r5%20information%3A%20NULL%20pointer%3CBR%20%2F%3E%5B%20139.336441%5D%20Register%20r6%20information%3A%20NULL%20pointer%3CBR%20%2F%3E%5B%20139.341153%5D%20Register%20r7%20information%3A%20NULL%20pointer%3CBR%20%2F%3E%5B%20139.345865%5D%20Register%20r8%20information%3A%20slab%20kmalloc-192%20start%20c38cd300%20pointer%20offset%2016%20size%20192%3CBR%20%2F%3E%5B%20139.354601%5D%20Register%20r9%20information%3A%20non-slab%2Fvmalloc%20memory%3CBR%20%2F%3E%5B%20139.360269%5D%20Register%20r10%20information%3A%20non-slab%2Fvmalloc%20memory%3CBR%20%2F%3E%5B%20139.366025%5D%20Register%20r11%20information%3A%20non-paged%20memory%3CBR%20%2F%3E%5B%20139.371175%5D%20Register%20r12%20information%3A%20non-slab%2Fvmalloc%20memory%3CBR%20%2F%3E%5B%20139.376928%5D%20Process%20optee_uart%20(pid%3A%20429%2C%20stack%20limit%20%3D%200x9e99b3d7)%3CBR%20%2F%3E%5B%20139.383205%5D%20Stack%3A%20(0xc3c9bd80%20to%200xc3c9c000)%3CBR%20%2F%3E%5B%20139.387576%5D%20bd80%3A%20c1f2e4c0%20c38cd300%20c3c9bddc%20c3a3e280%2000000000%2000000000%2000000000%2000000000%3CBR%20%2F%3E%5B%20139.395765%5D%20bda0%3A%20c3c9bddc%2000000000%20ffff0004%20c0f77ecc%2000000000%2000000000%2000000000%2000000000%3CBR%20%2F%3E%5B%20139.403951%5D%20bdc0%3A%20c3c9bddc%2000000000%20c38cd324%20c3c9a000%2000000000%2000000000%2000000000%20ffff0004%3CBR%20%2F%3E%5B%20139.412138%5D%20bde0%3A%2000000000%2000000000%2000000000%20c38cd324%20c38cd324%2000000000%2000000000%20c3c9bdfc%3CBR%20%2F%3E%5B%20139.420324%5D%20be00%3A%20c3c9bdfc%2032000003%2000000000%2000000000%2000000000%2000000000%2000000000%2000000000%3CBR%20%2F%3E%5B%20139.428511%5D%20be20%3A%2000000000%2026cdbbcd%20c3c9be54%20c3a3e300%20c3c9bec0%20c3a3e280%20c62e2b00%20c3a3e2c0%3CBR%20%2F%3E%5B%20139.436697%5D%20be40%3A%2000000000%20bec26b58%2000000000%20c0f784d4%2000000000%20c269e000%208269e000%2026cdbbcd%3CBR%20%2F%3E%5B%20139.444884%5D%20be60%3A%2000000051%2000000000%2000000000%20c62e2b00%20bec26b40%20c3a3e280%20c3c9bec0%20c0f75a20%3CBR%20%2F%3E%5B%20139.453072%5D%20be80%3A%2000000000%2000000000%2000000000%20c3c9be8c%20c3c9be8c%2026cdbbcd%2000000019%20c24da600%3CBR%20%2F%3E%5B%20139.461259%5D%20bea0%3A%20bec26b40%2000000000%2000000098%2000000000%20c2726d00%20c039e9a4%2000000004%2000000000%3CBR%20%2F%3E%5B%20139.469445%5D%20bec0%3A%2000000000%2000000001%2000000000%2000000000%2000000000%2000000004%2000000000%20c27500c0%3CBR%20%2F%3E%5B%20139.477631%5D%20bee0%3A%20c3c9bf80%2000000019%2000000019%2000000000%2000000000%2000000004%20bec26bb7%2026cdbbcd%3CBR%20%2F%3E%5B%20139.485820%5D%20bf00%3A%2000000019%208010a403%20c39e2a80%20bec26ac0%20bec26ab0%20c39e2a80%2000000003%20c3ee23c8%3CBR%20%2F%3E%5B%20139.494006%5D%20bf20%3A%2000000000%20c04dea94%2000000000%2000000000%20c27500c0%2000000000%2000000000%2000000000%3CBR%20%2F%3E%5B%20139.502194%5D%20bf40%3A%2000000000%2000000000%2000000000%2000000000%2000000000%2000000000%2000000019%2026cdbbcd%3CBR%20%2F%3E%5B%20139.510380%5D%20bf60%3A%20004b2190%20c27500c0%20c27500c0%2000000000%2000000000%20c0300324%20c3c9a000%2026cdbbcd%3CBR%20%2F%3E%5B%20139.518567%5D%20bf80%3A%2000000000%20bec26c38%2000000000%20bec26ac0%2000000036%20c0300324%20c3c9a000%2000000036%3CBR%20%2F%3E%5B%20139.526754%5D%20bfa0%3A%2000000000%20c03000c0%20bec26c38%2000000000%2000000003%208010a403%20bec26ab0%20bec26aa0%3CBR%20%2F%3E%5B%20139.534941%5D%20bfc0%3A%20bec26c38%2000000000%20bec26ac0%2000000036%2000000000%20bec26ab0%20bec26b58%2000000000%3CBR%20%2F%3E%5B%20139.543128%5D%20bfe0%3A%2000000036%20bec26a88%20b6ed8269%20b6e51ae6%2060080030%2000000003%2000000000%2000000000%3CBR%20%2F%3E%5B%20139.551319%5D%20%5B%5D%20(__arm_smccc_smc)%20from%20%5B%5D%20(optee_smccc_smc%2B0x3c%2F0x44)%3CBR%20%2F%3E%5B%20139.559438%5D%20%5B%5D%20(optee_smccc_smc)%20from%20%5B%5D%20(optee_do_call_with_arg%2B0x11c%2F0x2ec)%3CBR%20%2F%3E%5B%20139.568338%5D%20%5B%5D%20(optee_do_call_with_arg)%20from%20%5B%5D%20(optee_invoke_func%2B0x10c%2F0x188)%3CBR%20%2F%3E%5B%20139.577408%5D%20%5B%5D%20(optee_invoke_func)%20from%20%5B%5D%20(tee_ioctl%2B0xfec%2F0x1140)%3CBR%20%2F%3E%5B%20139.585434%5D%20%5B%5D%20(tee_ioctl)%20from%20%5B%5D%20(sys_ioctl%2B0x570%2F0xca8)%3CBR%20%2F%3E%5B%20139.592684%5D%20%5B%5D%20(sys_ioctl)%20from%20%5B%5D%20(ret_fast_syscall%2B0x0%2F0x58)%3CBR%20%2F%3E%5B%20139.600278%5D%20Exception%20stack(0xc3c9bfa8%20to%200xc3c9bff0)%3CBR%20%2F%3E%5B%20139.605340%5D%20bfa0%3A%20bec26c38%2000000000%2000000003%208010a403%20bec26ab0%20bec26aa0%3CBR%20%2F%3E%5B%20139.613527%5D%20bfc0%3A%20bec26c38%2000000000%20bec26ac0%2000000036%2000000000%20bec26ab0%20bec26b58%2000000000%3CBR%20%2F%3E%5B%20139.621711%5D%20bfe0%3A%2000000036%20bec26a88%20b6ed8269%20b6e51ae6%3CBR%20%2F%3E%5B%20139.626777%5D%20Code%3A%20e1a0c00d%20e92d00f0%20e89c00f0%20e1600070%20(e59d4024)%3CBR%20%2F%3E%5B%20139.632880%5D%20---%5B%20end%20trace%20a7195b6f43be961b%20%5D---%3CBR%20%2F%3ESegmentation%20fault%3C%2FP%3E%3CP%3Eattached%20Full%20boot%20log%3A%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eoptee-log.txt%26nbsp%3B%3C%2FP%3E%3CP%3EMay%20I%20know%20what%20I'm%20missing%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2154061%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX%206ULL%2F%2F%20Use%20UART2%20In%20OP-TEE%20only%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2154061%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F192970%22%20target%3D%22_blank%22%3E%40Harvey021%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Eany%20update%20for%20us%20%3F%3C%2FP%3E%3CP%3Eplease%20let%20us%20know%20any%20steps%20and%20solution%20to%20proceed%20further%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2150624%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX%206ULL%2F%2F%20Use%20UART2%20In%20OP-TEE%20only%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2150624%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F155811%22%20target%3D%22_blank%22%3E%40ha%3C%2FA%3E%26nbsp%3Band%20nxp%20team%3CBR%20%2F%3E%3CBR%20%2F%3Eany%20update%20for%20us%20%2C%3C%2FP%3E%3CP%3Ewe%20are%20stuck%20in%20this%20issue%26nbsp%3B%3CBR%20%2F%3Ewe%20have%20found%20some%20old%20ways%20%2C%20but%20that%20are%20not%20applicable%20on%20new%20uboot%20and%20kernel%20source%26nbsp%3B%3CBR%20%2F%3Eso%20please%20provide%20us%20the%20solution%20for%20the%26nbsp%3B%20issue%20we%20are%20getting.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2149188%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX%206ULL%2F%2F%20Use%20UART2%20In%20OP-TEE%20only%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2149188%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F192970%22%20target%3D%22_blank%22%3E%40Harvey021%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Eany%20update%20for%20us%20%2C%3C%2FP%3E%3CBR%20%2F%3E%3CP%3ELatest%20observation%20%2C%3C%2FP%3E%3CP%3E-%20we%20are%20starting%20microcom%20with%20115200%20baudrate%20in%20background%20and%20then%20doing%20uart%20communication%20using%20optee%20example%20%2C%20so%20that%20thing%20works.%3C%2FP%3E%3CP%3E-%20uart2%20clocks%20are%20not%20by%20default%20started%20and%20when%20we%20start%20microcom%20then%20and%20then%20only%20it%20is%20getting%20started%20%2C%3C%2FP%3E%3CP%3Ewe%20have%20checked%20in%20%2Fsys%2Fkernel%2Fdebug%2Fclk%2Fclk_summary%3C%2FP%3E%3CP%3Eso%20seems%20like%20clock%20is%20managed%20by%20kernel%20driver%20itself.%3C%2FP%3E%3CBR%20%2F%3E%3CP%3ESo%20how%20can%20we%20totally%20configure%20uart%20with%20clocks%20to%20access%20it%20securely%20%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2132239%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX%206ULL%2F%2F%20Use%20UART2%20In%20OP-TEE%20only%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2132239%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Ecan%20try%20to%20copy%20another%20UART2%20driver%20in%20PTA%20and%20use%20a%20specific%20log%20function%20in%20the%20PTA.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3ERegards%3C%2FP%3E%0A%3CP%3EHarvey%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2131591%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX%206ULL%2F%2F%20Use%20UART2%20In%20OP-TEE%20only%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2131591%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F224470%22%20target%3D%22_blank%22%3E%40Karun%3C%2FA%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI'm%20working%20on%20the%20issue%2C%20Will%20revert%20back%20to%20you%20soon%2C%20sorry%20for%20the%20delay.%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3ERegards%3C%2FP%3E%0A%3CP%3EHarvey%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2130899%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX%206ULL%2F%2F%20Use%20UART2%20In%20OP-TEE%20only%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2130899%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EThe%20issue%20is%20still%20unresolved%2C%20and%20I%20haven%E2%80%99t%20received%20any%20response%20yet.%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2126109%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX%206ULL%2F%2F%20Use%20UART2%20In%20OP-TEE%20only%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2126109%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ETo%20clarify%20my%20use%20case%3A%20I%20need%20to%20keep%20UART1%20as-is%2C%20since%20it's%20being%20used%20as%20the%20debug%20UART.%3CBR%20%2F%3EIn%20addition%2C%20I%20want%20to%20use%20UART2%20for%20a%20different%20purpose%2C%20specifically%20within%20a%20separate%20PTA.%3CBR%20%2F%3ESo%20both%20UART1%20and%20UART2%20will%20be%20active%20in%20OP-TEE%3A%3CBR%20%2F%3E%3CBR%20%2F%3EUART1%20%E2%86%92%20as%20debug%20console%3CBR%20%2F%3EUART2%20%E2%86%92%20used%20by%20my%20custom%20PTA%2C%20my%20PTA%20communicating%20over%20UART2.%3CBR%20%2F%3E%3CBR%20%2F%3EI%20followed%20the%20approach%20described%20in%20%232438%20to%20enable%20UART2%2C%20but%20I%20encountered%20an%20error%20during%20runtime.%3C%2FLINGO-BODY%3E