diff options
author | Szymon Dziok <b0hoon@o2.pl> | 2014-07-27 10:42:00 +0000 |
---|---|---|
committer | Szymon Dziok <b0hoon@o2.pl> | 2014-07-28 22:11:33 +0200 |
commit | f74edac8c78469e1d3dded04d0c9e7cbe775fdfc (patch) | |
tree | e209c57a306642c5395fbdf13ab36bf4b155c13e | |
parent | eaaff2680bd8bca029fe4cd041655ecf071fa744 (diff) | |
download | rockbox-f74edac8c78469e1d3dded04d0c9e7cbe775fdfc.tar.gz rockbox-f74edac8c78469e1d3dded04d0c9e7cbe775fdfc.zip |
Samsung YH-920: Proper values for battery monitoring, based on the OF formula.
Change-Id: I894eb6bad600bd059fe9a5ea1103737a736d4005
-rw-r--r-- | firmware/target/arm/pp/adc-pp5020.c | 3 | ||||
-rw-r--r-- | firmware/target/arm/samsung/yh920/powermgmt-yh920.c | 12 |
2 files changed, 7 insertions, 8 deletions
diff --git a/firmware/target/arm/pp/adc-pp5020.c b/firmware/target/arm/pp/adc-pp5020.c index ce50f4b5c2..8afd88ff11 100644 --- a/firmware/target/arm/pp/adc-pp5020.c +++ b/firmware/target/arm/pp/adc-pp5020.c | |||
@@ -63,7 +63,8 @@ unsigned short adc_scan(int channel) | |||
63 | 63 | ||
64 | adcdata[channel] = (adc_data_1<<2 | adc_data_2); | 64 | adcdata[channel] = (adc_data_1<<2 | adc_data_2); |
65 | 65 | ||
66 | #if !(defined(PHILIPS_HDD1630) || defined(PHILIPS_HDD6330) || defined(SAMSUNG_YH820)) | 66 | #if !(defined(PHILIPS_HDD1630) || defined(PHILIPS_HDD6330) ||\ |
67 | defined(SAMSUNG_YH820) || defined(SAMSUNG_YH920)) | ||
67 | /* ADC values read low if PLL is enabled */ | 68 | /* ADC values read low if PLL is enabled */ |
68 | if(PLL_CONTROL & 0x80000000){ | 69 | if(PLL_CONTROL & 0x80000000){ |
69 | adcdata[channel] += 0x14; | 70 | adcdata[channel] += 0x14; |
diff --git a/firmware/target/arm/samsung/yh920/powermgmt-yh920.c b/firmware/target/arm/samsung/yh920/powermgmt-yh920.c index f33afb31bd..d2acbc89c1 100644 --- a/firmware/target/arm/samsung/yh920/powermgmt-yh920.c +++ b/firmware/target/arm/samsung/yh920/powermgmt-yh920.c | |||
@@ -24,31 +24,29 @@ | |||
24 | #include "adc.h" | 24 | #include "adc.h" |
25 | #include "powermgmt.h" | 25 | #include "powermgmt.h" |
26 | 26 | ||
27 | /* TODO: Not yet calibrated */ | ||
28 | |||
29 | const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = | 27 | const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = |
30 | { | 28 | { |
31 | 3733 | 29 | 3523 /* 5% */ |
32 | }; | 30 | }; |
33 | 31 | ||
34 | const unsigned short battery_level_shutoff[BATTERY_TYPES_COUNT] = | 32 | const unsigned short battery_level_shutoff[BATTERY_TYPES_COUNT] = |
35 | { | 33 | { |
36 | 3627 | 34 | 3507 /* 3% */ |
37 | }; | 35 | }; |
38 | 36 | ||
39 | /* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */ | 37 | /* voltages (millivolt) of 0%, 10%, ... 100% when charging disabled */ |
40 | const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] = | 38 | const unsigned short percent_to_volt_discharge[BATTERY_TYPES_COUNT][11] = |
41 | { | 39 | { |
42 | { 3733, 3772, 3821, 3840, 3869, 3917, 3985, 4034, 4072, 4140, 4198 } | 40 | { 3486, 3557, 3628, 3699, 3770, 3841, 3912, 3983, 4054, 4125, 4196 } |
43 | }; | 41 | }; |
44 | 42 | ||
45 | /* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */ | 43 | /* voltages (millivolt) of 0%, 10%, ... 100% when charging enabled */ |
46 | const unsigned short percent_to_volt_charge[11] = | 44 | const unsigned short percent_to_volt_charge[11] = |
47 | { | 45 | { |
48 | 3956, 3995, 4024, 4043, 4063, 4082, 4111, 4140, 4179, 4218, 4266 | 46 | 3486, 3557, 3628, 3699, 3770, 3841, 3912, 3983, 4054, 4125, 4196 |
49 | }; | 47 | }; |
50 | 48 | ||
51 | #define BATTERY_SCALE_FACTOR 4650 | 49 | #define BATTERY_SCALE_FACTOR 4200 |
52 | /* full-scale ADC readout (2^10) in millivolt */ | 50 | /* full-scale ADC readout (2^10) in millivolt */ |
53 | 51 | ||
54 | /* Returns battery voltage from ADC [millivolts] */ | 52 | /* Returns battery voltage from ADC [millivolts] */ |