Permalink
Browse files

Merge commit 'M8260AAABQNLZA30150' into android-msm-3.0-caf

  • Loading branch information...
Kali- committed May 1, 2012
2 parents 7020da9 + 60a4c59 commit 8ebab31f50cd24f47eb5b83223240b8b331f48a2
Showing with 6,171 additions and 1,911 deletions.
  1. +3 −0 arch/arm/configs/msm7630-perf_defconfig
  2. +3 −0 arch/arm/configs/msm8960_defconfig
  3. +36 −1 arch/arm/mach-msm/Kconfig
  4. +2 −1 arch/arm/mach-msm/Makefile
  5. +23 −17 arch/arm/mach-msm/bam_dmux.c
  6. +86 −0 arch/arm/mach-msm/bms-batterydata-desay.c
  7. +45 −11 arch/arm/mach-msm/bms-batterydata.c
  8. +1 −0 arch/arm/mach-msm/board-8064.c
  9. +9 −5 arch/arm/mach-msm/board-8930-display.c
  10. +1 −0 arch/arm/mach-msm/board-8930.c
  11. +9 −5 arch/arm/mach-msm/board-8960-display.c
  12. +21 −0 arch/arm/mach-msm/board-8960-pmic.c
  13. +14 −4 arch/arm/mach-msm/board-8960.c
  14. +2 −2 arch/arm/mach-msm/board-msm7x27a.c
  15. +15 −6 arch/arm/mach-msm/board-msm8x60.c
  16. +1 −1 arch/arm/mach-msm/board-qrd7627a.c
  17. +26 −11 arch/arm/mach-msm/cache_erp.c
  18. +3 −1 arch/arm/mach-msm/clock-8960.c
  19. +4 −0 arch/arm/mach-msm/clock-8x60.c
  20. +6 −4 arch/arm/mach-msm/cpufreq.c
  21. +9 −1 arch/arm/mach-msm/devices-8960.c
  22. +2 −1 arch/arm/mach-msm/devices-msm7x27.c
  23. +2 −1 arch/arm/mach-msm/devices-msm7x27a.c
  24. +58 −0 arch/arm/mach-msm/devices-msm7x30.c
  25. +1 −0 arch/arm/mach-msm/devices-msm8x60.c
  26. +1 −0 arch/arm/mach-msm/devices.h
  27. +2 −3 arch/arm/mach-msm/idle-v7.S
  28. +1 −0 arch/arm/mach-msm/include/mach/board.h
  29. +3 −2 arch/arm/mach-msm/include/mach/iommu_domains.h
  30. +8 −3 arch/arm/mach-msm/include/mach/memory.h
  31. +4 −1 arch/arm/mach-msm/include/mach/msm_cache_dump.h
  32. +1 −1 arch/arm/mach-msm/include/mach/msm_dcvs_scm.h
  33. +75 −1 arch/arm/mach-msm/include/mach/msm_smd.h
  34. +15 −0 arch/arm/mach-msm/include/mach/msm_smsm.h
  35. +4 −0 arch/arm/mach-msm/include/mach/rpm-regulator.h
  36. +2 −2 arch/arm/mach-msm/iommu_domains.c
  37. +0 −12 arch/arm/mach-msm/lpass-8960.c
  38. +73 −75 arch/arm/mach-msm/memory_topology.c
  39. +1 −1 arch/arm/mach-msm/msm_bus/msm_bus_arb.c
  40. +44 −0 arch/arm/mach-msm/msm_cache_dump.c
  41. +39 −26 arch/arm/mach-msm/msm_dcvs.c
  42. +1 −5 arch/arm/mach-msm/peripheral-loader.c
  43. +27 −0 arch/arm/mach-msm/pil-q6v4.c
  44. +2 −0 arch/arm/mach-msm/pil-q6v4.h
  45. +96 −0 arch/arm/mach-msm/pil-vidc.c
  46. +39 −9 arch/arm/mach-msm/qdsp5v2/audio_lpa.c
  47. +96 −67 arch/arm/mach-msm/qdsp6v2/audio_acdb.c
  48. +165 −117 arch/arm/mach-msm/qdsp6v2/audio_lpa.c
  49. +2 −2 arch/arm/mach-msm/qdsp6v2/audio_lpa.h
  50. +8 −2 arch/arm/mach-msm/qdsp6v2/audio_mp3.c
  51. +107 −60 arch/arm/mach-msm/qdsp6v2/audio_utils_aio.c
  52. +6 −7 arch/arm/mach-msm/qdsp6v2/audio_utils_aio.h
  53. +30 −6 arch/arm/mach-msm/rpm-regulator.c
  54. +5 −22 arch/arm/mach-msm/rpm.c
  55. +3 −0 arch/arm/mach-msm/scm-pas.h
  56. +489 −110 arch/arm/mach-msm/smd.c
  57. +2 −0 arch/arm/mach-msm/smd_tty.c
  58. +1 −1 arch/arm/mach-msm/wcnss-ssr-8960.c
  59. +1 −4 drivers/char/diag/diagchar.h
  60. +316 −84 drivers/char/diag/diagfwd.c
  61. +3 −2 drivers/char/diag/diagfwd.h
  62. +3 −3 drivers/char/diag/diagfwd_cntl.c
  63. +60 −18 drivers/char/msm_rotator.c
  64. +66 −0 drivers/gpu/ion/ion_iommu_heap.c
  65. +2 −2 drivers/gpu/msm/adreno.c
  66. +1 −1 drivers/gpu/msm/adreno.h
  67. +2 −2 drivers/gpu/msm/kgsl.c
  68. +21 −7 drivers/gpu/msm/kgsl.h
  69. +4 −3 drivers/gpu/msm/kgsl_drm.c
  70. +14 −9 drivers/gpu/msm/kgsl_pwrctrl.c
  71. +1 −0 drivers/gpu/msm/kgsl_pwrctrl.h
  72. +92 −31 drivers/gpu/msm/kgsl_sharedmem.c
  73. +4 −7 drivers/gpu/msm/kgsl_sharedmem.h
  74. +13 −11 drivers/hwmon/pm8xxx-adc.c
  75. +99 −139 drivers/md/dm-crypt.c
  76. +35 −19 drivers/media/radio/radio-iris.c
  77. +39 −16 drivers/media/radio/radio-tavarua.c
  78. +1 −1 drivers/media/video/msm/io/msm_camera_i2c.c
  79. +1 −0 drivers/media/video/msm/wfd/Makefile
  80. +261 −5 drivers/media/video/msm/wfd/enc-subdev.c
  81. +16 −3 drivers/media/video/msm/wfd/vsg-subdev.c
  82. +56 −3 drivers/media/video/msm/wfd/wfd-ioctl.c
  83. +217 −0 drivers/media/video/msm/wfd/wfd-util.c
  84. +60 −1 drivers/media/video/msm/wfd/wfd-util.h
  85. +5 −0 drivers/mfd/pm8921-core.c
  86. +47 −1 drivers/mfd/pm8xxx-pwm.c
  87. +212 −26 drivers/misc/qseecom.c
  88. +2 −1 drivers/mmc/card/mmc_test.c
  89. +65 −22 drivers/mmc/host/msm_sdcc.c
  90. +8 −0 drivers/net/msm_rmnet_bam.c
  91. +603 −136 drivers/power/pm8921-bms.c
  92. +373 −129 drivers/power/pm8921-charger.c
  93. +4 −0 drivers/thermal/msm_thermal.c
  94. +35 −2 drivers/usb/gadget/android.c
  95. +2 −1 drivers/usb/gadget/ci13xxx_msm.c
  96. +3 −15 drivers/usb/gadget/msm72k_udc.c
  97. +1 −0 drivers/usb/gadget/u_data_hsic.c
  98. +1 −1 drivers/usb/gadget/u_sdio.c
  99. +3 −2 drivers/usb/gadget/u_serial.c
  100. +1 −1 drivers/usb/gadget/u_smd.c
  101. +62 −28 drivers/usb/otg/msm_otg.c
  102. +9 −1 drivers/video/msm/external_common.c
  103. +6 −13 drivers/video/msm/hdmi_msm.c
  104. +1 −1 drivers/video/msm/hdmi_msm.h
  105. +0 −2 drivers/video/msm/mdp4_dtv.c
  106. +41 −14 drivers/video/msm/mdp4_overlay.c
  107. +3 −5 drivers/video/msm/mdp4_overlay_atv.c
  108. +3 −6 drivers/video/msm/mdp4_overlay_dsi_video.c
  109. +2 −0 drivers/video/msm/mdp4_overlay_dtv.c
  110. +2 −4 drivers/video/msm/mdp4_overlay_lcdc.c
  111. +11 −7 drivers/video/msm/mdp4_util.c
  112. +4 −2 drivers/video/msm/mdp_dma.c
  113. +9 −8 drivers/video/msm/mdp_dma_dsi_video.c
  114. +8 −3 drivers/video/msm/mdp_dma_lcdc.c
  115. +7 −5 drivers/video/msm/mdp_dma_tv.c
  116. +1 −1 drivers/video/msm/mdp_ppp.c
  117. +90 −25 drivers/video/msm/mdp_ppp_v20.c
  118. +5 −0 drivers/video/msm/msm_dss_io_8960.c
  119. +53 −7 drivers/video/msm/msm_fb.c
  120. +1 −0 drivers/video/msm/msm_fb.h
  121. +2 −1 drivers/video/msm/vidc/1080p/ddl/vcd_ddl.h
  122. +1 −1 drivers/video/msm/vidc/1080p/ddl/vcd_ddl_helper.c
  123. +6 −0 drivers/video/msm/vidc/1080p/ddl/vcd_ddl_properties.c
  124. +54 −9 drivers/video/msm/vidc/1080p/ddl/vcd_ddl_utils.c
  125. +141 −45 drivers/video/msm/vidc/1080p/resource_tracker/vcd_res_tracker.c
  126. +5 −0 drivers/video/msm/vidc/1080p/resource_tracker/vcd_res_tracker_api.h
  127. +11 −0 drivers/video/msm/vidc/720p/resource_tracker/vcd_res_tracker.c
  128. +2 −0 drivers/video/msm/vidc/720p/resource_tracker/vcd_res_tracker_api.h
  129. +19 −15 drivers/video/msm/vidc/common/init/vidc_init.c
  130. +3 −0 drivers/video/msm/vidc/common/vcd/vcd.h
  131. +43 −2 drivers/video/msm/vidc/common/vcd/vcd_client_sm.c
  132. +2 −0 drivers/video/msm/vidc/common/vcd/vcd_core.h
  133. +4 −3 drivers/video/msm/vidc/common/vcd/vcd_scheduler.c
  134. +28 −3 drivers/video/msm/vidc/common/vcd/vcd_sub.c
  135. +1 −0 include/linux/ion.h
  136. +58 −13 include/linux/mfd/pm8xxx/pm8921-bms.h
  137. +5 −0 include/linux/mfd/pm8xxx/pm8921-charger.h
  138. +1 −0 include/linux/mfd/pm8xxx/pm8921.h
  139. +8 −0 include/linux/mfd/pm8xxx/pwm.h
  140. +8 −0 include/linux/msm_audio.h
  141. +1 −0 include/linux/msm_kgsl.h
  142. +6 −0 include/linux/qseecom.h
  143. +3 −0 include/linux/videodev2.h
  144. +1 −1 include/media/msm/vcd_api.h
  145. +15 −0 include/media/msm/vcd_property.h
  146. +8 −1 include/media/radio-iris.h
  147. +2 −1 include/media/tavarua.h
  148. +3 −3 include/net/bluetooth/amp.h
  149. +1 −4 include/net/bluetooth/hci_core.h
  150. +1 −1 include/net/bluetooth/l2cap.h
  151. +9 −1 include/sound/q6asm.h
  152. +19 −15 net/bluetooth/amp.c
  153. +8 −41 net/bluetooth/hci_conn.c
  154. +6 −0 net/bluetooth/hci_event.c
  155. +36 −36 net/bluetooth/l2cap_core.c
  156. +5 −9 net/bluetooth/mgmt.c
  157. +709 −227 sound/soc/codecs/wcd9310.c
  158. +1 −0 sound/soc/codecs/wcd9310.h
  159. +2 −2 sound/soc/msm/apq8064.c
  160. +3 −3 sound/soc/msm/msm-pcm-lpa.c
  161. +9 −11 sound/soc/msm/msm-pcm-routing.c
  162. +4 −4 sound/soc/msm/msm8960.c
  163. +1 −3 sound/soc/msm/qdsp6/q6adm.c
  164. +107 −6 sound/soc/msm/qdsp6/q6asm.c
  165. +2 −2 sound/soc/msm/qdsp6/q6voice.c
  166. +1 −1 sound/soc/soc-core.c
  167. +1 −0 sound/soc/soc-dapm.c
@@ -295,6 +295,9 @@ CONFIG_SND=y
CONFIG_SND_SOC=y
CONFIG_SND_MSM7KV2_SOC=y
CONFIG_SND_MVS_SOC=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_MAGICMOUSE=y
+CONFIG_HID_MICROSOFT=y
CONFIG_USB=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_SUSPEND=y
@@ -64,6 +64,7 @@ CONFIG_MSM_IPC_ROUTER_SMD_XPRT=y
CONFIG_MSM_PIL_QDSP6V4=y
CONFIG_MSM_PIL_RIVA=y
CONFIG_MSM_PIL_TZAPPS=y
+CONFIG_MSM_PIL_VIDC=y
CONFIG_MSM_SUBSYSTEM_RESTART=y
CONFIG_MSM_MODEM_8960=y
CONFIG_MSM_LPASS_8960=y
@@ -85,6 +86,8 @@ CONFIG_MSM_CACHE_ERP=y
CONFIG_MSM_L1_ERR_PANIC=y
CONFIG_MSM_L2_ERP_1BIT_PANIC=y
CONFIG_MSM_L2_ERP_2BIT_PANIC=y
+CONFIG_MSM_CACHE_DUMP=y
+CONFIG_MSM_CACHE_DUMP_ON_PANIC=y
CONFIG_STRICT_MEMORY_RWX=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
View
@@ -1721,6 +1721,12 @@ config MSM_PIL_TZAPPS
used to decrypt data and perform secure operations on the behalf of
the kernel.
+config MSM_PIL_VIDC
+ tristate "Video Core Boot Support"
+ depends on MSM_PIL
+ help
+ Support for authenticating the video core image.
+
config MSM_SCM
bool "Secure Channel Manager (SCM) support"
default n
@@ -2110,10 +2116,23 @@ config MSM_L1_ERR_PANIC
For production builds, you should probably say 'N' here.
+config MSM_L2_ERP_PRINT_ACCESS_ERRORS
+ bool "Report L2 master port slave/decode errors in kernel log"
+ depends on MSM_CACHE_ERP
+ help
+ Master port errors can occur when a memory request is not properly
+ handled by the destination slave. This can occur if the destination
+ register does not exist or is inaccessible due to security
+ restrictions or (in some cases) clock configuration. Enabling this
+ option will cause a backtrace to be printed to the kernel log whenever
+ such an error is encountered. Note that the error is reported as an
+ interrupt rather than as an exception, meaning that the backtrace may
+ have some skid. This option may help with debugging, though production
+ builds should probably say 'N' here.
config MSM_L2_ERP_PORT_PANIC
bool "Panic on L2 master port errors"
- depends on MSM_CACHE_ERP
+ depends on MSM_CACHE_ERP && MSM_L2_ERP_PRINT_ACCESS_ERRORS
help
Master port errors can occur when a memory request is not properly
handled by the destination slave. Enable this option to catch drivers
@@ -2161,4 +2180,20 @@ config MSM_DCVS
algorithm and the algorithm returns a frequency for the core which is
passed to the frequency change driver.
+config MSM_CACHE_DUMP
+ bool "Cache dumping support"
+ help
+ Add infrastructure to dump the L1 and L2 caches to an allocated buffer.
+ This allows for analysis of the caches in case cache corruption is
+ suspected.
+
+config MSM_CACHE_DUMP_ON_PANIC
+ bool "Dump caches on panic"
+ depends on MSM_CACHE_DUMP
+ help
+ By default, the caches are flushed on panic. This means that trying to
+ look at them in a RAM dump will give useless data. Select this if you
+ want to dump the L1 and L2 caches on panic before any flush occurs.
+ If unsure, say N
+
endif
@@ -76,6 +76,7 @@ obj-$(CONFIG_MSM_PIL_QDSP6V3) += pil-q6v3.o
obj-$(CONFIG_MSM_PIL_QDSP6V4) += pil-q6v4.o
obj-$(CONFIG_MSM_PIL_RIVA) += pil-riva.o
obj-$(CONFIG_MSM_PIL_TZAPPS) += pil-tzapps.o
+obj-$(CONFIG_MSM_PIL_VIDC) += pil-vidc.o
obj-$(CONFIG_MSM_PIL_MODEM) += pil-modem.o
obj-$(CONFIG_ARCH_QSD8X50) += sirc.o
obj-$(CONFIG_ARCH_FSM9XXX) += sirc-fsm9xxx.o
@@ -255,7 +256,7 @@ obj-$(CONFIG_MACH_MSM8960_FLUID) += board-8960-all.o board-8960-regulator.o
obj-$(CONFIG_MACH_MSM8930_CDP) += board-8930-all.o board-8930-regulator.o
obj-$(CONFIG_MACH_MSM8930_MTP) += board-8930-all.o board-8930-regulator.o
obj-$(CONFIG_MACH_MSM8930_FLUID) += board-8930-all.o board-8930-regulator.o
-obj-$(CONFIG_ARCH_MSM8960) += bms-batterydata.o
+obj-$(CONFIG_PM8921_BMS) += bms-batterydata.o bms-batterydata-desay.o
obj-$(CONFIG_MACH_APQ8064_SIM) += board-8064-all.o board-8064-regulator.o
obj-$(CONFIG_MACH_APQ8064_RUMI3) += board-8064-all.o board-8064-regulator.o
obj-$(CONFIG_ARCH_MSM9615) += board-9615.o devices-9615.o board-9615-regulator.o board-9615-gpiomux.o board-9615-storage.o
@@ -190,6 +190,7 @@ static struct workqueue_struct *bam_mux_tx_workqueue;
/* A2 power collaspe */
#define UL_TIMEOUT_DELAY 1000 /* in ms */
+#define ENABLE_DISCONNECT_ACK 0x1
static void toggle_apps_ack(void);
static void reconnect_to_bam(void);
static void disconnect_to_bam(void);
@@ -223,6 +224,7 @@ static DEFINE_SPINLOCK(wakelock_reference_lock);
static int wakelock_reference_count;
static struct delayed_work msm9615_bam_init_work;
static int a2_pc_disabled_wakelock_skipped;
+static int disconnect_ack;
/* End A2 power collaspe */
/* subsystem restart */
@@ -294,9 +296,10 @@ static void bam_dmux_log(const char *fmt, ...)
* W: 1 = Uplink Wait-for-ack
* A: 1 = Uplink ACK received
* #: >=1 On-demand uplink vote
+ * D: 1 = Disconnect ACK active
*/
len += scnprintf(buff, sizeof(buff),
- "<DMUX> %u.%09lu %c%c%c%c %c%c%c%c%d ",
+ "<DMUX> %u.%09lu %c%c%c%c %c%c%c%c%d%c ",
(unsigned)t_now, nanosec_rem,
a2_pc_disabled ? 'D' : 'd',
in_global_reset ? 'R' : 'r',
@@ -306,7 +309,8 @@ static void bam_dmux_log(const char *fmt, ...)
bam_is_connected ? 'U' : 'u',
wait_for_ack ? 'W' : 'w',
ul_wakeup_ack_completion.done ? 'A' : 'a',
- atomic_read(&ul_ondemand_vote)
+ atomic_read(&ul_ondemand_vote),
+ disconnect_ack ? 'D' : 'd'
);
va_start(arg_list, fmt);
@@ -533,6 +537,10 @@ static void handle_bam_mux_cmd(struct work_struct *work)
bam_dmux_log("%s: opening cid %d PC enabled\n", __func__,
rx_hdr->ch_id);
handle_bam_mux_cmd_open(rx_hdr);
+ if (rx_hdr->reserved & ENABLE_DISCONNECT_ACK) {
+ bam_dmux_log("%s: activating disconnect ack\n");
+ disconnect_ack = 1;
+ }
dev_kfree_skb_any(rx_skb);
break;
case BAM_MUX_HDR_CMD_OPEN_NO_A2_PC:
@@ -960,11 +968,13 @@ int msm_bam_dmux_is_ch_full(uint32_t id)
int msm_bam_dmux_is_ch_low(uint32_t id)
{
+ unsigned long flags;
int ret;
if (id >= BAM_DMUX_NUM_CHANNELS)
return -EINVAL;
+ spin_lock_irqsave(&bam_ch[id].lock, flags);
bam_ch[id].use_wm = 1;
ret = bam_ch[id].num_tx_pkts <= LOW_WATERMARK;
DBG("%s: ch %d num tx pkts=%d, LWM=%d\n", __func__,
@@ -973,6 +983,7 @@ int msm_bam_dmux_is_ch_low(uint32_t id)
ret = -ENODEV;
pr_err("%s: port not open: %d\n", __func__, bam_ch[id].status);
}
+ spin_unlock_irqrestore(&bam_ch[id].lock, flags);
return ret;
}
@@ -1236,6 +1247,7 @@ static int debug_log(char *buff, int max, loff_t *ppos)
"\tW: 1 = Uplink Wait-for-ack\n"
"\tA: 1 = Uplink ACK received\n"
"\t#: >=1 On-demand uplink vote\n"
+ "\tD: 1 = Disconnect ACK active\n"
);
buff += i;
}
@@ -1495,21 +1507,11 @@ static void ul_timeout(struct work_struct *work)
static int ssrestart_check(void)
{
- /*
- * if the restart level is RESET_SOC, SSR is not on
- * so the crashed modem will end up crashing the system
- * anyways, so use BUG() to report the error
- * else prepare for the restart event which should
- * happen soon
- */
- DMUX_LOG_KERR("%s: modem timeout\n", __func__);
- if (get_restart_level() <= RESET_SOC) {
- BUG();
- return 0;
- } else {
- in_global_reset = 1;
- return 1;
- }
+ DMUX_LOG_KERR("%s: modem timeout: BAM DMUX disabled\n", __func__);
+ in_global_reset = 1;
+ if (get_restart_level() <= RESET_SOC)
+ DMUX_LOG_KERR("%s: ssrestart not enabled\n", __func__);
+ return 1;
}
static void ul_wakeup(void)
@@ -1656,6 +1658,9 @@ static void disconnect_to_bam(void)
bam_rx_pool_len = 0;
mutex_unlock(&bam_rx_pool_mutexlock);
+ if (disconnect_ack)
+ toggle_apps_ack();
+
verify_tx_queue_is_empty(__func__);
}
@@ -1760,6 +1765,7 @@ static int restart_notifier_cb(struct notifier_block *this,
ul_powerdown_finish();
a2_pc_disabled = 0;
a2_pc_disabled_wakelock_skipped = 0;
+ disconnect_ack = 0;
/* Cleanup Channel States */
for (i = 0; i < BAM_DMUX_NUM_CHANNELS; ++i) {
@@ -0,0 +1,86 @@
+/* Copyright (c) 2011-2012, Code Aurora Forum. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#include <linux/mfd/pm8xxx/pm8921-bms.h>
+
+static struct single_row_lut desay_5200_fcc_temp = {
+ .x = {-20, 0, 25, 40},
+ .y = {5690, 5722, 5722, 5727},
+ .cols = 4
+};
+
+static struct single_row_lut desay_5200_fcc_sf = {
+ .x = {0},
+ .y = {100},
+ .cols = 1
+};
+
+static struct pc_temp_ocv_lut desay_5200_pc_temp_ocv = {
+ .rows = 29,
+ .cols = 4,
+ .temp = {-20, 0, 25, 40},
+ .percent = {100, 95, 90, 85, 80, 75, 70, 65, 60, 55,
+ 50, 45, 40, 35, 30, 25, 20, 15, 10, 9, 8,
+ 7, 6, 5, 4, 3, 2, 1, 0
+ },
+ .ocv = {
+ {4185, 4184, 4181, 4178},
+ {4103, 4117, 4120, 4119},
+ {4044, 4067, 4074, 4073},
+ {3987, 4019, 4031, 4030},
+ {3941, 3974, 3992, 3992},
+ {3902, 3936, 3958, 3957},
+ {3866, 3901, 3926, 3926},
+ {3835, 3870, 3891, 3896},
+ {3811, 3842, 3855, 3858},
+ {3792, 3818, 3827, 3827},
+ {3776, 3795, 3806, 3806},
+ {3762, 3778, 3789, 3790},
+ {3748, 3765, 3777, 3777},
+ {3735, 3752, 3767, 3765},
+ {3720, 3739, 3756, 3754},
+ {3704, 3726, 3743, 3736},
+ {3685, 3712, 3723, 3716},
+ {3664, 3697, 3695, 3689},
+ {3623, 3672, 3669, 3664},
+ {3611, 3666, 3666, 3661},
+ {3597, 3659, 3662, 3658},
+ {3579, 3648, 3657, 3653},
+ {3559, 3630, 3644, 3639},
+ {3532, 3600, 3612, 3606},
+ {3497, 3558, 3565, 3559},
+ {3450, 3500, 3504, 3498},
+ {3380, 3417, 3421, 3416},
+ {3265, 3287, 3296, 3293},
+ {3000, 3000, 3000, 3000}
+ },
+};
+
+static struct sf_lut desay_5200_pc_sf = {
+ .rows = 1,
+ .cols = 1,
+ /* row_entries are cycles here */
+ .row_entries = {0},
+ .percent = {100},
+ .sf = {
+ {100}
+ },
+};
+
+struct pm8921_bms_battery_data desay_5200_data = {
+ .fcc = 5200,
+ .fcc_temp_lut = &desay_5200_fcc_temp,
+ .fcc_sf_lut = &desay_5200_fcc_sf,
+ .pc_temp_ocv_lut = &desay_5200_pc_temp_ocv,
+ .pc_sf_lut = &desay_5200_pc_sf,
+ .default_rbatt_mohm = 156,
+};
Oops, something went wrong.

0 comments on commit 8ebab31

Please sign in to comment.