Any ideas on what I am missing to get UART2 to work? I believe I have modified the following three functions correctly to get UART2 working. Is there some other clock I need to enable? This is on my own board that is wired to use UART2 ---- this is not EVM or Beagle
Turns out that CONTROL_CONF_UART_RXD(n) and CONTROL_CONF_UART_TXD(n) don't give the correct offset for UART2 and UART3. Have to use the offsets
I see that you have targeted the right functions to change to port to UART2 instance. I suppose you are referring to these two files:
The changes that need to be made are:
This function has to be ported to UART2 instance. Note that UART0 is in Wake-up domain and UART2 is in Peripheral domain. You have to refer to Control Module chapter in AM335x TRM to find the registers relevant to UART2 and set the appropriate bits.
As it is obvious, the StaterWare package has not provided the code to pin multiplex UART2 pins. The UART2 pins namely UART2_TXD and UART2_RXD are available on different pins and in different Mux modes. The offset addresses of each of these pins are different.
To give you an example:
‘uart2_rxd_mux2’ and ‘uart2_txd_mux2’ pins are available with offset addresses 0x0900 and 0x0904 respectively. The multiplexing mode is Mode3.
‘uart2_rxd_mux1’ and ‘uart2_txd_mux1’ pins are available with offset addresses 0x090C and 0x0910 respectively. The multiplexing mode is Mode6.
You have carefully do the correct pin multiplexing.
This function need not be changed. The file ‘uartConsole.c’ mentioned above uses the UART0 Base address for the various UART functions.
#define UART_CONSOLE_BASE (SOC_UART_0_REGS)
You have to change the right-hand macro to SOC_UART_2_REGS to use UART2 registers.
Please revert if you have any queries.
Thanks and Regards.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.