Holger Hans Peter Freyther | 97f66e2 | 2010-07-28 03:32:52 +0800 | [diff] [blame] | 1 | #include <unistd.h> |
| 2 | #include <stdio.h> |
| 3 | #include <pti/NexusWare.h> |
| 4 | |
| 5 | void InitHW(void) |
| 6 | { |
| 7 | int status,i; |
| 8 | |
| 9 | /* configure the board clock */ |
| 10 | status = PTI_SetHSCMStandalone(0,PTI_CLK_TRUNK + 1, PTI_CLK_NONE, |
| 11 | PTI_NETREF_2048K); |
| 12 | if (status < 0) |
| 13 | fprintf(stderr, "Error: PTI_SetClocking() = %d\n", status); |
| 14 | |
| 15 | sleep(1); |
| 16 | |
| 17 | /* open the port devices */ |
| 18 | for (i=1; i<=8; i++) |
| 19 | { |
| 20 | status = PTI_SetT1Framing(i, PTI_FRAME_E1CRC, PTI_ENCODE_HDB3); |
| 21 | if (status < 0) |
| 22 | fprintf(stderr, "Error: PTI_SetFraming(%d) = %d\n", i, status); |
| 23 | } |
| 24 | |
| 25 | /* configure PTMC */ |
| 26 | status = PTI_SetPTMCNetref(0, PTI_PTMC_NETREF_DISABLE); |
| 27 | if (status < 0) |
| 28 | fprintf(stderr, "Error: PTI_SetPTMCNetref() = %d\n", status); |
| 29 | status = PTI_SetPTMCClockMode(0, PTI_PTMC_CLOCKMODE_H100); |
| 30 | if (status < 0) |
| 31 | fprintf(stderr, "Error: PTI_SetPTMCClockMode() = %d\n", status); |
| 32 | status = PTI_SetEnetPortState(PTI_ENET_PORT_ID_PTMC+0, |
| 33 | PTI_ENET_PORT_STATE_ENABLE_ALL); |
| 34 | if (status < 0) |
| 35 | fprintf(stderr, "Error: PTI_SetEnetPortState() = %d\n", status); |
| 36 | status = PTI_AddEnetRoute(PTI_ENET_PORT_ID_PTMC+0, PTI_ENET_PORT_ID_FRONT+0, 1); |
| 37 | status |= PTI_AddEnetRoute(PTI_ENET_PORT_ID_PTMC+0, PTI_ENET_PORT_ID_REAR+0, 1); |
| 38 | status |= PTI_AddEnetRoute(PTI_ENET_PORT_ID_PTMC+0, PTI_ENET_PORT_ID_LOCAL+0, 1); |
| 39 | if (status < 0) |
| 40 | fprintf(stderr, "Error: PTI_AddEnetRoute() = %d\n", status); |
| 41 | |
| 42 | status = PTI_ConnectHSCM(PTI_HSCM_TRUNK+1,30,PTI_HSCM_DATACHAN,0,1,1); |
| 43 | if (status < 0) |
| 44 | fprintf(stderr, "Error: PTI_ConnectHSCM() = %d\n", status); |
| 45 | |
| 46 | status = PTI_ConnectHSCM(PTI_HSCM_TRUNK+1, 0, PTI_HSCM_PTMC, 0, 30, 0); |
| 47 | status |= PTI_ConnectHSCM(PTI_HSCM_PTMC, 128, PTI_HSCM_TRUNK+1, 0, 30, 0); |
| 48 | if (status < 0) |
| 49 | fprintf(stderr, "Error: PTI_ConnectHSCM() = %d\n", status); |
| 50 | |
| 51 | |
| 52 | } |
| 53 | |