/*******************************************************************************
* mvAudioAddrDecShow - Print the AUDIO address decode map.
*
* DESCRIPTION:
*		This function print the AUDIO address decode map.
*
* INPUT:
*       None.
*
* OUTPUT:
*       None.
*
* RETURN:
*       None.
*
*******************************************************************************/
MV_VOID mvAudioUnitAddrDecShow(int unit)
{
	MV_AUDIO_DEC_WIN win;
	int i;

	mvOsOutput( "\n" );
	mvOsOutput( "AUDIO:\n" );
	mvOsOutput( "----\n" );

	for( i = 0; i < MV_AUDIO_MAX_ADDR_DECODE_WIN; i++ )
	{
            memset( &win, 0, sizeof(MV_AUDIO_DEC_WIN) );

	    mvOsOutput( "win%d - ", i );

	    if( mvAudioWinGet(unit, i, &win) == MV_OK )
	    {
	        if( win.enable )
	        {
                    mvOsOutput( "%s base %08x, ",
                    mvCtrlTargetNameGet(win.target), win.addrWin.baseLow );
                    mvOsOutput( "...." );

                    mvSizePrint( win.addrWin.size );
    
		    mvOsOutput( "\n" );
                }
		else
		mvOsOutput( "disable\n" );
	    }
	}
}
Exemple #2
0
static MV_VOID mvXorAddrDecShowUnit(MV_U32 unit)
{
	MV_XOR_DEC_WIN win;
	int            i;

	mvOsOutput( "\n" );
	mvOsOutput( "XOR %d:\n", unit );
	mvOsOutput( "----\n" );

	for( i = 0; i < XOR_MAX_ADDR_DEC_WIN; i++ )
	{
		memset( &win, 0, sizeof(MV_XOR_DEC_WIN) );

		mvOsOutput( "win%d - ", i );

		if( mvXorTargetWinGet(unit, i, &win ) == MV_OK )
		{
			if( win.enable )
			{
				mvOsOutput( "%s base %x, ",
				mvCtrlTargetNameGet(win.target), win.addrWin.baseLow );

				mvSizePrint( win.addrWin.size );
				
                mvOsOutput( "\n" );
			}
			else
				mvOsOutput( "disable\n" );
		}
	}
}
Exemple #3
0
/*******************************************************************************
* mvEthAddrDecShow - Print the Etherent address decode map.
*
* DESCRIPTION:
*       This function print the Etherent address decode map.
*
* INPUT:
*       None.
*
* OUTPUT:
*       None.
*
* RETURN:
*       None.
*
*******************************************************************************/
void    mvEthPortAddrDecShow(int port)
{
    MV_ETH_DEC_WIN  win;
    int             i;

    mvOsOutput( "\n" );
    mvOsOutput( "ETH #%d:\n", port );
    mvOsOutput( "----\n" );

    for( i = 0; i < ETH_MAX_DECODE_WIN; i++ )
    {
        memset( &win, 0, sizeof(ETH_MAX_DECODE_WIN) );

        mvOsOutput( "win%d - ", i );

        if( mvEthWinGet(port, i, &win ) == MV_OK )
        {
            if( win.enable )
            {
                mvOsOutput( "%s base %08x, ",
                mvCtrlTargetNameGet(win.target), win.addrWin.baseLow );
                mvOsOutput( "...." );
                mvSizePrint( win.addrWin.size );

                mvOsOutput( "\n" );
            }
            else
                mvOsOutput( "disable\n" );
        }
    }
    return;
}
Exemple #4
0
/*******************************************************************************
* mvCpuIfAddDecShow - Print the CPU address decode map.
*
* DESCRIPTION:
*		This function print the CPU address decode map.
*
* INPUT:
*       None.
*
* OUTPUT:
*       None.
*
* RETURN:
*       None.
*
*******************************************************************************/
MV_VOID mvCpuIfAddDecShow(MV_VOID)
{
    MV_CPU_DEC_WIN win;
    MV_U32 target;
    mvOsOutput( "\n" );
    mvOsOutput( "CPU Interface\n" );
    mvOsOutput( "-------------\n" );

    for( target = 0; target < MAX_TARGETS; target++ )
    {

        memset( &win, 0, sizeof(MV_CPU_DEC_WIN) );

        mvOsOutput( "%s ",mvCtrlTargetNameGet(target));
        mvOsOutput( "...." );

        if( mvCpuIfTargetWinGet( target, &win ) == MV_OK )
        {
            if( win.enable )
            {
                mvOsOutput( "base %08x, ", win.addrWin.baseLow );
                mvSizePrint( win.addrWin.size );
                mvOsOutput( "\n" );

            }
            else
                mvOsOutput( "disable\n" );
        }
        else if( mvCpuIfTargetWinGet( target, &win ) == MV_NO_SUCH )
        {
            mvOsOutput( "no such\n" );
        }
    }
}
Exemple #5
0
MV_VOID mvTdmAddrDecShow(MV_VOID)
{
	MV_TDM_DEC_WIN win;
	int i;

	mvOsOutput( "\n" );
	mvOsOutput( "TDM:\n" );
	mvOsOutput( "----\n" );

	for( i = 0; i < TDM_MBUS_MAX_WIN; i++ )
	{
		memset( &win, 0, sizeof(MV_TDM_DEC_WIN) );

		mvOsOutput( "win%d - ", i );

		if (mvTdmWinGet(i, &win ) == MV_OK )
		{
			if( win.enable )
			{
                mvOsOutput( "%s base %08x, ",
                mvCtrlTargetNameGet(win.target), win.addrWin.baseLow);
                mvOsOutput( "...." );
                mvSizePrint( win.addrWin.size );
				mvOsOutput( "\n" );
			}
			else
				mvOsOutput( "disable\n" );
		}
	}
}
Exemple #6
0
/*******************************************************************************
* mvAhbToMbusAddDecShow - Print the AHB to MBus bridge address decode map.
*
* DESCRIPTION:
*		This function print the CPU address decode map.
*
* INPUT:
*       None.
*
* OUTPUT:
*       None.
*
* RETURN:
*       None.
*
*******************************************************************************/
MV_VOID mvAhbToMbusAddDecShow(MV_VOID)
{
	MV_AHB_TO_MBUS_DEC_WIN win;
	MV_U32 winNum;
	mvOsOutput( "\n" );
	mvOsOutput( "AHB To MBUS Bridge:\n" );
	mvOsOutput( "-------------------\n" );

	for( winNum = 0; winNum < MAX_AHB_TO_MBUS_WINS; winNum++ )
	{
		memset( &win, 0, sizeof(MV_AHB_TO_MBUS_DEC_WIN) );

		mvOsOutput( "win%d - ", winNum );

		if( mvAhbToMbusWinGet( winNum, &win ) == MV_OK )
		{
			if( win.enable )
			{
				mvOsOutput( "%s base %08x, ",
				mvCtrlTargetNameGet(win.target), win.addrWin.baseLow );
                		mvOsOutput( "...." );
				mvSizePrint( win.addrWin.size );

				mvOsOutput( "\n" );

            }
			else
				mvOsOutput( "disable\n" );
		}
	}

}
Exemple #7
0
/*******************************************************************************
* mvSataAddrDecShow - Print the SATA address decode map.
*
* DESCRIPTION:
*		This function print the SATA address decode map.
*
* INPUT:
*       None.
*
* OUTPUT:
*       None.
*
* RETURN:
*       None.
*
*******************************************************************************/
MV_VOID mvSataAddrDecShow(MV_VOID)
{

    MV_SATA_DEC_WIN win;
    int i,j;



    for( j = 0; j < MV_SATA_MAX_CHAN; j++ )
    {
        if (MV_FALSE == mvCtrlPwrClckGet(SATA_UNIT_ID, j))
            return;

        mvOsOutput( "\n" );
        mvOsOutput( "SATA %d:\n", j );
        mvOsOutput( "----\n" );

        for( i = 0; i < MV_SATA_MAX_ADDR_DECODE_WIN; i++ )
        {
            memset( &win, 0, sizeof(MV_SATA_DEC_WIN) );

            mvOsOutput( "win%d - ", i );

            if( mvSataWinGet(j, i, &win ) == MV_OK )
            {
                if( win.enable )
                {
                    mvOsOutput( "%s base %08x, ",
                                mvCtrlTargetNameGet(win.target), win.addrWin.baseLow );
                    mvOsOutput( "...." );

                    mvSizePrint( win.addrWin.size );

                    mvOsOutput( "\n" );
                }
                else
                    mvOsOutput( "disable\n" );
            }
        }
    }
}
static MV_VOID mvXorAddrDecShowUnit(MV_U32 unit)
{
	MV_UNIT_WIN_INFO win;
	int            	 i;

	mvOsOutput( "\n" );
	mvOsOutput( "XOR %d:\n", unit );
	mvOsOutput( "----\n" );

	for( i = 0; i < XOR_MAX_ADDR_DEC_WIN; i++ )
	{
		memset( &win, 0, sizeof(MV_UNIT_WIN_INFO) );

		mvOsOutput( "win%d - ", i );

		if( mvXorTargetWinRead(unit, i, &win ) == MV_OK )
		{
			if( win.enable )
			{
				/* In MV88F6781 there is no differentiation between different DRAM Chip Selects,	*/
				/* they all use the same target ID and attributes. So in order to print correctly	*/
				/* we use i as the target. When i is 1 it is SDRAM_CS1 etc.				*/
				if (mvCtrlTargetByWinInfoGet(&win) != SDRAM_CS0) {
					mvOsOutput( "%s base %08x, ",
						mvCtrlTargetNameGet(mvCtrlTargetByWinInfoGet(&win)), win.addrWin.baseLow);
				}
				else {
		                	mvOsOutput( "%s base %08x, ",
                				mvCtrlTargetNameGet(i), win.addrWin.baseLow);
				}

				mvSizePrint( win.addrWin.size );
				mvOsOutput( "\n" );
			}
			else
				mvOsOutput( "disable\n" );
		}
	}
}
Exemple #9
0
/*******************************************************************************
* mvTsuAddrDecShow
*
* DESCRIPTION:
*	Print the TSU address decode map.
*
* INPUT:
*       None.
*
* OUTPUT:
*       None.
*
* RETURN:
*       None.
*
*******************************************************************************/
void mvTsuAddrDecShow(void)
{
	MV_TSU_DEC_WIN  win;
	int             i;

	if (MV_FALSE == mvCtrlPwrClckGet(TS_UNIT_ID, 0))
		return;

	mvOsOutput( "\n" );
	mvOsOutput( "TSU:\n");
	mvOsOutput( "----\n" );

	for(i = 0; i < TSU_MAX_DECODE_WIN; i++)
	{
		memset(&win, 0, sizeof(TSU_MAX_DECODE_WIN));
		mvOsOutput( "win%d - ", i );

		if(mvTsuWinGet(i, &win ) == MV_OK )
		{
			if(win.enable == MV_TRUE)
			{
				mvOsOutput("%s base %08x, ",
					   mvCtrlTargetNameGet(win.target),
					   win.addrWin.baseLow);
				mvOsOutput( "...." );
				mvSizePrint(win.addrWin.size );
				mvOsOutput( "\n" );
			}
			else
			{
				mvOsOutput( "disable\n" );
			}
		}
	}
	return;
}
Exemple #10
0
/*******************************************************************************
* mvAhbToMbusAddDecShow - Print the Ahb to MBus bridge address decode map.
*
* DESCRIPTION:
*		This function print the CPU address decode map.
*
* INPUT:
*       cpu      	- CPU id
*
* OUTPUT:
*       None.
*
* RETURN:
*       None.
*
*******************************************************************************/
MV_VOID mvAhbToMbusAddDecShow(MV_U32 cpu)
{
	MV_AHB_TO_MBUS_DEC_WIN win;
	MV_U32 winNum;
	/* Check parameters */
	if (cpu >= MV_MAX_CPU)
	{
		mvOsPrintf("mvAhbToMbusAddDecShow: ERR. Invalid cpu %d\n", cpu);
		return;
	}

	mvOsOutput( "\n" );
	mvOsOutput( "CPU %d, AHB To MBUS Bridge:\n", cpu);
	mvOsOutput( "-------------------\n" );

	for( winNum = 0; winNum < MAX_AHB_TO_MBUS_WINS; winNum++ ) 
	{
		memset( &win, 0, sizeof(MV_AHB_TO_MBUS_DEC_WIN) );

		mvOsOutput( "win%d - ", winNum );

		if( mvAhbToMbusWinGet(cpu, winNum, &win ) == MV_OK )
		{
			if( win.enable )
			{
				mvOsOutput( "%s base %08x, ",
				mvCtrlTargetNameGet(win.target), win.addrWin.baseLow );
                		mvOsOutput( "...." );
				mvSizePrint( win.addrWin.size );
				mvOsOutput( "\n" );
			}
			else
				mvOsOutput( "disable\n" );
		}
	}
}
/*******************************************************************************
* mvNflashPrint - Print NAND flash information structure.
*
* DESCRIPTION:
*	Prints all the feilds in the NAND flash info structure.
*
* INPUT:
*       pFlash	- Flash information.
*
* OUTPUT:
*       None
*
* RETURN:
*	None
*
*******************************************************************************/
MV_VOID mvNflashPrint(MV_NFLASH_INFO *pFlash)
{
	int i, lockedBlocksFound = 0;
    NFLASH_LOCK_MODE lockMode;
	
    if (NULL == pFlash)
	{
		mvOsOutput ("Missing or unknown FLASH type\n");
		return;
	}

    mvOsOutput ("NAND Flash information:\n");

    mvOsOutput ("Manufacture: ");
	switch (pFlash->pNflashStruct->devVen)
	{
		case SAMSUNG_MANUF:     	
			mvOsOutput ("SAMSUNG\n");		
			break;
		default:                
			mvOsOutput ("Unknown Vendor 0x%x\n", pFlash->pNflashStruct->devVen);	
			break;
    }

    mvOsOutput ("Flash Type : ");
	switch (pFlash->pNflashStruct->devId)
	{
		case K9F5608Q0C:
			mvOsOutput ("K9F5608Q0C (x8-bit)\n");
			break;
		case K9F5608D0C:
			mvOsOutput ("K9F5608D0C or K9F5608U0C(x8-bit)\n");
			break;
		case K9F5616Q0C:
			mvOsOutput ("K9F5616Q0C (x16-bit)\n");
			break;
		case K9F5616D0C:
			mvOsOutput ("K9F5616D0C or K9F5616U0C(x16-bit)\n");
			break;       
		default:
			mvOsOutput ("Unknown device id 0x%x\n", pFlash->pNflashStruct->devId);
			break;
	}
	
	mvOsOutput("Flash ");
	mvSizePrint(pFlash->pNflashStruct->size);
    mvOsOutput ("\n");
	mvOsOutput("Flash base Address: 0x%x\n",pFlash->baseAddr);
	mvOsOutput("Flash device Width: %d.\n", pFlash->devWidth);
	mvOsOutput("Number of blocks: %d\n", pFlash->pNflashStruct->blockNum);


	mvOsOutput ("Block Start Addresses:");
	for (i = 0; i < pFlash->pNflashStruct->blockNum; ++i) 
    {
		lockMode = mvNflashBlockLockStsGet(pFlash,i);

        if (BLOCK_UNLOCK == lockMode)
        {
            continue;
        }
        
        lockedBlocksFound++;

        if ((i % 5) == 0)
			mvOsOutput ("\n   ");
	    
        mvOsOutput (" %08x %s", mvNflashBlkOffsGet(pFlash, i), 
                    (lockMode == BLOCK_LOCK) ? "Lock" : "Tight");
	    
    }
	mvOsOutput("\n");

    mvOsOutput("Found %d Read only blocks\n", lockedBlocksFound);

	return;
}
/*******************************************************************************
* mvUsbAddrDecShow - Print the USB address decode map.
*
* DESCRIPTION:
*       This function print the USB address decode map.
*
* INPUT:
*       None.
*
* OUTPUT:
*       None.
*
* RETURN:
*       None.
*
*******************************************************************************/
MV_VOID mvUsbAddrDecShow(MV_VOID)
{
    MV_UNIT_WIN_INFO	addrDecWin;
    int         	i, winNum;

    mvOsOutput( "\n" );
    mvOsOutput( "USB:\n" );
    mvOsOutput( "----\n" );

    for(i=0; i<mvCtrlUsbMaxGet(); i++)
    {
        mvOsOutput( "Device %d:\n", i);

        for(winNum = 0; winNum < MV_USB_MAX_ADDR_DECODE_WIN; winNum++)
        {
            memset(&addrDecWin, 0, sizeof(MV_DEC_WIN) );

            mvOsOutput( "win%d - ", winNum );

            if( mvUsbWinRead(i, winNum, &addrDecWin ) == MV_OK )
            {
                if( addrDecWin.enable )
                {
			/* In MV88F6781 there is no differentiation between different DRAM Chip Selects,	*/
			/* they all use the same target ID and attributes. So in order to print correctly	*/
			/* we use i as the target. When i is 1 it is SDRAM_CS1 etc.				*/
			if (mvCtrlTargetByWinInfoGet(&addrDecWin) != SDRAM_CS0) {
				mvOsOutput( "%s base %08x, ",
                       		mvCtrlTargetNameGet(mvCtrlTargetByWinInfoGet(&addrDecWin)), addrDecWin.addrWin.baseLow );
			}
			else {
				mvOsOutput( "%s base %08x, ",
                        		mvCtrlTargetNameGet(winNum), addrDecWin.addrWin.baseLow);
			}

                    	mvSizePrint( addrDecWin.addrWin.size );

#if defined(MV645xx) || defined(MV646xx)
                    switch( addrDecWin.addrWinAttr.swapType)
                    {
                        case MV_BYTE_SWAP:
                            mvOsOutput( "BYTE_SWAP, " );
                            break;
                        case MV_NO_SWAP:
                            mvOsOutput( "NO_SWAP  , " );
                            break;
                        case MV_BYTE_WORD_SWAP:
                            mvOsOutput( "BYTE_WORD_SWAP, " );
                            break;
                        case MV_WORD_SWAP:
                            mvOsOutput( "WORD_SWAP, " );
                            break;
                        default:
                            mvOsOutput( "SWAP N/A , " );
                    }

                    switch( addrDecWin.addrWinAttr.cachePolicy )
                    {
                        case NO_COHERENCY:
                            mvOsOutput( "NO_COHERENCY , " );
                            break;
                        case WT_COHERENCY:
                            mvOsOutput( "WT_COHERENCY , " );
                            break;
                        case WB_COHERENCY:
                            mvOsOutput( "WB_COHERENCY , " );
                            break;
                        default:
                            mvOsOutput( "COHERENCY N/A, " );
                    }

                    switch( addrDecWin.addrWinAttr.pcixNoSnoop )
                    {
                        case 0:
                            mvOsOutput( "PCI-X NS inactive, " );
                            break;
                        case 1:
                            mvOsOutput( "PCI-X NS active  , " );
                            break;
                        default:
                            mvOsOutput( "PCI-X NS N/A     , " );
                    }

                    switch( addrDecWin.addrWinAttr.p2pReq64 )
                    {
                        case 0:
                            mvOsOutput( "REQ64 force" );
                            break;
                        case 1:
                            mvOsOutput( "REQ64 detect" );
                            break;
                        default:
                            mvOsOutput( "REQ64 N/A" );
                    }
#endif /* MV645xx || MV646xx */
                    mvOsOutput( "\n" );
                }
                else
                    mvOsOutput( "disable\n" );
            }
        }
    }
}