📄 hfctldevaccesstest.c
字号:
printf("hfCtlDevTest: HFCtlPmcGetRegMailbox7() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevTest: after Set mailbox7, MBOX7 = 0x%.8x\n", *pTempData);
}
#endif /* if 0 */
/* get Runtime register CNTRL */
iStatus = HFCtlPmcGetRegRtControl(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevTest: HFCtlPmcGetRegRtControl() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevTest: CNTRL = 0x%.8x\n", *pTempData);
}
/* get Local configuration register LAS0BA */
iStatus = HFCtlPmcGetRegLocalAdrsSpace0BaseAdrs(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevTest: HFCtlPmcGetRegLocalAdrsSpace0BaseAdrs() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevTest: LAS0BA = 0x%.8x\n", *pTempData);
}
/* set Local configuration register LAS0BA bit 0 */
ulRegData = (*pTempData) | 0x1;
if (iDevTestDebug)
{
printf("hfCtlDevTest: ulRegData = 0x%.8x\n", ulRegData);
}
iStatus = HFCtlPmcSetRegLocalAdrsSpace0BaseAdrs(iHfCtlFd, ulRegData);
if (iStatus == ERROR)
{
printf("hfCtlDevTest: HFCtlPmcSetRegLocalAdrsSpace0BaseAdrs() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
/* get Local configuration register LAS0BA */
iStatus = HFCtlPmcGetRegLocalAdrsSpace0BaseAdrs(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevTest: HFCtlPmcGetRegLocalAdrsSpace0BaseAdrs() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevTest: after set LAS0BA, LAS0BA = 0x%.8x\n", *pTempData);
}
#if 0
/* get PCI configuration register PCIBAR2 */
iStatus = HFCtlPmcGetRegPciBaseAdrs2(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevTest: HFCtlPmcGetRegPciBaseAdrs2() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevTest: PCIBAR2 = 0x%.8x\n", *pTempData);
}
/* set PCI configuration register PCIBAR2 to all ones */
ulRegData = 0xffffffff;
if (iDevTestDebug)
{
printf("hfCtlDevTest: ulRegData = 0x%.8x\n", ulRegData);
}
iStatus = HFCtlPmcSetRegPciBaseAdrs2(iHfCtlFd, ulRegData);
if (iStatus == ERROR)
{
printf("hfCtlDevTest: HFCtlPmcSetRegPciBaseAdrs2() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
/* get PCI configuration register PCIBAR2 after set */
iStatus = HFCtlPmcGetRegPciBaseAdrs2(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevTest: HFCtlPmcGetRegPciBaseAdrs2() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevTest: after set PCIBAR2, PCIBAR2 = 0x%.8x\n", *pTempData);
}
#endif /* if 0 */
#if 0
/* get PCI configuration register PCICR */
iStatus = HFCtlPmcGetRegPciCommand(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevTest: HFCtlPmcGetRegPciCommand() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevTest: PCICR = 0x%.8x\n", *pTempData);
}
#endif /* if 0 */
pLocalSpace0Adrs = (unsigned long *)(HFCtlPmcDev.boardDataSpace0);
if (iDevTestDebug)
{
printf("hfCtlDevTest: pLocalSpace0Adrs = 0x%.8x\n", pLocalSpace0Adrs);
}
#if 0
for(i = 0; i < 4; i++)
{
printf("hfCtlDevTest: 0x%.8x = 0x%.8x\n", &pLocalSpace0Adrs[i], pLocalSpace0Adrs[i]);
}
#endif /* if 0 */
/* close the device */
close(iHfCtlFd);
return(OK);
}
STATUS hfCtlDevLocalSpace0ReadTest(int iReadTime)
{
int i;
int iHfCtlFd;
int iStatus;
char hfCtldevName[15];
unsigned long ulRegData;
unsigned char ucRegCharData;
unsigned long *pTempData;
unsigned char *pTempCharData;
unsigned long *pLocalSpace0Adrs;
unsigned long *pLocalSpace1Adrs;
sprintf(hfCtldevName, "/HFCtlPmc/0");
/* open the device */
iHfCtlFd = open(hfCtldevName, O_RDWR, 0644);
if (iHfCtlFd == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: Unable to open HfCtlDev device!\n");
return(ERROR);
}
iStatus = HFCtlPmcGetRegLAS0Range(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegLAS0Range() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: LAS0RR = 0x%.8x\n", *pTempData);
}
#if 0
iStatus = HFCtlPmcSetRegLAS0Range(iHfCtlFd, 0xfffff000);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcSetRegLAS0Range() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
iStatus = HFCtlPmcGetRegLAS0Range(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegLAS0Range() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: after set LAS0Range, LAS0RR = 0x%.8x\n", *pTempData);
}
#endif /* if 0 */
/* get Local configuration register LAS0BA */
iStatus = HFCtlPmcGetRegLocalAdrsSpace0BaseAdrs(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegLocalAdrsSpace0BaseAdrs() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: LAS0BA = 0x%.8x\n", *pTempData);
}
/* set Local configuration register LAS0BA bit 0 */
ulRegData = (*pTempData) | 0x1;
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: ulRegData = 0x%.8x\n", ulRegData);
}
iStatus = HFCtlPmcSetRegLocalAdrsSpace0BaseAdrs(iHfCtlFd, ulRegData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcSetRegLocalAdrsSpace0BaseAdrs() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
/* get Local configuration register LAS0BA */
iStatus = HFCtlPmcGetRegLocalAdrsSpace0BaseAdrs(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegLocalAdrsSpace0BaseAdrs() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: after set LAS0BA, LAS0BA = 0x%.8x\n", *pTempData);
}
/* get Local configuration register MARBR */
iStatus = HFCtlPmcGetRegModeArbitration(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegModeArbitration() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: MARBR = 0x%.8x\n", *pTempData);
}
/* set Local configuration register MARBR */
ulRegData = 0x00210010;
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: ulRegData = 0x%.8x\n", ulRegData);
}
iStatus = HFCtlPmcSetRegModeArbitration(iHfCtlFd, ulRegData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcSetRegModeArbitration() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
/* get Local configuration register MARBR */
iStatus = HFCtlPmcGetRegModeArbitration(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegModeArbitration() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: after set MARBR, MARBR = 0x%.8x\n", *pTempData);
}
/* get Local configuration register BIGEND */
iStatus = HFCtlPmcGetRegBigEndianDesc(iHfCtlFd, pTempCharData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegBigEndianDesc() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: BIGEND = 0x%.8x\n", *pTempCharData);
}
/* set Local configuration register BIGEND */
ucRegCharData = 0xee; /*0x00;*/
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: ucRegCharData = 0x%.2x\n", ucRegCharData);
}
iStatus = HFCtlPmcSetRegBigEndianDesc(iHfCtlFd, ucRegCharData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcSetRegBigEndianDesc() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
/* get Local configuration register BIGEND */
iStatus = HFCtlPmcGetRegBigEndianDesc(iHfCtlFd, pTempCharData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegBigEndianDesc() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: after set BIGEND, BIGEND = 0x%.8x\n", *pTempCharData);
}
/* get Local configuration register LMISC1 */
iStatus = HFCtlPmcGetRegLocalMisc1(iHfCtlFd, pTempCharData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegLocalMisc1() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: LMISC1 = 0x%.8x\n", *pTempCharData);
}
/* set Local configuration register LMISC1 */
ucRegCharData = 0x05;
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: ucRegCharData = 0x%.8x\n", ucRegCharData);
}
iStatus = HFCtlPmcSetRegLocalMisc1(iHfCtlFd, ucRegCharData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcSetRegLocalMisc1() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
/* get Local configuration register LMISC1 */
iStatus = HFCtlPmcGetRegLocalMisc1(iHfCtlFd, pTempCharData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegLocalMisc1() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: after set LMISC1, LMISC1 = 0x%.8x\n", *pTempCharData);
}
/* get Local configuration register LMISC2 */
iStatus = HFCtlPmcGetRegLocalMisc2(iHfCtlFd, pTempCharData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegLocalMisc2() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: LMISC2 = 0x%.8x\n", *pTempCharData);
}
/* set Local configuration register LMISC2 */
ucRegCharData = 0x01;
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: ucRegCharData = 0x%.8x\n", ucRegCharData);
}
iStatus = HFCtlPmcSetRegLocalMisc2(iHfCtlFd, ucRegCharData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcSetRegLocalMisc2() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
/* get Local configuration register LMISC2 */
iStatus = HFCtlPmcGetRegLocalMisc2(iHfCtlFd, pTempCharData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegLocalMisc2() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: after set LMISC2, LMISC2 = 0x%.8x\n", *pTempCharData);
}
/* get Local configuration register LBRD0 */
iStatus = HFCtlPmcGetRegLocalBusSpace0RegionDesc(iHfCtlFd, pTempData);
if (iStatus == ERROR)
{
printf("hfCtlDevLocalSpace0ReadTest: HFCtlPmcGetRegLocalBusSpace0RegionDesc() failed.\n");
close(iHfCtlFd);
return(ERROR);
}
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: LBRD0 = 0x%.8x\n", *pTempData);
}
/* set Local configuration register LBRD0 */
/*
ulRegData = 0x80430303;
*/
ulRegData = 0x80430343; /* enable READY */
if (iDevTestDebug)
{
printf("hfCtlDevLocalSpace0ReadTest: ulRegData = 0x%.8x\n", ulRegData);
}
iStatus = HFCtlPmcSetRegLocalBusSpace0RegionDesc(iHfCtlFd, ulRegData);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -