void mtk_arch_reset(char mode)
{
    printf("UB mtk_arch_reset\n");

    mtk_wdt_reset(mode);

    while (1);
}
Beispiel #2
0
void mtk_arch_reset(char mode)
{
    WDTLOG("UB mtk_arch_reset\n");

    mtk_wdt_reset(mode);

    while (1);
}
Beispiel #3
0
void mtk_arch_reset(char mode)
{
    print("pl mtk_arch_reset!\n");

    //mtk_wdt_hw_reset();
    mtk_wdt_reset(mode);

    while (1);
}
Beispiel #4
0
void mtk_arch_reset(char mode)
{
    print("mtk_arch_reset at pre-loader!\n");

    //mtk_wdt_hw_reset();
    mtk_wdt_reset(mode);

    while (1);
}
Beispiel #5
0
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");
    };
}
Beispiel #7
0
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");
    };
}
Beispiel #8
0
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;	    
}