diff --git a/drivers/power/bq27426_fg_mmi/bq27426_gmfs_coslight.h b/drivers/power/bq27426_fg_mmi/battery_profile/imported/bq27426_gmfs_coslight.h similarity index 100% rename from drivers/power/bq27426_fg_mmi/bq27426_gmfs_coslight.h rename to drivers/power/bq27426_fg_mmi/battery_profile/imported/bq27426_gmfs_coslight.h diff --git a/drivers/power/bq27426_fg_mmi/lenovo_atl_df1_gmfs.h b/drivers/power/bq27426_fg_mmi/battery_profile/imported/lenovo_atl_df1_gmfs.h similarity index 100% rename from drivers/power/bq27426_fg_mmi/lenovo_atl_df1_gmfs.h rename to drivers/power/bq27426_fg_mmi/battery_profile/imported/lenovo_atl_df1_gmfs.h diff --git a/drivers/power/bq27426_fg_mmi/battery_profile/imported/lenovo_scud_df1_gmfs.h b/drivers/power/bq27426_fg_mmi/battery_profile/imported/lenovo_scud_df1_gmfs.h new file mode 100644 index 000000000000..708c130c3aeb --- /dev/null +++ b/drivers/power/bq27426_fg_mmi/battery_profile/imported/lenovo_scud_df1_gmfs.h @@ -0,0 +1,819 @@ +/***************************************************************************** +* Copyright 2010 Texas Instruments Corporation, All Rights Reserved. +* TI makes NO WARRANTY as to software products, which are supplied "AS-IS" +*****************************************************************************/ + +/***************************************************************************** +* This code is automatically generated from bqfs/dffs file. * +* DO NOT MODIFY THIS FILE DIRECTLY * +*****************************************************************************/ + +//this file is generated from Lenovo-2660-DF1_.gm.fs at Thu Nov 28 16:22:59 2019 + +#ifndef __SCUD_BQFS_FILE__ +#define __SCUD_BQFS_FILE__ + +#include "bqfs_cmd_type.h" + +const bqfs_cmd_t scud_bqfs_image[] = { + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x01, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x26, 0x04}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x02, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x02, 0x02}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x13, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 1100}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x02, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x02, 0x26, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xA5}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x02, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xA5}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x24, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x00, 0x19, 0x28, 0x63, 0x5F, 0xFF, 0x62, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x69}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x24, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x69}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x31, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x0A, 0x0F, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xDF}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x31, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xDF}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x40, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x64, 0x71, 0x0F, 0x9F, 0x23, 0x01, 0x00, 0x14, 0x04, 0x00, 0x09, 0x04, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x0D}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x40, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x0D}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x44, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x00, 0x32, 0x01, 0xC2, 0x30, 0x00, 0x03, 0x08, 0x98, 0x01, 0x00, 0x3C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xF9}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x44, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xF9}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x50, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x01, 0xF4, 0x00, 0x1E, 0xC8, 0x14, 0x08, 0x00, 0x3C, 0x0E, 0x10, 0x00, 0x0A, 0x46, 0x05, 0x14, 0x05, 0x0F, 0x03, 0x20, 0x7F, 0xFF, 0x00, 0xF0, 0x46, 0x50, 0x18, 0x01, 0x90, 0x00, 0x64, 0x19}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xE4}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x50, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xE4}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x50, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xDC, 0x5C, 0x60, 0x00, 0x7D, 0x00, 0x04, 0x03, 0x19, 0x25, 0x0F, 0x14, 0x0A, 0x78, 0x60, 0x28, 0x01, 0xF4, 0x00, 0x00, 0x00, 0x00, 0x43, 0x80, 0x04, 0x01, 0x14, 0x00, 0x08, 0x0B, 0xB8, 0x01}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xDB}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x50, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xDB}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x50, 0x02}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x2C, 0x0A, 0x01, 0x0A, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x64, 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0xD0, 0x01, 0x03, 0x5A, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x47}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x50, 0x02}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x47}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x51, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x00, 0xA7, 0x00, 0x64, 0x00, 0xFA, 0x00, 0x3C, 0x3C, 0x01, 0xB3, 0xB3, 0x01, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x8A}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x51, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x8A}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x52, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x40, 0xB4, 0x00, 0x00, 0x00, 0x81, 0x0F, 0xA0, 0x39, 0xD0, 0x0C, 0x80, 0x00, 0xC8, 0x00, 0x32, 0x00, 0x13, 0x02, 0x32, 0x01, 0x00, 0x85, 0x00, 0x0A, 0xFF, 0xD6, 0xFF, 0xD1, 0x00, 0x01, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xCF}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x52, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xCF}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x53, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x26, 0x60, 0x11, 0x2D, 0xE5, 0xE5, 0xE0, 0xE1, 0xE1, 0xE1, 0xE3, 0xE4, 0xE2, 0xE6, 0xF1, 0xE6, 0xC0, 0xEA, 0xF7, 0xE6, 0xE0, 0xEA, 0xEB, 0xF1, 0xF1, 0xF6, 0xF5, 0xF7, 0xF8, 0xFA, 0xFA, 0xFC}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xA0}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x53, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xA0}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x53, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xFB, 0xF7, 0xF7, 0xF0, 0xF5, 0xE9, 0xF8, 0xFE, 0xFB, 0xDF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xF8}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x53, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xF8}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x54, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xFD, 0x6C, 0x05, 0x02, 0x01, 0x03, 0x02, 0x00, 0x02, 0xFC, 0xFB, 0x03, 0xFA, 0xEE, 0xFC, 0x4D, 0xFB, 0xFB, 0xF9, 0xEC, 0x04, 0x01, 0x01, 0x04, 0xFB, 0x00, 0x00, 0xFD, 0xFB, 0xF9, 0xE4, 0xEA}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xBD}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x54, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xBD}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x54, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xFD, 0xFA, 0x07, 0xFC, 0x09, 0x0D, 0x04, 0xD8, 0xF6, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x9C}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x54, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x9C}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x55, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xFF, 0x37, 0x00, 0x15, 0x07, 0xFC, 0x0A, 0x10, 0x0B, 0x01, 0xF9, 0xF5, 0xFD, 0x0D, 0x26, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x02}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x55, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x02}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x6C, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xFE, 0x2A, 0x01, 0x00, 0x0C, 0x1C, 0xF7, 0xFB, 0x07, 0xC5, 0xF4, 0xF9, 0xFC, 0xED, 0xFF, 0x40, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x8A}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x6C, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x8A}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x59, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x00, 0x14, 0x00, 0x13, 0x00, 0x14, 0x00, 0x18, 0x00, 0x14, 0x00, 0x12, 0x00, 0x15, 0x00, 0x12, 0x00, 0x12, 0x00, 0x13, 0x00, 0x15, 0x00, 0x17, 0x00, 0x1C, 0x00, 0x30, 0x00, 0x62, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x60}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x59, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x60}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x6D, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x0F, 0xE4, 0x0E, 0xE3, 0x0E, 0xB7, 0x11, 0x2D, 0x10, 0xFB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x0D}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x6D, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x0D}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x70, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xFF}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x70, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xFF}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x00, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x42, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 2000}, + }, +}; +//end of const bqfs_cmd_t bqfs_image[] +#endif diff --git a/drivers/power/bq27426_fg_mmi/battery_profile/imported/smith_battery_flip_0426_2_02-bq27426G1-2766.gm.fs.h b/drivers/power/bq27426_fg_mmi/battery_profile/imported/smith_battery_flip_0426_2_02-bq27426G1-2766.gm.fs.h new file mode 100644 index 000000000000..fa78674febb5 --- /dev/null +++ b/drivers/power/bq27426_fg_mmi/battery_profile/imported/smith_battery_flip_0426_2_02-bq27426G1-2766.gm.fs.h @@ -0,0 +1,390 @@ +/***************************************************************************** +* Copyright 2010 Texas Instruments Corporation, All Rights Reserved. +* TI makes NO WARRANTY as to software products, which are supplied "AS-IS" +*****************************************************************************/ + +/***************************************************************************** +* This code is automatically generated from bqfs/dffs file. * +* DO NOT MODIFY THIS FILE DIRECTLY * +*****************************************************************************/ + +//this file is generated from smith_battery_flip_0426_2_02-bq27426G1-2766.gm.fs at Wed Feb 5 16:23:52 2020 + +#ifndef __FLIP_BQFS_FILE__ +#define __FLIP_BQFS_FILE__ + +#include "bqfs_cmd_type.h" + +const bqfs_cmd_t smith_flip_bqfs_image[] = { + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x01, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x26, 0x04}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x02, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x02, 0x02}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x13, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 1100}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x53, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x27, 0x66, 0x11, 0x59, 0xE2, 0xE1, 0xE4, 0xE3, 0xE0, 0xE1, 0xDF, 0xE1, 0xE1, 0xE2, 0xE2, 0xE4, 0xE4, 0xE6, 0xE7, 0xE6, 0xE7, 0xE2, 0xE3, 0xEF, 0xEF, 0xF3, 0xF4, 0xF6, 0xF6, 0xFA, 0xF8, 0xFD}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x91}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x53, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x91}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x53, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xF9, 0xF6, 0xF5, 0xF3, 0xF0, 0xEE, 0xF3, 0xFE, 0xFC, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xFD}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x53, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xFD}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x54, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xFF, 0x4D, 0x03, 0xEA, 0x00, 0xFD, 0x00, 0x05, 0x00, 0x05, 0xFF, 0x01, 0x03, 0x01, 0x05, 0x0A, 0x0E, 0x13, 0x02, 0xFA, 0x07, 0x00, 0x09, 0x0C, 0x03, 0xF7, 0x00, 0x01, 0xF3, 0xEF, 0x9D, 0xBB}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x3E}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x54, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x3E}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x54, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xBB, 0xF2, 0x27, 0x10, 0xD3, 0x59, 0x00, 0xE2, 0x8D, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xFF}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x54, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xFF}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x55, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xFF, 0x71, 0x02, 0x01, 0x01, 0xFF, 0xFD, 0x08, 0x01, 0x00, 0x01, 0x01, 0xFF, 0x01, 0x0F, 0x61, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x02}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x55, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x02}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x6C, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xFE, 0xCE, 0x02, 0x03, 0x04, 0x00, 0x12, 0xF0, 0x07, 0xEC, 0x00, 0x00, 0x00, 0xFA, 0xE7, 0xB6, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xA7}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x6C, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xA7}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x59, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x00, 0x22, 0x00, 0x22, 0x00, 0x25, 0x00, 0x2D, 0x00, 0x38, 0x00, 0x23, 0x00, 0x2B, 0x00, 0x23, 0x00, 0x23, 0x00, 0x23, 0x00, 0x26, 0x00, 0x27, 0x00, 0x2E, 0x00, 0x42, 0x00, 0xA0, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x1D}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x59, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x1D}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x6D, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x06, 0x3E, 0x0E, 0xE3, 0x0E, 0xBD, 0x11, 0x59, 0x11, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x5D}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x6D, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x5D}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x00, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x42, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 2000}, + }, +}; +//end of const bqfs_cmd_t bqfs_image[] +#endif diff --git a/drivers/power/bq27426_fg_mmi/battery_profile/imported/smith_battery_main_0426_2_02-bq27426G1-2767.gm.fs.h b/drivers/power/bq27426_fg_mmi/battery_profile/imported/smith_battery_main_0426_2_02-bq27426G1-2767.gm.fs.h new file mode 100644 index 000000000000..a4d2303e3402 --- /dev/null +++ b/drivers/power/bq27426_fg_mmi/battery_profile/imported/smith_battery_main_0426_2_02-bq27426G1-2767.gm.fs.h @@ -0,0 +1,390 @@ +/***************************************************************************** +* Copyright 2010 Texas Instruments Corporation, All Rights Reserved. +* TI makes NO WARRANTY as to software products, which are supplied "AS-IS" +*****************************************************************************/ + +/***************************************************************************** +* This code is automatically generated from bqfs/dffs file. * +* DO NOT MODIFY THIS FILE DIRECTLY * +*****************************************************************************/ + +//this file is generated from smith_battery_main_0426_2_02-bq27426G1-2767.gm.fs at Wed Feb 5 16:23:29 2020 + +#ifndef __MAIN_BQFS_FILE__ +#define __MAIN_BQFS_FILE__ + +#include "bqfs_cmd_type.h" + +const bqfs_cmd_t smith_main_bqfs_image[] = { + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x01, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x26, 0x04}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x02, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x02, 0x02}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x13, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 1100}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x53, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x27, 0x67, 0x11, 0x59, 0xDF, 0xE0, 0xE3, 0xE2, 0xE0, 0xE0, 0xE0, 0xE0, 0xE1, 0xE3, 0xE3, 0xE4, 0xE5, 0xE7, 0xE9, 0xE4, 0xE4, 0xE5, 0xE3, 0xF0, 0xEF, 0xF5, 0xF2, 0xF7, 0xF6, 0xF9, 0xF9, 0xFA}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x94}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x53, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x94}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x53, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xFC, 0xF6, 0xF6, 0xF2, 0xF1, 0xEF, 0xF2, 0xFE, 0xFA, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xFB}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x53, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xFB}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x54, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xFE, 0x86, 0x03, 0xF7, 0xED, 0x00, 0x04, 0x05, 0x0E, 0xFF, 0x10, 0x03, 0xF7, 0x05, 0x07, 0x02, 0xFE, 0x0B, 0x28, 0x23, 0x01, 0xE1, 0x00, 0x16, 0xE6, 0x1D, 0xEE, 0x00, 0xF6, 0xEB, 0xC0, 0x9C}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xEC}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x54, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xEC}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x54, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xCD, 0xDD, 0x1D, 0x22, 0xCE, 0x52, 0x0A, 0x54, 0xFA, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x1D}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x54, 0x01}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x1D}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x55, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xFF, 0x52, 0x02, 0x06, 0x01, 0xFE, 0xFE, 0x08, 0x03, 0xFD, 0x03, 0x01, 0xFD, 0x04, 0x13, 0x45, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x33}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x55, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x33}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x6C, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0xFE, 0xCA, 0x02, 0x02, 0x04, 0x01, 0x17, 0xEA, 0x06, 0xF0, 0xFE, 0x00, 0x01, 0xF9, 0xDF, 0xAD, 0xF3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xC0}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x6C, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xC0}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x59, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x00, 0x28, 0x00, 0x28, 0x00, 0x2C, 0x00, 0x37, 0x00, 0x46, 0x00, 0x2A, 0x00, 0x32, 0x00, 0x2A, 0x00, 0x29, 0x00, 0x29, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x37, 0x00, 0x4E, 0x00, 0xA8, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xA6}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x59, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0xA6}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x6D, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x40, + .data = {.bytes = {0x05, 0x05, 0x0E, 0xE5, 0x0E, 0xBA, 0x11, 0x59, 0x11, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}, + .data_len = 32, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x98}}, + .data_len = 1, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 10}, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x3E, + .data = {.bytes = {0x6D, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_C, + .addr = 0xAA, + .reg = 0x60, + .data = {.bytes = {0x98}}, + .data_len = 1, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x00, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_W, + .addr = 0xAA, + .reg = 0x00, + .data = {.bytes = {0x42, 0x00}}, + .data_len = 2, + }, + { + .cmd_type = CMD_X, + .data = {.delay = 2000}, + }, +}; +//end of const bqfs_cmd_t bqfs_image[] +#endif diff --git a/drivers/power/bq27426_fg_mmi/battery_profile/0426_2_02-bq27426G1_Lenovo_4000mAh_300mATaper_NTC_3200mVEDV_ID2542_learned_x_NoConv.gm.fs b/drivers/power/bq27426_fg_mmi/battery_profile/raw/0426_2_02-bq27426G1_Lenovo_4000mAh_300mATaper_NTC_3200mVEDV_ID2542_learned_x_NoConv.gm.fs similarity index 100% rename from drivers/power/bq27426_fg_mmi/battery_profile/0426_2_02-bq27426G1_Lenovo_4000mAh_300mATaper_NTC_3200mVEDV_ID2542_learned_x_NoConv.gm.fs rename to drivers/power/bq27426_fg_mmi/battery_profile/raw/0426_2_02-bq27426G1_Lenovo_4000mAh_300mATaper_NTC_3200mVEDV_ID2542_learned_x_NoConv.gm.fs diff --git a/drivers/power/bq27426_fg_mmi/battery_profile/raw/Lenovo-2660-DF1_.gm.fs b/drivers/power/bq27426_fg_mmi/battery_profile/raw/Lenovo-2660-DF1_.gm.fs new file mode 100644 index 000000000000..25dc91f6efa7 --- /dev/null +++ b/drivers/power/bq27426_fg_mmi/battery_profile/raw/Lenovo-2660-DF1_.gm.fs @@ -0,0 +1,135 @@ +;-------------------------------------------------------- +;Verify Existing Firmware Version +;-------------------------------------------------------- +W: AA 00 01 00 +C: AA 00 26 04 +W: AA 00 02 00 +C: AA 00 02 02 +;-------------------------------------------------------- +;SET_CFGUPDATE +;-------------------------------------------------------- +W: AA 00 13 00 +X: 1100 +;-------------------------------------------------------- +;Data Block +;-------------------------------------------------------- +W: AA 3E 02 00 +W: AA 40 02 26 00 00 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 A5 +X: 10 +W: AA 3E 02 00 +C: AA 60 A5 +W: AA 3E 24 00 +W: AA 40 00 19 28 63 5F FF 62 00 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 69 +X: 10 +W: AA 3E 24 00 +C: AA 60 69 +W: AA 3E 31 00 +W: AA 40 0A 0F 02 05 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 DF +X: 10 +W: AA 3E 31 00 +C: AA 60 DF +W: AA 3E 40 00 +W: AA 40 64 71 0F 9F 23 01 00 14 04 00 09 04 26 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 0D +X: 10 +W: AA 3E 40 00 +C: AA 60 0D +W: AA 3E 44 00 +W: AA 40 00 32 01 C2 30 00 03 08 98 01 00 3C 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 F9 +X: 10 +W: AA 3E 44 00 +C: AA 60 F9 +W: AA 3E 50 00 +W: AA 40 01 F4 00 1E C8 14 08 00 3C 0E 10 00 0A 46 05 14 05 0F 03 20 7F FF 00 F0 46 50 18 01 90 00 64 19 +W: AA 60 E4 +X: 10 +W: AA 3E 50 00 +C: AA 60 E4 +W: AA 3E 50 01 +W: AA 40 DC 5C 60 00 7D 00 04 03 19 25 0F 14 0A 78 60 28 01 F4 00 00 00 00 43 80 04 01 14 00 08 0B B8 01 +W: AA 60 DB +X: 10 +W: AA 3E 50 01 +C: AA 60 DB +W: AA 3E 50 02 +W: AA 40 2C 0A 01 0A 00 00 00 C8 00 64 02 00 00 00 00 07 D0 01 03 5A 14 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 47 +X: 10 +W: AA 3E 50 02 +C: AA 60 47 +W: AA 3E 51 00 +W: AA 40 00 A7 00 64 00 FA 00 3C 3C 01 B3 B3 01 90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 8A +X: 10 +W: AA 3E 51 00 +C: AA 60 8A +W: AA 3E 52 00 +W: AA 40 40 B4 00 00 00 81 0F A0 39 D0 0C 80 00 C8 00 32 00 13 02 32 01 00 85 00 0A FF D6 FF D1 00 01 00 +W: AA 60 CF +X: 10 +W: AA 3E 52 00 +C: AA 60 CF +W: AA 3E 53 00 +W: AA 40 26 60 11 2D E5 E5 E0 E1 E1 E1 E3 E4 E2 E6 F1 E6 C0 EA F7 E6 E0 EA EB F1 F1 F6 F5 F7 F8 FA FA FC +W: AA 60 A0 +X: 10 +W: AA 3E 53 00 +C: AA 60 A0 +W: AA 3E 53 01 +W: AA 40 FB F7 F7 F0 F5 E9 F8 FE FB DF 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 F8 +X: 10 +W: AA 3E 53 01 +C: AA 60 F8 +W: AA 3E 54 00 +W: AA 40 FD 6C 05 02 01 03 02 00 02 FC FB 03 FA EE FC 4D FB FB F9 EC 04 01 01 04 FB 00 00 FD FB F9 E4 EA +W: AA 60 BD +X: 10 +W: AA 3E 54 00 +C: AA 60 BD +W: AA 3E 54 01 +W: AA 40 FD FA 07 FC 09 0D 04 D8 F6 81 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 9C +X: 10 +W: AA 3E 54 01 +C: AA 60 9C +W: AA 3E 55 00 +W: AA 40 FF 37 00 15 07 FC 0A 10 0B 01 F9 F5 FD 0D 26 6B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 02 +X: 10 +W: AA 3E 55 00 +C: AA 60 02 +W: AA 3E 6C 00 +W: AA 40 FE 2A 01 00 0C 1C F7 FB 07 C5 F4 F9 FC ED FF 40 51 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 8A +X: 10 +W: AA 3E 6C 00 +C: AA 60 8A +W: AA 3E 59 00 +W: AA 40 00 14 00 13 00 14 00 18 00 14 00 12 00 15 00 12 00 12 00 13 00 15 00 17 00 1C 00 30 00 62 00 00 +W: AA 60 60 +X: 10 +W: AA 3E 59 00 +C: AA 60 60 +W: AA 3E 6D 00 +W: AA 40 0F E4 0E E3 0E B7 11 2D 10 FB 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 0D +X: 10 +W: AA 3E 6D 00 +C: AA 60 0D +W: AA 3E 70 00 +W: AA 40 80 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 FF +X: 10 +W: AA 3E 70 00 +C: AA 60 FF +;-------------------------------------------------------- +;Exit CFGUPDATE +;-------------------------------------------------------- +W: AA 00 00 00 +W: AA 00 42 00 +X: 2000 diff --git a/drivers/power/bq27426_fg_mmi/battery_profile/LenovoRBTweak_NewRa.gg_RB0_-375_avgP_-47_DM_2.gm.fs b/drivers/power/bq27426_fg_mmi/battery_profile/raw/LenovoRBTweak_NewRa.gg_RB0_-375_avgP_-47_DM_2.gm.fs similarity index 100% rename from drivers/power/bq27426_fg_mmi/battery_profile/LenovoRBTweak_NewRa.gg_RB0_-375_avgP_-47_DM_2.gm.fs rename to drivers/power/bq27426_fg_mmi/battery_profile/raw/LenovoRBTweak_NewRa.gg_RB0_-375_avgP_-47_DM_2.gm.fs diff --git a/drivers/power/bq27426_fg_mmi/battery_profile/Lenovo_golden_atl_4000mha-5hom.gm.fs b/drivers/power/bq27426_fg_mmi/battery_profile/raw/Lenovo_golden_atl_4000mha-5hom.gm.fs similarity index 100% rename from drivers/power/bq27426_fg_mmi/battery_profile/Lenovo_golden_atl_4000mha-5hom.gm.fs rename to drivers/power/bq27426_fg_mmi/battery_profile/raw/Lenovo_golden_atl_4000mha-5hom.gm.fs diff --git a/drivers/power/bq27426_fg_mmi/battery_profile/raw/smith_battery_flip_0426_2_02-bq27426G1-2766.gm.fs b/drivers/power/bq27426_fg_mmi/battery_profile/raw/smith_battery_flip_0426_2_02-bq27426G1-2766.gm.fs new file mode 100755 index 000000000000..641434f4097a --- /dev/null +++ b/drivers/power/bq27426_fg_mmi/battery_profile/raw/smith_battery_flip_0426_2_02-bq27426G1-2766.gm.fs @@ -0,0 +1,69 @@ +;-------------------------------------------------------- +;Verify Existing Firmware Version +;-------------------------------------------------------- +W: AA 00 01 00 +C: AA 00 26 04 +W: AA 00 02 00 +C: AA 00 02 02 +;-------------------------------------------------------- +;SET_CFGUPDATE +;-------------------------------------------------------- +W: AA 00 13 00 +X: 1100 +;-------------------------------------------------------- +;Data Block +;-------------------------------------------------------- +W: AA 3E 53 00 +W: AA 40 27 66 11 59 E2 E1 E4 E3 E0 E1 DF E1 E1 E2 E2 E4 E4 E6 E7 E6 E7 E2 E3 EF EF F3 F4 F6 F6 FA F8 FD +W: AA 60 91 +X: 10 +W: AA 3E 53 00 +C: AA 60 91 +W: AA 3E 53 01 +W: AA 40 F9 F6 F5 F3 F0 EE F3 FE FC E0 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 FD +X: 10 +W: AA 3E 53 01 +C: AA 60 FD +W: AA 3E 54 00 +W: AA 40 FF 4D 03 EA 00 FD 00 05 00 05 FF 01 03 01 05 0A 0E 13 02 FA 07 00 09 0C 03 F7 00 01 F3 EF 9D BB +W: AA 60 3E +X: 10 +W: AA 3E 54 00 +C: AA 60 3E +W: AA 3E 54 01 +W: AA 40 BB F2 27 10 D3 59 00 E2 8D 81 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 FF +X: 10 +W: AA 3E 54 01 +C: AA 60 FF +W: AA 3E 55 00 +W: AA 40 FF 71 02 01 01 FF FD 08 01 00 01 01 FF 01 0F 61 12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 02 +X: 10 +W: AA 3E 55 00 +C: AA 60 02 +W: AA 3E 6C 00 +W: AA 40 FE CE 02 03 04 00 12 F0 07 EC 00 00 00 FA E7 B6 F7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 A7 +X: 10 +W: AA 3E 6C 00 +C: AA 60 A7 +W: AA 3E 59 00 +W: AA 40 00 22 00 22 00 25 00 2D 00 38 00 23 00 2B 00 23 00 23 00 23 00 26 00 27 00 2E 00 42 00 A0 00 00 +W: AA 60 1D +X: 10 +W: AA 3E 59 00 +C: AA 60 1D +W: AA 3E 6D 00 +W: AA 40 06 3E 0E E3 0E BD 11 59 11 27 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 5D +X: 10 +W: AA 3E 6D 00 +C: AA 60 5D +;-------------------------------------------------------- +;Exit CFGUPDATE +;-------------------------------------------------------- +W: AA 00 00 00 +W: AA 00 42 00 +X: 2000 diff --git a/drivers/power/bq27426_fg_mmi/battery_profile/raw/smith_battery_main_0426_2_02-bq27426G1-2767.gm.fs b/drivers/power/bq27426_fg_mmi/battery_profile/raw/smith_battery_main_0426_2_02-bq27426G1-2767.gm.fs new file mode 100755 index 000000000000..6e52869913bf --- /dev/null +++ b/drivers/power/bq27426_fg_mmi/battery_profile/raw/smith_battery_main_0426_2_02-bq27426G1-2767.gm.fs @@ -0,0 +1,69 @@ +;-------------------------------------------------------- +;Verify Existing Firmware Version +;-------------------------------------------------------- +W: AA 00 01 00 +C: AA 00 26 04 +W: AA 00 02 00 +C: AA 00 02 02 +;-------------------------------------------------------- +;SET_CFGUPDATE +;-------------------------------------------------------- +W: AA 00 13 00 +X: 1100 +;-------------------------------------------------------- +;Data Block +;-------------------------------------------------------- +W: AA 3E 53 00 +W: AA 40 27 67 11 59 DF E0 E3 E2 E0 E0 E0 E0 E1 E3 E3 E4 E5 E7 E9 E4 E4 E5 E3 F0 EF F5 F2 F7 F6 F9 F9 FA +W: AA 60 94 +X: 10 +W: AA 3E 53 00 +C: AA 60 94 +W: AA 3E 53 01 +W: AA 40 FC F6 F6 F2 F1 EF F2 FE FA E0 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 FB +X: 10 +W: AA 3E 53 01 +C: AA 60 FB +W: AA 3E 54 00 +W: AA 40 FE 86 03 F7 ED 00 04 05 0E FF 10 03 F7 05 07 02 FE 0B 28 23 01 E1 00 16 E6 1D EE 00 F6 EB C0 9C +W: AA 60 EC +X: 10 +W: AA 3E 54 00 +C: AA 60 EC +W: AA 3E 54 01 +W: AA 40 CD DD 1D 22 CE 52 0A 54 FA 81 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 1D +X: 10 +W: AA 3E 54 01 +C: AA 60 1D +W: AA 3E 55 00 +W: AA 40 FF 52 02 06 01 FE FE 08 03 FD 03 01 FD 04 13 45 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 33 +X: 10 +W: AA 3E 55 00 +C: AA 60 33 +W: AA 3E 6C 00 +W: AA 40 FE CA 02 02 04 01 17 EA 06 F0 FE 00 01 F9 DF AD F3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 C0 +X: 10 +W: AA 3E 6C 00 +C: AA 60 C0 +W: AA 3E 59 00 +W: AA 40 00 28 00 28 00 2C 00 37 00 46 00 2A 00 32 00 2A 00 29 00 29 00 2D 00 2E 00 37 00 4E 00 A8 00 00 +W: AA 60 A6 +X: 10 +W: AA 3E 59 00 +C: AA 60 A6 +W: AA 3E 6D 00 +W: AA 40 05 05 0E E5 0E BA 11 59 11 27 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +W: AA 60 98 +X: 10 +W: AA 3E 6D 00 +C: AA 60 98 +;-------------------------------------------------------- +;Exit CFGUPDATE +;-------------------------------------------------------- +W: AA 00 00 00 +W: AA 00 42 00 +X: 2000 diff --git a/drivers/power/bq27426_fg_mmi/bq27426_fg_mmi.c b/drivers/power/bq27426_fg_mmi/bq27426_fg_mmi.c index 6303b48cbcb9..733d1dbed44d 100644 --- a/drivers/power/bq27426_fg_mmi/bq27426_fg_mmi.c +++ b/drivers/power/bq27426_fg_mmi/bq27426_fg_mmi.c @@ -50,11 +50,19 @@ #include #ifdef ATL_4000MAH_8A_BATTERY_PROFILE -#include "lenovo_atl_df1_gmfs.h" +#include "battery_profile/imported/lenovo_atl_df1_gmfs.h" #endif #ifdef SCUD_4000MAH_8A_BATTERY_PROFILE -#include "bq27426_gmfs_coslight.h" +#include "battery_profile/imported/lenovo_scud_df1_gmfs.h" +#endif + +#ifdef ATL_LS30_1255MAH_BATTERY_PROFILE +#include "battery_profile/imported/smith_battery_main_0426_2_02-bq27426G1-2767.gm.fs.h" +#endif + +#ifdef ATL_LS40_1545MAH_BATTERY_PROFILE +#include "battery_profile/imported/smith_battery_flip_0426_2_02-bq27426G1-2766.gm.fs.h" #endif #undef pr_debug @@ -188,7 +196,15 @@ static const struct fg_batt_profile bqfs_image[] = { #endif #ifdef SCUD_4000MAH_8A_BATTERY_PROFILE - {"KG50_SCUD_4000MAH",bqfs_coslight, ARRAY_SIZE(bqfs_coslight), 5, 0}, + {"KG50_SCUD_4000MAH",scud_bqfs_image, ARRAY_SIZE(scud_bqfs_image), 9824, 1}, +#endif + +#ifdef ATL_LS30_1255MAH_BATTERY_PROFILE + {"LS30_ATL_1255MAH",smith_main_bqfs_image, ARRAY_SIZE(smith_main_bqfs_image), 2767, 1}, +#endif + +#ifdef ATL_LS40_1545MAH_BATTERY_PROFILE + {"LS40_ATL_1545MAH",smith_flip_bqfs_image, ARRAY_SIZE(smith_flip_bqfs_image), 2766, 1}, #endif };