mirror of
git://projects.qi-hardware.com/xburst-tools.git
synced 2024-11-30 08:23:44 +02:00
9eba09a86f
Move serial.c into drivers/serial-s3c24xx.c and qi-serial.h into include/serial-s3c24xx.h making things a bit cleaner for being s3c24xx-specific. This needed a lot of meddling additionally, ending up with a new puts() callback that belongs in the board structure and removal of the debug uart member, since the puts() action was the only user. Also change serial init API name and function to only fix to 115kbps and adapt to PCLK. Signed-off-by: Andy Green <andy@openmoko.com>
73 lines
3.6 KiB
C
73 lines
3.6 KiB
C
/*
|
|
* (C) Copyright 2007 OpenMoko, Inc.
|
|
* Author: xiangfu liu <xiangfu@openmoko.org>
|
|
*
|
|
* Configuation settings for the FIC Neo GTA02 Linux GSM phone
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License as
|
|
* published by the Free Software Foundation; either version 2 of
|
|
* the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
* MA 02111-1307 USA
|
|
*/
|
|
|
|
|
|
#ifndef __SERIAL_S3C24XX_H__
|
|
#define __SERIAL_S3C24XX_H__
|
|
|
|
#define UART0 0
|
|
#define UART1 1
|
|
#define UART2 2
|
|
|
|
#define rGPHCON (*(volatile unsigned *)0x56000070) /*UART 0 Line control*/
|
|
|
|
#define rULCON0 (*(volatile unsigned *)0x50000000) /*UART 0 Line control*/
|
|
#define rUCON0 (*(volatile unsigned *)0x50000004) /*UART 0 Control*/
|
|
#define rUFCON0 (*(volatile unsigned *)0x50000008) /*UART 0 FIFO control*/
|
|
#define rUMCON0 (*(volatile unsigned *)0x5000000c) /*UART 0 Modem control*/
|
|
#define rUTRSTAT0 (*(volatile unsigned *)0x50000010) /*UART 0 Tx/Rx status*/
|
|
#define rUERSTAT0 (*(volatile unsigned *)0x50000014) /*UART 0 Rx error status*/
|
|
#define rUFSTAT0 (*(volatile unsigned *)0x50000018) /*UART 0 FIFO status*/
|
|
#define rUMSTAT0 (*(volatile unsigned *)0x5000001c) /*UART 0 Modem status*/
|
|
#define rUBRDIV0 (*(volatile unsigned *)0x50000028) /*UART 0 Baud rate divisor*/
|
|
|
|
#define rULCON1 (*(volatile unsigned *)0x50004000) /*UART 1 Line control*/
|
|
#define rUCON1 (*(volatile unsigned *)0x50004004) /*UART 1 Control*/
|
|
#define rUFCON1 (*(volatile unsigned *)0x50004008) /*UART 1 FIFO control*/
|
|
#define rUMCON1 (*(volatile unsigned *)0x5000400c) /*UART 1 Modem control*/
|
|
#define rUTRSTAT1 (*(volatile unsigned *)0x50004010) /*UART 1 Tx/Rx status*/
|
|
#define rUERSTAT1 (*(volatile unsigned *)0x50004014) /*UART 1 Rx error status*/
|
|
#define rUFSTAT1 (*(volatile unsigned *)0x50004018) /*UART 1 FIFO status*/
|
|
#define rUMSTAT1 (*(volatile unsigned *)0x5000401c) /*UART 1 Modem status*/
|
|
#define rUBRDIV1 (*(volatile unsigned *)0x50004028) /*UART 1 Baud rate divisor*/
|
|
|
|
#define rULCON2 (*(volatile unsigned *)0x50008000) /*UART 2 Line control*/
|
|
#define rUCON2 (*(volatile unsigned *)0x50008004) /*UART 2 Control*/
|
|
#define rUFCON2 (*(volatile unsigned *)0x50008008) /*UART 2 FIFO control*/
|
|
#define rUTRSTAT2 (*(volatile unsigned *)0x50008010) /*UART 2 Tx/Rx status*/
|
|
#define rUERSTAT2 (*(volatile unsigned *)0x50008014) /*UART 2 Rx error status*/
|
|
#define rUFSTAT2 (*(volatile unsigned *)0x50008018) /*UART 2 FIFO status*/
|
|
#define rUBRDIV2 (*(volatile unsigned *)0x50008028) /*UART 2 Baud rate divisor*/
|
|
|
|
#define WrUTXH0(ch) (*(volatile unsigned char *)0x50000020)=(unsigned char)(ch)
|
|
#define RdURXH0() (*(volatile unsigned char *)0x50000024)
|
|
#define WrUTXH1(ch) (*(volatile unsigned char *)0x50004020)=(unsigned char)(ch)
|
|
#define RdURXH1() (*(volatile unsigned char *)0x50004024)
|
|
#define WrUTXH2(ch) (*(volatile unsigned char *)0x50008020)=(unsigned char)(ch)
|
|
#define RdURXH2() (*(volatile unsigned char *)0x50008024)
|
|
|
|
extern void serial_init_115200_s3c24xx(const int uart, const int pclk_MHz);
|
|
extern void serial_putc_s3c24xx(const int uart, const char c);
|
|
extern int puts(const char *string);
|
|
|
|
#endif
|