/*-----------------------------------------------------------------------------*/ int main(void) { int i, chr; sysDisableCache(); sysFlushCache(I_D_CACHE); sysEnableCache(CACHE_WRITE_BACK); sysInitializeUART(); /* enable MTP clock */ outpw(REG_CLK_PCLKEN1, inpw(REG_CLK_PCLKEN1) | (1 << 26)); i = 0; while (1) { sysprintf("+-------------------------------------------+\n"); sysprintf("| MTP menu |\n"); sysprintf("+-------------------------------------------+\n"); sysprintf("| [1] On-chip MTP key status |\n"); sysprintf("| [2] Program MTP key |\n"); sysprintf("| [3] Lock MTP key |\n"); sysprintf("+-------------------------------------------+\n"); chr = sysGetChar(); switch (chr) { case '1': if (MTP_Enable() != MTP_RET_OK) { sysprintf("Failed to enable MTP!\n"); break; } dump_mtp_status(); break; case '2': if (MTP_Program(key_table[i++], 0x40) == MTP_RET_OK) sysprintf("MTP key program done.\n"); else sysprintf("Failed to program MTP key!\n"); break; case '3': if (MTP_Lock() == MTP_RET_OK) sysprintf("MTP key is locked.\n"); else sysprintf("Failed to lock MTP key!\n"); break; } sysprintf("\nPress any key...\n"); sysGetChar(); } }
void USBMakerInit_USIDC(USB_SIDC_INFO *pUSBSIDCInfo) { pUSBSIDCInfo->pManuStringDesc = (SIDC_STRING_DESC *)gUSIDCManuStrDesc; pUSBSIDCInfo->pProdStringDesc = (SIDC_STRING_DESC *)gUSIDCSIDCProdStrDesc; USBMakerInit_SerialNumber(); pUSBSIDCInfo->pSerialStringDesc = (SIDC_STRING_DESC *)gUSIDCSerialStrDesc3; pUSBSIDCInfo->VID = USB_VID; pUSBSIDCInfo->PID = USB_PID_PRINT; pUSBSIDCInfo->pSIDCString = (char *)&gUSIDCSIDCString; pUSBSIDCInfo->SIDCStringLen = sizeof(gUSIDCSIDCString); PictB_SetVendSpecVer(strlen((char *)gUIDpsVendSpecVersion), (UINT8 *)&gUIDpsVendSpecVersion[0]); MTP_Enable(TRUE); //#NT#2010/11/02#Lily Kao -begin MTP_SetDeviceFriendlyName((char *)gMTPFriendNameStr); // Max string length is 255. //MTP_SetDeviceFriendlyName("Novatek MTP"); // Max string length is 255. //#NT#2010/11/02#Lily Kao -end }