Altera_Forum
Honored Contributor
11 years agoUsing Sopc2DTS utliity to process .sopcinfo file with multiple UART's
All,
I recently ran into an issue when using the Sopc2DTS utility to generate a .dts file from an .sopcinfo file that contained two Nios processors (referenced in the .sopcinfo file as nios2_qsys_0 and cpu_w_MMU) as well as three (3) UARTS and some additional components [e.g. FIFOs, etc.]). The Altera JTAG UART (jtag_uart_0) is connected to nios2_qsys_0 while the Altera JTAG UART (jtag_uart) and the altera serial uart (uart) are both connected to cpu_w_mmu. the cpu_w_mmu nios ii boots u-boot and linux with the console port configured to set to run out of the altera serial uart (uart) component (ttyAL0). [/I][/I][/I][/I][/I][/I][/I][/I][/I][/I] When I use the Sopc2DTS utility to generate the .dts file with the Point of View (POV) set to cpu_w_MMU, the Altera jtag_uart component is generated below the altera uart component in the .dts file. I normally didn't think this would be a problem but when I generate the .dtb file from the generated .dts file and burn it into flash, the U-boot messages are generated out the ttyal0 serial uart until the booting process it handed off to the kernel which then switches the console output to the jtag_uart component. However, if I manually move the uart component to be above the jtag_uart component in the .dts file, the console output works as desired and is always generated out the Altera serial UART (uart) component.[/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I] i wouldn't think the order of the generated uart components in the .dts file would be important but based on my testing it does seem to make a difference. in order to prevent manually moving the uart components around in the .dts file, should there be an option in the sopc2dts utility to have user be able to specify the priority order of the uart components? or is there another way to specify the order of how the uart components are generated?[/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I] as it turns out, i could have sorted my components based on address which would have put the components in the right order but that just happens to be true for my particular .sopcinfo file. if the uart component address happened to be assigned to something higher than the jtag_uart component, the console output still wouldn't have worked as expected.[/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I] i have attached a copy of the .sopcinfo file i have used for processing as well as the unmodified generated .dts file that shows the uart component below the jtag_uart component.[/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I] Please let me know if you any questions. Any feedback would be appreciated.[/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I] - Brad S.[/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I][/I]