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; }
/* * 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; } }
/*=========================================================================== 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(); }
/* < 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); }