diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2022-01-09 18:55:28 +0000 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2022-01-09 20:12:41 +0000 |
commit | c62c323ebc71da33bf653624e45becee096906c3 (patch) | |
tree | a328d9400b9b2ff4c637110cf5fb701d5eba5904 /firmware/target/mips | |
parent | b490f08b7c6f8b32b214e0fbf6dd3974066ec150 (diff) | |
download | rockbox-c62c323ebc71da33bf653624e45becee096906c3.tar.gz rockbox-c62c323ebc71da33bf653624e45becee096906c3.zip |
axp-pmu: adc refactor
Remove the battery power ADC since it's not used right now,
and seems to fluctuate too rapidly to be of much use.
Change-Id: If115e4e3ce14d4c18ce899f5a889f7f99ab66489
Diffstat (limited to 'firmware/target/mips')
3 files changed, 31 insertions, 8 deletions
diff --git a/firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c b/firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c index a1a4d2c2b2..183a6164f6 100644 --- a/firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c +++ b/firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c | |||
@@ -63,10 +63,15 @@ void power_init(void) | |||
63 | /* Set lowest sample rate */ | 63 | /* Set lowest sample rate */ |
64 | axp_adc_set_rate(AXP_ADC_RATE_25HZ); | 64 | axp_adc_set_rate(AXP_ADC_RATE_25HZ); |
65 | 65 | ||
66 | /* Ensure battery voltage ADC is enabled */ | 66 | /* Enable required ADCs */ |
67 | int bits = axp_adc_get_enabled(); | 67 | axp_adc_set_enabled( |
68 | bits |= (1 << ADC_BATTERY_VOLTAGE); | 68 | (1 << ADC_BATTERY_VOLTAGE) | |
69 | axp_adc_set_enabled(bits); | 69 | (1 << ADC_CHARGE_CURRENT) | |
70 | (1 << ADC_DISCHARGE_CURRENT) | | ||
71 | (1 << ADC_VBUS_VOLTAGE) | | ||
72 | (1 << ADC_VBUS_CURRENT) | | ||
73 | (1 << ADC_INTERNAL_TEMP) | | ||
74 | (1 << ADC_APS_VOLTAGE)); | ||
70 | 75 | ||
71 | /* Turn on all power outputs */ | 76 | /* Turn on all power outputs */ |
72 | i2c_reg_modify1(AXP_PMU_BUS, AXP_PMU_ADDR, | 77 | i2c_reg_modify1(AXP_PMU_BUS, AXP_PMU_ADDR, |
diff --git a/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c b/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c index 2d28ad0975..840be36a75 100644 --- a/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c +++ b/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c | |||
@@ -61,10 +61,15 @@ void power_init(void) | |||
61 | /* Set lowest sample rate */ | 61 | /* Set lowest sample rate */ |
62 | axp_adc_set_rate(AXP_ADC_RATE_25HZ); | 62 | axp_adc_set_rate(AXP_ADC_RATE_25HZ); |
63 | 63 | ||
64 | /* Ensure battery voltage ADC is enabled */ | 64 | /* Enable required ADCs */ |
65 | int bits = axp_adc_get_enabled(); | 65 | axp_adc_set_enabled( |
66 | bits |= (1 << ADC_BATTERY_VOLTAGE); | 66 | (1 << ADC_BATTERY_VOLTAGE) | |
67 | axp_adc_set_enabled(bits); | 67 | (1 << ADC_CHARGE_CURRENT) | |
68 | (1 << ADC_DISCHARGE_CURRENT) | | ||
69 | (1 << ADC_VBUS_VOLTAGE) | | ||
70 | (1 << ADC_VBUS_CURRENT) | | ||
71 | (1 << ADC_INTERNAL_TEMP) | | ||
72 | (1 << ADC_APS_VOLTAGE)); | ||
68 | 73 | ||
69 | /* Turn on all power outputs */ | 74 | /* Turn on all power outputs */ |
70 | i2c_reg_modify1(AXP_PMU_BUS, AXP_PMU_ADDR, | 75 | i2c_reg_modify1(AXP_PMU_BUS, AXP_PMU_ADDR, |
diff --git a/firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c b/firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c index 75f8031dd9..59a2262f25 100644 --- a/firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c +++ b/firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c | |||
@@ -78,6 +78,19 @@ void power_init(void) | |||
78 | cw2015_init(); | 78 | cw2015_init(); |
79 | #endif | 79 | #endif |
80 | 80 | ||
81 | /* Set lowest sample rate */ | ||
82 | axp_adc_set_rate(AXP_ADC_RATE_25HZ); | ||
83 | |||
84 | /* Enable required ADCs */ | ||
85 | axp_adc_set_enabled( | ||
86 | (1 << ADC_BATTERY_VOLTAGE) | | ||
87 | (1 << ADC_CHARGE_CURRENT) | | ||
88 | (1 << ADC_DISCHARGE_CURRENT) | | ||
89 | (1 << ADC_VBUS_VOLTAGE) | | ||
90 | (1 << ADC_VBUS_CURRENT) | | ||
91 | (1 << ADC_INTERNAL_TEMP) | | ||
92 | (1 << ADC_APS_VOLTAGE)); | ||
93 | |||
81 | /* Change supply voltage from the default of 1250 mV to 1200 mV, | 94 | /* Change supply voltage from the default of 1250 mV to 1200 mV, |
82 | * this matches the original firmware's settings. Didn't observe | 95 | * this matches the original firmware's settings. Didn't observe |
83 | * any obviously bad behavior at 1250 mV, but better to be safe. */ | 96 | * any obviously bad behavior at 1250 mV, but better to be safe. */ |