. also disable stack protection feature for gcc, causes build errors for pkgsrc gcc on minix Change-Id: I1c6e2bcb4d948098d642543d7b2711284ee55c72
		
			
				
	
	
		
			108 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _OMAP_SERIAL_H
 | 
						|
#define _OMAP_SERIAL_H
 | 
						|
 | 
						|
/* UART register map */
 | 
						|
#define OMAP3_UART1_BASE 0x4806A000 /* UART1 physical address */
 | 
						|
#define OMAP3_UART2_BASE 0x4806C000 /* UART2 physical address */
 | 
						|
#define OMAP3_UART3_BASE 0x49020000 /* UART3 physical address */
 | 
						|
 | 
						|
/* UART registers */
 | 
						|
#define OMAP3_THR		0	/* Transmit holding register */
 | 
						|
#define OMAP3_RHR		0	/* Receive holding register */
 | 
						|
#define OMAP3_DLL		0	/* Divisor latches low */
 | 
						|
#define OMAP3_DLH		1	/* Divisor latches high */
 | 
						|
#define OMAP3_IER		1	/* Interrupt enable register */
 | 
						|
#define OMAP3_IIR		2	/* Interrupt identification register */
 | 
						|
#define OMAP3_EFR		2	/* Extended features register */
 | 
						|
#define OMAP3_FCR		2	/* FIFO control register */
 | 
						|
#define OMAP3_LCR		3	/* Line control register */
 | 
						|
#define OMAP3_MCR		4	/* Modem control register */
 | 
						|
#define OMAP3_LSR		5	/* Line status register */
 | 
						|
#define OMAP3_MSR		6	/* Modem status register */
 | 
						|
#define OMAP3_TCR		6
 | 
						|
#define OMAP3_MDR1		0x08	/* Mode definition register 1 */
 | 
						|
#define OMAP3_MDR2		0x09	/* Mode definition register 2 */
 | 
						|
#define OMAP3_SCR		0x10	/* Supplementary control register */
 | 
						|
#define OMAP3_SSR		0x11	/* Supplementary status register */
 | 
						|
#define OMAP3_SYSC		0x15	/* System configuration register */
 | 
						|
#define OMAP3_SYSS		0x16	/* System status register */
 | 
						|
 | 
						|
/* Enhanced Features Register bits */
 | 
						|
#define UART_EFR_ECB		(1 << 4)/* Enhanced control bit */
 | 
						|
#define UART_EFR_AUTO_CTS	(1 << 6)/* auto cts enable */
 | 
						|
#define UART_EFR_AUTO_RTS	(1 << 7)/* auto rts enable */
 | 
						|
 | 
						|
/* Interrupt Enable Register bits */
 | 
						|
#define UART_IER_MSI		0x08	/* Modem status interrupt */
 | 
						|
#define UART_IER_RLSI		0x04	/* Receiver line status interrupt */
 | 
						|
#define UART_IER_THRI		0x02	/* Transmitter holding register int. */ 
 | 
						|
#define UART_IER_RDI		0x01	/* Receiver data interrupt */
 | 
						|
 | 
						|
/* FIFO control register */
 | 
						|
#define OMAP_UART_FCR_RX_FIFO_TRIG_SHIFT	6
 | 
						|
#define OMAP_UART_FCR_RX_FIFO_TRIG_MASK		(0x3 << 6)
 | 
						|
#define OMAP_UART_FCR_TX_FIFO_TRIG_SHIFT	4
 | 
						|
#define OMAP_UART_FCR_TX_FIFO_TRIG_MASK		(0x3 << 4)
 | 
						|
#define UART_FCR_ENABLE_FIFO	0x01	/* Enable the fifo */
 | 
						|
#define UART_FCR_CLR_RCVR	0x02	/* Clear the RCVR FIFO */
 | 
						|
#define UART_FCR_CLR_XMIT	0x04	/* Clear the XMIT FIFO */
 | 
						|
 | 
						|
/* Interrupt Identification Register bits */
 | 
						|
#define UART_IIR_RDI		0x04	/* Data ready interrupt */
 | 
						|
#define UART_IIR_THRI		0x02	/* Transmitter holding register empty */
 | 
						|
#define UART_IIR_NO_INT		0x01	/* No interrupt is pending */
 | 
						|
 | 
						|
/* Line Control Register bits */
 | 
						|
#define UART_LCR_DLAB		0x80	/* Divisor latch access bit */
 | 
						|
#define UART_LCR_SBC		0x40	/* Set break control */
 | 
						|
#define UART_LCR_EPAR		0x10	/* Even parity select */
 | 
						|
#define UART_LCR_PARITY		0x08	/* Enable parity */
 | 
						|
#define UART_LCR_STOP		0x04	/* Stop bits; 0=1 bit, 1=2 bits */
 | 
						|
#define UART_LCR_WLEN5		0x00	/* Wordlength 5 bits */
 | 
						|
#define UART_LCR_WLEN6		0x01	/* Wordlength 6 bits */
 | 
						|
#define UART_LCR_WLEN7		0x02	/* Wordlength 7 bits */
 | 
						|
#define UART_LCR_WLEN8		0x03	/* Wordlength 8 bits */
 | 
						|
 | 
						|
#define UART_LCR_CONF_MODE_A	UART_LCR_DLAB	/* Configuration Mode A */
 | 
						|
#define UART_LCR_CONF_MODE_B	0xBF		/* Configuration Mode B */
 | 
						|
 | 
						|
/* Line Status Register bits */
 | 
						|
#define UART_LSR_THRE		0x20	/* Transmit-hold-register empty */
 | 
						|
#define UART_LSR_BI		0x10	/* Break condition */
 | 
						|
#define UART_LSR_DR		0x01	/* Data ready */
 | 
						|
 | 
						|
/* Modem Control Register bits */
 | 
						|
#define UART_MCR_TCRTLR		0x40	/* Access TCR/TLR */
 | 
						|
#define UART_MCR_OUT2		0x08	/* Out2 complement */
 | 
						|
#define UART_MCR_RTS		0x02	/* RTS complement */
 | 
						|
#define UART_MCR_DTR		0x01	/* DTR output low */
 | 
						|
 | 
						|
/* Mode Definition Register 1 bits */
 | 
						|
#define OMAP_MDR1_DISABLE	0x07
 | 
						|
#define OMAP_MDR1_MODE13X	0x03	
 | 
						|
#define OMAP_MDR1_MODE16X	0x00
 | 
						|
 | 
						|
/* Modem Status Register bits */
 | 
						|
#define UART_MSR_DCD		0x80	/* Data Carrier Detect */
 | 
						|
#define UART_MSR_CTS		0x10	/* Clear to Send */
 | 
						|
#define UART_MSR_DDCD		0x08	/* Delta DCD */
 | 
						|
 | 
						|
/* Supplementary control Register bits */
 | 
						|
#define OMAP_UART_SCR_RX_TRIG_GRANU1_MASK	(1 << 7)
 | 
						|
 | 
						|
/* System Control Register bits */
 | 
						|
#define UART_SYSC_SOFTRESET	0x02
 | 
						|
 | 
						|
/* System Status Register bits */
 | 
						|
#define UART_SYSS_RESETDONE	0x01
 | 
						|
 | 
						|
/* Line status register fields */
 | 
						|
#define OMAP3_LSR_TX_FIFO_E    (1 << 5) /* Transmit FIFO empty */
 | 
						|
#define OMAP3_LSR_RX_FIFO_E    (1 << 0) /* Receive FIFO empty */
 | 
						|
#define OMAP3_LSR_RXOE         (1 << 1) /* Overrun error.*/
 | 
						|
 | 
						|
/* Supplementary status register fields */
 | 
						|
#define OMAP3_SSR_TX_FIFO_FULL (1 << 0) /* Transmit FIFO full */
 | 
						|
 | 
						|
#endif /* _OMAP_SERIAL_H */
 |