Sansa AMSv2: initialise PMU (power management unit), inspired by how the OF does it

Differences in PMU settings:
- explicitly disable the PLL inside the PMU (we don't use it)
- don't increase the PVDD1/AVDD17 voltages because the impact on runtime is still unclear

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30571 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Bertrik Sikken 2011-09-18 15:33:19 +00:00
parent 382c6974e0
commit 1d1e8e4eb7
2 changed files with 17 additions and 3 deletions

View file

@ -270,6 +270,23 @@ void system_init(void)
dma_init();
ascodec_init();
#if (CONFIG_CPU == AS3525v2)
/* PLL: disable audio PLL, we use MCLK already */
ascodec_write_pmu(0x1A, 7, 0x02);
/* DCDC_Cntr: set switching speed of CVDD1/2 power supplies to 1 MHz */
ascodec_write_pmu(0x17, 7, 0x30);
/* Out_Cntr2: set drive strength of 24 MHz and 32 kHz clocks to 1 mA */
ascodec_write_pmu(0x1A, 2, 0xCC);
/* CHGVBUS2: set VBUS threshold to 3.18V and EOC threshold to 30% CC */
ascodec_write_pmu(0x19, 2, 0x41);
#if 0 /* don't set higher voltage until impact on runtime has been checked */
/* PVDD1: set PVDD1 power supply to 2.5 V */
ascodec_write_pmu(0x18, 1, 0x35);
/* AVDD17: set AVDD17 power supply to 2.5V */
ascodec_write_pmu(0x18, 7, 0x31);
#endif
#endif /* (CONFIG_CPU == AS3525v2) */
#ifndef BOOTLOADER
/* setup isr for microsd monitoring and for fuzev2 scrollwheel irq */

View file

@ -126,9 +126,6 @@ static void enable_charger(void)
void powermgmt_init_target(void)
{
/* Everything CHARGER, OFF! */
#if CONFIG_CPU == AS3525v2
ascodec_write_pmu(AS3543_CHARGER, 2, 0x01); //EOC current theshold 30%
#endif
ascodec_monitor_endofch();
ascodec_write_charger(TMPSUP_OFF | CHG_I_50MA | CHG_V_3_90V | CHG_OFF);
}