I am writing a program to use other UARTs (/dev/ttyO1, /dev/ttyO2, /dev/ttyO3 ). I found they are not working.
I access UART0 (/dev/ttyO0), it is working. But I clearly can not use UART0 since it is our terminal.
I search here, it seems that TI has not made them ready.
Could anyone confirm it?
What processor/EVM are you using? And which version of Linux?
Documenting steps that were previously working on an AM335x EVM:
Sorry for the delay on this, but we finally got figured how to get a 2nd UART on the AM335x EVM for UART2 (J12 connector on the back right of the EVM) as ttyO2.
After applying the patch described here :
http://processors.wiki.ti.com/index.php/AM335x-PSP_04.06.00.03_Release_Notes#What.27s_Supported
Based on the AM335x EVM pin mappings described in the .zip file here:
http://processors.wiki.ti.com/index.php/AM335x_General_Purpose_EVM_HW_User_Guide#Functional_Interface_Mapping
You do have to flip the DIP switch on the EVM here::
http://processors.wiki.ti.com/index.php/AM335x_General_Purpose_EVM_HW_User_Guide#CPLD
We used CPLD Profile #3 so gotta flip the DIP switch:
>>the profile switches below the LCD 1 and 2 are set to "ON" with 3 and 4 still "OFF."
After booting on the regular console ttyO0, we entered the following command in the console window:
getty 115200 ttyO2 &
And got a login on the 2nd UART (J12 connector as ttyO2). Supposedly you can go into /etc/inittabs and change the console to ttyO2, but I did not try. Also at times when I logged into ttyO2, it logged me out of ttyO0.
I am using AM335x EVM and ti-sdk-am335x-evm-05.04.01.00.
I did as you told, "set the profile switches below the LCD 1 and 2 are set to "ON" with 3 and 4 still "OFF.""
After power-on, the board can not boot up and the LCD does not display anything.
It is not working.
That is correct. The LCD will not work (check the CPLD pinmux Excel file embedded in a .zip in the Wiki link above).
You can only monitor/control with console UART (or use Matrix GUI on a browser as supported by EZSDK if you have Ethernet connected).
The board can not boot up in that case.
We used the older ti-sdk-am335x-evm-05.03.02.00-Linux-x86-Install but don't think it should make a difference.
What error message do you get on the console?
Attached is our uImage (WinZipped) if you want to try it.
We ran on Rev1.1A EVM. What are you using?
I am using ti-sdk-am335x-evm-05.04.01.00-Linux-x86-Install. My board is Rev1.2A. My profile switch is set at 0001.
I think we should use newer sdk rather than older one.
My 3 UARTs(1,2,3) are not working at all, it is nothing to do with the console which is using UART0, that is working fine.
Wouldn't that be 0011?
Agreed on using the latest PSP. Just giving you a datapoint that worked a few months ago.
if I set profile switches to 0011, the even uboot can not start. the console will display 'CCCCCCCCC....." forever.
Are you booting from SD card?
Not sure why you're EVM would work differently than mine (and at least 2 other EVM's on which this worked).
I am booting from Nand flash. I am using prebuilt uImage and targetNFS file system.
Are you sure your UARTs(1,2,3) are working? I doubt it becasue TI seems has not made them ready.
We've only tested with UART2 as mentioned above. Booting from SD card uImage and filesystem.
Not sure if the latest PSP has the UART patch mentioned in the first Wiki above (so prebuilt might not work). Not sure if your config conflicts (check Excel in the .zip file mentioned above).
State of all UART's on the EVM is also in the first Wiki above (and there might be an update in the latest PSP).
From previous postings, to make UART2 work, profile switch has to be set 0011, SD card has to be used and LCD cannot be used. So our product cannot accept those conditions.
What we want is LCD, Nand, all UARTs are all working at the same time. It is vary basic requirement. Hope TI can make it happen soon.
The above limitations are configurations of the AM335x EVM, not the AM335x chip itself.
You would have to go through the AM335x pin mux tool (and AM335x Datasheet) to see if your configuration will work:
http://www.ti.com/tool/pinmuxtool
As Joe wrote, this is a limitation of the General Purpose EVM and not the AM335x silicon. While many different combinations of the interfaces can be configured on the AM335x chip, the physical constraints of one EVM make it difficult to enable all the possible permutations on the same board set. The General Purpose EVM was designed to provide many of the most used combinations.
If the pinmux tool confirms that your desired combination of interfaces is possible, then you can use that pin mapping to build your board to enable those interfaces which you want.
What I have done now are all based on the existing AM335x EVM board and prebuilt images. I have not made any changes to hardware, uboot and kernel. I have not studied pinmux yet. We are developing a product which requires touch screen LCD, one additional UART(as well as UART0 terminal) and 1 CAN. Is it possible without changing kernel source codes and harware? From previous postings, it seems it is impossible to include both LCD and additional UART.