summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/arm926ejs/aspeed/MAC.H
blob: 67321176af0059836b5d0b2272be36b17b804e18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/*
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
#ifndef MAC_H
#define MAC_H

#ifdef SPI_BUS
  #include <stdio.h>
  #include <stdlib.h>
  #include <time.h>
  #define SPI_CS            1
#endif
// ( USE_P2A | USE_LPC )

#if defined(LinuxAP)
  #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
  #include <stdarg.h>
  #include <unistd.h>
  #include <string.h>
  #include <fcntl.h>
  #include <pthread.h>
  #include <sys/mman.h>
  #include <sys/io.h>
#endif
#ifdef SLT_UBOOT
  #include <common.h>
  #include <command.h>
#endif
#ifdef SLT_DOS
  #include <stdio.h>
  #include <stdlib.h>
  #include <time.h>
  #include <conio.h>
  #include <dos.h>
  #include <mem.h>
#endif

#include "NCSI.H"
#include "IO.H"

// --------------------------------------------------------------
// Define                                                        
// --------------------------------------------------------------

//#define Force_Enable_MAC34             //[ON][SLT:off] (Force enable mac34)
//#define Force_Enable_NewMDIO           //[off][SLT:off] (Force enable new MDC/MDIO)
//#define Enable_Fast_SCU                //[off]
//#define Enable_Old_Style               //[off]
#define ENABLE_DASA                    //[ON]
//#define Enable_AST2300_Int125MHz       //[off]
//#define ENABLE_ARP_2_WOL               //[off]
//#define Enable_MAC_SWRst               //[off]

#define Enable_Runt
//#define Enable_Jumbo
//#define Enable_BufMerge
//#define Disable_VGA

//#define SelectSimpleBoundary                        //[off] Using in debug
//#define SelectSimpleData                            //[off] Using in debug
//#define SelectSimpleLength         1512             //[off] 60(0x3c) ~ 1514(0x5ea); 1512(0x5e8)
//#define SelectDesNumber            8                //[off] 1 ~
//#define SelectSimpleDA                              //[off] Using in debug
//#define SelectSimpleDes                             //[off]
//#define SelectLengthInc                             //[off] Using in debug

#define   SimpleData_Fix                                                //[ON] Using in debug
#define   SimpleData_FixNum          12
#define   SimpleData_FixVal00        0x00000000     //[0]no SelectSimpleDA: (60: 0412 8908)(1512: e20d e9da)
#define   SimpleData_FixVal01        0xffffffff     //[0]no SelectSimpleDA: (60: f48c f14d)(1512: af05 260c)
#define   SimpleData_FixVal02        0x55555555     //[0]no SelectSimpleDA: (60: 5467 5ecb)(1512: d90a 5368)
#define   SimpleData_FixVal03        0xaaaaaaaa     //[0]no SelectSimpleDA: (60: a4f9 268e)(1512: 9402 9cbe)
#define   SimpleData_FixVal04        0x5a5a5a5a     //[1]no SelectSimpleDA: (60: 7f01 e22d)(1512: 4fd3 8012)
#define   SimpleData_FixVal05        0xc3c3c3c3     //[1]no SelectSimpleDA: (60: 5916 02d5)(1512: 99f1 6127)
#define   SimpleData_FixVal06        0x96969696     //[1]no SelectSimpleDA: (60: 0963 d516)(1512: a2f6 db95)
#define   SimpleData_FixVal07        0xf0f0f0f0     //[1]no SelectSimpleDA: (60: dfea 4dab)(1512: 39dc f576)
#define   SimpleData_FixVal08        0x5555aaaa     //[2]no SelectSimpleDA: (60: b61b 5777)(1512: 4652 ddb0)
#define   SimpleData_FixVal09        0xffff0000     //[2]no SelectSimpleDA: (60: 16f0 f8f1)(1512: 305d a8d4)
#define   SimpleData_FixVal10        0x5a5aa5a5     //[2]no SelectSimpleDA: (60: 9d7d eb91)(1512: d08b 0eca)
#define   SimpleData_FixVal11        0xc3c33c3c     //[2]no SelectSimpleDA: (60: bb6a 0b69)(1512: 06a9 efff)

#define   SelectSimpleDA_Dat0        0x67052301
#define   SelectSimpleDA_Dat1        0xe0cda089
#define   SelectSimpleDA_Dat2        0x98badcfe

#define   SelectWOLDA_DatH           0x206a
#define   SelectWOLDA_DatL           0x8a374d9b

#define   MOVE_DATA_MB_SEC           800            // MByte per second to move data

//---------------------------------------------------------
// Frame size
//---------------------------------------------------------
#define  ENABLE_RAND_SIZE             0
#define  Rand_Sed                     0xffccd
#define  FRAME_Rand_Simple            0
#define  MIN_FRAME_RAND_SIZE               60
#define  MAX_FRAME_RAND_SIZE               1514

#define FRAME_SELH_PERD               7
#ifdef Enable_Jumbo
//    #define FRAME_LENH                9212           //max:9212
//    #define FRAME_LENL                9211           //max:9212
    #define FRAME_LENH                9212           //max:9212
    #define FRAME_LENL                9212           //max:9212
//    #define FRAME_LENH                8120
//    #define FRAME_LENL                8119
//    #define FRAME_LENH                7000
//    #define FRAME_LENL                6999
//    #define FRAME_LENH                4095
//    #define FRAME_LENL                4094
//    #define FRAME_LENH                2040
//    #define FRAME_LENL                2039
#else
  #ifdef SelectSimpleLength
//    #define FRAME_LENH                  ( SelectSimpleLength + 1 )
//    #define FRAME_LENL                  ( SelectSimpleLength     )
    #define FRAME_LENH                  SelectSimpleLength
    #define FRAME_LENL                  SelectSimpleLength
  #else
//    #define FRAME_LENH                  1514           //max:1514
//    #define FRAME_LENL                  1513           //max:1514
    #define FRAME_LENH                  1514           //max:1514
    #define FRAME_LENL                  1514           //max:1514
  #endif
#endif

const  ULONG   ARP_org_data[16] = {
        0xffffffff,
        0x0000ffff, // SA:00 00
        0x12345678, // SA:12 34 56 78
        0x01000608, // ARP(0x0806)
        0x04060008,    
        0x00000100, // sender MAC Address: 00 00
        0x12345678, // sender MAC Address: 12 34 56 78
        0xeb00a8c0, // sender IP Address:  192.168.0.235
        0x00000000, // target MAC Address: 00 00 00 00
        0xa8c00000, // target MAC Address: 00 00, sender IP Address:192.168
        0x00000100, // sender IP Address:  0.1
//      0x0000de00, // sender IP Address:  0.222
        0x00000000,
        0x00000000,
        0x00000000,
        0x00000000,
        0xc68e2bd5
};

#endif // MAC_H