Part Number: AM5728
Hi,
Processor: AM5728
PDK:
I'm wroking on RTOS project. I need to use UART3, 4, 5 ,6 ,7 ,8 ,9 and 10 in my project. Bu i have some issues with some uarts. My clock and pinmux configuration show below:
CLOCK CONFIGURATION:
// UART3
CSL_FINST(l4PerCmReg->CM_L4PER_UART3_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER_UART3_CLKCTRL_REG_MODULEMODE, ENABLE);
while(CSL_L4PER_CM_CORE_COMPONENT_CM_L4PER_UART3_CLKCTRL_REG_IDLEST_FUNC !=
CSL_FEXT(l4PerCmReg->CM_L4PER_UART3_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER_UART3_CLKCTRL_REG_IDLEST));
// UART4
CSL_FINST(l4PerCmReg->CM_L4PER_UART4_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER_UART4_CLKCTRL_REG_MODULEMODE, ENABLE);
while(CSL_L4PER_CM_CORE_COMPONENT_CM_L4PER_UART4_CLKCTRL_REG_IDLEST_FUNC !=
CSL_FEXT(l4PerCmReg->CM_L4PER_UART4_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER_UART4_CLKCTRL_REG_IDLEST));
// UART5
CSL_FINST(l4PerCmReg->CM_L4PER_UART5_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER_UART5_CLKCTRL_REG_MODULEMODE, ENABLE);
while(CSL_L4PER_CM_CORE_COMPONENT_CM_L4PER_UART5_CLKCTRL_REG_IDLEST_FUNC !=
CSL_FEXT(l4PerCmReg->CM_L4PER_UART5_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER_UART5_CLKCTRL_REG_IDLEST));
// UART6
CSL_FINST(ipuCmReg->CM_IPU_UART6_CLKCTRL_REG,
IPU_CM_CORE_AON_CM_IPU_UART6_CLKCTRL_REG_MODULEMODE, ENABLE);
while(CSL_IPU_CM_CORE_AON_CM_IPU_UART6_CLKCTRL_REG_IDLEST_FUNC !=
CSL_FEXT(ipuCmReg->CM_IPU_UART6_CLKCTRL_REG,
IPU_CM_CORE_AON_CM_IPU_UART6_CLKCTRL_REG_IDLEST));
// UART7
CSL_FINST(l4PerCmReg->CM_L4PER2_UART7_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER2_UART7_CLKCTRL_REG_MODULEMODE, ENABLE);
while(CSL_L4PER_CM_CORE_COMPONENT_CM_L4PER2_UART7_CLKCTRL_REG_IDLEST_FUNC !=
CSL_FEXT(l4PerCmReg->CM_L4PER2_UART7_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER2_UART7_CLKCTRL_REG_IDLEST));
// UART8
CSL_FINST(l4PerCmReg->CM_L4PER2_UART8_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER2_UART8_CLKCTRL_REG_MODULEMODE, ENABLE);
while(CSL_L4PER_CM_CORE_COMPONENT_CM_L4PER2_UART8_CLKCTRL_REG_IDLEST_FUNC !=
CSL_FEXT(l4PerCmReg->CM_L4PER2_UART8_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER2_UART8_CLKCTRL_REG_IDLEST));
// UART9
CSL_FINST(l4PerCmReg->CM_L4PER2_UART9_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER2_UART9_CLKCTRL_REG_MODULEMODE, ENABLE);
while(CSL_L4PER_CM_CORE_COMPONENT_CM_L4PER2_UART9_CLKCTRL_REG_IDLEST_FUNC !=
CSL_FEXT(l4PerCmReg->CM_L4PER2_UART9_CLKCTRL_REG,
L4PER_CM_CORE_COMPONENT_CM_L4PER2_UART9_CLKCTRL_REG_IDLEST));
// UART10
CSL_FINST(wkupAonCmReg->CM_WKUPAON_UART10_CLKCTRL_REG,
WKUPAON_CM_CM_WKUPAON_UART10_CLKCTRL_REG_MODULEMODE, ENABLE);
while(CSL_WKUPAON_CM_CM_WKUPAON_UART10_CLKCTRL_REG_IDLEST_FUNC !=
CSL_FEXT(wkupAonCmReg->CM_WKUPAON_UART10_CLKCTRL_REG,
WKUPAON_CM_CM_WKUPAON_UART10_CLKCTRL_REG_IDLEST));
PINMUX CONFIGURATION:
/* UART3 - uart3_rxd on V2 - X_UART3 */
{0x1648, 0xE0000, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART3 - uart3_txd on Y1 - X_UART3 */
{0x164C, 0x90000, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART3 - uart3_ctsn on G17 - X_UART3 */
{0x17C8, 0xE0001, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART3 - uart3_rtsn on B24 - X_UART3 */
{0x17CC, 0x90001, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART5 - uart5_rxd on F11 - X_UART5 */
{0x15DC, 0x60002, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART5 - uart5_txd on G10 - X_UART5 */
{0x15E0, 0x10002, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART4 - uart4_rxd on G16 - Y_UART4 */
{0x173C, 0x50004, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART4 - uart4_txd on D17 - Y_UART4 */
{0x1740, 0x10004, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART6 - uart6_rxd on E8 - Y_UART6 */
{0x15FC, 0x60002, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART6 - uart6_txd on D9 - Y_UART6 */
{0x1600, 0x10002, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART7 - uart7_rxd on B7 - Y_UART7 */
{0x161C, 0x50002, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART7 - uart7_txd on B8 - Y_UART7 */
{0x1620, 0x10002, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART8 - uart8_rxd on C18 - Y_UART8 */
{0x1734, 0x50003, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART8 - uart8_txd on A21 - Y_UART8 */
{0x1738, 0x10003, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART9 - uart9_rxd on AA3 - Y_UART9 */
{0x1744, 0x50003, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART9 - uart9_txd on AB9 - Y_UART9 */
{0x1748, 0x10003, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART10 - uart10_rxd on D1 - Y_UART10 */
{0x1570, 0x60008, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
/* UART10 - uart10_txd on E2 - Y_UART10 */
{0x1574, 0x10008, {0x0, 0, 0}, {0x0, 0, 0}, {0x0, 0, 0}},
UART5, UART6, UART3 and UART10 working properly but UART4, UART9, UART7 and UART8 not working.
UART_Open, command return ok but UART_write do noting.
Can you check my configuration settings. Where was my mistakes??
Thanks.
Metin Sunan