RTEMS: cpukit/score/cpu/m68k/include/rtems/m68k/m68360.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Variables
m68360.h File Reference

Definitions for Motorola MC68360 Processor. More...

Go to the source code of this file.

## Data Structures
struct | m360MEMCRegisters_
struct | m360SCCRegisters_
struct | m360SMCRegisters_
struct | m360MiscParms_
struct | m360TimerParms_
struct | m360IDMAparms_
struct | m360SCCparms_
struct | m360SCCENparms_
struct | m360SMCparms_
struct | m360SPIparms_
struct | m360BufferDescriptor_
struct | m360IDMABufferDescriptor_
struct | m360_

## Macros
#define | M360_RCCR_TIME (1<<15) /* Enable timer */
#define | M360_RCCR_TIMEP(x) ((x)<<8) /* Timer period */
#define | M360_TM_CMD_V (1<<31) /* Set to enable timer */
#define | M360_TM_CMD_R (1<<30) /* Set for automatic restart */
#define | M360_TM_CMD_TIMER(x) ((x)<<16) /* Select timer */
#define | M360_TM_CMD_PERIOD(x) (x) /* Timer period (16 bits) */
#define | M360_RFCR_MOT (1<<4)
#define | M360_RFCR_DMA_SPACE 0x8
#define | M360_TFCR_MOT (1<<4)
#define | M360_TFCR_DMA_SPACE 0x8
#define | M360_SMCMR_CLEN(x) ((x)<<11) /* Character length */
#define | M360_SMCMR_2STOP (1<<10) /* 2 stop bits */
#define | M360_SMCMR_PARITY (1<<9) /* Enable parity */
#define | M360_SMCMR_EVEN (1<<8) /* Even parity */
#define | M360_SMCMR_SM_GCI (0<<4) /* GCI Mode */
#define | M360_SMCMR_SM_UART (2<<4) /* UART Mode */
#define | M360_SMCMR_SM_TRANSPARENT (3<<4) /* Transparent Mode */
#define | M360_SMCMR_DM_LOOPBACK (1<<2) /* Local loopback mode */
#define | M360_SMCMR_DM_ECHO (2<<2) /* Echo mode */
#define | M360_SMCMR_TEN (1<<1) /* Enable transmitter */
#define | M360_SMCMR_REN (1<<0) /* Enable receiver */
#define | M360_SMCE_BRK (1<<4)
#define | M360_SMCE_BSY (1<<2)
#define | M360_SMCE_TX (1<<1)
#define | M360_SMCE_RX (1<<0)
#define | M360_SPMODE_LOOP (1<<14) /* Local loopback mode */
#define | M360_SPMODE_CI (1<<13) /* Clock invert */
#define | M360_SPMODE_CP (1<<12) /* Clock phase */
#define | M360_SPMODE_DIV16 (1<<11) /* Divide BRGCLK by 16 */
#define | M360_SPMODE_REV (1<<10) /* Reverse data */
#define | M360_SPMODE_MASTER (1<<9) /* SPI is master */
#define | M360_SPMODE_EN (1<<8) /* Enable SPI */
#define | M360_SPMODE_CLEN(x) ((x)<<4) /* Character length */
#define | M360_SPMODE_PM(x) (x) /* Prescaler modulus */
#define | M360_SPCOM_STR (1<<7) /* Start transmit */
#define | M360_SPIE_MME (1<<5) /* Multi-master error */
#define | M360_SPIE_TXE (1<<4) /* Tx error */
#define | M360_SPIE_BSY (1<<2) /* Busy condition*/
#define | M360_SPIE_TXB (1<<1) /* Tx buffer */
#define | M360_SPIE_RXB (1<<0) /* Rx buffer */
#define | M360_BD_EMPTY (1<<15) /* Ethernet, SCC UART, SMC UART, SPI */
#define | M360_BD_WRAP (1<<13) /* Ethernet, SCC UART, SMC UART, SPI */
#define | M360_BD_INTERRUPT (1<<12) /* Ethernet, SCC UART, SMC UART, SPI */
#define | M360_BD_LAST (1<<11) /* Ethernet, SPI */
#define | M360_BD_CONTROL_CHAR (1<<11) /* SCC UART */
#define | M360_BD_FIRST_IN_FRAME (1<<10) /* Ethernet */
#define | M360_BD_ADDRESS (1<<10) /* SCC UART */
#define | M360_BD_CONTINUOUS (1<<9) /* SCC UART, SMC UART, SPI */
#define | M360_BD_MISS (1<<8) /* Ethernet */
#define | M360_BD_IDLE (1<<8) /* SCC UART, SMC UART */
#define | M360_BD_ADDRSS_MATCH (1<<7) /* SCC UART */
#define | M360_BD_LONG (1<<5) /* Ethernet */
#define | M360_BD_BREAK (1<<5) /* SCC UART, SMC UART */
#define | M360_BD_NONALIGNED (1<<4) /* Ethernet */
#define | M360_BD_FRAMING_ERROR (1<<4) /* SCC UART, SMC UART */
#define | M360_BD_SHORT (1<<3) /* Ethernet */
#define | M360_BD_PARITY_ERROR (1<<3) /* SCC UART, SMC UART */
#define | M360_BD_CRC_ERROR (1<<2) /* Ethernet */
#define | M360_BD_OVERRUN (1<<1) /* Ethernet, SCC UART, SMC UART, SPI */
#define | M360_BD_COLLISION (1<<0) /* Ethernet */
#define | M360_BD_CARRIER_LOST (1<<0) /* SCC UART */
#define | M360_BD_MASTER_ERROR (1<<0) /* SPI */
#define | M360_BD_READY (1<<15) /* Ethernet, SCC UART, SMC UART, SPI */
#define | M360_BD_PAD (1<<14) /* Ethernet */
#define | M360_BD_CTS_REPORT (1<<11) /* SCC UART */
#define | M360_BD_TX_CRC (1<<10) /* Ethernet */
#define | M360_BD_DEFER (1<<9) /* Ethernet */
#define | M360_BD_HEARTBEAT (1<<8) /* Ethernet */
#define | M360_BD_PREAMBLE (1<<8) /* SCC UART, SMC UART */
#define | M360_BD_LATE_COLLISION (1<<7) /* Ethernet */
#define | M360_BD_NO_STOP_BIT (1<<7) /* SCC UART */
#define | M360_BD_RETRY_LIMIT (1<<6) /* Ethernet */
#define | M360_BD_RETRY_COUNT(x) (((x)&0x3C)>>2) /* Ethernet */
#define | M360_BD_UNDERRUN (1<<1) /* Ethernet, SPI */
#define | M360_BD_CARRIER_LOST (1<<0) /* Ethernet */
#define | M360_BD_CTS_LOST (1<<0) /* SCC UART */
#define | M360_CR_RST (1<<15) /* Reset communication processor */
#define | M360_CR_OP_INIT_RX_TX (0<<8) /* SCC, SMC UART, SMC GCI, SPI */
#define | M360_CR_OP_INIT_RX (1<<8) /* SCC, SMC UART, SPI */
#define | M360_CR_OP_INIT_TX (2<<8) /* SCC, SMC UART, SPI */
#define | M360_CR_OP_INIT_HUNT (3<<8) /* SCC, SMC UART */
#define | M360_CR_OP_STOP_TX (4<<8) /* SCC, SMC UART */
#define | M360_CR_OP_GR_STOP_TX (5<<8) /* SCC */
#define | M360_CR_OP_INIT_IDMA (5<<8) /* IDMA */
#define | M360_CR_OP_RESTART_TX (6<<8) /* SCC, SMC UART */
#define | M360_CR_OP_CLOSE_RX_BD (7<<8) /* SCC, SMC UART, SPI */
#define | M360_CR_OP_SET_GRP_ADDR (8<<8) /* SCC */
#define | M360_CR_OP_SET_TIMER (8<<8) /* Timer */
#define | M360_CR_OP_GCI_TIMEOUT (9<<8) /* SMC GCI */
#define | M360_CR_OP_RESERT_BCS (10<<8) /* SCC */
#define | M360_CR_OP_GCI_ABORT (10<<8) /* SMC GCI */
#define | M360_CR_CHAN_SCC1 (0<<4) /* Channel selection */
#define | M360_CR_CHAN_SCC2 (4<<4)
#define | M360_CR_CHAN_SPI (5<<4)
#define | M360_CR_CHAN_TIMER (5<<4)
#define | M360_CR_CHAN_SCC3 (8<<4)
#define | M360_CR_CHAN_SMC1 (9<<4)
#define | M360_CR_CHAN_IDMA1 (9<<4)
#define | M360_CR_CHAN_SCC4 (12<<4)
#define | M360_CR_CHAN_SMC2 (13<<4)
#define | M360_CR_CHAN_IDMA2 (13<<4)
#define | M360_CR_FLG (1<<0) /* Command flag */
#define | M360_SYPCR_SWE (1<<7) /* Software watchdog enable */
#define | M360_SYPCR_SWRI (1<<6) /* Software watchdog reset select */
#define | M360_SYPCR_SWT1 (1<<5) /* Software watchdog timing bit 1 */
#define | M360_SYPCR_SWT0 (1<<4) /* Software watchdog timing bit 0 */
#define | M360_SYPCR_DBFE (1<<3) /* Double bus fault monitor enable */
#define | M360_SYPCR_BME (1<<2) /* Bus monitor external enable */
#define | M360_SYPCR_BMT1 (1<<1) /* Bus monitor timing bit 1 */
#define | M360_SYPCR_BMT0 (1<<0) /* Bus monitor timing bit 0 */
#define | M360_GMR_RCNT(x) ((x)<<24) /* Refresh count */
#define | M360_GMR_RFEN (1<<23) /* Refresh enable */
#define | M360_GMR_RCYC(x) ((x)<<21) /* Refresh cycle length */
#define | M360_GMR_PGS(x) ((x)<<18) /* Page size */
#define | M360_GMR_DPS_32BIT (0<<16) /* DRAM port size */
#define | M360_GMR_DPS_16BIT (1<<16)
#define | M360_GMR_DPS_8BIT (2<<16)
#define | M360_GMR_DPS_DSACK (3<<16)
#define | M360_GMR_WBT40 (1<<15) /* Wait between 040 transfers */
#define | M360_GMR_WBTQ (1<<14) /* Wait between 360 transfers */
#define | M360_GMR_SYNC (1<<13) /* Synchronous external access */
#define | M360_GMR_EMWS (1<<12) /* External master wait state */
#define | M360_GMR_OPAR (1<<11) /* Odd parity */
#define | M360_GMR_PBEE (1<<10) /* Parity bus error enable */
#define | M360_GMR_TSS40 (1<<9) /* TS* sample for 040 */
#define | M360_GMR_NCS (1<<8) /* No CPU space */
#define | M360_GMR_DWQ (1<<7) /* Delay write for 360 */
#define | M360_GMR_DW40 (1<<6) /* Delay write for 040 */
#define | M360_GMR_GAMX (1<<5) /* Global address mux enable */
#define | M360_MEMC_BR_FC(x) ((x)<<7) /* Function code limit */
#define | M360_MEMC_BR_TRLXQ (1<<6) /* Relax timing requirements */
#define | M360_MEMC_BR_BACK40 (1<<5) /* Burst acknowledge to 040 */
#define | M360_MEMC_BR_CSNT40 (1<<4) /* CS* negate timing for 040 */
#define | M360_MEMC_BR_CSNTQ (1<<3) /* CS* negate timing for 360 */
#define | M360_MEMC_BR_PAREN (1<<2) /* Enable parity checking */
#define | M360_MEMC_BR_WP (1<<1) /* Write Protect */
#define | M360_MEMC_BR_V (1<<0) /* Base/Option register are valid */
#define | M360_MEMC_OR_TCYC(x) ((x)<<28) /* Cycle length (clocks) */
#define | M360_MEMC_OR_WAITS(x) M360_MEMC_OR_TCYC((x)+1)
#define | M360_MEMC_OR_2KB 0x0FFFF800 /* Address range */
#define | M360_MEMC_OR_4KB 0x0FFFF000
#define | M360_MEMC_OR_8KB 0x0FFFE000
#define | M360_MEMC_OR_16KB 0x0FFFC000
#define | M360_MEMC_OR_32KB 0x0FFF8000
#define | M360_MEMC_OR_64KB 0x0FFF0000
#define | M360_MEMC_OR_128KB 0x0FFE0000
#define | M360_MEMC_OR_256KB 0x0FFC0000
#define | M360_MEMC_OR_512KB 0x0FF80000
#define | M360_MEMC_OR_1MB 0x0FF00000
#define | M360_MEMC_OR_2MB 0x0FE00000
#define | M360_MEMC_OR_4MB 0x0FC00000
#define | M360_MEMC_OR_8MB 0x0F800000
#define | M360_MEMC_OR_16MB 0x0F000000
#define | M360_MEMC_OR_32MB 0x0E000000
#define | M360_MEMC_OR_64MB 0x0C000000
#define | M360_MEMC_OR_128MB 0x08000000
#define | M360_MEMC_OR_256MB 0x00000000
#define | M360_MEMC_OR_FCMC(x) ((x)<<7) /* Function code mask */
#define | M360_MEMC_OR_BCYC(x) ((x)<<5) /* Burst cycle length (clocks) */
#define | M360_MEMC_OR_PGME (1<<3) /* Page mode enable */
#define | M360_MEMC_OR_32BIT (0<<1) /* Port size */
#define | M360_MEMC_OR_16BIT (1<<1)
#define | M360_MEMC_OR_8BIT (2<<1)
#define | M360_MEMC_OR_DSACK (3<<1)
#define | M360_MEMC_OR_DRAM (1<<0) /* Dynamic RAM select */
#define | M360_SI_SMC2_BITS 0xFFFF0000 /* All SMC2 bits */
#define | M360_SI_SMC2_TDM (1<<31) /* Multiplexed SMC2 */
#define | M360_SI_SMC2_BRG1 (0<<28) /* SMC2 clock souce */
#define | M360_SI_SMC2_BRG2 (1<<28)
#define | M360_SI_SMC2_BRG3 (2<<28)
#define | M360_SI_SMC2_BRG4 (3<<28)
#define | M360_SI_SMC2_CLK5 (0<<28)
#define | M360_SI_SMC2_CLK6 (1<<28)
#define | M360_SI_SMC2_CLK7 (2<<28)
#define | M360_SI_SMC2_CLK8 (3<<28)
#define | M360_SI_SMC1_BITS 0x0000FFFF /* All SMC1 bits */
#define | M360_SI_SMC1_TDM (1<<15) /* Multiplexed SMC1 */
#define | M360_SI_SMC1_BRG1 (0<<12) /* SMC1 clock souce */
#define | M360_SI_SMC1_BRG2 (1<<12)
#define | M360_SI_SMC1_BRG3 (2<<12)
#define | M360_SI_SMC1_BRG4 (3<<12)
#define | M360_SI_SMC1_CLK1 (0<<12)
#define | M360_SI_SMC1_CLK2 (1<<12)
#define | M360_SI_SMC1_CLK3 (2<<12)
#define | M360_SI_SMC1_CLK4 (3<<12)
#define | M360_SDMA_FREEZE (2<<13) /* Freeze on next bus cycle */
#define | M360_SDMA_SISM_7 (7<<8) /* Normal interrupt service mask */
#define | M360_SDMA_SAID_4 (4<<4) /* Normal arbitration ID */
#define | M360_SDMA_INTE (1<<1) /* SBER interrupt enable */
#define | M360_SDMA_INTB (1<<0) /* SBKP interrupt enable */
#define | M360_BRG_RST (1<<17) /* Reset generator */
#define | M360_BRG_EN (1<<16) /* Enable generator */
#define | M360_BRG_EXTC_BRGCLK (0<<14) /* Source is BRGCLK */
#define | M360_BRG_EXTC_CLK2 (1<<14) /* Source is CLK2 pin */
#define | M360_BRG_EXTC_CLK6 (2<<14) /* Source is CLK6 pin */
#define | M360_BRG_ATB (1<<13) /* Autobaud */
#define | M360_BRG_115200 (13<<1) /* Assume 25 MHz clock */
#define | M360_BRG_57600 (26<<1)
#define | M360_BRG_38400 (40<<1)
#define | M360_BRG_19200 (80<<1)
#define | M360_BRG_9600 (162<<1)
#define | M360_BRG_4800 (324<<1)
#define | M360_BRG_2400 (650<<1)
#define | M360_BRG_1200 (1301<<1)
#define | M360_BRG_600 (2603<<1)
#define | M360_BRG_300 ((324<<1) | 1)
#define | M360_BRG_150 ((650<<1) | 1)
#define | M360_BRG_75 ((1301<<1) | 1)
#define | M360_PB_SPI_MISO_MSK (1<< 3)
#define | M360_PB_SPI_MOSI_MSK (1<< 2)
#define | M360_PB_SPI_CLK_MSK (1<< 1)

## Typedefs
typedef struct m360MEMCRegisters_ | m360MEMCRegisters_t
typedef struct m360SCCRegisters_ | m360SCCRegisters_t
typedef struct m360SMCRegisters_ | m360SMCRegisters_t
typedef struct m360MiscParms_ | m360MiscParms_t
typedef struct m360TimerParms_ | m360TimerParms_t
typedef struct m360IDMAparms_ | m360IDMAparms_t
typedef struct m360SCCparms_ | m360SCCparms_t
typedef struct m360SCCENparms_ | m360SCCENparms_t
typedef struct m360SMCparms_ | m360SMCparms_t
typedef struct m360SPIparms_ | m360SPIparms_t
typedef struct m360BufferDescriptor_ | m360BufferDescriptor_t
typedef struct m360IDMABufferDescriptor_ | m360IDMABufferDescriptor_t
typedef struct m360_ | m360_t

## Variables
volatile m360_t | m360

## Detailed Description

Definitions for Motorola MC68360 Processor.