Hi,all
I'm using the UART1 in PMF,which is based on idle profile.
I read the the "user_app_config.h",and I have tried to add my own uart1 config at:
" struct soc_module modules[ ] ".
The uart1 config is referred from uart0 config ( uart_settings).
And the uart1 pin_mux config is also updated.
Here is my code:
/*
my own uart1 config,referred from "uart_settings"
*/
// specific settings for uart1 module (for power mgmt. framework)
// Add:2015-12-15
struct cc_uart_config uart1_settings = {
PRCM_UARTA1,
{
UARTA1_BASE,
80000000,
19200,
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE),
16,
NULL
},
{
(UARTA1_BASE + UART_O_DR),
UDMA_CH11_UARTA1_TX,
(UARTA1_BASE + UART_O_DR),
UDMA_CH10_UARTA1_RX
},
e_int_based,
e_int_based,
e_one_half,
e_one_half,
e_true,
e_true,
INT_UARTA1,
NULL
};
/*
I have add uart1 config to "modules"
*/
// structure conatining general information of the all the modules associated
// with power mgmt. framework
struct soc_module modules[ ] = {
/* ----------- Mandatory for Link SPI for networking ----------*/
{
PRCM_LSPI, /* Module ID */
LSPI_BASE, /* Base Addr */
INT_LSPI, /* Interrupt */
e_freq_mhz80, /* Frequency */
(volatile unsigned long*)(ARCM_BASE +
APPS_RCM_O_MCSPI_A2_CLK_GATING), /* Clock Reg */
e_pm_S1, /* Lowest PM */
&link_spi_settings, /* Specifics */
NULL, /* SW Driver */
NULL, /* Next item */
clk_enbl_op, /* Clk en op */
clk_dsbl_op, /* Clk ds op */
spi_driver_load /* Driver LD */
},
/* ----------- Add any application specific modules here ----------*/
{
PRCM_UARTA0, /* Module ID */
UARTA0_BASE, /* Base Addr */
INT_UARTA0, /* Interrupt */
e_freq_mhz80, /* Frequency */
(volatile unsigned long*)(ARCM_BASE +
APPS_RCM_O_UART_A0_CLK_GATING), /* Clock Reg */
e_pm_S1, /* Lowest PM */
&uart_settings, /* Specifics */
NULL, /* SW Driver */
NULL, /* Next item */
clk_enbl_op, /* Clk en op */
clk_dsbl_op, /* Clk ds op */
uart_driver_load /* Driver LD */
},
/* ----------- modules uart1 Add:2015-12-15----------*/
{
PRCM_UARTA1, /* Module ID */
UARTA1_BASE, /* Base Addr */
INT_UARTA1, /* Interrupt */
e_freq_mhz80, /* Frequency */
(volatile unsigned long*)(ARCM_BASE +
APPS_RCM_O_UART_A1_CLK_GATING), /* Clock Reg */
e_pm_S1, /* Lowest PM */
&uart1_settings, /* Specifics */
NULL, /* SW Driver */
NULL, /* Next item */
clk_enbl_op, /* Clk en op */
clk_dsbl_op, /* Clk ds op */
uart_driver_load /* Driver LD */
}
};
And nothing else was changed.
Then I started my system, it blocked at " g_tUartHndl = uart_open(PRCM_UARTA0); ".
I don't know if I have missed any other necessary configuration .
Regards,