1/* 2 * Xilinx UARTLITE bootloader driver 3 * 4 * Copyright (c) 2007 Secret Lab Technologies Ltd. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the 8 * Free Software Foundation; either version 2 of the License, or (at your 9 * option) any later version. 10 */ 11 12#include <linux/types.h> 13#include <asm/serial.h> 14#include <asm/io.h> 15#include <platforms/4xx/xparameters/xparameters.h> 16 17#define UARTLITE_BASEADDR ((void*)(XPAR_UARTLITE_0_BASEADDR)) 18 19void 20serial_putc(unsigned long com_port, unsigned char c) 21{ 22 while ((in_be32(UARTLITE_BASEADDR + 0x8) & 0x08) != 0); /* spin */ 23 out_be32(UARTLITE_BASEADDR + 0x4, c); 24} 25 26unsigned char 27serial_getc(unsigned long com_port) 28{ 29 while ((in_be32(UARTLITE_BASEADDR + 0x8) & 0x01) == 0); /* spin */ 30 return in_be32(UARTLITE_BASEADDR); 31} 32 33int 34serial_tstc(unsigned long com_port) 35{ 36 return ((in_be32(UARTLITE_BASEADDR + 0x8) & 0x01) != 0); 37} 38