Can't seem to use UART4

Started by thom_nic, April 10, 2017, 09:18:16 PM

Previous topic - Next topic

thom_nic

Having trouble talking to another piece of hardware over serial.  I'm using the stock Jessie image and the -evb.dtb.  If I try to screen /dev/ttyS3 115200 as root, screen exits immediately. 

I can talk to the same piece of hardware from an Ubuntu linux PC with a USB-serial cable and it works fine.

I also removed the jumpers to make sure the uart4/dcan1 pins weren't being connected to the CAN transceiver.


root@AM335x:/sys/kernel/debug/pinctrl# cat pinctrl-maps

device 481a8000.serial
state default
type MUX_GROUP (2)
controlling device 44e10800.pinmux
group uart4_pins_default
function uart4_pins_default

root@AM335x:/sys/kernel/debug/pinctrl# cat pinctrl-handles
Requested pin control handlers their pinmux maps:
device: 44e10800.pinmux current state: none
device: 44e09000.serial current state: default
  state: default
    type: MUX_GROUP controller pinctrl-single group: uart0_pins_default (0) function: uart0_pins_default (0)
device: 48022000.serial current state: default
  state: default
    type: MUX_GROUP controller pinctrl-single group: uart1_pins_default (1) function: uart1_pins_default (1)
device: 481a8000.serial current state: default
  state: default
    type: MUX_GROUP controller pinctrl-single group: uart4_pins_default (2) function: uart4_pins_default (2)


root@AM335x:/sys/kernel/debug/pinctrl# cat 44e10800.pinmux/pinmux-functions
function: uart0_pins_default, groups = [ uart0_pins_default ]
function: uart1_pins_default, groups = [ uart1_pins_default ]
function: uart4_pins_default, groups = [ uart4_pins_default ]

root@AM335x:/sys/kernel/debug/pinctrl# cat 44e10800.pinmux/pinmux-pins
Pinmux settings per pin
Format: pin (name): mux_owner gpio_owner hog?
...
pin 90 (44e10968.0): 481a8000.serial (GPIO UNCLAIMED) function uart4_pins_default group uart4_pins_default
pin 91 (44e1096c.0): 481a8000.serial (GPIO UNCLAIMED) function uart4_pins_default group uart4_pins_default
...


I don't see anything wrong with the above, no idea what else it could be.

thom_nic

Just realized in the stock image uses `/dev/ttyO1` although it is `ttySx` if you've enabled the new 8250 kernel driver (which I forgot about): http://processors.wiki.ti.com/index.php/Sitara_Linux_UART_-_Switching_to_8250_Driver

Also UART4 == /dev/tty[S|O]2 unless you have UART1 and UART2 enabled in the DTS.  Seems these are disabled. 

Problem solved!