UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer pullanlu
Observer
9,132 Views
Registered: ‎04-21-2012

Use AXI UART (16550) for Zynq-based Systems

We could not make UARTLITE work in our zynq-based system (See the case "Use UARTLITE for Zynq-based System."

Thus, added AXI UART 16550 to the Zynq PL.

Added the entry below to the dts and boot the system.

The boot messages shows:

Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled

of_serial 80090000.serial: no clock-frequency property set

of_serial 800a0000.serial: no clock-frequency property set

of_serial 800b0000.serial: no clock-frequency property set

 

Any ideas? Thanks.

 

 

UART entry in DTS:

        axi_16550_0: serial@80090000 {
            compatible = "xlnx,axi-uart16550-1.01.a", "xlnx,xps-uart16550-2.00.a", "ns16550";
            interrupt-parent = <&gic>;
            interrupts = <89 0 >;
            reg = < 0x80090000 0x10000 >;
            reg-offset = <0x1000>;
            reg-shift = <2>;
            xlnx,external-xin-clk-hz = <0x17d7840>;
            xlnx,family = "zynq";
            xlnx,has-external-rclk = <0x0>;
            xlnx,has-external-xin = <0x0>;
            xlnx,instance = "axi_uart16550_0";
            xlnx,is-a-16550 = <0x1>;
            xlnx,s-axi-aclk-freq-hz = <0x5f5e100>;
            xlnx,use-modem-ports = <0x0>;
            xlnx,use-user-ports = <0x0>;

        } ;

0 Kudos
4 Replies
Explorer
Explorer
8,909 Views
Registered: ‎02-17-2013

Re: Use AXI UART (16550) for Zynq-based Systems

Hey 

I am doing project with zynq I added my own ip uart 16750 of open cores I want test the IP in interrupt with xsdk unfortuntely it'nt work.  I want know if you resolved your problem.

Best Regards. 

0 Kudos
Explorer
Explorer
8,901 Views
Registered: ‎02-17-2013

Re: Use AXI UART (16550) for Zynq-based Systems

Hey 

I search a example in c language who use interrupt with uart16550.

Best Regards.

0 Kudos
Contributor
Contributor
5,571 Views
Registered: ‎09-20-2013

Re: Use AXI UART (16550) for Zynq-based Systems

To your device-tree entry add an appropriate clock frequency. For example, if I were tying 100 MHz to the AXI UART IP:

    clock-frequency = <100000000>;

0 Kudos
Explorer
Explorer
5,559 Views
Registered: ‎10-14-2015

Re: Use AXI UART (16550) for Zynq-based Systems

this is the node in my pl.dts file and in my project the axi uart is working fine. EDIT: I am using vivado/petalinux v2017.2

axi_uart16550: serial@43c50000 {
			clock-frequency = <76923080>;
			clock-names = "ref_clk";
			clocks = <&clkc 0>;
			compatible = "xlnx,xps-uart16550-2.00.a", "ns16550a";
			current-speed = <115200>;
			device_type = "serial";
			interrupt-parent = <&intc>;
			interrupts = <0 33 4>;
			port-number = <1>;
			reg = <0x43c50000 0x10000>;
			reg-offset = <0x1000>;
			reg-shift = <2>;
			xlnx,external-xin-clk-hz = <0x17d7840>;
			xlnx,external-xin-clk-hz-d = <0x19>;
			xlnx,has-external-rclk = <0x0>;
			xlnx,has-external-xin = <0x0>;
			xlnx,is-a-16550 = <0x1>;
			xlnx,s-axi-aclk-freq-hz-d = "76.923079999999999";
			xlnx,use-modem-ports = <0x1>;
			xlnx,use-user-ports = <0x1>;
		};

 

it seems quite different from yours.

 

have you connected properly the IP in your vivado project? have you enabled the uart support in kernel config?

0 Kudos