| ======================================================================== |
| QuaterDeck Initialization called by BSP |
| ======================================================================== |
| |
| Initialization Sample Program will show how to initialize the QuaterDeck |
| Driver/Device. |
| |
| This Sample includes the following files: |
| - msApiInit.c |
| - qdSim.c |
| - qdSimRegs.h |
| - ev96122mii.c |
| - osSem.c |
| |
| msApiInit.c |
| qdStart is the main function of this Sample and does the followings: |
| 1) register the required functions.(gtRegister API) |
| 1.1) readMii - BSP specific MII read function |
| (provided by BSP and required by all QuarterDeck API) |
| 1.2) writeMii - BSP specific MII write function |
| (provided by BSP and required by all QuarterDeck API) |
| 1.3) semCreate - OS specific semaphore create function. |
| (provided by BSP and recommanded by QuarterDeck MAC |
| address database API) |
| 1.4) semDelete - OS specific semaphore delete function. |
| (provided by BSP and recommanded by QuarterDeck MAC |
| address database API) |
| 1.5) semTake - OS specific semaphore take function. |
| (provided by BSP and recommanded by QuarterDeck MAC |
| address database API) |
| 1.6) semGive - OS specific semaphore give function. |
| (provided by BSP and recommanded by QuarterDeck MAC |
| address database API) |
| Notes) The given example will use EV96122 BSP and QuarterDeck Simulator |
| as an example. |
| |
| 2) Initialize BSP provided routine (if required). |
| Notes) QuarterDeck Simulator needs to be initialized.(qdSimInit) |
| |
| 3) Calls sysConfig routine. |
| 1.1) Input (GT_SYS_CONFIG) - CPU Port Number (Board Specific, |
| either port 5 or port 6) and Port state (either 1 for Forwarding mode |
| or 0 for Blocked mode) |
| 1.2) Output (GT_SYS_INFO) - Device ID, Base MII Address (either 0 or |
| 0x10), Number of Ports, and CPU port number. |
| |
| 4) Calls sysEnable (for future use.) |
| |
| qdSim.c (QuaterDeck Simulator) |
| Simulates QuaterDeck Device(88E6052)'s register map. When QuareterDeck API |
| try to read/write a bit or bits into QuaterDeck, the simulator will |
| redirect to its own memory place and performing the function very close to |
| QuaterDeck. For example, |
| 1) user can set/reset a certain bit of QuarterDeck registers |
| (Phy,Port,and General registers). |
| 2) user can access ATU (flush, load, purge, etc. with max MAC addresses |
| of 32) |
| 3) user can manually generate an Interrupt and test the Interrupt routine. |
| 4) when user read a register, it will clear a certain register if it's a |
| Self Clear register. |
| 5) when user write a register, it will return ERROR if it's read only |
| register. |
| Notes) Simulator can be used when user has no QuarterDeck device connected Board. |
| |
| Exported routines are : |
| qdSimRead for reading MII registers, |
| qdSimWrite for writing to MII registers, and |
| qdSimInit for initializing Simulator. |
| |
| ev96122mii.c |
| Provides EV-96122 Board specific MII access functions. |
| |
| Exported routines are : |
| gtBspReadMii for reading MII registers, |
| gtBspWriteMii for writing to MII registers, and |
| gtBspMiiInit for initializing EV-96122 and QuarterDeck connection. |
| |
| osSem.c |
| Provides OS specific Semapore Functions. |
| |
| Exported routines are : |
| osSemCreate for semaphore creation |
| osSemDelete for semaphore deletion |
| osSemWait for taking semaphore |
| osSemSignal for releasing semaphore |