You are not logged in.
Pages: 1
I've got a board with an Intel BayTrail SoC on it and this is supposed to contain 4 HS UARTs, but even though I can see the 8250_dw module is loaded, stty seems to work and you can echo stuff to /dev/ttyS1 etc., the ports don't actually seem to working, nothing comes out. Am I missing something? Is this the wrong driver?
Cheers, Phil
Offline
I know little about that SoC, but ttyS[0-3] are usually mapped into legacy ISA bus space a la IBM PC. Check that with by seeing where ttyS0's registers are mapped:
ewaller$@$odin ~ 1007 %sudo cat /sys/devices/platform/serial8250/tty/ttyS0/po
rt
0x3F8
ewaller$@$odin ~ 1008 %If ttyS0 is mapped to 0x3f8, then the kernel is looking for the devices in the ISA bus space. Generally, if there is no hardware there, you will get a permission denied if you try to write to it. It does not sound like that is happening to you. You might do some research on your SoC to see if that is how those ports are actually mapped.
How are you writing to the port? It looks like you are redirecting command line output. That is fine.
How do you know that nothing comes out? Could it be a Baud issue? A problem with parity or number of bits? Could it be a matter of needing a null modem?
I generally reach for an oscilloscope or protocol analyzer as a first step in diagnosing serial ports. Have you access to such a beast?
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way
Offline
Thanks for replying. I don't really have any information about this SoC either ![]()
Well, there is a serial port at 0x3f8, I can see from reading and writing the registers from the UEFI prompt. I think this UART is inside the SoC. There is nothing at 0x2f8, 0x3e8 or 0x2e8.
Also, this shows up in dmesg :
00:02 ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
But then later on, there is this :
80860F0A:00 ttyS1 at MMIO 0x9071e000 (irq = 39, base_baud = 2764800) is a 16550A
80860F0A:01 ttyS2 at MMIO 0x90720000 (irq = 40, base_baud = 2764800) is a 16550A
Given the base_baud number, these must be HS UARTs! And sure enough looking in /sys there are these directories :
/sys/devices/platform/80860F0A:00/tty/ttyS1
/sys/devices/platform/80860F0A:01/tty/ttyS2
So there are at least three UARTs that have been detected. I haven't got a scope, but I can wire pins 2 and 3 of the connectors together and nothing gets echoed back on any of them (there are four connectors wired to the HS UARTs), so I'm not sure if the three UARTs detected are actually the HS UARTs I'm looking for. The 8250_dw module is loaded so I guess that this is what found the three UARTs.
I'll just have to get stuck in and start doing some proper debugging on this I suppose ...
Cheers, Phil
Offline
In 8250_pci.c it mentions the HS UARTs on BayTrail, so maybe there's a clue! Maybe need to reconfigure the kernel or something ...
Offline
From /proc/config.gz on my running system, have got CONFIG_SERIAL_8250_PCI=y
Offline
Bay Trail datasheet is at http://www.intel.co.uk/content/www/uk/e … sheet.html - only two HS UARTs, hmm, seems like driver is ok, maybe the board has external UARTs.
Offline
You did disable hardware flow control, right?
Offline
Well, 'stty -a -F /dev/ttyS1' comes out with '-ctsrts' so I think that means it's disabled. It really looks like the two internal HS UARTs are enabled and working ok, so I just need to get some answers from whoever designed this board ...
Offline
Ok, just found out that the board has got a F81216 quad UART on the LPC bus and that all the SoC internal UARTs are not connected to anything. WTF? LPC is ancient stuff, is it still supported? I guess it must be to a certain extent as lspci lists "00:1f:0 ISA bridge: Intel Corportion Atom Processor 236xxx/237xxx Series Power Control Unit (rev 11)" and this is contains the LPC bus controller according to the datasheet. Is there a UART driver out there for this?
Offline
LPC is still supported, and implements the old ISA space. But... If there are four UARTs down there, they are not all where one would expect. You said there was one at $3F8 but nothing at $2f8, $3e8 or $2e8. ![]()
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way
Offline
Pages: 1