cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
thelonesquirrely
Observer
Observer
4,567 Views
Registered: ‎10-30-2009

Jtag UART with a 440

Hey,

 

I have read a bunch of the posts that say I can use the JTAG uart with a ppc design if there is an mdm in it.  I am pretty sure we have this working (some hello world prog ran) but I was wondering if I should expect this to work with the kernel (2.6.XX)?  

 

Attached you will find my dts file.  

 

I am doing the 'connect mdm -uart' ; 'terminal' ; 'connect ppc hw' ; 'dow <IMAGE>'; run and can verify that the kernel is running (counter to a known mem location) but I get no ouput.  Any ideas?

0 Kudos
3 Replies
kramu
Contributor
Contributor
4,535 Views
Registered: ‎02-19-2009

I had the same problem too. I was told that there is no jtag-uart driver in linux. Btwn, why cannot you use uart with RS232 ? Doesn't your board have RS232 port?
0 Kudos
linnj
Xilinx Employee
Xilinx Employee
4,533 Views
Registered: ‎09-10-2008

I believe the uart in the MDM is a uart lite and there is a driver in the kernel for uart lite.

 

I'm not sure if the device tree will work correctly for this so that you might have to make the device tree look like a normal uart lite on the bus, not sure as this is not a case we test or support.

 

Thanks.

0 Kudos
linnj
Xilinx Employee
Xilinx Employee
4,531 Views
Registered: ‎09-10-2008

Just realized you attached the device tree.  It won't be recognized by the kernel driver as the MDM is different in the device tree. 

 

I just looked at the memory map for the MDM and I think you just need to hack the device tree to put a uartlite on the bus and then setup the parameters on the uartlite correctly in the device tree. 

 

  RS232_Uart_1: serial@84000000 {
   clock-frequency = <100000000>;
   compatible = "xlnx,xps-uartlite-1.01.a", "xlnx,xps-uartlite-1.00.a";
   current-speed = <9600>;
   device_type = "serial";
   interrupt-parent = <&xps_intc_0>;
   interrupts = < 3 0 >;
   port-number = <0>;
   reg = < 0x84000000 0x10000 >;
   xlnx,baudrate = <0x2580>;
   xlnx,data-bits = <0x8>;
   xlnx,family = "virtex5";
   xlnx,odd-parity = <0x0>;
   xlnx,use-parity = <0x0>;
  } ;

0 Kudos