- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello all,
In my Quartus project I connected a UART 16550 compatible soft IP, and it is visible in the .sopcinfo generated.
Later I build a .dtsi and a .dtb files using yocto angsrom, in the .dtsi file the IP is visible.
Then I compile the entire Linux build, and I would expect a new tty device to appear under /dev, or a new device to appear under /sys/class/tty, however there is no new device added to those directories.
the strange thing is that I can see the device under /proc/device-tree which means (according to my understanding) that it is accessible in the device tree, but for some reason does not generate the device itself.
The environment we are using is Quartus 18.1.
I would love if anyone had encountered such issue and have any insight over this subject.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Shoval,
You will required to manually add the device tree node in the device tree pointing the the address IP which you have created in your project.
Can use the reference on how the HPS UART0 is being included.
Thanks.
Regards,
Aik Eu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Aik.
Thank you for replying.
From my (humble) understanding, when generating the .dtsi file from the .sopcinfo file, the node is added automatically.
I can also see it in the device tree in the .dtsi and in the geneated Linux /proc/device-tree.
So to me it seems like it was added to the device tree in the right address.
Do I need to overwrite it somehow?
I'm adding here the files, I would really appreciate if you could take a look and tell me what have I missed here.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Shoval,
You will need to add it in the device tree accordingly. By default it is only referring to the HPS UART0 and UART1.
Thanks.
Regards,
Aik Eu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Aik,
If I understand correctly the 16550 compatible soft IP is not the same as the synopsys-16550 compatible that is used in the HPS UART 0/1.
The HPS UART node :
##########################
##########################
The soft core 16550 UART IP node :
##########################
##########################
the UART soft core IP is added under the hps_0_bridges: bridge@0xc0000000, and have an appropriate device driver (drivers/tty/serial/8250) in the yocto kernel-source directory.
The Linux does compile, and the node is visible via /proc/device-tree/sopc@0/bridge@0xc0000000/serial@0x0000000, no errors are visible on Linux boot, but I cant find the device.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Shoval,
I missed out the part which referring to the 16550 ip when browsing through the nodes.
May I know the exact address which the 16550 soft ip is pointing in the qsys design?
From the below, I am seeing the address is directly pointing to 0x00000000 :
a_16550_uart_0: serial@0x000000000
Thanks.
Regards,
Aik Eu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
The address of the IP is 0xc0000000, its base address is 0xc0000000 under "hps_0_bridges" with an addresss offset of 0x00000000.
as you can see from the .dtsi file below:
########
######
Attached is the .dtsi file, under line 99 is the hps_0_bridge node instance and under line 110 is the 16550 UART node instance.
(suffix changed to .txt for upload purposes)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Shoval,
May I know you are using which Soc device?
If offset is 0x00000000 and connected to 0xC0000000 it should be:
a_16550_uart_0: serial@0xC00000000
Thanks.
Regards,
Aik Eu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Aik,
I'm currently using the Cyclone V Soc evaluation board, #PN: DK-DEV-5CSXC6N.
I modified to:
a_16550_uart_0: serial@0xC00000000
As advised, I don't think it did much.
The device address has changed to 0xc0000000 under /proc/device-tree/ :
currently : /proc/device-tree/sopc@0/bridge@0xc0000000/serial@0xc00000000/
instead of: /proc/device-tree/sopc@0/bridge@0xc0000000/serial@0x000000000/
So Linux compiled properly.
However, no new device under /dev.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Shoval,
Can check in Uboot or Linux user space by accessing the address of the connected UART IP?
Example like "md" cmd in Uboot or "devmem" cmd in Linux pointing to the specific connected addresss of UART IP in your design. Should be able to observe some of the IP defaut reset values if the IP is presence in the working system.
Any failure indication in the booting logs when the system trying to probe the driver to the particular address of the UART IP?
Another thing is does the below enabled in the linux config file?
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_OF_PLATFORM=y
Thanks.
Regards,
Aik Eu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Aik,
Reading the registers of the addresses of the IP is as expected (address 0xc0000014 for example read 0x60 like the manual).
No failure indication in the booting logs.
However, CONFIG_SERIAL_OF_PLATFORM is not set, so that might be wrong.
Unfortunately I will have to close this issue for now.
Thank you for your support.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Shoval,
I will close the thread on my side. Do consider to open a new thread if got further question.
p/s: If any answer from the community or Intel Support are helpful, please feel free to give best answer or rate 4/5 survey.
Thanks.
Regards,
Aik Eu
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page