⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wmxscalemisc.c

📁 WM9713 audio codec driver for WinCE 5.0
💻 C
📖 第 1 页 / 共 2 页
字号:
        wmStatus = WMS_WRONG_MODE;
        break;

    case XLLP_STATUS_RESOURCE_ALREADY_EXISTS:
        wmStatus = WMS_RESOURCE_CONFLICT;
        break;

    case XLLP_STATUS_NO_DMA_CHANNEL_AVAILABLE:
        wmStatus = WMS_FAILURE;
        break;

    case XLLP_STATUS_TOUCH_PEN_NOT_DOWN:
        wmStatus = WMS_NO_PEN_DOWN;
        break;

    case XLLP_STATUS_FAILURE:
    case XLLP_STATUS_OPERATION_ABORTED:
    case XLLP_STATUS_PCCARD_FAILURE:
    case XLLP_STATUS_PCCARD_INVALID_SOCKET_NUMBER:
    case XLLP_STATUS_PCCARD_INVALID_POINTER_ALLOC:
    case XLLP_STATUS_USIM_PARITY_ERROR:
    case XLLP_STATUS_USIM_CHAR_NOT_RECEIVED_YET:
    case XLLP_STATUS_USIM_ATR_FAILURE:
    case XLLP_STATUS_USIM_ATR_NOT_CORRECT:
    default:
        wmStatus = WMS_FAILURE;
        break;
    }
    
    return wmStatus;
}
#endif  /* XLLP_AVAILABLE */

#ifdef DEBUG
/*-----------------------------------------------------------------------------
 * Function: WMPlatformDumpAC97Regs
 * 
 * Dump all the AC97 Registers to the debug console.
 *  
 * Parameters:
 *      hDevice     handle to the device (from WMOpenDevice)
 *
 * Returns:      void.
 *
 ----------------------------------------------------------------------------*/
void WMPlatformDumpAC97Regs( WM_DEVICE_HANDLE hDevice )
{
	WM_XSCALE_DEVICE_CONTEXT  *pDeviceContext = 
								(WM_XSCALE_DEVICE_CONTEXT*) hDevice;

	volatile XLLP_AC97_T	*v_pAc97regs;

	if (! WM_IS_AC97( hDevice ) )
	{
         /*
         * The AC97 registers are meaningless so return.
         */
        WM_TRACE( hDevice, ( "WMPlatformDumpAC97Regs: not AC'97" ) );
		return;
	}

	if (NULL == pDeviceContext || NULL == pDeviceContext->v_pAC97Regs)
	{
		WM_TRACE( hDevice, (
                  "***** WMPlatformDumpAC97Regs: Error XScale AC97 registers not initialised *****"
                ));
		return;
	}

	v_pAc97regs = pDeviceContext->v_pAC97Regs;

    TRACE_REG_TITLE( "AC97");
	TRACE_REG_HEADER_FOOTER;

    TRACE_REG( v_pAC97Regs, POCR, "PCM out control" );
    TRACE_REG( v_pAC97Regs, PICR, "PCM in control" );
    TRACE_REG( v_pAC97Regs, MCCR, "Microphone in control" );
    TRACE_REG( v_pAC97Regs, GCR,  "Global control" );
    TRACE_REG( v_pAC97Regs, POSR, "PCM out status" );
    TRACE_REG( v_pAC97Regs, PISR, "PCM in status" );
    TRACE_REG( v_pAC97Regs, MCSR, "Microphone in status" );
    TRACE_REG( v_pAC97Regs, GSR,  "Global status" );
    TRACE_REG( v_pAC97Regs, CAR,  "Codec access" );
    TRACE_REG( v_pAC97Regs, PCDR, "PCM data" );
    TRACE_REG( v_pAC97Regs, MCDR, "Microphone in data" );
    TRACE_REG( v_pAC97Regs, MOCR, "Modem out control" );
    TRACE_REG( v_pAC97Regs, MICR, "Modem in control" );
    TRACE_REG( v_pAC97Regs, MOSR, "Modem out status" );
    TRACE_REG( v_pAC97Regs, MISR, "Modem in status" );
    TRACE_REG( v_pAC97Regs, MODR, "Modem data" );

	TRACE_REG_HEADER_FOOTER;
}

/*-----------------------------------------------------------------------------
 * Function:    WMPlatformDumpI2SRegs
 *
 * Dump all the I2S Registers to the debug console.
 *
 * Parameters:
 *      hDevice     handle to the device (from WMOpenDevice)
 *
 * Returns:     none
 *---------------------------------------------------------------------------*/
void WMPlatformDumpI2SRegs( WM_DEVICE_HANDLE hDevice )
{
    WM_XSCALE_DEVICE_CONTEXT *pDeviceContext = 
								(WM_XSCALE_DEVICE_CONTEXT*) hDevice;

	if (! WM_IS_I2S( hDevice ) )
	{
        /*
         * The I2S registers are meaningless so return.
         */
        WM_TRACE( hDevice, ( "WMPlatformDumpI2SRegs: not I2S" ) );
		return;
	}

	if ( NULL == pDeviceContext || NULL == pDeviceContext->v_pI2SRegs )
	{
		WM_TRACE( hDevice, (
                  "***** WMPlatformDumpI2SRegs: Error I2S registers not initialised *****"
                ));
		return;
	}

    TRACE_REG_TITLE( "I2S");
	TRACE_REG_HEADER_FOOTER;

    TRACE_REG( v_pI2SRegs, SACR0, "Global control" );
    TRACE_REG( v_pI2SRegs, SACR1, "I2S/MSB-justified control" );
    TRACE_REG( v_pI2SRegs, SASR0, "I2S/MSB-justified interface and FIFO status" );
    TRACE_REG( v_pI2SRegs, SAIMR, "Interrupt mask" );
    TRACE_REG( v_pI2SRegs, SAICR, "Interrupt clear" );
    TRACE_REG( v_pI2SRegs, SADIV, "Clock divider" );
    TRACE_REG( v_pI2SRegs, SADR,  "Data read/write" );

	TRACE_REG_HEADER_FOOTER;
}

#if WM_VOICE
/*-----------------------------------------------------------------------------
 * Function:    WMPlatformDumpSSP2Regs
 *
 * Dump all the SSP2 Registers to the debug console.
 *
 * Parameters:
 *      hDevice     handle to the device (from WMOpenDevice)
 *
 * Returns:     none
 *---------------------------------------------------------------------------*/
void WMPlatformDumpSSP2Regs( WM_DEVICE_HANDLE hDevice )
{
    WM_XSCALE_DEVICE_CONTEXT *pDeviceContext = 
								(WM_XSCALE_DEVICE_CONTEXT*) hDevice;

	if (! WM_IS_VOICE_SUPPORTED( hDevice ) )
	{
        /*
         * The SSP2 registers are meaningless so return.
         */
        WM_TRACE( hDevice, ( "WMPlatformDumpSSP2Regs: not voice" ) );
		return;
	}

	if ( NULL == pDeviceContext || NULL == pDeviceContext->v_pSSP2Regs )
	{
		WM_TRACE( hDevice, (
                  "***** WMPlatformDumpSSP2Regs: Error SSP2 registers not initialised *****"
                ));
		return;
	}

    TRACE_REG_TITLE( "SSP2");
	TRACE_REG_HEADER_FOOTER;

    TRACE_REG( v_pSSP2Regs, sscr0, "Control 0" );
    TRACE_REG( v_pSSP2Regs, sscr1, "Control 1" );
    TRACE_REG( v_pSSP2Regs, ssr,   "Status" );

#if WM_CPU_PXA27X
    TRACE_REG( v_pSSP2Regs, ssitr, "Interrupt test" );
#endif

    TRACE_REG( v_pSSP2Regs, ssdr,  "Data read/write" );

#if WM_CPU_PXA27X
    TRACE_REG( v_pSSP2Regs, ssto,  "Time out register" );
    TRACE_REG( v_pSSP2Regs, sspsp, "Programmable serial protocol" );
    TRACE_REG( v_pSSP2Regs, sstsa, "TX time slot active" );
    TRACE_REG( v_pSSP2Regs, ssrsa, "RX time slot active" );
    /* sstss and ssacd aren't defined */
#endif

	TRACE_REG_HEADER_FOOTER;
}
#endif  /* WM_VOICE */

/*-----------------------------------------------------------------------------
 * Function:    WMPlatformDumpClockRegs
 *
 * Dump all the clock Registers to the debug console.
 *
 * Parameters:
 *      hDevice     handle to the device (from WMOpenDevice)
 *
 * Returns:     none
 *---------------------------------------------------------------------------*/
void WMPlatformDumpClockRegs( WM_DEVICE_HANDLE hDevice )
{
    WM_XSCALE_DEVICE_CONTEXT *pDeviceContext = 
                                (WM_XSCALE_DEVICE_CONTEXT*) hDevice;

	if ( NULL == pDeviceContext || NULL == pDeviceContext->v_pClkRegs )
	{
		WM_TRACE( hDevice, (
                  "***** WMPlatformDumpClockRegs: Error Clock registers not initialised *****"
                ));
		return;
	}

    TRACE_REG_TITLE( "Clock");
	TRACE_REG_HEADER_FOOTER;

    TRACE_REG( v_pClkRegs, cccr, "Core clock configuration" );
    TRACE_REG( v_pClkRegs, cken, "Clock enable" );
    TRACE_REG( v_pClkRegs, oscc, "Oscillator configuration" );

#if WM_CPU_PXA27X
    TRACE_REG( v_pClkRegs, ccsr, "Core clock status" );
#endif

	TRACE_REG_HEADER_FOOTER;
}

/*-----------------------------------------------------------------------------
 * Function:    WMPlatformDumpGPIORegs
 *
 * Dump all the GPIO Registers to the debug console.
 *
 * Parameters:
 *      hDevice     handle to the device (from WMOpenDevice)
 *
 * Returns:     none
 *---------------------------------------------------------------------------*/
void WMPlatformDumpGPIORegs( WM_DEVICE_HANDLE hDevice )
{
    WM_XSCALE_DEVICE_CONTEXT *pDeviceContext = 
                                (WM_XSCALE_DEVICE_CONTEXT*) hDevice;

	if ( NULL == pDeviceContext || NULL == pDeviceContext->v_pGPIORegs )
	{
		WM_TRACE( hDevice, (
                  "***** WMPlatformDumpGPIORegs: Error GPIO registers not initialised *****"
                ));
		return;
	}

    TRACE_REG_TITLE( "GPIO");
	TRACE_REG_HEADER_FOOTER;

    TRACE_REG( v_pGPIORegs, GPLR0, "Pin-level GPIO<31:0>" );
    TRACE_REG( v_pGPIORegs, GPLR1, "Pin-level GPIO<63:32>" );
    TRACE_REG( v_pGPIORegs, GPLR2, "Pin-level GPIO<95:64>" );

#if WM_CPU_PXA27X
    TRACE_REG( v_pGPIORegs, GPLR3, "Pin-level GPIO<120:96>" );
#endif

    TRACE_REG( v_pGPIORegs, GPDR0, "Pin-direction GPIO<31:0> " );
    TRACE_REG( v_pGPIORegs, GPDR1, "Pin-direction GPIO<63:32>" );
    TRACE_REG( v_pGPIORegs, GPDR2, "Pin-direction GPIO<95:64>" );

#if WM_CPU_PXA27X
    TRACE_REG( v_pGPIORegs, GPDR3, "Pin-level GPIO<120:96>" );
#endif

    TRACE_REG( v_pGPIORegs, GPSR0, "Pin output set GPIO<31:0>" );
    TRACE_REG( v_pGPIORegs, GPSR1, "Pin output set GPIO<63:32>" );
    TRACE_REG( v_pGPIORegs, GPSR2, "Pin output set GPIO<95:64>" );

#if WM_CPU_PXA27X
    TRACE_REG( v_pGPIORegs, GPSR3, "Pin output set GPIO<120:96>" );
#endif

    TRACE_REG( v_pGPIORegs, GPCR0, "Pin output clear GPIO<31:0>" );
    TRACE_REG( v_pGPIORegs, GPCR1, "Pin output clear GPIO<63:32>" );
    TRACE_REG( v_pGPIORegs, GPCR2, "Pin output clear GPIO<95:64>" );

#if WM_CPU_PXA27X
    TRACE_REG( v_pGPIORegs, GPCR3, "Pin output clear GPIO<120:96>" );
#endif

    TRACE_REG( v_pGPIORegs, GRER0, "Rising-edge detect enable GPIO<31:0>" );
    TRACE_REG( v_pGPIORegs, GRER1, "Rising-edge detect enable GPIO<63:32>" );
    TRACE_REG( v_pGPIORegs, GRER2, "Rising-edge detect enable GPIO<95:64>" );

#if WM_CPU_PXA27X
    TRACE_REG( v_pGPIORegs, GRER3, "Rising-edge detect enable GPIO<120:96>" );
#endif

    TRACE_REG( v_pGPIORegs, GFER0, "Falling-edge detect enable GPIO<31:0>" );
    TRACE_REG( v_pGPIORegs, GFER1, "Falling-edge detect enable GPIO<63:32>" );
    TRACE_REG( v_pGPIORegs, GFER2, "Falling-edge detect enable GPIO<95:64>" );

#if WM_CPU_PXA27X
    TRACE_REG( v_pGPIORegs, GFER3, "Falling-edge detect enable GPIO<120:96>" );
#endif

    TRACE_REG( v_pGPIORegs, GEDR0, "Edge detect status GPIO<31:0>" );
    TRACE_REG( v_pGPIORegs, GEDR1, "Edge detect status GPIO<63:32>" );
    TRACE_REG( v_pGPIORegs, GEDR2, "Edge detect status GPIO<95:64>" );

#if WM_CPU_PXA27X
    TRACE_REG( v_pGPIORegs, GEDR3, "Edge detect status GPIO<120:96>" );
#endif

    TRACE_REG( v_pGPIORegs, GAFR0_L, "Alternate function GPIO<15:0>" );
    TRACE_REG( v_pGPIORegs, GAFR0_U, "Alternate function GPIO<31:16>" );
    TRACE_REG( v_pGPIORegs, GAFR1_L, "Alternate function GPIO<47:32>" );
    TRACE_REG( v_pGPIORegs, GAFR1_U, "Alternate function GPIO<63:48>" );
    TRACE_REG( v_pGPIORegs, GAFR2_L, "Alternate function GPIO<79:64>" );
    TRACE_REG( v_pGPIORegs, GAFR2_U, "Alternate function GPIO<95:80>" );

#if WM_CPU_PXA27X
    TRACE_REG( v_pGPIORegs, GAFR3_L, "Alternate function GPIO<111:96>" );
    TRACE_REG( v_pGPIORegs, GAFR3_U, "Alternate function GPIO<120:112>" );
#endif

	TRACE_REG_HEADER_FOOTER;
}


#endif /* DEBUG */

/*------------------------------ END OF FILE ---------------------------------*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -