Part Number:66AK2L06
Tool/software: Linux
I believe I am seeing conflicts in the Keystone between one of our programs that is running on a DSP, and the Arm Linux running on the Keystone Arm processor pair.
The conflict is in the area of UART access. We are using a UART on one of the DSP's to drive 2.5M baud data to an external processor (a Delfino).
When I configure the Keystone eval board to disable the booting of Linux, I can use Code Composer Studio and run our DSP binary just fine. A digital signal analyzer shows that we are getting the data that we expect on the UART.
However, when I configure the eval board to boot Linux, and then run the DSP binary, I get invalid data on the UART.
I believe the conflict is with /dev/ttyS1 on the Linux side. (IRQ 27, MMIO 0x0253 1000.)
I would like to configure Linux to not try to open or touch this UART, so that the DSP can use it.
Any thoughts on how to do this? A couple of ideas:
- find the serial driver code in the Linux kernel, and trim out the UART that I don't want Linux to touch
- modify the device tree files used by the linux kernel at boot time
- change a systemd configuration file
- use 'stty -F /dev/ttyS1" to configure the tty driver in 'raw' mode or something similar so that if another processor writes to this, linux ignores it.
- compile and install setserial, and use that utility to disable /dev/ttyS1.
Something else I haven't thought of?
Thanks,
Greg Johnson