ks8695_reg.h

Gardner Bell gbell72 at rogers.com
Sat Sep 23 12:10:09 PDT 2006


Hello everyone,

I'm presently working on the KS8695 registers header file and am
curious what I should and should not include in this file.  At the
moment I have included almost every register that the data sheets
mention.  Is this a good idea, or should I make separate header files
for things like the UART and memory controller registers?  I've
included a copy of what I have done so far.  Any help and or
recommendations you can offer, particularly on my naming conventions is
most welcome.

Thanks

Gardner

/* Kendin KS8695 - ARM922T based processor
 *
 * Reference: 
 * KS8695X Data Sheet.
 * KS8695X Migration Guide.
 *
 *
 * Upon power up, the KS8695(X) memory map is configured as shown
below:
 *
 * 0x03FF0000-0x03FFFFFF - 64KB System Configuration Register Space
 * 0x02000000-0x03FEFFFF - 32MB Not Configured
 * 0x00000000-0x01FFFFFF - 32MB Flash Bank 0
 */
#ifndef _KS8695_REG_H_
#define _KS8695_REG_H_

/* UART Registers */

#define KS8695_UART_RX		0x00
#define KS8695_UART_TX		0x04
#define KS8695_UART_FCR		0x08	/* FIFO control */
#define KS8695_UART_LCR		0x0c	/* Line control */
#define KS8695_UART_MCR		0x10	/* Modem control */
#define KS8695_UART_LSR		0x14	/* Line status */
#define KS8695_UART_MSR		0x18	/* Modem status */
#define KS8695_UART_BD		0x1c	/* Baud rate divisor */
#define KS8695_UART_SR		0x20	/* Status register */

/* Interrupt controller registers */

#define KS8695_INT_MC		0x00	/* Mode control - reserve bit 23:18 on
KS8695X */
#define KS8695_INT_ER		0x04	/* INT enable - reserve bit 23:18 on
KS8695X */
#define KS8695_INT_SR		0x08	/* INT status - reserve bit 23:18 on
KS8695X */
#define KS8695_EMAC_PR		0x10	/* EMAC priority register - removed on
KS8695X */
#define KS8695_WAN_PR		0x0C	/* INT priority for WAN MAC */
#define KS8695_LAN_PR		0x14	/* INT priority register for LAN MAC */
#define KS8695_TIMER_PR		0x18	/* INT priority register for Timer */
#define KS8695_UART_PR		0x1C	/* UART priority register */

/* Timer */

#define KS8695_TMR_CR		0x00	/* Timer control register */
#define KS8695_TMR_TC1		0x04	/* Timer 1 timeout count register */
#define KS8695_TMR_TC0		0x08	/* Timer 0 timeout count register */
#define KS8695_TMR_PC1		0x0C	/* Timer 1 pulse count register */
#define KS8695_TMR_PC0		0x10	/* Timer 0 pulse count register */

/* GPIO Registers*/

#define KS8695_PMR		0x00	/* I/O port mode register */
#define KS8695_PCR		0x04    /* I/O port control register */
#define KS8695_PDR		0x08	/* I/O port data register */




More information about the freebsd-arm mailing list