📄 ppc860sio.h
字号:
/*** SCC1 Event reg ***/
#define MPC860_SCCE1(base) ((VINT16 *) ((base) + 0xA10))
/*** SCC1 Mask reg ***/
#define MPC860_SCCM1(base) ((VINT16 *) ((base) + 0xA14))
/*** SCC1 Status reg ***/
#define MPC860_SCCS1(base) ((VINT8 *) ((base) + 0xA17))
/*** SCC2 Mode reg low ***/
#define MPC860_GSMR_L2(base) ((VINT32 *) ((base) + 0xA20))
/*** SCC2 Mode reg High ***/
#define MPC860_GSMR_H2(base) ((VINT32 *) ((base) + 0xA24))
/*** SCC2 Protocol Specific Mode reg ***/
#define MPC860_PSMR2(base) ((VINT16 *) ((base) + 0xA28))
/*** SCC2 Transmit-On-Demand reg ***/
#define MPC860_TODR2(base) ((VINT16 *) ((base) + 0xA2C))
/*** SCC2 Data Synchronization reg ***/
#define MPC860_DSR2(base) ((VINT16 *) ((base) + 0xA2E))
/*** SCC2 Event reg ***/
#define MPC860_SCCE2(base) ((VINT16 *) ((base) + 0xA30))
/*** SCC2 Mask reg ***/
#define MPC860_SCCM2(base) ((VINT16 *) ((base) + 0xA34))
/*** SCC2 Status reg ***/
#define MPC860_SCCS2(base) ((VINT8 *) ((base) + 0xA37))
/*** SCC3 Mode reg low ***/
#define MPC860_GSMR_L3(base) ((VINT32 *) ((base) + 0xA40))
/*** SCC3 Mode reg High ***/
#define MPC860_GSMR_H3(base) ((VINT32 *) ((base) + 0xA44))
/*** SCC3 Protocol Specific Mode reg ***/
#define MPC860_PSMR3(base) ((VINT16 *) ((base) + 0xA48))
/*** SCC3 Transmit-On-Demand reg ***/
#define MPC860_TODR3(base) ((VINT16 *) ((base) + 0xA4C))
/*** SCC3 Data Synchronization reg ***/
#define MPC860_DSR3(base) ((VINT16 *) ((base) + 0xA4E))
/*** SCC3 Event reg ***/
#define MPC860_SCCE3(base) ((VINT16 *) ((base) + 0xA50))
/*** SCC3 Mask reg ***/
#define MPC860_SCCM3(base) ((VINT16 *) ((base) + 0xA54))
/*** SCC3 Status reg ***/
#define MPC860_SCCS3(base) ((VINT8 *) ((base) + 0xA57))
/*** SCC4 Mode reg low ***/
#define MPC860_GSMR_L4(base) ((VINT32 *) ((base) + 0xA60))
/*** SCC4 Mode reg High ***/
#define MPC860_GSMR_H4(base) ((VINT32 *) ((base) + 0xA64))
/*** SCC4 Protocol Specific Mode reg ***/
#define MPC860_PSMR4(base) ((VINT16 *) ((base) + 0xA68))
/*** SCC4 Transmit-On-Demand reg ***/
#define MPC860_TODR4(base) ((VINT16 *) ((base) + 0xA6C))
/*** SCC4 Data Synchronization reg ***/
#define MPC860_DSR4(base) ((VINT16 *) ((base) + 0xA6E))
/*** SCC4 Event reg ***/
#define MPC860_SCCE4(base) ((VINT16 *) ((base) + 0xA70))
/*** SCC4 Mask reg ***/
#define MPC860_SCCM4(base) ((VINT16 *) ((base) + 0xA74))
/*** SCC4 Status reg ***/
#define MPC860_SCCS4(base) ((VINT8 *) ((base) + 0xA77))
/*** SMC1 Mode reg ***/
#define MPC860_SMCMR1(base) ((VINT16 *) ((base) + 0xA82))
/*** SMC1 Event reg ***/
#define MPC860_SMCE1(base) ((VINT8 *) ((base) + 0xA86))
/*** SMC1 Mask reg ***/
#define MPC860_SMCM1(base) ((VINT8 *) ((base) + 0xA8A))
/*** SMC2 Mode reg ***/
#define MPC860_SMCMR2(base) ((VINT16 *) ((base) + 0xA92))
/*** SMC2 or PIP Event reg ***/
#define MPC860_SMCE2(base) ((VINT8 *) ((base) + 0xA96))
/*** SMC2 Mask reg ***/
#define MPC860_SMCM2(base) ((VINT8 *) ((base) + 0xA9A))
/*** SPI Mode reg ***/
#define MPC860_SPMODE(base) ((VINT16 *) ((base) + 0xAA0))
/*** SPI Event reg ***/
#define MPC860_SPIE(base) ((VINT8 *) ((base) + 0xAA6))
/*** SPI Mask reg ***/
#define MPC860_SPIM(base) ((VINT8 *) ((base) + 0xAAA))
/*** SPI Command reg ***/
#define MPC860_SPCOM(base) ((VINT8 *) ((base) + 0xAAD))
/*** PIP Configuration reg ***/
#define MPC860_PIPC(base) ((VINT16 *) ((base) + 0xAB2))
/*** PIP Timing params reg ***/
#define MPC860_PTPR(base) ((VINT16 *) ((base) + 0xAB6))
/*** Port B data direction reg ***/
#define MPC860_PBDIR(base) ((VINT32 *) ((base) + 0xAB8))
/*** Port B pin assign reg ***/
#define MPC860_PBPAR(base) ((VINT32 *) ((base) + 0xABC))
/*** Port B open drain reg ***/
#define MPC860_PBODR(base) ((VINT16 *) ((base) + 0xAC2))
/*** Port B Data register ***/
#define MPC860_PBDAT(base) ((VINT32 *) ((base) + 0xAC4))
/*** SI Mode reg ***/
#define MPC860_SIMODE(base) ((VINT32 *) ((base) + 0xAE0))
/*** SI Global Mode reg ***/
#define MPC860_SIGMR(base) ((VINT8 *) ((base) + 0xAE4))
/*** SI Status reg ***/
#define MPC860_SISTR(base) ((VINT8 *) ((base) + 0xAE6))
/*** SI Command reg ***/
#define MPC860_SICMR(base) ((VINT8 *) ((base) + 0xAE7))
/*** SI Clock route reg ***/
#define MPC860_SICR(base) ((VINT32 *) ((base) + 0xAEC))
/*** SI RAM pointers reg ***/
#define MPC860_SIRP(base) ((VINT32 *) ((base) + 0xAF0))
/*** SI Routing RAM base addr ***/
#define MPC860_SIRAM_BASE(base) ((base) + 0xC00)
/*** Data Param RAM base addr ***/
#define MPC860_DPRAM_BASE(base) ((base) + 0x2000)
/* Register Equates By Bit */
/* Equates for Baud Rate Generation Registers */
#define MPC860_BRGC_RST 0x20000 /* 1 = reset BRG */
#define MPC860_BRGC_ENABLE_CNT 0x10000 /* 1 = enable clocks to BRG */
#define MPC860_BRGC_BRGCLK_SRC 0x00000 /* Baud Rate Gen clock src */
#define MPC860_BRGC_CLK2_SRC 0x04000 /* CLK2 pin = BRG source */
#define MPC860_BRGC_CLK6_SRC 0x08000 /* CLK6 pin = BRG source */
#define MPC860_BRGC_AUTOBAUD 0x02000 /* 1 = autobaud on Rx */
/* 0 = normal operation */
#define MPC860_BRGC_CLKDIV_MASK 0x01FFE /* 12 bit value */
#define MPC860_BRGC_CLKDIV_SHIFT 0x1 /* shifted up one bit */
#define MPC860_BRGC_PRESCALE_16 0x00001 /* 1 = divide-by-16 clock */
/* Equates for SIMODE register */
#define MPC860_SIMODE_SMC2_MUX 0x80000000 /* connected to mux SI */
#define MPC860_SIMODE_SMC2_NMSI 0x00000000 /* connected to mux SI */
#define MPC860_SIMODE_SMC2_BRG1 0x00000000 /* BRG1 is clock source */
#define MPC860_SIMODE_SMC2_BRG2 0x10000000 /* BRG2 is clock source */
#define MPC860_SIMODE_SMC2_BRG3 0x20000000 /* BRG3 is clock source */
#define MPC860_SIMODE_SMC2_BRG4 0x30000000 /* BRG4 is clock source */
#define MPC860_SIMODE_SMC2_CLK5 0x40000000 /* CLK5 is clock source */
#define MPC860_SIMODE_SMC2_CLK6 0x50000000 /* CLK6 is clock source */
#define MPC860_SIMODE_SMC2_CLK7 0x60000000 /* CLK7 is clock source */
#define MPC860_SIMODE_SMC2_CLK8 0x70000000 /* CLK8 is clock source */
#define MPC860_SIMODE_SMC1_MUX 0x00008000 /* connected to mux SI */
#define MPC860_SIMODE_SMC1_NMSI 0x00000000 /* connected to mux SI */
#define MPC860_SIMODE_SMC1_BRG1 0x00000000 /* BRG1 is clock source */
#define MPC860_SIMODE_SMC1_BRG2 0x00001000 /* BRG2 is clock source */
#define MPC860_SIMODE_SMC1_BRG3 0x00002000 /* BRG3 is clock source */
#define MPC860_SIMODE_SMC1_BRG4 0x00003000 /* BRG4 is clock source */
#define MPC860_SIMODE_SMC1_CLK1 0x00004000 /* CLK1 is clock source */
#define MPC860_SIMODE_SMC1_CLK2 0x00005000 /* CLK2 is clock source */
#define MPC860_SIMODE_SMC1_CLK3 0x00006000 /* CLK3 is clock source */
#define MPC860_SIMODE_SMC1_CLK4 0x00007000 /* CLK4 is clock source */
#define MPC860_SIMODE_TDMB_NORM 0x00000000 /* normal operation */
#define MPC860_SIMODE_TDMB_ECHO 0x04000000 /* auto echo */
#define MPC860_SIMODE_TDMB_LOOP 0x08000000 /* internal loopback */
#define MPC860_SIMODE_TDMB_LCTR 0x0C000000 /* loopback control */
/*
* Equates for SMCE SM UART-mode Event Register
* writing a one to these location clears an event/interrupt
*/
#define MPC860_SMCE_UART_BRK_EVENT 0x10 /* break char received */
#define MPC860_SMCE_UART_BSY_EVENT 0x04 /* char discarded no bufs */
#define MPC860_SMCE_UART_TX_EVENT 0x02 /* char transmitted */
#define MPC860_SMCE_UART_RX_EVENT 0x01 /* char received */
#define MPC860_SMCE_UART_ALL_EVENTS ( \
MPC860_SMCE_UART_BRK_EVENT | \
MPC860_SMCE_UART_BSY_EVENT | \
MPC860_SMCE_UART_TX_EVENT | \
MPC860_SMCE_UART_RX_EVENT )
/*
* Equates for SMCM SM UART-mode Mask Register
* writing a one to these locations masks an event/interrupt
*/
#define MPC860_SMCM_UART_BRK_MASK 0x10 /* break char received */
#define MPC860_SMCM_UART_BSY_MASK 0x04 /* char discarded no bufs */
#define MPC860_SMCM_UART_TX_MASK 0x02 /* char transmitted */
#define MPC860_SMCM_UART_RX_MASK 0x01 /* char received */
/* Equates for CICR register CP interrupt configuration register */
#define MPC860_CICR_IRL_LEVEL_0 0x00000000 /* highest interrupt level */
#define MPC860_CICR_IRL_LEVEL_1 0x00020000
#define MPC860_CICR_IRL_LEVEL_2 0x00040000
#define MPC860_CICR_IRL_LEVEL_3 0x00060000
#define MPC860_CICR_IRL_LEVEL_4 0x00080000 /* standard value */
#define MPC860_CICR_IRL_LEVEL_5 0x000A0000
#define MPC860_CICR_IRL_LEVEL_6 0x000C0000
#define MPC860_CICR_IRL_LEVEL_7 0x000E0000 /* lowest */
#define MPC860_CICR_HP_SRC_STD 0x0001F000 /* highest priority int */
#define MPC860_CICR_MASTER_IEN 0x00000080 /* master interrupt enable */
/* Equates for CIMR register CP interrupt mask register */
#define MPC860_CIMR_SCC1_MASK 0x40000000 /* mask SCC1 interrupt */
#define MPC860_CIMR_SCC2_MASK 0x20000000 /* mask SCC2 interrupt */
#define MPC860_CIMR_SMC1_MASK 0x00000010 /* mask SMC1 interrupt */
#define MPC860_CIMR_SMC2_MASK 0x00000008 /* mask SMC2 interrupt */
/* Equates for RFCR register receive function code register */
#define MPC860_RFCR_DEC_LE 0x00 /* DEC little endian mode */
#define MPC860_RFCR_PPC_LE 0x08 /* PPC little endian mode */
/* reverse transmission order of */
/* bytes compared to DEC/Intel mode */
#define MPC860_RFCR_MOT_BE 0x18 /* big endian mode */
/* Equates for TFCR register transmission function code register */
#define MPC860_TFCR_DEC_LE 0x00 /* DEC little endian mode */
#define MPC860_TFCR_PPC_LE 0x08 /* PPC little endian mode */
/* reverse transmission order of */
/* bytes compared to DEC/Intel mode */
#define MPC860_TFCR_MOT_BE 0x18 /* big endian mode */
/* Equates for SMC Mode Register SMCMR */
#define MPC860_SMCMR_CLEN_MASK 0x7800 /* # bits in char minus one */
/* set to # data bits + # parity */
/* bits + # stop bits */
#define MPC860_SMCMR_CLEN_STD 0x4800 /* for 8-N-1 std serial I/O */
#define MPC860_SMCMR_STOPLEN_1 0x0000 /* stop length = 1 */
#define MPC860_SMCMR_STOPLEN_2 0x0400 /* stop length = 2 */
#define MPC860_SMCMR_NO_PARITY 0x0000 /* parity disabled */
#define MPC860_SMCMR_PARITY 0x0200 /* parity enabled */
#define MPC860_SMCMR_PARITY_ODD 0x0000 /* odd parity if enabled */
#define MPC860_SMCMR_PARITY_EVEN 0x0100 /* even parity if enabled */
#define MPC860_SMCMR_GCI_MODE 0x0000 /* GCI or SCIT mode */
#define MPC860_SMCMR_UART_MODE 0x0020 /* UART mode */
#define MPC860_SMCMR_TRANS_MODE 0x0030 /* totally transparent mode */
#define MPC860_SMCMR_NORM_MODE 0x0000 /* normal operation mode */
#define MPC860_SMCMR_LOOP_MODE 0x0004 /* local loopback mode */
#define MPC860_SMCMR_ECHO_MODE 0x0008 /* echo mode */
#define MPC860_SMCMR_TX_ENABLE 0x0002 /* enable transmitter */
#define MPC860_SMCMR_TX_DISABLE 0x0000 /* disable transmitter */
#define MPC860_SMCMR_RX_ENABLE 0x0001 /* enable receiver */
#define MPC860_SMCMR_RX_DISABLE 0x0000 /* disable receiver */
#define MPC860_SMCMR_STD_MODE ( \
MPC860_SMCMR_CLEN_STD | \
MPC860_SMCMR_STOPLEN_1 | \
MPC860_SMCMR_NO_PARITY | \
MPC860_SMCMR_UART_MODE | \
MPC860_SMCMR_NORM_MODE )
#define MPC860_SCMCR_STD_MODE_ENABLED ( \
MPC860_SMCMR_STD_MODE | \
MPC860_SMCMR_TX_ENABLE | \
MPC860_SMCMR_RX_ENABLE )
#endif /* _ASMLANGUAGE */
#ifdef __cplusplus
}
#endif
#endif /* __INCppc860Sioh */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -