summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/mips/ingenic_x1000/erosqnative/power-erosqnative.c13
-rw-r--r--firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c13
-rw-r--r--firmware/target/mips/ingenic_x1000/shanlingq1/power-shanlingq1.c13
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. */