summaryrefslogtreecommitdiff
path: root/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2021-04-21 01:45:34 +0100
committerAidan MacDonald <amachronic@protonmail.com>2021-04-21 18:31:55 +0000
commit088ebb5fac02932178fe0da31dd8966472225bdf (patch)
tree68f21b20a7eb0a1c1479033ccf031a18701afa6b /firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c
parentf6d3680cb84c05d3037650b12e6f8c258b2a6758 (diff)
downloadrockbox-088ebb5fac02932178fe0da31dd8966472225bdf.tar.gz
rockbox-088ebb5fac02932178fe0da31dd8966472225bdf.zip
Minor enhancements to axp173 driver
- Added register names to reduce usage of magic numbers - Added function to control max charging current, needed for USB - Corrected comment about axp173, since FiiO M3K has an axp192 Change-Id: I6604ce8d44e5a2ee84061cf042d17ccc4734ac57
Diffstat (limited to 'firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c')
-rw-r--r--firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c b/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c
index b4923835aa..a3760d145a 100644
--- a/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c
+++ b/firmware/target/mips/ingenic_x1000/fiiom3k/power-fiiom3k.c
@@ -68,8 +68,14 @@ void power_init(void)
68 axp173_adc_set_enabled(bits); 68 axp173_adc_set_enabled(bits);
69 69
70 /* Turn on all power outputs */ 70 /* Turn on all power outputs */
71 i2c_reg_modify1(AXP173_BUS, AXP173_ADDR, 0x12, 0, 0x5f, NULL); 71 i2c_reg_modify1(AXP173_BUS, AXP173_ADDR,
72 i2c_reg_modify1(AXP173_BUS, AXP173_ADDR, 0x80, 0, 0xc0, NULL); 72 AXP173_REG_PWROUTPUTCTRL, 0, 0x5f, NULL);
73 i2c_reg_modify1(AXP173_BUS, AXP173_ADDR,
74 AXP173_REG_DCDCWORKINGMODE, 0, 0xc0, NULL);
75
76 /* Set the default charging current. This is the same as the
77 * OF's setting, although it's not strictly within the USB spec. */
78 axp173_set_charge_current(780);
73 79
74 /* Short delay to give power outputs time to stabilize */ 80 /* Short delay to give power outputs time to stabilize */
75 mdelay(5); 81 mdelay(5);
@@ -82,7 +88,8 @@ void adc_init(void)
82void power_off(void) 88void power_off(void)
83{ 89{
84 /* Set the shutdown bit */ 90 /* Set the shutdown bit */
85 i2c_reg_setbit1(AXP173_BUS, AXP173_ADDR, 0x32, 7, 1, NULL); 91 i2c_reg_setbit1(AXP173_BUS, AXP173_ADDR,
92 AXP173_REG_SHUTDOWNLEDCTRL, 7, 1, NULL);
86 while(1); 93 while(1);
87} 94}
88 95