Esempio n. 1
0
int chk_config_get_id(void)
{
	/* For all Fusion targets,  Modem will always be present */
	if (machine_is_msm8x60_fusion() || machine_is_msm8x60_fusn_ffa())
		return 0;

	if (driver->use_device_tree) {
		if (machine_is_msm8974())
			return MSM8974_TOOLS_ID;
		else
			return 0;
	} else {
		switch (socinfo_get_msm_cpu()) {
		case MSM_CPU_8X60:
			return APQ8060_TOOLS_ID;
		case MSM_CPU_8960:
		case MSM_CPU_8960AB:
			return AO8960_TOOLS_ID;
		case MSM_CPU_8064:
		case MSM_CPU_8064AB:
		case MSM_CPU_8064AA:
			return APQ8064_TOOLS_ID;
		case MSM_CPU_8930:
		case MSM_CPU_8930AA:
		case MSM_CPU_8930AB:
			return MSM8930_TOOLS_ID;
		case MSM_CPU_8974:
			return MSM8974_TOOLS_ID;
		case MSM_CPU_8625:
			return MSM8625_TOOLS_ID;
		default:
			return 0;
		}
	}
}
static int ncp6335d_set_voltage(struct regulator_dev *rdev,
			int min_uV, int max_uV, unsigned *selector)
{
	int rc, set_val, new_uV;
	struct ncp6335d_info *dd = rdev_get_drvdata(rdev);
	//<oliver 20150716>++ modify ncp output voltage for stability
	static enum msm_cpu cur_cpu; //static variable constraint to this file
	static char* buf = "0.0";

	cur_cpu = socinfo_get_msm_cpu();
	buf = OLIVER_socinfo_get_msm_cpu_revision();
	set_val = DIV_ROUND_UP(min_uV - dd->min_voltage, dd->step_size);
	if (!strncmp("3.0",buf,3)) {
		//printk("OLIVER 3.0 found\n");
	} else if ((MSM_CPU_8939 == cur_cpu)&&(asus_PRJ_ID == ASUS_ZE550KL)){
		if (!strncmp("3",asus_project_stage,2)||!strncmp("1",asus_project_stage,2)) {
			if (set_val < 80)
				set_val = set_val + 5;
			else if (set_val < 120) {
				set_val = set_val + 4;
				if (set_val > 120)
					set_val = 120;
			}

		}else {
			if (set_val < 80) {
				set_val = set_val + 4;
				if (set_val > 80)
					set_val = 80;
			}
		}
	}
	//<oliver 20150716>--
	new_uV = (set_val * dd->step_size) + dd->min_voltage;
	if (new_uV > max_uV) {
		dev_err(dd->dev, "Unable to set volatge (%d %d)\n",
							min_uV, max_uV);
		return -EINVAL;
	}

	rc = ncp6335x_update_bits(dd, dd->vsel_reg,
		NCP6335D_VOUT_SEL_MASK, (set_val & NCP6335D_VOUT_SEL_MASK));
	if (rc) {
		dev_err(dd->dev, "Unable to set volatge (%d %d)\n",
							min_uV, max_uV);
	} else {
		ncp633d_slew_delay(dd, dd->curr_voltage, new_uV);
		dd->curr_voltage = new_uV;
	}

	dump_registers(dd, dd->vsel_reg, __func__);

	return rc;
}
Esempio n. 3
0
/*
 * This will return TRUE for targets which support apps only mode and hence SSR.
 * This applies to 8960 and newer targets.
 */
int chk_apps_only(void)
{
	if (driver->use_device_tree)
		return 1;

	switch (socinfo_get_msm_cpu()) {
	case MSM_CPU_8960:
	case MSM_CPU_8960AB:
	case MSM_CPU_8064:
	case MSM_CPU_8064AB:
	case MSM_CPU_8064AA:
	case MSM_CPU_8930:
	case MSM_CPU_8930AA:
	case MSM_CPU_8930AB:
	case MSM_CPU_8627:
	case MSM_CPU_9615:
	case MSM_CPU_8974:
		return 1;
	default:
		return 0;
	}
}
Esempio n. 4
0
/*===========================================================================


FUNCTION     set_s_board_hw_version_special

DESCRIPTION
  This function deal with special hw_version_id s_board_id and so on
DEPENDENCIES
  
RETURN VALUE
  None

SIDE EFFECTS
  None
===========================================================================*/
static void set_s_board_hw_version_special(char *hw_version_id,char *hw_version_sub_ver,
                                char *s_board_id,char *sub_ver)
{
                                             
    if ((NULL == s_board_id) || (NULL == sub_ver) || (NULL == hw_version_id) || (NULL == hw_version_sub_ver))
    {
         printk("app_info : parameter pointer is null!\n");    
         return ;
    }

	/* U8815 silk-screen display to VerB */
    if((HW_VER_SUB_VB <= get_hw_sub_board_id()) 
       &&(MACH_TYPE_MSM7X27A_U8815 == machine_arch_type))
    {
        memcpy(hw_version_id,"HD1U8815M ", BOARD_ID_LEN-1);
        sprintf(hw_version_sub_ver, "VER.%c", 'A'+(char)get_hw_sub_board_id());
        strcat(hw_version_id, hw_version_sub_ver);
        hw_version_id[HW_VERSION-1] = '\0';

    }    

    if((MACH_TYPE_MSM7X30_U8820 == machine_arch_type)
       &&(socinfo_get_msm_cpu() == MSM_CPU_8X55))
    {
        memcpy(s_board_id,"MSM8255_U8820", BOARD_ID_LEN-1);
    	sprintf(sub_ver, ".Ver%c", 'A'+(char)get_hw_sub_board_id());
    	strcat(s_board_id, sub_ver);
        s_board_id[BOARD_ID_LEN-1] = '\0';
    }

	if((MACH_TYPE_MSM7X30_U8800_51 == machine_arch_type)
       &&(HW_VER_SUB_VD == get_hw_sub_board_id()))
    {
        memcpy(s_board_id,"MSM7X30_U8800-51", BOARD_ID_LEN-1);
        sprintf(sub_ver, ".Ver%c", 'C');
    	strcat(s_board_id, sub_ver);
        s_board_id[BOARD_ID_LEN-1] = '\0';
    }

    /* change U8185 hw_version to VerB */
    if(MACH_TYPE_MSM7X27A_U8185 == machine_arch_type) 
    {
        if(HW_VER_SUB_VE > get_hw_sub_board_id()) 
        {
            memcpy(hw_version_id,"HD1U8185M ", BOARD_ID_LEN-1);
            sprintf(hw_version_sub_ver, "VER.%c", 'A'+(char)get_hw_sub_board_id() + 1);
            strcat(hw_version_id, hw_version_sub_ver);
            hw_version_id[HW_VERSION-1] = '\0';
        }
        /* add U8186 hw_version 
         * and the U8186 sub ver keep same as U8185 sub ver. 
         */ 
        else if(HW_VER_SUB_VE <= get_hw_sub_board_id())
        {
            memcpy(hw_version_id,"HD1U8186M ", BOARD_ID_LEN-1);
            sprintf(hw_version_sub_ver, "VER.%c", 'A'+(char)get_hw_sub_board_id() - 3);
            strcat(hw_version_id, hw_version_sub_ver);
            hw_version_id[HW_VERSION-1] = '\0';
        }
    }

    /* change sub version to right version */
    if((HW_VER_SUB_VE <= get_hw_sub_board_id()) &&
           (MACH_TYPE_MSM7X27A_U8655_EMMC == machine_arch_type))
    {
       memcpy(hw_version_id,"HD2U8655M ", BOARD_ID_LEN-1);
       sprintf(hw_version_sub_ver, ".Ver%c", 'A'+(char)get_hw_sub_board_id() -3);
       strcat(hw_version_id, hw_version_sub_ver);
       hw_version_id[HW_VERSION-1] = '\0';
    }
}
extern bool op_is_msm8996(void)
{
	return MSM_CPU_8996 == socinfo_get_msm_cpu();
}
/* ted, retrieve msm soc info */
extern enum msm_cpu op_socinfo_get_msm_cpu(void)
{
	return socinfo_get_msm_cpu();
}
Esempio n. 7
0
/* < DTS2011042703449  liujinggang 20110427 begin */
static int app_version_read_proc(char *page, char **start, off_t off,
				 int count, int *eof, void *data)
{
	int len;
    /* <BU5D10533 duangan 2010-5-26 begin */
	// char *ker_ver = "HUAWEI_KERNEL_VERSION";
	char *ker_ver = HUAWEI_KERNEL_VERSION;
    /* BU5D10533 duangan 2010-5-26 end> */
	char *lcd_name = NULL;
	char s_board_id[BOARD_ID_LEN] = {0};
    char sub_ver[10] = {0};
	/* < DTS2011082201029 liwei 20110819 begin */
	char hw_version_id[HW_VERSION] = {0};
	char hw_version_sub_ver[HW_VERSION_SUB_VER] = {0};	
	/* DTS2011082201029 liwei 20110819 end > */
	char *compass_gs_name = NULL;
    
	switch(machine_arch_type)
	{
		case MACH_TYPE_MSM7X25_U8100:
			strcpy(s_board_id, "MSM7X25_U8100");
			break;
		case MACH_TYPE_MSM7X25_U8105:
			strcpy(s_board_id, "MSM7X25_U8105");
			break;
		case MACH_TYPE_MSM7X25_U8107:
			strcpy(s_board_id, "MSM7X25_U8107");
			break;
		case MACH_TYPE_MSM7X25_U8109:
			strcpy(s_board_id, "MSM7X25_U8109");
			break;
		case MACH_TYPE_MSM7X25_U8110:
			strcpy(s_board_id, "MSM7X25_U8110");
			break;
		case MACH_TYPE_MSM7X25_U8120:
			strcpy(s_board_id, "MSM7X25_U8120");
			break;
		case MACH_TYPE_MSM7X25_U7610:
			strcpy(s_board_id, "MSM7X25_U7610");
			break;
		case MACH_TYPE_MSM7X25_U8500:
			strcpy(s_board_id, "MSM7X25_U8500");
			break;
		case MACH_TYPE_MSM7X25_U8300:
			strcpy(s_board_id, "MSM7X25_U8300");
			break;
		/*U8150_EU and U8150_JP*/
		case MACH_TYPE_MSM7X25_U8150:
			strcpy(s_board_id, "MSM7X25_U8150");
			break;
		case MACH_TYPE_MSM7X25_C8500:
			strcpy(s_board_id, "MSM7X25_C8500");
			break;
	    case MACH_TYPE_MSM7X25_C8600:
			strcpy(s_board_id, "MSM7X25_C8600");
			break;
        case MACH_TYPE_MSM7X30_U8800:
			strcpy(s_board_id, "MSM7X30_U8800");
			break;
        /*< DTS2010092400487  lijianzhao 20100924 begin */       
        case MACH_TYPE_MSM7X30_U8820:
/*< DTS2011010505694  muyongquan 20110218 begin */     
      		 	if (socinfo_get_msm_cpu()==MSM_CPU_8X55)
			strcpy(s_board_id, "MSM8255_U8820");
			if(socinfo_get_msm_cpu()==MSM_CPU_7X30)
/* DTS2011010505694  muyongquan 220110218 end >*/    
			strcpy(s_board_id, "MSM7x30_U8820");
			break;
        /* DTS2010092400487  lijianzhao 20100924 end >*/
        /*< DTS2011030802106 renxigang 20100308 begin */     
        /*< DTS2010112702297 wangquanli 201001125 begin */
        case MACH_TYPE_MSM7X30_U8800_51:
			strcpy(s_board_id, "MSM7X30_U8800-51");
			break;
        /* DTS2010112702297 wangquanli 201001125 end >*/
        /* DTS2011030802106 renxigang 20100308 end >*/
        /*< DTS2011030802106 renxigang 20100308 begin */
        /*< DTS2011030202729  liliang 20110302  begin */		
        case MACH_TYPE_MSM8255_U8800_PRO:
			strcpy(s_board_id, "MSM8255_U8800-PRO");
			break;
        /* DTS2011030202729  liliang 20110302 end >*/
        /* DTS2011030802106 renxigang 20100308 end >*/
		/* < DTS2011082201029 liwei 20110819 begin */
        /* <DTS2011041501614 duangan 2011-4-18 begin */
        case MACH_TYPE_MSM8255_U8860:
            strcpy(s_board_id, "MSM8255_U8860");
            strcpy(hw_version_id, "HD2U886M ");
	        sprintf(hw_version_sub_ver, "VER.%c", 'A'+(char)get_hw_sub_board_id());
            break;
        /* DTS2011041501614 duangan 2011-4-18 end> */
		/* <DTS2011050700551 zhangbo 20110505 begin */
        case MACH_TYPE_MSM8255_C8860:
            strcpy(s_board_id, "MSM8255_C8860");
            strcpy(hw_version_id, "HC1C886M ");
	        sprintf(hw_version_sub_ver, "VER.%c", 'A'+(char)get_hw_sub_board_id());
            break;
        /* DTS2011050700551 zhangbo 20110505 end> */
        /* <DTS2011062600102 sunhonghui 20110626 begin */
        case MACH_TYPE_MSM8255_U8860LP:
            strcpy(s_board_id, "MSM8255_U8860LP");
            strcpy(hw_version_id, "HD2U886M ");
	        sprintf(hw_version_sub_ver, "VER.%c", 'A'+(char)get_hw_sub_board_id());
            break;
        /* DTS2011062600102 sunhonghui 20110626 end> */
		/*<DTS2011091502092 liyuping 20110915 begin */		
		/* <DTS2011110206054 liyuping 20111108 begin */	
		/* change HW_VERSION number */
        case MACH_TYPE_MSM8255_U8860_51:
            strcpy(s_board_id, "MSM8255_U8860-51");
            strcpy(hw_version_id, "HD2U886M01 ");
	        sprintf(hw_version_sub_ver, "VER.%c", 'A'+(char)get_hw_sub_board_id());
            break;
		/* DTS2011110206054 liyuping 20111108 end> */
		/* DTS2011091502092 liyuping 20110915 end> */
		/* <DTS2011071600361 liyuping 20110716 begin */
		case MACH_TYPE_MSM8255_U8860_92:
            strcpy(s_board_id, "MSM8255_U8860-92");
            strcpy(hw_version_id, "HD4U886M ");
	        sprintf(hw_version_sub_ver, "VER.%c", 'A'+(char)get_hw_sub_board_id());
            break;
		/* DTS2011071600361 liyuping 20110716 end> */
		/* < DTS2011082302564 liwei 20110823 begin */
		case MACH_TYPE_MSM8255_U8680:
            strcpy(s_board_id, "MSM8255_U8680");
            strcpy(hw_version_id, "HD1U868M ");
	        sprintf(hw_version_sub_ver, "VER.%c", 'A'+(char)get_hw_sub_board_id());
            break;
		/* DTS2011082302564 liwei 20110823 end > */
		/* < DTS2011102401822 liwei 20111024 begin */
		case MACH_TYPE_MSM8255_U8667:
		    strcpy(s_board_id, "MSM8255_U8667");
            strcpy(hw_version_id, "HD1U866M ");
	        sprintf(hw_version_sub_ver, "VER.%c", 'A'+(char)get_hw_sub_board_id());
            break;
		/* DTS2011102401822 liwei 20111024 end > */
		/* DTS2011082201029 liwei 20110819 end > */
		/* <DTS2011091200073 zhangbo 20110912 begin */
        case MACH_TYPE_MSM8255_U8730:
            strcpy(s_board_id, "MSM8255_U8730");
            strcpy(hw_version_id, "HD1U873M ");
	        sprintf(hw_version_sub_ver, "VER.%c", 'A'+(char)get_hw_sub_board_id());
            break;
    /* DTS2011091200073 zhangbo 20110912 end> */
		default:
			strcpy(s_board_id, "ERROR");
			break;
	}
    if(MACH_TYPE_MSM7X25_U8120 == machine_arch_type)
    {
        sprintf(sub_ver, ".Ver%c", 'B');
    }
    /*U8150_EU==U8150_Ver.A and U8150_JP==U8150_Ver.B*/
    else if(MACH_TYPE_MSM7X25_U8150 == machine_arch_type)
    {
        /*if sub_board_id is equal to 0(VerA), the product is U8150_EU.*/
        if(HW_VER_SUB_VA == get_hw_sub_board_id())
        {
            sprintf(sub_ver, "_EU.%c", 'A'+(char)get_hw_sub_board_id());
        }
        /*if sub_board_id is equal to 1(VerB), the product is U8150_Japan.*/
        else if(HW_VER_SUB_VB == get_hw_sub_board_id())
        {
            sprintf(sub_ver, "_JP.%c", 'A'+(char)get_hw_sub_board_id());
        }
        else
        {
            sprintf(sub_ver, ".Ver%c", 'A'+(char)get_hw_sub_board_id());
        }
    }
	/* < DTS2011052400629 caomingxing 20110524 begin */
	else if(MACH_TYPE_MSM7X30_U8800_51 == machine_arch_type)
    {
        if(HW_VER_SUB_VD == get_hw_sub_board_id())
        {
            sprintf(sub_ver, ".Ver%c", 'C');
        }
        else
        {
            sprintf(sub_ver, ".Ver%c", 'A'+(char)get_hw_sub_board_id());
        }
    }
	/* DTS2011052400629 caomingxing 20110524 end > */
    else
    {
        sprintf(sub_ver, ".Ver%c", 'A'+(char)get_hw_sub_board_id());
    }
    strcat(s_board_id, sub_ver);
    /* < DTS2011082201029 liwei 20110819 begin */
    strcat(hw_version_id, hw_version_sub_ver);
	/* DTS2011082201029 liwei 20110819 end > */

/* < BU5D10365 liujinggang 20100521 begin*/
	lcd_name = get_lcd_panel_name();
/* BU5D10365 liujinggang 20100521 end > */
	compass_gs_name=get_compass_gs_position_name();
	
/* <DTS2010071502918 shenjinming 20101008 begin */
#ifdef CONFIG_HUAWEI_POWER_DOWN_CHARGE
    charge_flag = get_charge_flag();
    /* < DTS2011082201029 liwei 20110819 begin */
	len = snprintf(page, PAGE_SIZE, "APPSBOOT:\n"
	"%s\n"
	"KERNEL_VER:\n"
	"%s\n"
	 "FLASH_ID:\n"
	"%s\n"
	"board_id:\n%s\n"
	"lcd_id:\n%s\n"
	"cam_id:\n%d\n"
	"ts_id:\n%d\n"
	"charge_flag:\n%d\n"
	"compass_gs_position:\n%s\n"
	"hw_version:\n%s\n",
	appsboot_version, ker_ver, str_flash_nand_id, s_board_id, lcd_name, camera_id, ts_id,charge_flag, compass_gs_name, hw_version_id);
#else
	len = snprintf(page, PAGE_SIZE, "APPSBOOT:\n"
	"%s\n"
	"KERNEL_VER:\n"
	"%s\n"
	 "FLASH_ID:\n"
	"%s\n"
	"board_id:\n%s\n"
	"lcd_id:\n%s\n"
	"cam_id:\n%d\n"
	"ts_id:\n%d\n"
	"compass_gs_position:\n%s\n"
	"hw_version:\n%s\n",
	appsboot_version, ker_ver, str_flash_nand_id, s_board_id, lcd_name, camera_id, ts_id, compass_gs_name, hw_version_id);
	/* DTS2011082201029 liwei 20110819 end > */
#endif
/* DTS2010071502918 shenjinming 20101008 end> */ 	
	
	return proc_calc_metrics(page, start, off, count, eof, len);
}