0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 #ifndef _CXGB_ELMER0_H_
0030 #define _CXGB_ELMER0_H_
0031
0032
0033 enum {
0034 ELMER0_XC2S300E_6FT256_C,
0035 ELMER0_XC2S100E_6TQ144_C
0036 };
0037
0038
0039 #define A_ELMER0_VERSION 0x100000
0040 #define A_ELMER0_PHY_CFG 0x100004
0041 #define A_ELMER0_INT_ENABLE 0x100008
0042 #define A_ELMER0_INT_CAUSE 0x10000c
0043 #define A_ELMER0_GPI_CFG 0x100010
0044 #define A_ELMER0_GPI_STAT 0x100014
0045 #define A_ELMER0_GPO 0x100018
0046 #define A_ELMER0_PORT0_MI1_CFG 0x400000
0047
0048 #define S_MI1_MDI_ENABLE 0
0049 #define V_MI1_MDI_ENABLE(x) ((x) << S_MI1_MDI_ENABLE)
0050 #define F_MI1_MDI_ENABLE V_MI1_MDI_ENABLE(1U)
0051
0052 #define S_MI1_MDI_INVERT 1
0053 #define V_MI1_MDI_INVERT(x) ((x) << S_MI1_MDI_INVERT)
0054 #define F_MI1_MDI_INVERT V_MI1_MDI_INVERT(1U)
0055
0056 #define S_MI1_PREAMBLE_ENABLE 2
0057 #define V_MI1_PREAMBLE_ENABLE(x) ((x) << S_MI1_PREAMBLE_ENABLE)
0058 #define F_MI1_PREAMBLE_ENABLE V_MI1_PREAMBLE_ENABLE(1U)
0059
0060 #define S_MI1_SOF 3
0061 #define M_MI1_SOF 0x3
0062 #define V_MI1_SOF(x) ((x) << S_MI1_SOF)
0063 #define G_MI1_SOF(x) (((x) >> S_MI1_SOF) & M_MI1_SOF)
0064
0065 #define S_MI1_CLK_DIV 5
0066 #define M_MI1_CLK_DIV 0xff
0067 #define V_MI1_CLK_DIV(x) ((x) << S_MI1_CLK_DIV)
0068 #define G_MI1_CLK_DIV(x) (((x) >> S_MI1_CLK_DIV) & M_MI1_CLK_DIV)
0069
0070 #define A_ELMER0_PORT0_MI1_ADDR 0x400004
0071
0072 #define S_MI1_REG_ADDR 0
0073 #define M_MI1_REG_ADDR 0x1f
0074 #define V_MI1_REG_ADDR(x) ((x) << S_MI1_REG_ADDR)
0075 #define G_MI1_REG_ADDR(x) (((x) >> S_MI1_REG_ADDR) & M_MI1_REG_ADDR)
0076
0077 #define S_MI1_PHY_ADDR 5
0078 #define M_MI1_PHY_ADDR 0x1f
0079 #define V_MI1_PHY_ADDR(x) ((x) << S_MI1_PHY_ADDR)
0080 #define G_MI1_PHY_ADDR(x) (((x) >> S_MI1_PHY_ADDR) & M_MI1_PHY_ADDR)
0081
0082 #define A_ELMER0_PORT0_MI1_DATA 0x400008
0083
0084 #define S_MI1_DATA 0
0085 #define M_MI1_DATA 0xffff
0086 #define V_MI1_DATA(x) ((x) << S_MI1_DATA)
0087 #define G_MI1_DATA(x) (((x) >> S_MI1_DATA) & M_MI1_DATA)
0088
0089 #define A_ELMER0_PORT0_MI1_OP 0x40000c
0090
0091 #define S_MI1_OP 0
0092 #define M_MI1_OP 0x3
0093 #define V_MI1_OP(x) ((x) << S_MI1_OP)
0094 #define G_MI1_OP(x) (((x) >> S_MI1_OP) & M_MI1_OP)
0095
0096 #define S_MI1_ADDR_AUTOINC 2
0097 #define V_MI1_ADDR_AUTOINC(x) ((x) << S_MI1_ADDR_AUTOINC)
0098 #define F_MI1_ADDR_AUTOINC V_MI1_ADDR_AUTOINC(1U)
0099
0100 #define S_MI1_OP_BUSY 31
0101 #define V_MI1_OP_BUSY(x) ((x) << S_MI1_OP_BUSY)
0102 #define F_MI1_OP_BUSY V_MI1_OP_BUSY(1U)
0103
0104 #define A_ELMER0_PORT1_MI1_CFG 0x500000
0105 #define A_ELMER0_PORT1_MI1_ADDR 0x500004
0106 #define A_ELMER0_PORT1_MI1_DATA 0x500008
0107 #define A_ELMER0_PORT1_MI1_OP 0x50000c
0108 #define A_ELMER0_PORT2_MI1_CFG 0x600000
0109 #define A_ELMER0_PORT2_MI1_ADDR 0x600004
0110 #define A_ELMER0_PORT2_MI1_DATA 0x600008
0111 #define A_ELMER0_PORT2_MI1_OP 0x60000c
0112 #define A_ELMER0_PORT3_MI1_CFG 0x700000
0113 #define A_ELMER0_PORT3_MI1_ADDR 0x700004
0114 #define A_ELMER0_PORT3_MI1_DATA 0x700008
0115 #define A_ELMER0_PORT3_MI1_OP 0x70000c
0116
0117
0118 #define ELMER0_GP_BIT0 0x0001
0119 #define ELMER0_GP_BIT1 0x0002
0120 #define ELMER0_GP_BIT2 0x0004
0121 #define ELMER0_GP_BIT3 0x0008
0122 #define ELMER0_GP_BIT4 0x0010
0123 #define ELMER0_GP_BIT5 0x0020
0124 #define ELMER0_GP_BIT6 0x0040
0125 #define ELMER0_GP_BIT7 0x0080
0126 #define ELMER0_GP_BIT8 0x0100
0127 #define ELMER0_GP_BIT9 0x0200
0128 #define ELMER0_GP_BIT10 0x0400
0129 #define ELMER0_GP_BIT11 0x0800
0130 #define ELMER0_GP_BIT12 0x1000
0131 #define ELMER0_GP_BIT13 0x2000
0132 #define ELMER0_GP_BIT14 0x4000
0133 #define ELMER0_GP_BIT15 0x8000
0134 #define ELMER0_GP_BIT16 0x10000
0135 #define ELMER0_GP_BIT17 0x20000
0136 #define ELMER0_GP_BIT18 0x40000
0137 #define ELMER0_GP_BIT19 0x80000
0138
0139 #define MI1_OP_DIRECT_WRITE 1
0140 #define MI1_OP_DIRECT_READ 2
0141
0142 #define MI1_OP_INDIRECT_ADDRESS 0
0143 #define MI1_OP_INDIRECT_WRITE 1
0144 #define MI1_OP_INDIRECT_READ_INC 2
0145 #define MI1_OP_INDIRECT_READ 3
0146
0147 #endif