void mtk_arch_reset(char mode) { printf("UB mtk_arch_reset\n"); mtk_wdt_reset(mode); while (1); }
void mtk_arch_reset(char mode) { WDTLOG("UB mtk_arch_reset\n"); mtk_wdt_reset(mode); while (1); }
void mtk_arch_reset(char mode) { print("pl mtk_arch_reset!\n"); //mtk_wdt_hw_reset(); mtk_wdt_reset(mode); while (1); }
void mtk_arch_reset(char mode) { print("mtk_arch_reset at pre-loader!\n"); //mtk_wdt_hw_reset(); mtk_wdt_reset(mode); while (1); }
static void mtk_wdt_set_timeout(struct udevice *dev, unsigned int timeout) { struct mtk_wdt_priv *priv = dev_get_priv(dev); /* * One bit is the value of 512 ticks * The clock has 32 KHz */ timeout = WDT_LENGTH_TIMEOUT(timeout << 6) | WDT_LENGTH_KEY; writel(timeout, priv->base + MTK_WDT_LENGTH); mtk_wdt_reset(dev); }
static void mtk_wdt_sw_reset(void) { printf ("UB WDT SW RESET\n"); //DRV_WriteReg32 (0x70025000, 0x2201); //DRV_WriteReg32 (0x70025008, 0x1971); //DRV_WriteReg32 (0x7002501C, 0x1209); mtk_wdt_reset(1);/* NOTE here, this reset will cause by pass power key */ // system will reset while (1) { printf ("UB SW reset fail ... \n"); }; }
void mtk_wdt_sw_reset (void) { print ("WDT SW RST\n"); //DRV_WriteReg32 (0x70025000, 0x2201); //DRV_WriteReg32 (0x70025008, 0x1971); //DRV_WriteReg32 (0x7002501C, 0x1209); mtk_wdt_reset(1);/* NOTE here, this reset will cause by pass power key */ // system will reset while (1) { print ("SW RST fail\n"); }; }
BOOL meta_check_pc_trigger(void) { ulong begin = 0; int i = 0, j =0; char buf[META_SZ_MAX_PBUF] = ""; int meta_lock = 0; printf("\n%s Check pc meta boot\n",META_STR_MOD_PREF); // delay for a while (it could be removed) for(i=0;i<200;i++); /* send "READY" to notify tool side */ //printf("%s Send 'READY' to notify tool\n",META_STR_MOD_PREF); // set uart port to UART1 //mt6577_serial_set_current_uart(UART1); //puts(META_STR_READY); mtk_serial_set_current_uart(UART1);//added by Hong-Rong /* detect tool existence */ meta_listen_tool(META_SZ_MAX_PBUF-1,1,10,buf); if(buf==NULL) { mtk_serial_set_current_uart(UART4); printf("%s Response timeout\n",META_STR_MOD_PREF); return; } mtk_serial_set_current_uart(UART4); printf("%s Receieve data from uart1: %s\n",META_STR_MOD_PREF,buf); /* check "METAMETA", judge whether META mode indicated */ for(i=0;i<META_SZ_MAX_PBUF-sizeof(META_STR_REQ);i++) { if (buf[i]!=NULL && !strcmp(buf+i, META_STR_REQ) ) { //Call API to check if META locked */ meta_lock = UBoot_MetaLock_Check(); if (meta_lock) { /* return "LOCK" to ack tool */ mtk_serial_set_current_uart(UART1); puts(META_LOCK); for(i=0;i<200;i++); /* Reset the Target */ printf("META LOCK! Rebooting..."); mtk_wdt_reset(); } /* return "ATEMATEM" to ack tool */ mtk_serial_set_current_uart(UART1); puts(META_STR_ACK); for(i=0;i<200;i++); mtk_serial_set_current_uart(UART4); printf("\n"); printf("%s Enable meta mode\n",META_STR_MOD_PREF); g_boot_mode = META_BOOT; //video_printf("%s : detect meta mode !\n",META_STR_MOD_PREF); return TRUE; } } /* check "ADVMETA", judge whether META mode indicated */ for(i=0;i<META_SZ_MAX_PBUF-sizeof(META_ADV_REQ);i++) { if (buf[i]!=NULL && !strcmp(buf+i, META_ADV_REQ) ) { /* Call API to check if META locked */ meta_lock = UBoot_MetaLock_Check(); if (meta_lock) { /* return "LOCK" to ack tool */ mtk_serial_set_current_uart(UART1); puts(META_LOCK); for(i=0;i<200;i++); /* Reset the Target */ printf("META LOCK! Rebooting..."); WDT_HW_Reset(); } /* return "ATEMVDA" to ack tool */ mtk_serial_set_current_uart(UART1); puts(META_ADV_ACK); for(i=0;i<200;i++); mtk_serial_set_current_uart(UART4); printf("\n"); printf("%s Enable meta mode\n",META_STR_MOD_PREF); g_boot_mode = ADVMETA_BOOT; //video_printf("%s : detect meta mode !\n",META_STR_MOD_PREF); return TRUE; } } /* check "FACTORYM", judge whether ATE mode indicated */ for(i=0;i<ATE_SZ_MAX_PBUF-sizeof(ATE_STR_REQ);i++) { if (buf[i]!=NULL && !strcmp(buf+i, ATE_STR_REQ) ) { /* return "MYROTCAF" to ack tool */ mtk_serial_set_current_uart(UART1); puts(ATE_STR_ACK); for(i=0;i<200;i++); mtk_serial_set_current_uart(UART4); printf("\n"); printf("%s Enable ate_factory mode\n",ATE_STR_MOD_PREF); g_boot_mode = ATE_FACTORY_BOOT; return TRUE; } } return FALSE; }