📄 cpm2.h
字号:
#define CMXFCR_RF3CS_BRG7 0x00001000 /* Receive FCC3 Clock Source is BRG7 */#define CMXFCR_RF3CS_BRG8 0x00001800 /* Receive FCC3 Clock Source is BRG8 */#define CMXFCR_RF3CS_CLK13 0x00002000 /* Receive FCC3 Clock Source is CLK13 */#define CMXFCR_RF3CS_CLK14 0x00002800 /* Receive FCC3 Clock Source is CLK14 */#define CMXFCR_RF3CS_CLK15 0x00003000 /* Receive FCC3 Clock Source is CLK15 */#define CMXFCR_RF3CS_CLK16 0x00003800 /* Receive FCC3 Clock Source is CLK16 */#define CMXFCR_TF3CS_BRG5 0x00000000 /* Transmit FCC3 Clock Source is BRG5 */#define CMXFCR_TF3CS_BRG6 0x00000100 /* Transmit FCC3 Clock Source is BRG6 */#define CMXFCR_TF3CS_BRG7 0x00000200 /* Transmit FCC3 Clock Source is BRG7 */#define CMXFCR_TF3CS_BRG8 0x00000300 /* Transmit FCC3 Clock Source is BRG8 */#define CMXFCR_TF3CS_CLK13 0x00000400 /* Transmit FCC3 Clock Source is CLK13 */#define CMXFCR_TF3CS_CLK14 0x00000500 /* Transmit FCC3 Clock Source is CLK14 */#define CMXFCR_TF3CS_CLK15 0x00000600 /* Transmit FCC3 Clock Source is CLK15 */#define CMXFCR_TF3CS_CLK16 0x00000700 /* Transmit FCC3 Clock Source is CLK16 *//*----------------------------------------------------------------------- * CMXSCR - CMX SCC Clock Route Register */#define CMXSCR_GR1 0x80000000 /* Grant Support of SCC1 */#define CMXSCR_SC1 0x40000000 /* SCC1 connection */#define CMXSCR_RS1CS_MSK 0x38000000 /* Receive SCC1 Clock Source Mask */#define CMXSCR_TS1CS_MSK 0x07000000 /* Transmit SCC1 Clock Source Mask */#define CMXSCR_GR2 0x00800000 /* Grant Support of SCC2 */#define CMXSCR_SC2 0x00400000 /* SCC2 connection */#define CMXSCR_RS2CS_MSK 0x00380000 /* Receive SCC2 Clock Source Mask */#define CMXSCR_TS2CS_MSK 0x00070000 /* Transmit SCC2 Clock Source Mask */#define CMXSCR_GR3 0x00008000 /* Grant Support of SCC3 */#define CMXSCR_SC3 0x00004000 /* SCC3 connection */#define CMXSCR_RS3CS_MSK 0x00003800 /* Receive SCC3 Clock Source Mask */#define CMXSCR_TS3CS_MSK 0x00000700 /* Transmit SCC3 Clock Source Mask */#define CMXSCR_GR4 0x00000080 /* Grant Support of SCC4 */#define CMXSCR_SC4 0x00000040 /* SCC4 connection */#define CMXSCR_RS4CS_MSK 0x00000038 /* Receive SCC4 Clock Source Mask */#define CMXSCR_TS4CS_MSK 0x00000007 /* Transmit SCC4 Clock Source Mask */#define CMXSCR_RS1CS_BRG1 0x00000000 /* SCC1 Rx Clock Source is BRG1 */#define CMXSCR_RS1CS_BRG2 0x08000000 /* SCC1 Rx Clock Source is BRG2 */#define CMXSCR_RS1CS_BRG3 0x10000000 /* SCC1 Rx Clock Source is BRG3 */#define CMXSCR_RS1CS_BRG4 0x18000000 /* SCC1 Rx Clock Source is BRG4 */#define CMXSCR_RS1CS_CLK11 0x20000000 /* SCC1 Rx Clock Source is CLK11 */#define CMXSCR_RS1CS_CLK12 0x28000000 /* SCC1 Rx Clock Source is CLK12 */#define CMXSCR_RS1CS_CLK3 0x30000000 /* SCC1 Rx Clock Source is CLK3 */#define CMXSCR_RS1CS_CLK4 0x38000000 /* SCC1 Rx Clock Source is CLK4 */#define CMXSCR_TS1CS_BRG1 0x00000000 /* SCC1 Tx Clock Source is BRG1 */#define CMXSCR_TS1CS_BRG2 0x01000000 /* SCC1 Tx Clock Source is BRG2 */#define CMXSCR_TS1CS_BRG3 0x02000000 /* SCC1 Tx Clock Source is BRG3 */#define CMXSCR_TS1CS_BRG4 0x03000000 /* SCC1 Tx Clock Source is BRG4 */#define CMXSCR_TS1CS_CLK11 0x04000000 /* SCC1 Tx Clock Source is CLK11 */#define CMXSCR_TS1CS_CLK12 0x05000000 /* SCC1 Tx Clock Source is CLK12 */#define CMXSCR_TS1CS_CLK3 0x06000000 /* SCC1 Tx Clock Source is CLK3 */#define CMXSCR_TS1CS_CLK4 0x07000000 /* SCC1 Tx Clock Source is CLK4 */#define CMXSCR_RS2CS_BRG1 0x00000000 /* SCC2 Rx Clock Source is BRG1 */#define CMXSCR_RS2CS_BRG2 0x00080000 /* SCC2 Rx Clock Source is BRG2 */#define CMXSCR_RS2CS_BRG3 0x00100000 /* SCC2 Rx Clock Source is BRG3 */#define CMXSCR_RS2CS_BRG4 0x00180000 /* SCC2 Rx Clock Source is BRG4 */#define CMXSCR_RS2CS_CLK11 0x00200000 /* SCC2 Rx Clock Source is CLK11 */#define CMXSCR_RS2CS_CLK12 0x00280000 /* SCC2 Rx Clock Source is CLK12 */#define CMXSCR_RS2CS_CLK3 0x00300000 /* SCC2 Rx Clock Source is CLK3 */#define CMXSCR_RS2CS_CLK4 0x00380000 /* SCC2 Rx Clock Source is CLK4 */#define CMXSCR_TS2CS_BRG1 0x00000000 /* SCC2 Tx Clock Source is BRG1 */#define CMXSCR_TS2CS_BRG2 0x00010000 /* SCC2 Tx Clock Source is BRG2 */#define CMXSCR_TS2CS_BRG3 0x00020000 /* SCC2 Tx Clock Source is BRG3 */#define CMXSCR_TS2CS_BRG4 0x00030000 /* SCC2 Tx Clock Source is BRG4 */#define CMXSCR_TS2CS_CLK11 0x00040000 /* SCC2 Tx Clock Source is CLK11 */#define CMXSCR_TS2CS_CLK12 0x00050000 /* SCC2 Tx Clock Source is CLK12 */#define CMXSCR_TS2CS_CLK3 0x00060000 /* SCC2 Tx Clock Source is CLK3 */#define CMXSCR_TS2CS_CLK4 0x00070000 /* SCC2 Tx Clock Source is CLK4 */#define CMXSCR_RS3CS_BRG1 0x00000000 /* SCC3 Rx Clock Source is BRG1 */#define CMXSCR_RS3CS_BRG2 0x00000800 /* SCC3 Rx Clock Source is BRG2 */#define CMXSCR_RS3CS_BRG3 0x00001000 /* SCC3 Rx Clock Source is BRG3 */#define CMXSCR_RS3CS_BRG4 0x00001800 /* SCC3 Rx Clock Source is BRG4 */#define CMXSCR_RS3CS_CLK5 0x00002000 /* SCC3 Rx Clock Source is CLK5 */#define CMXSCR_RS3CS_CLK6 0x00002800 /* SCC3 Rx Clock Source is CLK6 */#define CMXSCR_RS3CS_CLK7 0x00003000 /* SCC3 Rx Clock Source is CLK7 */#define CMXSCR_RS3CS_CLK8 0x00003800 /* SCC3 Rx Clock Source is CLK8 */#define CMXSCR_TS3CS_BRG1 0x00000000 /* SCC3 Tx Clock Source is BRG1 */#define CMXSCR_TS3CS_BRG2 0x00000100 /* SCC3 Tx Clock Source is BRG2 */#define CMXSCR_TS3CS_BRG3 0x00000200 /* SCC3 Tx Clock Source is BRG3 */#define CMXSCR_TS3CS_BRG4 0x00000300 /* SCC3 Tx Clock Source is BRG4 */#define CMXSCR_TS3CS_CLK5 0x00000400 /* SCC3 Tx Clock Source is CLK5 */#define CMXSCR_TS3CS_CLK6 0x00000500 /* SCC3 Tx Clock Source is CLK6 */#define CMXSCR_TS3CS_CLK7 0x00000600 /* SCC3 Tx Clock Source is CLK7 */#define CMXSCR_TS3CS_CLK8 0x00000700 /* SCC3 Tx Clock Source is CLK8 */#define CMXSCR_RS4CS_BRG1 0x00000000 /* SCC4 Rx Clock Source is BRG1 */#define CMXSCR_RS4CS_BRG2 0x00000008 /* SCC4 Rx Clock Source is BRG2 */#define CMXSCR_RS4CS_BRG3 0x00000010 /* SCC4 Rx Clock Source is BRG3 */#define CMXSCR_RS4CS_BRG4 0x00000018 /* SCC4 Rx Clock Source is BRG4 */#define CMXSCR_RS4CS_CLK5 0x00000020 /* SCC4 Rx Clock Source is CLK5 */#define CMXSCR_RS4CS_CLK6 0x00000028 /* SCC4 Rx Clock Source is CLK6 */#define CMXSCR_RS4CS_CLK7 0x00000030 /* SCC4 Rx Clock Source is CLK7 */#define CMXSCR_RS4CS_CLK8 0x00000038 /* SCC4 Rx Clock Source is CLK8 */#define CMXSCR_TS4CS_BRG1 0x00000000 /* SCC4 Tx Clock Source is BRG1 */#define CMXSCR_TS4CS_BRG2 0x00000001 /* SCC4 Tx Clock Source is BRG2 */#define CMXSCR_TS4CS_BRG3 0x00000002 /* SCC4 Tx Clock Source is BRG3 */#define CMXSCR_TS4CS_BRG4 0x00000003 /* SCC4 Tx Clock Source is BRG4 */#define CMXSCR_TS4CS_CLK5 0x00000004 /* SCC4 Tx Clock Source is CLK5 */#define CMXSCR_TS4CS_CLK6 0x00000005 /* SCC4 Tx Clock Source is CLK6 */#define CMXSCR_TS4CS_CLK7 0x00000006 /* SCC4 Tx Clock Source is CLK7 */#define CMXSCR_TS4CS_CLK8 0x00000007 /* SCC4 Tx Clock Source is CLK8 *//*----------------------------------------------------------------------- * SIUMCR - SIU Module Configuration Register 4-31 */#define SIUMCR_BBD 0x80000000 /* Bus Busy Disable */#define SIUMCR_ESE 0x40000000 /* External Snoop Enable */#define SIUMCR_PBSE 0x20000000 /* Parity Byte Select Enable */#define SIUMCR_CDIS 0x10000000 /* Core Disable */#define SIUMCR_DPPC00 0x00000000 /* Data Parity Pins Configuration*/#define SIUMCR_DPPC01 0x04000000 /* - " - */#define SIUMCR_DPPC10 0x08000000 /* - " - */#define SIUMCR_DPPC11 0x0c000000 /* - " - */#define SIUMCR_L2CPC00 0x00000000 /* L2 Cache Pins Configuration */#define SIUMCR_L2CPC01 0x01000000 /* - " - */#define SIUMCR_L2CPC10 0x02000000 /* - " - */#define SIUMCR_L2CPC11 0x03000000 /* - " - */#define SIUMCR_LBPC00 0x00000000 /* Local Bus Pins Configuration */#define SIUMCR_LBPC01 0x00400000 /* - " - */#define SIUMCR_LBPC10 0x00800000 /* - " - */#define SIUMCR_LBPC11 0x00c00000 /* - " - */#define SIUMCR_APPC00 0x00000000 /* Address Parity Pins Configuration*/#define SIUMCR_APPC01 0x00100000 /* - " - */#define SIUMCR_APPC10 0x00200000 /* - " - */#define SIUMCR_APPC11 0x00300000 /* - " - */#define SIUMCR_CS10PC00 0x00000000 /* CS10 Pin Configuration */#define SIUMCR_CS10PC01 0x00040000 /* - " - */#define SIUMCR_CS10PC10 0x00080000 /* - " - */#define SIUMCR_CS10PC11 0x000c0000 /* - " - */#define SIUMCR_BCTLC00 0x00000000 /* Buffer Control Configuration */#define SIUMCR_BCTLC01 0x00010000 /* - " - */#define SIUMCR_BCTLC10 0x00020000 /* - " - */#define SIUMCR_BCTLC11 0x00030000 /* - " - */#define SIUMCR_MMR00 0x00000000 /* Mask Masters Requests */#define SIUMCR_MMR01 0x00004000 /* - " - */#define SIUMCR_MMR10 0x00008000 /* - " - */#define SIUMCR_MMR11 0x0000c000 /* - " - */#define SIUMCR_LPBSE 0x00002000 /* LocalBus Parity Byte Select Enable*//*----------------------------------------------------------------------- * SCCR - System Clock Control Register 9-8*/#define SCCR_PCI_MODE 0x00000100 /* PCI Mode */#define SCCR_PCI_MODCK 0x00000080 /* Value of PCI_MODCK pin */#define SCCR_PCIDF_MSK 0x00000078 /* PCI division factor */#define SCCR_PCIDF_SHIFT 3#ifndef CPM_IMMR_OFFSET#define CPM_IMMR_OFFSET 0x101a8#endif#define FCC_PSMR_RMII ((uint)0x00020000) /* Use RMII interface *//* FCC iop & clock configuration. BSP code is responsible to define Fx_RXCLK & Fx_TXCLK * in order to use clock-computing stuff below for the FCC x *//* Automatically generates register configurations */#define PC_CLK(x) ((uint)(1<<(x-1))) /* FCC CLK I/O ports */#define CMXFCR_RF1CS(x) ((uint)((x-5)<<27)) /* FCC1 Receive Clock Source */#define CMXFCR_TF1CS(x) ((uint)((x-5)<<24)) /* FCC1 Transmit Clock Source */#define CMXFCR_RF2CS(x) ((uint)((x-9)<<19)) /* FCC2 Receive Clock Source */#define CMXFCR_TF2CS(x) ((uint)((x-9)<<16)) /* FCC2 Transmit Clock Source */#define CMXFCR_RF3CS(x) ((uint)((x-9)<<11)) /* FCC3 Receive Clock Source */#define CMXFCR_TF3CS(x) ((uint)((x-9)<<8)) /* FCC3 Transmit Clock Source */#define PC_F1RXCLK PC_CLK(F1_RXCLK)#define PC_F1TXCLK PC_CLK(F1_TXCLK)#define CMX1_CLK_ROUTE (CMXFCR_RF1CS(F1_RXCLK) | CMXFCR_TF1CS(F1_TXCLK))#define CMX1_CLK_MASK ((uint)0xff000000)#define PC_F2RXCLK PC_CLK(F2_RXCLK)#define PC_F2TXCLK PC_CLK(F2_TXCLK)#define CMX2_CLK_ROUTE (CMXFCR_RF2CS(F2_RXCLK) | CMXFCR_TF2CS(F2_TXCLK))#define CMX2_CLK_MASK ((uint)0x00ff0000)#define PC_F3RXCLK PC_CLK(F3_RXCLK)#define PC_F3TXCLK PC_CLK(F3_TXCLK)#define CMX3_CLK_ROUTE (CMXFCR_RF3CS(F3_RXCLK) | CMXFCR_TF3CS(F3_TXCLK))#define CMX3_CLK_MASK ((uint)0x0000ff00)#define CPMUX_CLK_MASK (CMX3_CLK_MASK | CMX2_CLK_MASK)#define CPMUX_CLK_ROUTE (CMX3_CLK_ROUTE | CMX2_CLK_ROUTE)#define CLK_TRX (PC_F3TXCLK | PC_F3RXCLK | PC_F2TXCLK | PC_F2RXCLK)/* I/O Pin assignment for FCC1. I don't yet know the best way to do this, * but there is little variation among the choices. */#define PA1_COL 0x00000001U#define PA1_CRS 0x00000002U#define PA1_TXER 0x00000004U#define PA1_TXEN 0x00000008U#define PA1_RXDV 0x00000010U#define PA1_RXER 0x00000020U#define PA1_TXDAT 0x00003c00U#define PA1_RXDAT 0x0003c000U#define PA1_PSORA0 (PA1_RXDAT | PA1_TXDAT)#define PA1_PSORA1 (PA1_COL | PA1_CRS | PA1_TXER | PA1_TXEN | \ PA1_RXDV | PA1_RXER)#define PA1_DIRA0 (PA1_RXDAT | PA1_CRS | PA1_COL | PA1_RXER | PA1_RXDV)#define PA1_DIRA1 (PA1_TXDAT | PA1_TXEN | PA1_TXER)/* I/O Pin assignment for FCC2. I don't yet know the best way to do this, * but there is little variation among the choices. */#define PB2_TXER 0x00000001U#define PB2_RXDV 0x00000002U#define PB2_TXEN 0x00000004U#define PB2_RXER 0x00000008U#define PB2_COL 0x00000010U#define PB2_CRS 0x00000020U#define PB2_TXDAT 0x000003c0U#define PB2_RXDAT 0x00003c00U#define PB2_PSORB0 (PB2_RXDAT | PB2_TXDAT | PB2_CRS | PB2_COL | \ PB2_RXER | PB2_RXDV | PB2_TXER)#define PB2_PSORB1 (PB2_TXEN)#define PB2_DIRB0 (PB2_RXDAT | PB2_CRS | PB2_COL | PB2_RXER | PB2_RXDV)#define PB2_DIRB1 (PB2_TXDAT | PB2_TXEN | PB2_TXER)/* I/O Pin assignment for FCC3. I don't yet know the best way to do this, * but there is little variation among the choices. */#define PB3_RXDV 0x00004000U#define PB3_RXER 0x00008000U#define PB3_TXER 0x00010000U#define PB3_TXEN 0x00020000U#define PB3_COL 0x00040000U#define PB3_CRS 0x00080000U#define PB3_TXDAT 0x0f000000U#define PC3_TXDAT 0x00000010U#define PB3_RXDAT 0x00f00000U#define PB3_PSORB0 (PB3_RXDAT | PB3_TXDAT | PB3_CRS | PB3_COL | \ PB3_RXER | PB3_RXDV | PB3_TXER | PB3_TXEN)#define PB3_PSORB1 0#define PB3_DIRB0 (PB3_RXDAT | PB3_CRS | PB3_COL | PB3_RXER | PB3_RXDV)#define PB3_DIRB1 (PB3_TXDAT | PB3_TXEN | PB3_TXER)#define PC3_DIRC1 (PC3_TXDAT)/* Handy macro to specify mem for FCCs*/#define FCC_MEM_OFFSET(x) (CPM_FCC_SPECIAL_BASE + (x*128))#define FCC1_MEM_OFFSET FCC_MEM_OFFSET(0)#define FCC2_MEM_OFFSET FCC_MEM_OFFSET(1)#define FCC3_MEM_OFFSET FCC_MEM_OFFSET(2)/* Clocks and GRG's */enum cpm_clk_dir { CPM_CLK_RX, CPM_CLK_TX, CPM_CLK_RTX};enum cpm_clk_target { CPM_CLK_SCC1, CPM_CLK_SCC2, CPM_CLK_SCC3, CPM_CLK_SCC4, CPM_CLK_FCC1, CPM_CLK_FCC2, CPM_CLK_FCC3};enum cpm_clk { CPM_CLK_NONE = 0, CPM_BRG1, /* Baud Rate Generator 1 */ CPM_BRG2, /* Baud Rate Generator 2 */ CPM_BRG3, /* Baud Rate Generator 3 */ CPM_BRG4, /* Baud Rate Generator 4 */ CPM_BRG5, /* Baud Rate Generator 5 */ CPM_BRG6, /* Baud Rate Generator 6 */ CPM_BRG7, /* Baud Rate Generator 7 */ CPM_BRG8, /* Baud Rate Generator 8 */ CPM_CLK1, /* Clock 1 */ CPM_CLK2, /* Clock 2 */ CPM_CLK3, /* Clock 3 */ CPM_CLK4, /* Clock 4 */ CPM_CLK5, /* Clock 5 */ CPM_CLK6, /* Clock 6 */ CPM_CLK7, /* Clock 7 */ CPM_CLK8, /* Clock 8 */ CPM_CLK9, /* Clock 9 */ CPM_CLK10, /* Clock 10 */ CPM_CLK11, /* Clock 11 */ CPM_CLK12, /* Clock 12 */ CPM_CLK13, /* Clock 13 */ CPM_CLK14, /* Clock 14 */ CPM_CLK15, /* Clock 15 */ CPM_CLK16, /* Clock 16 */ CPM_CLK17, /* Clock 17 */ CPM_CLK18, /* Clock 18 */ CPM_CLK19, /* Clock 19 */ CPM_CLK20, /* Clock 20 */ CPM_CLK_DUMMY};extern int cpm2_clk_setup(enum cpm_clk_target target, int clock, int mode);#endif /* __CPM2__ */#endif /* __KERNEL__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -