|
不好意思,我没把影射部分写出来
PHYSICAL_ADDRESS phyAddr = {BSP_BASE_REG_PA_PBC_BASE, 0};
// Map PBC registers to virtual address space
pPBC = (PCSP_PBC_REGS) MmMapIoSpace(phyAddr, sizeof(CSP_PBC_REGS), FALSE);
OUTREG16(&pPBC->BCTRL2_CLEAR, (1 << PBC_BCTRL2_IRDA_EN_LSH));
这个是真正的驱动代码
我上边只是把他简写而已
而在COMMON下边又有个函数clkpwr_get_base_clock_rate(),他就是用
2、直接读/写寄存器的值
if ((pClkPwr->clkpwr_pwr_ctrl & CLKPWR_SELECT_RUN_MODE) != 0)
而不需要INREG(pClkPwr->clkpwr_pwr_ctrl )这个方式
我现在想问的就是,是不是,我在写驱动的时候,可以直接用if ((pClkPwr->clkpwr_pwr_ctrl & CLKPWR_SELECT_RUN_MODE) != 0),或者可以调用函数clkpwr_get_base_clock_rate()这个函数呢?
|
|