PMU state during suspend
Werner Almesberger
werner at openmoko.org
Fri Jan 16 03:40:48 CET 2009
Hi Balaji,
Andy wrote that you're examining the state of LDOs during suspend.
I think a dump of the PMU registers may be useful for this. I've
attached the following six files:
- before.hex: PMU register dump before the suspend
- before.pretty: idem, pretty-printed
- suspended.hex: PMU register dump while suspended
- suspended.pretty: idem, pretty-printed
- resumed.hex: PMU register dump after resume
- resumed.pretty: idem, pretty-printed
("before" and "resumed" only differ in the time, so that's good :)
This is with a kernel from latest andy-tracking, built with
gta02-moredrivers-defconfig, freshly booted, user space only runs
shell, sshd, and udevd.
- Werner
-------------- next part --------------
13 84 80 00 00 00 00 80 00 00 00 00 00 D3 AA 4A
15 44 FF 01 00 00 00 00 02 08 6B 01 00 0A 1B 02
00 22 2F 01 00 22 00 00 3F 02 05 05 11 18 02 18
02 15 00 17 01 15 01 15 01 17 01 00 00 FF 3F 00
00 17 7B E3 28 19 FF FF 00 01 00 23 23 52 19 00
00 08 00 00 7E 01 00 F3 00 38 05 17 05 01 04 08
7F 7F 3F 07 3F 1F FF 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 40 E1 D9 0C 17 A2 3A B0 80
10 C0 03 05 00
-------------- next part --------------
00 VERSION = 0x13 -- Version ID
01 VARIANT = 0x84 -- Version ID
02 INT1 = 0x80 -- Interrupt 1
adpins -- ADAPTSNS has risen above Vth(adaptpres)
0 (0x0)
adprem -- ADAPTSNS has dropped below Vth(adaptpres)
0 (0x0)
usbins -- USBx has risen above Vth(usbpres)
0 (0x0)
usbrem -- USBx has dropped below Vth(usbpres)
0 (0x0)
rtcalarm -- RTC alarm time expired
0 (0x0)
second -- RTC periodic one second interrupt
1 (0x1)
03 INT2 = 0x00 -- Interrupt 2
onkeyr -- rising edge on nONKEY
0 (0x0)
onkeyf -- falling edge on nONKEY
0 (0x0)
exton1r -- rising edge on EXTON1
0 (0x0)
exton1f -- falling edge on EXTON1
0 (0x0)
exton2r -- rising edge on EXTON2
0 (0x0)
exton2f -- falling edge on EXTON2
0 (0x0)
exton3r -- rising edge on EXTON3
0 (0x0)
exton3f -- falling edge on EXTON3
0 (0x0)
04 INT3 = 0x00 -- Interrupt 3
batfull -- battery is fully charged
0 (0x0)
chghalt -- charger has entered HALT mode
0 (0x0)
thlimon -- charger has activated thermal-loop current limiting in the USB-to-SYS path
0 (0x0)
thlimoff -- charger has deactivated thermal-loop current limiting in the USB-to-SYS path
0 (0x0)
usblimon -- charger has activated USB current limiting in the USB-to-SYS path
0 (0x0)
usblimoff -- charger has deactivated USB current limiting in the USB-to-SYS path
0 (0x0)
adcrdy -- ADC conversion completed
0 (0x0)
onkey1s -- nONKEY low for at least 1 second
0 (0x0)
05 INT4 = 0x00 -- Interrupt 4
lowsys -- SYS voltage fallen below Vth(sysok)
0 (0x0)
lowbat -- BAT voltage fallen below Vth(batok)
0 (0x0)
hightmp -- Tth(die) exceeded
0 (0x0)
autopwrfail -- AUTO output voltage below 90% of target
0 (0x0)
dwn1pwrfail -- DOWN1 output voltage below 90% of target
0 (0x0)
dwn2pwrfail -- DOWN2 output voltage below 90% of target
0 (0x0)
ledpwrfail -- LED output current below 90% of target
0 (0x0)
ledovp -- overvoltage detected at output of LED converter
0 (0x0)
06 INT5 = 0x00 -- Interrupt 5
ldo1pwrfail -- LDO1 output voltage below 90% of target
0 (0x0)
ldo2pwrfail -- LDO2 output voltage below 90% of target
0 (0x0)
ldo3pwrfail -- LDO3 output voltage below 90% of target
0 (0x0)
ldo4pwrfail -- LDO4 output voltage below 90% of target
0 (0x0)
ldo5pwrfail -- LDO5 output voltage below 90% of target
0 (0x0)
ldo6pwrfail -- LDO6 output voltage below 90% of target
0 (0x0)
hcldopwrfail -- HCLDO output voltage below 90% of target
0 (0x0)
hcldoovl -- overload (Io > 350mA) detected in HCLDO regulator
0 (0x0)
07 INT1MASK = 0x80 -- Interrupt mask 1
adpinsm
0 (0x0)
adpremm
0 (0x0)
usbinsm
0 (0x0)
usbremm
0 (0x0)
rtcalarmm
0 (0x0)
secondm
1 (0x1)
08 INT2MASK = 0x00 -- Interrupt mask 2
onkeyrm
0 (0x0)
onkeyfm
0 (0x0)
exton1rm
0 (0x0)
exton1fm
0 (0x0)
exton2rm
0 (0x0)
exton2fm
0 (0x0)
exton3rm
0 (0x0)
exton3fm
0 (0x0)
09 INT3MASK = 0x00 -- Interrupt mask 3
batfullm
0 (0x0)
chghaltm
0 (0x0)
thlimonm
0 (0x0)
thlimoffm
0 (0x0)
usblimonm
0 (0x0)
usblimoffm
0 (0x0)
adcrdym
0 (0x0)
onkey1sm
0 (0x0)
0a INT4MASK = 0x00 -- Interrupt mask 4
lowsysm
0 (0x0)
lowbatm
0 (0x0)
hightmpm
0 (0x0)
autopwrfailm
0 (0x0)
dwn1pwrfailm
0 (0x0)
dwn2pwrfailm
0 (0x0)
ledpwrfailm
0 (0x0)
ledovpm
0 (0x0)
0b INT5MASK = 0x00 -- Interrupt mask 5
ldo1pwrfailm
0 (0x0)
ldo2pwrfailm
0 (0x0)
ldo3pwrfailm
0 (0x0)
ldo4pwrfailm
0 (0x0)
ldo5pwrfailm
0 (0x0)
ldo6pwrfailm
0 (0x0)
hcldopwrfailm
0 (0x0)
hcldoovlm
0 (0x0)
0c OOCSHDWN = 0x00 -- OOC shutdown
go_stby
0 (0x0): no_action
totrst
0 (0x0): no_action
coldboot
0 (0x0): no_coldboot
0d OOCWAKE = 0xd3 -- OOC wake-up
onkey_wake
1 (0x1)
exton1_wake
1 (0x1)
exton2_wake
0 (0x0)
exton3_wake
0 (0x0)
rtc_wake
1 (0x1)
usb_wake
1 (0x1)
adp_wake
1 (0x1)
0e OOCTIM1 = 0xaa -- OOC debounce 1
exton1_deb
10 (0x2): 14ms
exton2_deb
10 (0x2): 14ms
exton3_deb
10 (0x2): 14ms
shdwn_deb
10 (0x2): 14ms
0f OOCTIM2 = 0x4a -- OOC debounce 2 (STANDBY)
onkey_deb -- debounce time for nONKEY
010 (0x2): 14ms
actphdel -- delay between activation phases
01 (0x1): 10ms
hcrstdel -- delay between selected activation phase and host controller reset
10 (0x2): 13ms
almon -- ambient light monitor
0 (0x0)
10 OOCMODE = 0x15 -- OOC mode
exton1_mode -- EXTON1 mode selection
01 (0x1): wake_on_rising_edge
exton2_mode -- EXTON2 mode selection
01 (0x1): wake_on_rising_edge
exton3_mode -- EXTON3 mode selection
01 (0x1): wake_on_rising_edge
onkey_mode -- ONKEY mode selection
00 (0x0): wake_on_falling_edge
11 OOCCTL = 0x44 -- OOC control
actphrst -- selects activity phase to which host controller reset is related
00 (0x0): phase_1
actclk32on -- CLK32K output in Active state
1 (0x1)
heatbeat
0 (0x0): KEEPACT_required_DC_high
usbbatchk
0 (0x0): disabled -- Vbat status has no effect on state machine
stbclk32on -- CLK32K output in Standby state
1 (0x1)
12 OOCSTAT = 0xff -- OOC status
onkey -- ONKEY above threshold
1 (0x1)
exton1 -- EXTON1 above threshold
1 (0x1)
exton2 -- EXTON2 above threshold
1 (0x1)
exton3 -- EXTON3 above threshold
1 (0x1)
bubpres -- Vbubat above Vth(bubpres)
1 (0x1)
sysok -- Vsys above Vth(sysok)
1 (0x1)
batok -- Vbat above Vth(batok)
1 (0x1)
tmpok -- die_below_Tth_die
1 (0x1)
13 GPIOCTL = 0x01 -- GPIO I/O mode control
gpio1dir -- GPIO1 I/O mode
1 (0x1): input
gpio2dir -- GPIO2 I/O mode
0 (0x0): output
gpio3dir -- GPIO3 I/O mode
0 (0x0): output
14 GPIO1CFG = 0x00 -- GPIO1 signal selection
gpio1sel -- GPIO1 output signal selection
000 (0x0): fixed_0
gpio1pol -- GPIO1 output signal polarity
0 (0x0): no_inversion
15 GPIO2CFG = 0x00 -- GPIO2 signal selection
gpio2sel -- GPIO2 output signal selection
000 (0x0): fixed_0
gpio2pol -- GPIO2 output signal polarity
0 (0x0): no_inversion
16 GPIO3CFG = 0x00 -- GPIO3 signal selection
gpio3sel -- GPIO3 output signal selection
000 (0x0): fixed_0
gpio3pol -- GPIO3 output signal polarity
0 (0x0): no_inversion
17 GPOCFG = 0x00 -- GPO signal selection
gposel -- GPO output signal selection
000 (0x0): fixed_0
gpopol -- GPO output signal polarity
0 (0x0): no_inversion
18 BVMCTL = 0x02 -- BVM control
bvmlow -- BAT voltage is lower than Vth(batok)
0 (0x0)
bvmlvl -- Vth(batok)
001 (0x1): 2_80V
bvmdisdb -- 62ms debounce filter
0 (0x0): enabled
19 SVMCTL = 0x08 -- SVM control
svmlow -- SYS voltage is lower than Vth(sysok)
0 (0x0)
svmlvl -- Vth(sysok)
100 (0x4): 3_10V
svmdisdb -- 62ms debounce filter
0 (0x0): enabled
1a AUTOOUT = 0x6b -- AUTO output voltage select (STANDBY)
auto_out -- Vo(prog) [1800mV,3800mV]
0110.1011 (0x6b): 625+25*107 = 3300 mV
1b AUTOENA = 0x01 -- AUTO output enable (STANDBY)
auto_on
1 (0x1): on
auto_p1c
0 (0x0): off
auto_p2c
0 (0x0): off
auto_p3c
0 (0x0): off
auto_ena_act -- selects activation phase
00 (0x0): actph1
1c AUTOCTL = 0x00 -- AUTO control register (STANDBY)
autopwmonly
0 (0x0): pfm_pwm -- automatic PFM-PWM selection
auto_mod
0 (0x0): auto_up_down
1d AUTOMXC = 0x0a -- AUTO maximum current (STANDBY)
auto_maxc -- Ii(max)
00.1010 (0x0a): 0+40*10 = 400 mA
auto_maxcmod -- current limit mode
0 (0x0): start_up
1e DOWN1OUT = 0x1b -- DOWN1 output voltage select (STANDBY)
down1_out -- Vo(prog) [1800mV,3800mV]
0001.1011 (0x1b): 625+25*27 = 1300 mV
1f DOWN1ENA = 0x02 -- DOWN1 output enable (STANDBY)
down1_on
0 (0x0): off
down1_p1c
1 (0x1): on_gpio1 -- ON when GPIO1 = 1
down1_p2c
0 (0x0): off
down1_p3c
0 (0x0): off
down1_ena_act -- selects activation phase
00 (0x0): actph1
20 DOWN1CTL = 0x00 -- DOWN1 control (STANDBY)
down1pwmonly
0 (0x0): pfm_pwm -- automatic PFM-PWM selection
down1_dvmstep -- DVM step time, 32768 Hz
0000 (0x0): 0+30*0 = 0 us
21 DOWN1MXC = 0x22 -- DOWN1 maximum current (STANDBY)
down1_maxc -- Ii(max)
10.0010 (0x22): 0+40*34 = 1360 mA
down1_maxcmod -- current limit mode
0 (0x0): start_up
22 DOWN2OUT = 0x2f -- DOWN2 output voltage select (STANDBY)
down2_out -- Vo(prog) [1800mV,3800mV]
0010.1111 (0x2f): 625+25*47 = 1800 mV
23 DOWN2ENA = 0x01 -- DOWN2 output enable (STANDBY)
down2_on
1 (0x1): on
down2_p1c
0 (0x0): off
down2_p2c
0 (0x0): off
down2_p3c
0 (0x0): off
down2_ena_act -- selects activation phase
00 (0x0): actph1
24 DOWN2CTL = 0x00 -- DOWN2 control (STANDBY)
down2pwmonly
0 (0x0): pfm_pwm -- automatic PFM-PWM selection
down2_dvmstep -- DVM step time, 32768 Hz
0000 (0x0): 0+30*0 = 0 us
25 DOWN2MXC = 0x22 -- DOWN2 maximum current (STANDBY)
down2_maxc -- Ii(max)
10.0010 (0x22): 0+40*34 = 1360 mA
down2_maxcmod -- current limit mode
0 (0x0): start_up
26 MEMLDOOUT = 0x00 -- MEMLDO output voltage select (STANDBY)
memldo_out -- Vo(prog)
0.0000 (0x00): 900+100*0 = 900 mV
memldo_swmod
0 (0x0): linear_reg
27 MEMLDOENA = 0x00 -- MEMLDO output enable (STANDBY)
memldo_on
0 (0x0): off
memldo_p1c
0 (0x0): off
memldo_p2c
0 (0x0): off
memldo_p3c
0 (0x0): off
memldo_ena_act -- selects activation phase
00 (0x0): actph1
28 LEDOUT = 0x3f -- LED output voltage select (STANDBY)
led_out -- Iled = Vledfb/Rsense
11.1111 (0x3f): 1250mV
29 LEDENA = 0x02 -- LED output enable (STANDBY)
led_on
0 (0x0): off
led_p1c
1 (0x1): on_gpio1 -- ON when GPIO1 = 1
led_p2c
0 (0x0): off
led_p3c
0 (0x0): off
led_ena_act -- selects activation phase
00 (0x0): actph1
2a LEDCTL = 0x05 -- LED control (STANDBY)
led_ovpon -- overvoltage protection
1 (0x1)
led_ovprs -- reset overvoltage protection
0 (0x0)
led_ocp -- OCP limit
1 (0x1): 500mA
2b LEDDIM = 0x05 -- LED ramp control (STANDBY)
led_dimstep -- tdimstep=16*led_dimstep/32768s
0000.0101 (0x05): 0+488*5 = 2440 us
2d LDO1OUT = 0x18 -- LDO1 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.1000 (0x18): 900+100*24 = 3300 mV
reg_swmod
0 (0x0): linear_reg
2e LDO1ENA = 0x02 -- LDO1 output enable (STANDBY)
ldo1_on
0 (0x0): off
ldo1_p1c
1 (0x1): on_gpio1 -- ON when GPIO1 = 1
ldo1_p2c
0 (0x0): off
ldo1_p3c
0 (0x0): off
ldo1_ena_act -- selects activation phase
00 (0x0): actph1
2f LDO2OUT = 0x18 -- LDO2 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.1000 (0x18): 900+100*24 = 3300 mV
reg_swmod
0 (0x0): linear_reg
30 LDO2ENA = 0x02 -- LDO2 output enable (STANDBY)
ldo2_on
0 (0x0): off
ldo2_p1c
1 (0x1): on_gpio1 -- ON when GPIO1 = 1
ldo2_p2c
0 (0x0): off
ldo2_p3c
0 (0x0): off
ldo2_ena_act -- selects activation phase
00 (0x0): actph1
31 LDO3OUT = 0x15 -- LDO3 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0101 (0x15): 900+100*21 = 3000 mV
reg_swmod
0 (0x0): linear_reg
32 LDO3ENA = 0x00 -- LDO3 output enable (STANDBY)
ldo3_on
0 (0x0): off
ldo3_p1c
0 (0x0): off
ldo3_p2c
0 (0x0): off
ldo3_p3c
0 (0x0): off
ldo3_ena_act -- selects activation phase
00 (0x0): actph1
33 LDO4OUT = 0x17 -- LDO4 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0111 (0x17): 900+100*23 = 3200 mV
reg_swmod
0 (0x0): linear_reg
34 LDO4ENA = 0x01 -- LDO4 output enable (STANDBY)
ldo4_on
1 (0x1): on
ldo4_p1c
0 (0x0): off
ldo4_p2c
0 (0x0): off
ldo4_p3c
0 (0x0): off
ldo4_ena_act -- selects activation phase
00 (0x0): actph1
35 LDO5OUT = 0x15 -- LDO5 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0101 (0x15): 900+100*21 = 3000 mV
reg_swmod
0 (0x0): linear_reg
36 LDO5ENA = 0x01 -- LDO5 output enable (STANDBY)
ldo5_on
1 (0x1): on
ldo5_p1c
0 (0x0): off
ldo5_p2c
0 (0x0): off
ldo5_p3c
0 (0x0): off
ldo5_ena_act -- selects activation phase
00 (0x0): actph1
37 LDO6OUT = 0x15 -- LDO6 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0101 (0x15): 900+100*21 = 3000 mV
reg_swmod
0 (0x0): linear_reg
38 LDO6ENA = 0x01 -- LDO6 output enable (STANDBY)
ldo6_on
1 (0x1): on
ldo6_p1c
0 (0x0): off
ldo6_p2c
0 (0x0): off
ldo6_p3c
0 (0x0): off
ldo6_ena_act -- selects activation phase
00 (0x0): actph1
39 HCLDOOUT = 0x17 -- HCLDO output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0111 (0x17): 900+100*23 = 3200 mV
reg_swmod
0 (0x0): linear_reg
3a HCLDOENA = 0x01 -- HCLDO output enable (STANDBY)
hcldo_on
1 (0x1): on
hcldo_p1c
0 (0x0): off
hcldo_p2c
0 (0x0): off
hcldo_p3c
0 (0x0): off
hcldo_ena_act -- selects activation phase
00 (0x0): actph1
3b STBYCTL1 = 0x00 -- LDO Standby control
ldo1_ena_stb -- LDO1 in ON in Standby
0 (0x0)
ldo2_ena_stb -- LDO2 in ON in Standby
0 (0x0)
ldo3_ena_stb -- LDO3 in ON in Standby
0 (0x0)
ldo4_ena_stb -- LDO4 in ON in Standby
0 (0x0)
3c STBYCTL2 = 0x00 -- LDO Standby control
ldo5_ena_stb -- LDO5 in ON in Standby
0 (0x0)
ldo6_ena_stb -- LDO6 in ON in Standby
0 (0x0)
hcldo_ena_stb -- HCLDO in ON in Standby
0 (0x0)
memldo_ena_stb -- MEMLDO in ON in Standby
0 (0x0)
3d DEBPF1 = 0xff -- Power fail debounce 1
auto_debpf -- AUTO power failure debounce time
11 (0x3): 100ms
down1_debpf -- DOWN1 power failure debounce time
11 (0x3): 100ms
down2_debpf -- DOWN2 power failure debounce time
11 (0x3): 100ms
led_debpf -- LED power failure debounce time
11 (0x3): 100ms
3e DEBPF2 = 0x3f -- Power fail debounce 2
ldo1_debpf -- LDO1 power failure debounce time
11 (0x3): 100ms
ldo2_debpf -- LDO2 power failure debounce time
11 (0x3): 100ms
ldo3_debpf -- LDO3 power failure debounce time
11 (0x3): 100ms
ldo4_debpf -- LDO4 power failure debounce time
00 (0x0): none
3f DEBPF3 = 0x00 -- Power fail debounce 3
ldo5_debpf -- LDO5 power failure debounce time
00 (0x0): none
ldo6_debpf -- LDO6 power failure debounce time
00 (0x0): none
hcldo_debpf -- HCLDO power failure debounce time
00 (0x0): none
40 HCLDOOVL = 0x00 -- HCLDO overload protection
hcldo_debovl -- overload detecton debounce time
00 (0x0): none
41 DCDCSTAT = 0x17 -- DC-to-DC converter status
auto_pwrok -- AUTO > 90% of target
1 (0x1)
down1_pwrok -- DOWN1 > 90% of target
1 (0x1)
down2_pwrok -- DOWN2 > 90% of target
1 (0x1)
led_pwrok -- LED > 90% of target
0 (0x0)
42 LDOSTAT = 0x7b -- LDO status
ldo1_pwrok -- LDO1 > 90% of target
1 (0x1)
ldo2_pwrok -- LDO2 > 90% of target
1 (0x1)
ldo3_pwrok -- LDO3 > 90% of target
0 (0x0)
ldo4_pwrok -- LDO4 > 90% of target
1 (0x1)
ldo5_pwrok -- LDO5 > 90% of target
1 (0x1)
ldo6_pwrok -- LDO6 > 90% of target
1 (0x1)
hcldo_pwrok -- HCLDO > 90% of target
1 (0x1)
hcldo_ovl -- HCLDO is in overload mode
0 (0x0)
43 MBCC1 = 0xe3 -- MBC charger control 1
chgena -- charger enabled
1 (0x1)
autostop -- stop charging when current falls below cutoffcur
1 (0x1)
autores -- resume charging then Vbat < Vth(RES), 96% of vmax
0 (0x0)
resume -- resume if in Battery Full
0 (0x0)
restart -- restart if in Halt
0 (0x0)
prewdtime -- maximum charging time during Precharge phase
1 (0x1): 60min
wdtime -- maximum charging time after Precharge phase
11 (0x3): 6h
44 MBCC2 = 0x28 -- MBC charger control 2
vbatcond
00 (0x0): 2_7V
vmax -- Vbat(float)prog
1010 (0xa): 4000+20*10 = 4200 mV
vresdebtime -- debounce time for Vth(RES)
0 (0x0): 32s
45 MBCC3 = 0x19 -- MBC charger control 3
prechgcur -- pre-charge current level, N/255*Ich(ref)
0001.1001 (0x19)
46 MBCC4 = 0xff -- MBC charger control 4
fstchgcur1 -- fast charge current level in adapter Fast Charge phase, N/255*Ich(ref)
1111.1111 (0xff)
47 MBCC5 = 0xff -- MBC charger control 5
fstchgcur2 -- fast charge current level in USB Fast Charge phase, N/255*Ich(ref)
1111.1111 (0xff)
48 MBCC6 = 0x00 -- MBC charger control 6
cutoffcur -- cutoff current level (full in CV), 1/32*Ichg
0.0000 (0x00)
49 MBCC7 = 0x01 -- MBC charger control 7
usbdevstat -- USB device status setting (STANDBY)
01 (0x1): 500mA
batttempena -- battery temperature is measured and impacts the MBC state machine
0 (0x0)
batsysimax -- maximum BAT-SYS current when ideal diode is conducting
00 (0x0): 1_6A
4a MBCC8 = 0x00 -- MBC charger control 8
ntclvt -- NTC voltage level for battery high temperature threshold
0000 (0x0): 600+50*0 = 600 mV
usbenasus -- USB-SYS switch enabled in USB suspend, ideal diode disabled
0 (0x0)
4b MBCS1 = 0x23 -- MBC charger status 1
usbpres -- Vusb > Vth(usbpres)
1 (0x1)
usbok -- Vusb > Vbat+dVusbok
1 (0x1)
adaptpres -- Vadaptsns > Vth(adaptpres)
0 (0x0)
adaptok -- Vsys > Vbat+dVadaptok
0 (0x0)
tbatstat -- battery temperature status indication
10 (0x2): below_window
prewdtexp -- watchdog timer expired during pre-charging
0 (0x0)
wdtexp -- watchdog timer expired after pre-charging
0 (0x0)
4c MBCS2 = 0x23 -- MBC charger status 2
mbcmod -- main MBC operating modes and charge phases
0011 (0x3): usb_fast_charge
chgstat -- charger connection status
10 (0x2): usb
resstat -- charging has resumed automatically
0 (0x0)
4d MBCS3 = 0x52 -- MBC charger status 3
usblim_play -- USB current limiting in USB-to-SYS path
0 (0x0)
usblim_chg -- USB current limiting in USB-to-BAT path
1 (0x1)
tlim_play -- temperature limiting in USB-to-SYS path
0 (0x0)
tlim_chg -- temperature limiting in USB-to-BAT or SYS-BAT path
0 (0x0)
ilim -- battery charge current > cutoffcur level
1 (0x1)
vlim -- battery voltage equals vmax level
0 (0x0)
vbatstat -- battery voltage > Vbatcond
1 (0x1)
vres -- battery voltage > Vth(RES)
0 (0x0)
4e BBCCTL = 0x19 -- Backup battery charger control
bbce -- enable backup battery charger (STANDBY)
1 (0x1)
bbcr -- bypass output resistor
0 (0x0)
bbcc -- backup battery charge current, Ich(BUBAT)
10 (0x2): 200uA
bbcv -- limiting voltage for backup battery charger Vlim(BUBAT)
1 (0x1): 3_0V
4f ALMGAIN = 0x00 -- Ambient lighting gain factor (STANDBY)
alm_gain -- ambient light processing gain factor
0.0000 (0x00)
50 ALMDATA = 0x00 -- Ambient light intensity data (STANDBY)
alm_data
0000.0000 (0x00)
52 ADCC3 = 0x00 -- A/C converter control 3
accswen -- enable biasing for ratiometric measurement on ADCIN1
0 (0x0)
ntcswen -- enable biasing for ratiometric measurement on BATTEMP
0 (0x0)
adcdivsel -- resistive divider type
0 (0x0): by_3
53 ADCC2 = 0x00 -- A/C converter control 2
adcratioen -- ratiometric measurement
00 (0x0): none -- no ratiometric mode measurement
adcratioset -- ratiometric settling time
0 (0x0): 10us
54 ADCC1 = 0x7e -- A/D converter control 1
adcstart -- ADC conversion start command
0 (0x0)
adcres -- ADC resolution
1 (0x1): 8bit
adc_av -- measurement averaging
11 (0x3): 16_samples
adcinmux -- ADC input selection
0111 (0x7): adcin1 -- ADCIN1
55 ADCS1 = 0x01 -- A/D converter status 1
adcdat1h -- 8 most significant bits of the (first) ADC result
0000.0001 (0x01)
56 ADCS2 = 0x00 -- A/D converter status 2
adcdat2h -- 8 most significant bits of the second ADC result
0000.0000 (0x00)
57 ADCS3 = 0xf3 -- A/D converter status 3
adcdat1l -- 2 least significant bits of the (first) ADC result
11 (0x3)
adcdat2l -- 2 least significant bits of the second ADC result
00 (0x0)
adcrefmux -- ADC reference selection
111 (0x7): 2_0V_again
adcrdy -- ADC conversion is completed
1 (0x1)
59 RTCSC = 0x38 -- RTC second value
sec -- current seconds, BCD
011.1000 (0x38)
5a RTCMN = 0x05 -- RTC minute value
min -- current minutes, BCD
000.0101 (0x05)
5b RTCHR = 0x17 -- RTC hour value
hour -- current hours, BCD
01.0111 (0x17)
5c RTCWD = 0x05 -- RTC day-of-week value
wkday -- current day-of-week
101 (0x5): fri
5d RTCDT = 0x01 -- RTC day value
day -- current day value, BCD, 01-based
0.0001 (0x01)
5e RTCMT = 0x04 -- RTC month value
month -- current month value
0.0100 (0x04): apr
5f RTCYR = 0x08 -- RTC year value
year -- current year, BCD
0000.1000 (0x08)
60 RTCSCA = 0x7f -- RTC second alarm value
seca -- alarm seconds, BCD
111.1111 (0x7f)
61 RTCMNA = 0x7f -- RTC minute alarm value
mina -- alarm minutes, BCD
111.1111 (0x7f)
62 RTCHRA = 0x3f -- RTC hour alarm value
houra -- alarm hours, BCD
11.1111 (0x3f)
63 RTCWDA = 0x07 -- RTC weekday alarm value
wkdaya -- alarm day-of-week
111 (0x7): RESERVED
64 RTCDTA = 0x3f -- RTC day alarm value
daya -- alarm day value, BCD, 01-based
1.1111 (0x1f)
65 RTCMTA = 0x1f -- RTC month alarm value
montha -- alarm month value
1.1111 (0x1f): RESERVED
66 RTCYRA = 0xff -- RTC year alarm value
yeara -- alarm year, BCD
1111.1111 (0xff)
67 MEMBYTE0 = 0x00 -- General purpose memory byte 0
membyte0
0000.0000 (0x00)
68 MEMBYTE1 = 0x00 -- General purpose memory byte 1
membyte1
0000.0000 (0x00)
69 MEMBYTE2 = 0x00 -- General purpose memory byte 2
membyte2
0000.0000 (0x00)
6a MEMBYTE3 = 0x00 -- General purpose memory byte 3
membyte3
0000.0000 (0x00)
6b MEMBYTE4 = 0x00 -- General purpose memory byte 4
membyte4
0000.0000 (0x00)
6c MEMBYTE5 = 0x00 -- General purpose memory byte 5
membyte5
0000.0000 (0x00)
6d MEMBYTE6 = 0x00 -- General purpose memory byte 6
membyte6
0000.0000 (0x00)
6e MEMBYTE7 = 0x00 -- General purpose memory byte 7
membyte7
0000.0000 (0x00)
-------------- next part --------------
13 84 80 00 00 00 00 B3 FD 7F F8 FF 00 D3 AA 4A
15 44 FF 01 00 00 00 00 02 08 6B 01 00 0A 1B 02
00 22 2F 01 00 22 00 00 02 00 05 05 11 18 02 18
02 15 00 17 00 15 01 15 01 17 01 00 00 FF 3F 00
00 05 70 E3 28 19 FF FF 00 01 00 23 23 52 19 00
00 08 00 00 7E 01 00 F3 00 11 06 17 05 01 04 08
7F 7F 3F 07 3F 1F FF 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 40 E1 D9 0C 17 A2 3A B0 80
10 C0 03 06 00
-------------- next part --------------
00 VERSION = 0x13 -- Version ID
01 VARIANT = 0x84 -- Version ID
02 INT1 = 0x80 -- Interrupt 1
adpins -- ADAPTSNS has risen above Vth(adaptpres)
0 (0x0)
adprem -- ADAPTSNS has dropped below Vth(adaptpres)
0 (0x0)
usbins -- USBx has risen above Vth(usbpres)
0 (0x0)
usbrem -- USBx has dropped below Vth(usbpres)
0 (0x0)
rtcalarm -- RTC alarm time expired
0 (0x0)
second -- RTC periodic one second interrupt
1 (0x1)
03 INT2 = 0x00 -- Interrupt 2
onkeyr -- rising edge on nONKEY
0 (0x0)
onkeyf -- falling edge on nONKEY
0 (0x0)
exton1r -- rising edge on EXTON1
0 (0x0)
exton1f -- falling edge on EXTON1
0 (0x0)
exton2r -- rising edge on EXTON2
0 (0x0)
exton2f -- falling edge on EXTON2
0 (0x0)
exton3r -- rising edge on EXTON3
0 (0x0)
exton3f -- falling edge on EXTON3
0 (0x0)
04 INT3 = 0x00 -- Interrupt 3
batfull -- battery is fully charged
0 (0x0)
chghalt -- charger has entered HALT mode
0 (0x0)
thlimon -- charger has activated thermal-loop current limiting in the USB-to-SYS path
0 (0x0)
thlimoff -- charger has deactivated thermal-loop current limiting in the USB-to-SYS path
0 (0x0)
usblimon -- charger has activated USB current limiting in the USB-to-SYS path
0 (0x0)
usblimoff -- charger has deactivated USB current limiting in the USB-to-SYS path
0 (0x0)
adcrdy -- ADC conversion completed
0 (0x0)
onkey1s -- nONKEY low for at least 1 second
0 (0x0)
05 INT4 = 0x00 -- Interrupt 4
lowsys -- SYS voltage fallen below Vth(sysok)
0 (0x0)
lowbat -- BAT voltage fallen below Vth(batok)
0 (0x0)
hightmp -- Tth(die) exceeded
0 (0x0)
autopwrfail -- AUTO output voltage below 90% of target
0 (0x0)
dwn1pwrfail -- DOWN1 output voltage below 90% of target
0 (0x0)
dwn2pwrfail -- DOWN2 output voltage below 90% of target
0 (0x0)
ledpwrfail -- LED output current below 90% of target
0 (0x0)
ledovp -- overvoltage detected at output of LED converter
0 (0x0)
06 INT5 = 0x00 -- Interrupt 5
ldo1pwrfail -- LDO1 output voltage below 90% of target
0 (0x0)
ldo2pwrfail -- LDO2 output voltage below 90% of target
0 (0x0)
ldo3pwrfail -- LDO3 output voltage below 90% of target
0 (0x0)
ldo4pwrfail -- LDO4 output voltage below 90% of target
0 (0x0)
ldo5pwrfail -- LDO5 output voltage below 90% of target
0 (0x0)
ldo6pwrfail -- LDO6 output voltage below 90% of target
0 (0x0)
hcldopwrfail -- HCLDO output voltage below 90% of target
0 (0x0)
hcldoovl -- overload (Io > 350mA) detected in HCLDO regulator
0 (0x0)
07 INT1MASK = 0xb3 -- Interrupt mask 1
adpinsm
1 (0x1)
adpremm
1 (0x1)
usbinsm
0 (0x0)
usbremm
0 (0x0)
rtcalarmm
0 (0x0)
secondm
1 (0x1)
08 INT2MASK = 0xfd -- Interrupt mask 2
onkeyrm
1 (0x1)
onkeyfm
0 (0x0)
exton1rm
1 (0x1)
exton1fm
1 (0x1)
exton2rm
1 (0x1)
exton2fm
1 (0x1)
exton3rm
1 (0x1)
exton3fm
1 (0x1)
09 INT3MASK = 0x7f -- Interrupt mask 3
batfullm
1 (0x1)
chghaltm
1 (0x1)
thlimonm
1 (0x1)
thlimoffm
1 (0x1)
usblimonm
1 (0x1)
usblimoffm
1 (0x1)
adcrdym
1 (0x1)
onkey1sm
0 (0x0)
0a INT4MASK = 0xf8 -- Interrupt mask 4
lowsysm
0 (0x0)
lowbatm
0 (0x0)
hightmpm
0 (0x0)
autopwrfailm
1 (0x1)
dwn1pwrfailm
1 (0x1)
dwn2pwrfailm
1 (0x1)
ledpwrfailm
1 (0x1)
ledovpm
1 (0x1)
0b INT5MASK = 0xff -- Interrupt mask 5
ldo1pwrfailm
1 (0x1)
ldo2pwrfailm
1 (0x1)
ldo3pwrfailm
1 (0x1)
ldo4pwrfailm
1 (0x1)
ldo5pwrfailm
1 (0x1)
ldo6pwrfailm
1 (0x1)
hcldopwrfailm
1 (0x1)
hcldoovlm
1 (0x1)
0c OOCSHDWN = 0x00 -- OOC shutdown
go_stby
0 (0x0): no_action
totrst
0 (0x0): no_action
coldboot
0 (0x0): no_coldboot
0d OOCWAKE = 0xd3 -- OOC wake-up
onkey_wake
1 (0x1)
exton1_wake
1 (0x1)
exton2_wake
0 (0x0)
exton3_wake
0 (0x0)
rtc_wake
1 (0x1)
usb_wake
1 (0x1)
adp_wake
1 (0x1)
0e OOCTIM1 = 0xaa -- OOC debounce 1
exton1_deb
10 (0x2): 14ms
exton2_deb
10 (0x2): 14ms
exton3_deb
10 (0x2): 14ms
shdwn_deb
10 (0x2): 14ms
0f OOCTIM2 = 0x4a -- OOC debounce 2 (STANDBY)
onkey_deb -- debounce time for nONKEY
010 (0x2): 14ms
actphdel -- delay between activation phases
01 (0x1): 10ms
hcrstdel -- delay between selected activation phase and host controller reset
10 (0x2): 13ms
almon -- ambient light monitor
0 (0x0)
10 OOCMODE = 0x15 -- OOC mode
exton1_mode -- EXTON1 mode selection
01 (0x1): wake_on_rising_edge
exton2_mode -- EXTON2 mode selection
01 (0x1): wake_on_rising_edge
exton3_mode -- EXTON3 mode selection
01 (0x1): wake_on_rising_edge
onkey_mode -- ONKEY mode selection
00 (0x0): wake_on_falling_edge
11 OOCCTL = 0x44 -- OOC control
actphrst -- selects activity phase to which host controller reset is related
00 (0x0): phase_1
actclk32on -- CLK32K output in Active state
1 (0x1)
heatbeat
0 (0x0): KEEPACT_required_DC_high
usbbatchk
0 (0x0): disabled -- Vbat status has no effect on state machine
stbclk32on -- CLK32K output in Standby state
1 (0x1)
12 OOCSTAT = 0xff -- OOC status
onkey -- ONKEY above threshold
1 (0x1)
exton1 -- EXTON1 above threshold
1 (0x1)
exton2 -- EXTON2 above threshold
1 (0x1)
exton3 -- EXTON3 above threshold
1 (0x1)
bubpres -- Vbubat above Vth(bubpres)
1 (0x1)
sysok -- Vsys above Vth(sysok)
1 (0x1)
batok -- Vbat above Vth(batok)
1 (0x1)
tmpok -- die_below_Tth_die
1 (0x1)
13 GPIOCTL = 0x01 -- GPIO I/O mode control
gpio1dir -- GPIO1 I/O mode
1 (0x1): input
gpio2dir -- GPIO2 I/O mode
0 (0x0): output
gpio3dir -- GPIO3 I/O mode
0 (0x0): output
14 GPIO1CFG = 0x00 -- GPIO1 signal selection
gpio1sel -- GPIO1 output signal selection
000 (0x0): fixed_0
gpio1pol -- GPIO1 output signal polarity
0 (0x0): no_inversion
15 GPIO2CFG = 0x00 -- GPIO2 signal selection
gpio2sel -- GPIO2 output signal selection
000 (0x0): fixed_0
gpio2pol -- GPIO2 output signal polarity
0 (0x0): no_inversion
16 GPIO3CFG = 0x00 -- GPIO3 signal selection
gpio3sel -- GPIO3 output signal selection
000 (0x0): fixed_0
gpio3pol -- GPIO3 output signal polarity
0 (0x0): no_inversion
17 GPOCFG = 0x00 -- GPO signal selection
gposel -- GPO output signal selection
000 (0x0): fixed_0
gpopol -- GPO output signal polarity
0 (0x0): no_inversion
18 BVMCTL = 0x02 -- BVM control
bvmlow -- BAT voltage is lower than Vth(batok)
0 (0x0)
bvmlvl -- Vth(batok)
001 (0x1): 2_80V
bvmdisdb -- 62ms debounce filter
0 (0x0): enabled
19 SVMCTL = 0x08 -- SVM control
svmlow -- SYS voltage is lower than Vth(sysok)
0 (0x0)
svmlvl -- Vth(sysok)
100 (0x4): 3_10V
svmdisdb -- 62ms debounce filter
0 (0x0): enabled
1a AUTOOUT = 0x6b -- AUTO output voltage select (STANDBY)
auto_out -- Vo(prog) [1800mV,3800mV]
0110.1011 (0x6b): 625+25*107 = 3300 mV
1b AUTOENA = 0x01 -- AUTO output enable (STANDBY)
auto_on
1 (0x1): on
auto_p1c
0 (0x0): off
auto_p2c
0 (0x0): off
auto_p3c
0 (0x0): off
auto_ena_act -- selects activation phase
00 (0x0): actph1
1c AUTOCTL = 0x00 -- AUTO control register (STANDBY)
autopwmonly
0 (0x0): pfm_pwm -- automatic PFM-PWM selection
auto_mod
0 (0x0): auto_up_down
1d AUTOMXC = 0x0a -- AUTO maximum current (STANDBY)
auto_maxc -- Ii(max)
00.1010 (0x0a): 0+40*10 = 400 mA
auto_maxcmod -- current limit mode
0 (0x0): start_up
1e DOWN1OUT = 0x1b -- DOWN1 output voltage select (STANDBY)
down1_out -- Vo(prog) [1800mV,3800mV]
0001.1011 (0x1b): 625+25*27 = 1300 mV
1f DOWN1ENA = 0x02 -- DOWN1 output enable (STANDBY)
down1_on
0 (0x0): off
down1_p1c
1 (0x1): on_gpio1 -- ON when GPIO1 = 1
down1_p2c
0 (0x0): off
down1_p3c
0 (0x0): off
down1_ena_act -- selects activation phase
00 (0x0): actph1
20 DOWN1CTL = 0x00 -- DOWN1 control (STANDBY)
down1pwmonly
0 (0x0): pfm_pwm -- automatic PFM-PWM selection
down1_dvmstep -- DVM step time, 32768 Hz
0000 (0x0): 0+30*0 = 0 us
21 DOWN1MXC = 0x22 -- DOWN1 maximum current (STANDBY)
down1_maxc -- Ii(max)
10.0010 (0x22): 0+40*34 = 1360 mA
down1_maxcmod -- current limit mode
0 (0x0): start_up
22 DOWN2OUT = 0x2f -- DOWN2 output voltage select (STANDBY)
down2_out -- Vo(prog) [1800mV,3800mV]
0010.1111 (0x2f): 625+25*47 = 1800 mV
23 DOWN2ENA = 0x01 -- DOWN2 output enable (STANDBY)
down2_on
1 (0x1): on
down2_p1c
0 (0x0): off
down2_p2c
0 (0x0): off
down2_p3c
0 (0x0): off
down2_ena_act -- selects activation phase
00 (0x0): actph1
24 DOWN2CTL = 0x00 -- DOWN2 control (STANDBY)
down2pwmonly
0 (0x0): pfm_pwm -- automatic PFM-PWM selection
down2_dvmstep -- DVM step time, 32768 Hz
0000 (0x0): 0+30*0 = 0 us
25 DOWN2MXC = 0x22 -- DOWN2 maximum current (STANDBY)
down2_maxc -- Ii(max)
10.0010 (0x22): 0+40*34 = 1360 mA
down2_maxcmod -- current limit mode
0 (0x0): start_up
26 MEMLDOOUT = 0x00 -- MEMLDO output voltage select (STANDBY)
memldo_out -- Vo(prog)
0.0000 (0x00): 900+100*0 = 900 mV
memldo_swmod
0 (0x0): linear_reg
27 MEMLDOENA = 0x00 -- MEMLDO output enable (STANDBY)
memldo_on
0 (0x0): off
memldo_p1c
0 (0x0): off
memldo_p2c
0 (0x0): off
memldo_p3c
0 (0x0): off
memldo_ena_act -- selects activation phase
00 (0x0): actph1
28 LEDOUT = 0x02 -- LED output voltage select (STANDBY)
led_out -- Iled = Vledfb/Rsense
00.0010 (0x02): RESERVED
29 LEDENA = 0x00 -- LED output enable (STANDBY)
led_on
0 (0x0): off
led_p1c
0 (0x0): off
led_p2c
0 (0x0): off
led_p3c
0 (0x0): off
led_ena_act -- selects activation phase
00 (0x0): actph1
2a LEDCTL = 0x05 -- LED control (STANDBY)
led_ovpon -- overvoltage protection
1 (0x1)
led_ovprs -- reset overvoltage protection
0 (0x0)
led_ocp -- OCP limit
1 (0x1): 500mA
2b LEDDIM = 0x05 -- LED ramp control (STANDBY)
led_dimstep -- tdimstep=16*led_dimstep/32768s
0000.0101 (0x05): 0+488*5 = 2440 us
2d LDO1OUT = 0x18 -- LDO1 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.1000 (0x18): 900+100*24 = 3300 mV
reg_swmod
0 (0x0): linear_reg
2e LDO1ENA = 0x02 -- LDO1 output enable (STANDBY)
ldo1_on
0 (0x0): off
ldo1_p1c
1 (0x1): on_gpio1 -- ON when GPIO1 = 1
ldo1_p2c
0 (0x0): off
ldo1_p3c
0 (0x0): off
ldo1_ena_act -- selects activation phase
00 (0x0): actph1
2f LDO2OUT = 0x18 -- LDO2 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.1000 (0x18): 900+100*24 = 3300 mV
reg_swmod
0 (0x0): linear_reg
30 LDO2ENA = 0x02 -- LDO2 output enable (STANDBY)
ldo2_on
0 (0x0): off
ldo2_p1c
1 (0x1): on_gpio1 -- ON when GPIO1 = 1
ldo2_p2c
0 (0x0): off
ldo2_p3c
0 (0x0): off
ldo2_ena_act -- selects activation phase
00 (0x0): actph1
31 LDO3OUT = 0x15 -- LDO3 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0101 (0x15): 900+100*21 = 3000 mV
reg_swmod
0 (0x0): linear_reg
32 LDO3ENA = 0x00 -- LDO3 output enable (STANDBY)
ldo3_on
0 (0x0): off
ldo3_p1c
0 (0x0): off
ldo3_p2c
0 (0x0): off
ldo3_p3c
0 (0x0): off
ldo3_ena_act -- selects activation phase
00 (0x0): actph1
33 LDO4OUT = 0x17 -- LDO4 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0111 (0x17): 900+100*23 = 3200 mV
reg_swmod
0 (0x0): linear_reg
34 LDO4ENA = 0x00 -- LDO4 output enable (STANDBY)
ldo4_on
0 (0x0): off
ldo4_p1c
0 (0x0): off
ldo4_p2c
0 (0x0): off
ldo4_p3c
0 (0x0): off
ldo4_ena_act -- selects activation phase
00 (0x0): actph1
35 LDO5OUT = 0x15 -- LDO5 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0101 (0x15): 900+100*21 = 3000 mV
reg_swmod
0 (0x0): linear_reg
36 LDO5ENA = 0x01 -- LDO5 output enable (STANDBY)
ldo5_on
1 (0x1): on
ldo5_p1c
0 (0x0): off
ldo5_p2c
0 (0x0): off
ldo5_p3c
0 (0x0): off
ldo5_ena_act -- selects activation phase
00 (0x0): actph1
37 LDO6OUT = 0x15 -- LDO6 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0101 (0x15): 900+100*21 = 3000 mV
reg_swmod
0 (0x0): linear_reg
38 LDO6ENA = 0x01 -- LDO6 output enable (STANDBY)
ldo6_on
1 (0x1): on
ldo6_p1c
0 (0x0): off
ldo6_p2c
0 (0x0): off
ldo6_p3c
0 (0x0): off
ldo6_ena_act -- selects activation phase
00 (0x0): actph1
39 HCLDOOUT = 0x17 -- HCLDO output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0111 (0x17): 900+100*23 = 3200 mV
reg_swmod
0 (0x0): linear_reg
3a HCLDOENA = 0x01 -- HCLDO output enable (STANDBY)
hcldo_on
1 (0x1): on
hcldo_p1c
0 (0x0): off
hcldo_p2c
0 (0x0): off
hcldo_p3c
0 (0x0): off
hcldo_ena_act -- selects activation phase
00 (0x0): actph1
3b STBYCTL1 = 0x00 -- LDO Standby control
ldo1_ena_stb -- LDO1 in ON in Standby
0 (0x0)
ldo2_ena_stb -- LDO2 in ON in Standby
0 (0x0)
ldo3_ena_stb -- LDO3 in ON in Standby
0 (0x0)
ldo4_ena_stb -- LDO4 in ON in Standby
0 (0x0)
3c STBYCTL2 = 0x00 -- LDO Standby control
ldo5_ena_stb -- LDO5 in ON in Standby
0 (0x0)
ldo6_ena_stb -- LDO6 in ON in Standby
0 (0x0)
hcldo_ena_stb -- HCLDO in ON in Standby
0 (0x0)
memldo_ena_stb -- MEMLDO in ON in Standby
0 (0x0)
3d DEBPF1 = 0xff -- Power fail debounce 1
auto_debpf -- AUTO power failure debounce time
11 (0x3): 100ms
down1_debpf -- DOWN1 power failure debounce time
11 (0x3): 100ms
down2_debpf -- DOWN2 power failure debounce time
11 (0x3): 100ms
led_debpf -- LED power failure debounce time
11 (0x3): 100ms
3e DEBPF2 = 0x3f -- Power fail debounce 2
ldo1_debpf -- LDO1 power failure debounce time
11 (0x3): 100ms
ldo2_debpf -- LDO2 power failure debounce time
11 (0x3): 100ms
ldo3_debpf -- LDO3 power failure debounce time
11 (0x3): 100ms
ldo4_debpf -- LDO4 power failure debounce time
00 (0x0): none
3f DEBPF3 = 0x00 -- Power fail debounce 3
ldo5_debpf -- LDO5 power failure debounce time
00 (0x0): none
ldo6_debpf -- LDO6 power failure debounce time
00 (0x0): none
hcldo_debpf -- HCLDO power failure debounce time
00 (0x0): none
40 HCLDOOVL = 0x00 -- HCLDO overload protection
hcldo_debovl -- overload detecton debounce time
00 (0x0): none
41 DCDCSTAT = 0x05 -- DC-to-DC converter status
auto_pwrok -- AUTO > 90% of target
1 (0x1)
down1_pwrok -- DOWN1 > 90% of target
0 (0x0)
down2_pwrok -- DOWN2 > 90% of target
1 (0x1)
led_pwrok -- LED > 90% of target
0 (0x0)
42 LDOSTAT = 0x70 -- LDO status
ldo1_pwrok -- LDO1 > 90% of target
0 (0x0)
ldo2_pwrok -- LDO2 > 90% of target
0 (0x0)
ldo3_pwrok -- LDO3 > 90% of target
0 (0x0)
ldo4_pwrok -- LDO4 > 90% of target
0 (0x0)
ldo5_pwrok -- LDO5 > 90% of target
1 (0x1)
ldo6_pwrok -- LDO6 > 90% of target
1 (0x1)
hcldo_pwrok -- HCLDO > 90% of target
1 (0x1)
hcldo_ovl -- HCLDO is in overload mode
0 (0x0)
43 MBCC1 = 0xe3 -- MBC charger control 1
chgena -- charger enabled
1 (0x1)
autostop -- stop charging when current falls below cutoffcur
1 (0x1)
autores -- resume charging then Vbat < Vth(RES), 96% of vmax
0 (0x0)
resume -- resume if in Battery Full
0 (0x0)
restart -- restart if in Halt
0 (0x0)
prewdtime -- maximum charging time during Precharge phase
1 (0x1): 60min
wdtime -- maximum charging time after Precharge phase
11 (0x3): 6h
44 MBCC2 = 0x28 -- MBC charger control 2
vbatcond
00 (0x0): 2_7V
vmax -- Vbat(float)prog
1010 (0xa): 4000+20*10 = 4200 mV
vresdebtime -- debounce time for Vth(RES)
0 (0x0): 32s
45 MBCC3 = 0x19 -- MBC charger control 3
prechgcur -- pre-charge current level, N/255*Ich(ref)
0001.1001 (0x19)
46 MBCC4 = 0xff -- MBC charger control 4
fstchgcur1 -- fast charge current level in adapter Fast Charge phase, N/255*Ich(ref)
1111.1111 (0xff)
47 MBCC5 = 0xff -- MBC charger control 5
fstchgcur2 -- fast charge current level in USB Fast Charge phase, N/255*Ich(ref)
1111.1111 (0xff)
48 MBCC6 = 0x00 -- MBC charger control 6
cutoffcur -- cutoff current level (full in CV), 1/32*Ichg
0.0000 (0x00)
49 MBCC7 = 0x01 -- MBC charger control 7
usbdevstat -- USB device status setting (STANDBY)
01 (0x1): 500mA
batttempena -- battery temperature is measured and impacts the MBC state machine
0 (0x0)
batsysimax -- maximum BAT-SYS current when ideal diode is conducting
00 (0x0): 1_6A
4a MBCC8 = 0x00 -- MBC charger control 8
ntclvt -- NTC voltage level for battery high temperature threshold
0000 (0x0): 600+50*0 = 600 mV
usbenasus -- USB-SYS switch enabled in USB suspend, ideal diode disabled
0 (0x0)
4b MBCS1 = 0x23 -- MBC charger status 1
usbpres -- Vusb > Vth(usbpres)
1 (0x1)
usbok -- Vusb > Vbat+dVusbok
1 (0x1)
adaptpres -- Vadaptsns > Vth(adaptpres)
0 (0x0)
adaptok -- Vsys > Vbat+dVadaptok
0 (0x0)
tbatstat -- battery temperature status indication
10 (0x2): below_window
prewdtexp -- watchdog timer expired during pre-charging
0 (0x0)
wdtexp -- watchdog timer expired after pre-charging
0 (0x0)
4c MBCS2 = 0x23 -- MBC charger status 2
mbcmod -- main MBC operating modes and charge phases
0011 (0x3): usb_fast_charge
chgstat -- charger connection status
10 (0x2): usb
resstat -- charging has resumed automatically
0 (0x0)
4d MBCS3 = 0x52 -- MBC charger status 3
usblim_play -- USB current limiting in USB-to-SYS path
0 (0x0)
usblim_chg -- USB current limiting in USB-to-BAT path
1 (0x1)
tlim_play -- temperature limiting in USB-to-SYS path
0 (0x0)
tlim_chg -- temperature limiting in USB-to-BAT or SYS-BAT path
0 (0x0)
ilim -- battery charge current > cutoffcur level
1 (0x1)
vlim -- battery voltage equals vmax level
0 (0x0)
vbatstat -- battery voltage > Vbatcond
1 (0x1)
vres -- battery voltage > Vth(RES)
0 (0x0)
4e BBCCTL = 0x19 -- Backup battery charger control
bbce -- enable backup battery charger (STANDBY)
1 (0x1)
bbcr -- bypass output resistor
0 (0x0)
bbcc -- backup battery charge current, Ich(BUBAT)
10 (0x2): 200uA
bbcv -- limiting voltage for backup battery charger Vlim(BUBAT)
1 (0x1): 3_0V
4f ALMGAIN = 0x00 -- Ambient lighting gain factor (STANDBY)
alm_gain -- ambient light processing gain factor
0.0000 (0x00)
50 ALMDATA = 0x00 -- Ambient light intensity data (STANDBY)
alm_data
0000.0000 (0x00)
52 ADCC3 = 0x00 -- A/C converter control 3
accswen -- enable biasing for ratiometric measurement on ADCIN1
0 (0x0)
ntcswen -- enable biasing for ratiometric measurement on BATTEMP
0 (0x0)
adcdivsel -- resistive divider type
0 (0x0): by_3
53 ADCC2 = 0x00 -- A/C converter control 2
adcratioen -- ratiometric measurement
00 (0x0): none -- no ratiometric mode measurement
adcratioset -- ratiometric settling time
0 (0x0): 10us
54 ADCC1 = 0x7e -- A/D converter control 1
adcstart -- ADC conversion start command
0 (0x0)
adcres -- ADC resolution
1 (0x1): 8bit
adc_av -- measurement averaging
11 (0x3): 16_samples
adcinmux -- ADC input selection
0111 (0x7): adcin1 -- ADCIN1
55 ADCS1 = 0x01 -- A/D converter status 1
adcdat1h -- 8 most significant bits of the (first) ADC result
0000.0001 (0x01)
56 ADCS2 = 0x00 -- A/D converter status 2
adcdat2h -- 8 most significant bits of the second ADC result
0000.0000 (0x00)
57 ADCS3 = 0xf3 -- A/D converter status 3
adcdat1l -- 2 least significant bits of the (first) ADC result
11 (0x3)
adcdat2l -- 2 least significant bits of the second ADC result
00 (0x0)
adcrefmux -- ADC reference selection
111 (0x7): 2_0V_again
adcrdy -- ADC conversion is completed
1 (0x1)
59 RTCSC = 0x11 -- RTC second value
sec -- current seconds, BCD
001.0001 (0x11)
5a RTCMN = 0x06 -- RTC minute value
min -- current minutes, BCD
000.0110 (0x06)
5b RTCHR = 0x17 -- RTC hour value
hour -- current hours, BCD
01.0111 (0x17)
5c RTCWD = 0x05 -- RTC day-of-week value
wkday -- current day-of-week
101 (0x5): fri
5d RTCDT = 0x01 -- RTC day value
day -- current day value, BCD, 01-based
0.0001 (0x01)
5e RTCMT = 0x04 -- RTC month value
month -- current month value
0.0100 (0x04): apr
5f RTCYR = 0x08 -- RTC year value
year -- current year, BCD
0000.1000 (0x08)
60 RTCSCA = 0x7f -- RTC second alarm value
seca -- alarm seconds, BCD
111.1111 (0x7f)
61 RTCMNA = 0x7f -- RTC minute alarm value
mina -- alarm minutes, BCD
111.1111 (0x7f)
62 RTCHRA = 0x3f -- RTC hour alarm value
houra -- alarm hours, BCD
11.1111 (0x3f)
63 RTCWDA = 0x07 -- RTC weekday alarm value
wkdaya -- alarm day-of-week
111 (0x7): RESERVED
64 RTCDTA = 0x3f -- RTC day alarm value
daya -- alarm day value, BCD, 01-based
1.1111 (0x1f)
65 RTCMTA = 0x1f -- RTC month alarm value
montha -- alarm month value
1.1111 (0x1f): RESERVED
66 RTCYRA = 0xff -- RTC year alarm value
yeara -- alarm year, BCD
1111.1111 (0xff)
67 MEMBYTE0 = 0x00 -- General purpose memory byte 0
membyte0
0000.0000 (0x00)
68 MEMBYTE1 = 0x00 -- General purpose memory byte 1
membyte1
0000.0000 (0x00)
69 MEMBYTE2 = 0x00 -- General purpose memory byte 2
membyte2
0000.0000 (0x00)
6a MEMBYTE3 = 0x00 -- General purpose memory byte 3
membyte3
0000.0000 (0x00)
6b MEMBYTE4 = 0x00 -- General purpose memory byte 4
membyte4
0000.0000 (0x00)
6c MEMBYTE5 = 0x00 -- General purpose memory byte 5
membyte5
0000.0000 (0x00)
6d MEMBYTE6 = 0x00 -- General purpose memory byte 6
membyte6
0000.0000 (0x00)
6e MEMBYTE7 = 0x00 -- General purpose memory byte 7
membyte7
0000.0000 (0x00)
-------------- next part --------------
13 84 80 00 00 00 00 80 00 00 00 00 00 D3 AA 4A
15 44 FF 01 00 00 00 00 02 08 6B 01 00 0A 1B 02
00 22 2F 01 00 22 00 00 3F 02 05 05 11 18 02 18
02 15 00 17 01 15 01 15 01 17 01 00 00 FF 3F 00
00 17 7B E3 28 19 FF FF 00 01 00 23 23 52 19 00
00 08 00 00 7E 01 00 F3 00 39 14 17 05 01 04 08
7F 7F 3F 07 3F 1F FF 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 40 E1 D9 0C 17 A2 3A B0 80
10 C0 03 05 00
-------------- next part --------------
00 VERSION = 0x13 -- Version ID
01 VARIANT = 0x84 -- Version ID
02 INT1 = 0x80 -- Interrupt 1
adpins -- ADAPTSNS has risen above Vth(adaptpres)
0 (0x0)
adprem -- ADAPTSNS has dropped below Vth(adaptpres)
0 (0x0)
usbins -- USBx has risen above Vth(usbpres)
0 (0x0)
usbrem -- USBx has dropped below Vth(usbpres)
0 (0x0)
rtcalarm -- RTC alarm time expired
0 (0x0)
second -- RTC periodic one second interrupt
1 (0x1)
03 INT2 = 0x00 -- Interrupt 2
onkeyr -- rising edge on nONKEY
0 (0x0)
onkeyf -- falling edge on nONKEY
0 (0x0)
exton1r -- rising edge on EXTON1
0 (0x0)
exton1f -- falling edge on EXTON1
0 (0x0)
exton2r -- rising edge on EXTON2
0 (0x0)
exton2f -- falling edge on EXTON2
0 (0x0)
exton3r -- rising edge on EXTON3
0 (0x0)
exton3f -- falling edge on EXTON3
0 (0x0)
04 INT3 = 0x00 -- Interrupt 3
batfull -- battery is fully charged
0 (0x0)
chghalt -- charger has entered HALT mode
0 (0x0)
thlimon -- charger has activated thermal-loop current limiting in the USB-to-SYS path
0 (0x0)
thlimoff -- charger has deactivated thermal-loop current limiting in the USB-to-SYS path
0 (0x0)
usblimon -- charger has activated USB current limiting in the USB-to-SYS path
0 (0x0)
usblimoff -- charger has deactivated USB current limiting in the USB-to-SYS path
0 (0x0)
adcrdy -- ADC conversion completed
0 (0x0)
onkey1s -- nONKEY low for at least 1 second
0 (0x0)
05 INT4 = 0x00 -- Interrupt 4
lowsys -- SYS voltage fallen below Vth(sysok)
0 (0x0)
lowbat -- BAT voltage fallen below Vth(batok)
0 (0x0)
hightmp -- Tth(die) exceeded
0 (0x0)
autopwrfail -- AUTO output voltage below 90% of target
0 (0x0)
dwn1pwrfail -- DOWN1 output voltage below 90% of target
0 (0x0)
dwn2pwrfail -- DOWN2 output voltage below 90% of target
0 (0x0)
ledpwrfail -- LED output current below 90% of target
0 (0x0)
ledovp -- overvoltage detected at output of LED converter
0 (0x0)
06 INT5 = 0x00 -- Interrupt 5
ldo1pwrfail -- LDO1 output voltage below 90% of target
0 (0x0)
ldo2pwrfail -- LDO2 output voltage below 90% of target
0 (0x0)
ldo3pwrfail -- LDO3 output voltage below 90% of target
0 (0x0)
ldo4pwrfail -- LDO4 output voltage below 90% of target
0 (0x0)
ldo5pwrfail -- LDO5 output voltage below 90% of target
0 (0x0)
ldo6pwrfail -- LDO6 output voltage below 90% of target
0 (0x0)
hcldopwrfail -- HCLDO output voltage below 90% of target
0 (0x0)
hcldoovl -- overload (Io > 350mA) detected in HCLDO regulator
0 (0x0)
07 INT1MASK = 0x80 -- Interrupt mask 1
adpinsm
0 (0x0)
adpremm
0 (0x0)
usbinsm
0 (0x0)
usbremm
0 (0x0)
rtcalarmm
0 (0x0)
secondm
1 (0x1)
08 INT2MASK = 0x00 -- Interrupt mask 2
onkeyrm
0 (0x0)
onkeyfm
0 (0x0)
exton1rm
0 (0x0)
exton1fm
0 (0x0)
exton2rm
0 (0x0)
exton2fm
0 (0x0)
exton3rm
0 (0x0)
exton3fm
0 (0x0)
09 INT3MASK = 0x00 -- Interrupt mask 3
batfullm
0 (0x0)
chghaltm
0 (0x0)
thlimonm
0 (0x0)
thlimoffm
0 (0x0)
usblimonm
0 (0x0)
usblimoffm
0 (0x0)
adcrdym
0 (0x0)
onkey1sm
0 (0x0)
0a INT4MASK = 0x00 -- Interrupt mask 4
lowsysm
0 (0x0)
lowbatm
0 (0x0)
hightmpm
0 (0x0)
autopwrfailm
0 (0x0)
dwn1pwrfailm
0 (0x0)
dwn2pwrfailm
0 (0x0)
ledpwrfailm
0 (0x0)
ledovpm
0 (0x0)
0b INT5MASK = 0x00 -- Interrupt mask 5
ldo1pwrfailm
0 (0x0)
ldo2pwrfailm
0 (0x0)
ldo3pwrfailm
0 (0x0)
ldo4pwrfailm
0 (0x0)
ldo5pwrfailm
0 (0x0)
ldo6pwrfailm
0 (0x0)
hcldopwrfailm
0 (0x0)
hcldoovlm
0 (0x0)
0c OOCSHDWN = 0x00 -- OOC shutdown
go_stby
0 (0x0): no_action
totrst
0 (0x0): no_action
coldboot
0 (0x0): no_coldboot
0d OOCWAKE = 0xd3 -- OOC wake-up
onkey_wake
1 (0x1)
exton1_wake
1 (0x1)
exton2_wake
0 (0x0)
exton3_wake
0 (0x0)
rtc_wake
1 (0x1)
usb_wake
1 (0x1)
adp_wake
1 (0x1)
0e OOCTIM1 = 0xaa -- OOC debounce 1
exton1_deb
10 (0x2): 14ms
exton2_deb
10 (0x2): 14ms
exton3_deb
10 (0x2): 14ms
shdwn_deb
10 (0x2): 14ms
0f OOCTIM2 = 0x4a -- OOC debounce 2 (STANDBY)
onkey_deb -- debounce time for nONKEY
010 (0x2): 14ms
actphdel -- delay between activation phases
01 (0x1): 10ms
hcrstdel -- delay between selected activation phase and host controller reset
10 (0x2): 13ms
almon -- ambient light monitor
0 (0x0)
10 OOCMODE = 0x15 -- OOC mode
exton1_mode -- EXTON1 mode selection
01 (0x1): wake_on_rising_edge
exton2_mode -- EXTON2 mode selection
01 (0x1): wake_on_rising_edge
exton3_mode -- EXTON3 mode selection
01 (0x1): wake_on_rising_edge
onkey_mode -- ONKEY mode selection
00 (0x0): wake_on_falling_edge
11 OOCCTL = 0x44 -- OOC control
actphrst -- selects activity phase to which host controller reset is related
00 (0x0): phase_1
actclk32on -- CLK32K output in Active state
1 (0x1)
heatbeat
0 (0x0): KEEPACT_required_DC_high
usbbatchk
0 (0x0): disabled -- Vbat status has no effect on state machine
stbclk32on -- CLK32K output in Standby state
1 (0x1)
12 OOCSTAT = 0xff -- OOC status
onkey -- ONKEY above threshold
1 (0x1)
exton1 -- EXTON1 above threshold
1 (0x1)
exton2 -- EXTON2 above threshold
1 (0x1)
exton3 -- EXTON3 above threshold
1 (0x1)
bubpres -- Vbubat above Vth(bubpres)
1 (0x1)
sysok -- Vsys above Vth(sysok)
1 (0x1)
batok -- Vbat above Vth(batok)
1 (0x1)
tmpok -- die_below_Tth_die
1 (0x1)
13 GPIOCTL = 0x01 -- GPIO I/O mode control
gpio1dir -- GPIO1 I/O mode
1 (0x1): input
gpio2dir -- GPIO2 I/O mode
0 (0x0): output
gpio3dir -- GPIO3 I/O mode
0 (0x0): output
14 GPIO1CFG = 0x00 -- GPIO1 signal selection
gpio1sel -- GPIO1 output signal selection
000 (0x0): fixed_0
gpio1pol -- GPIO1 output signal polarity
0 (0x0): no_inversion
15 GPIO2CFG = 0x00 -- GPIO2 signal selection
gpio2sel -- GPIO2 output signal selection
000 (0x0): fixed_0
gpio2pol -- GPIO2 output signal polarity
0 (0x0): no_inversion
16 GPIO3CFG = 0x00 -- GPIO3 signal selection
gpio3sel -- GPIO3 output signal selection
000 (0x0): fixed_0
gpio3pol -- GPIO3 output signal polarity
0 (0x0): no_inversion
17 GPOCFG = 0x00 -- GPO signal selection
gposel -- GPO output signal selection
000 (0x0): fixed_0
gpopol -- GPO output signal polarity
0 (0x0): no_inversion
18 BVMCTL = 0x02 -- BVM control
bvmlow -- BAT voltage is lower than Vth(batok)
0 (0x0)
bvmlvl -- Vth(batok)
001 (0x1): 2_80V
bvmdisdb -- 62ms debounce filter
0 (0x0): enabled
19 SVMCTL = 0x08 -- SVM control
svmlow -- SYS voltage is lower than Vth(sysok)
0 (0x0)
svmlvl -- Vth(sysok)
100 (0x4): 3_10V
svmdisdb -- 62ms debounce filter
0 (0x0): enabled
1a AUTOOUT = 0x6b -- AUTO output voltage select (STANDBY)
auto_out -- Vo(prog) [1800mV,3800mV]
0110.1011 (0x6b): 625+25*107 = 3300 mV
1b AUTOENA = 0x01 -- AUTO output enable (STANDBY)
auto_on
1 (0x1): on
auto_p1c
0 (0x0): off
auto_p2c
0 (0x0): off
auto_p3c
0 (0x0): off
auto_ena_act -- selects activation phase
00 (0x0): actph1
1c AUTOCTL = 0x00 -- AUTO control register (STANDBY)
autopwmonly
0 (0x0): pfm_pwm -- automatic PFM-PWM selection
auto_mod
0 (0x0): auto_up_down
1d AUTOMXC = 0x0a -- AUTO maximum current (STANDBY)
auto_maxc -- Ii(max)
00.1010 (0x0a): 0+40*10 = 400 mA
auto_maxcmod -- current limit mode
0 (0x0): start_up
1e DOWN1OUT = 0x1b -- DOWN1 output voltage select (STANDBY)
down1_out -- Vo(prog) [1800mV,3800mV]
0001.1011 (0x1b): 625+25*27 = 1300 mV
1f DOWN1ENA = 0x02 -- DOWN1 output enable (STANDBY)
down1_on
0 (0x0): off
down1_p1c
1 (0x1): on_gpio1 -- ON when GPIO1 = 1
down1_p2c
0 (0x0): off
down1_p3c
0 (0x0): off
down1_ena_act -- selects activation phase
00 (0x0): actph1
20 DOWN1CTL = 0x00 -- DOWN1 control (STANDBY)
down1pwmonly
0 (0x0): pfm_pwm -- automatic PFM-PWM selection
down1_dvmstep -- DVM step time, 32768 Hz
0000 (0x0): 0+30*0 = 0 us
21 DOWN1MXC = 0x22 -- DOWN1 maximum current (STANDBY)
down1_maxc -- Ii(max)
10.0010 (0x22): 0+40*34 = 1360 mA
down1_maxcmod -- current limit mode
0 (0x0): start_up
22 DOWN2OUT = 0x2f -- DOWN2 output voltage select (STANDBY)
down2_out -- Vo(prog) [1800mV,3800mV]
0010.1111 (0x2f): 625+25*47 = 1800 mV
23 DOWN2ENA = 0x01 -- DOWN2 output enable (STANDBY)
down2_on
1 (0x1): on
down2_p1c
0 (0x0): off
down2_p2c
0 (0x0): off
down2_p3c
0 (0x0): off
down2_ena_act -- selects activation phase
00 (0x0): actph1
24 DOWN2CTL = 0x00 -- DOWN2 control (STANDBY)
down2pwmonly
0 (0x0): pfm_pwm -- automatic PFM-PWM selection
down2_dvmstep -- DVM step time, 32768 Hz
0000 (0x0): 0+30*0 = 0 us
25 DOWN2MXC = 0x22 -- DOWN2 maximum current (STANDBY)
down2_maxc -- Ii(max)
10.0010 (0x22): 0+40*34 = 1360 mA
down2_maxcmod -- current limit mode
0 (0x0): start_up
26 MEMLDOOUT = 0x00 -- MEMLDO output voltage select (STANDBY)
memldo_out -- Vo(prog)
0.0000 (0x00): 900+100*0 = 900 mV
memldo_swmod
0 (0x0): linear_reg
27 MEMLDOENA = 0x00 -- MEMLDO output enable (STANDBY)
memldo_on
0 (0x0): off
memldo_p1c
0 (0x0): off
memldo_p2c
0 (0x0): off
memldo_p3c
0 (0x0): off
memldo_ena_act -- selects activation phase
00 (0x0): actph1
28 LEDOUT = 0x3f -- LED output voltage select (STANDBY)
led_out -- Iled = Vledfb/Rsense
11.1111 (0x3f): 1250mV
29 LEDENA = 0x02 -- LED output enable (STANDBY)
led_on
0 (0x0): off
led_p1c
1 (0x1): on_gpio1 -- ON when GPIO1 = 1
led_p2c
0 (0x0): off
led_p3c
0 (0x0): off
led_ena_act -- selects activation phase
00 (0x0): actph1
2a LEDCTL = 0x05 -- LED control (STANDBY)
led_ovpon -- overvoltage protection
1 (0x1)
led_ovprs -- reset overvoltage protection
0 (0x0)
led_ocp -- OCP limit
1 (0x1): 500mA
2b LEDDIM = 0x05 -- LED ramp control (STANDBY)
led_dimstep -- tdimstep=16*led_dimstep/32768s
0000.0101 (0x05): 0+488*5 = 2440 us
2d LDO1OUT = 0x18 -- LDO1 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.1000 (0x18): 900+100*24 = 3300 mV
reg_swmod
0 (0x0): linear_reg
2e LDO1ENA = 0x02 -- LDO1 output enable (STANDBY)
ldo1_on
0 (0x0): off
ldo1_p1c
1 (0x1): on_gpio1 -- ON when GPIO1 = 1
ldo1_p2c
0 (0x0): off
ldo1_p3c
0 (0x0): off
ldo1_ena_act -- selects activation phase
00 (0x0): actph1
2f LDO2OUT = 0x18 -- LDO2 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.1000 (0x18): 900+100*24 = 3300 mV
reg_swmod
0 (0x0): linear_reg
30 LDO2ENA = 0x02 -- LDO2 output enable (STANDBY)
ldo2_on
0 (0x0): off
ldo2_p1c
1 (0x1): on_gpio1 -- ON when GPIO1 = 1
ldo2_p2c
0 (0x0): off
ldo2_p3c
0 (0x0): off
ldo2_ena_act -- selects activation phase
00 (0x0): actph1
31 LDO3OUT = 0x15 -- LDO3 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0101 (0x15): 900+100*21 = 3000 mV
reg_swmod
0 (0x0): linear_reg
32 LDO3ENA = 0x00 -- LDO3 output enable (STANDBY)
ldo3_on
0 (0x0): off
ldo3_p1c
0 (0x0): off
ldo3_p2c
0 (0x0): off
ldo3_p3c
0 (0x0): off
ldo3_ena_act -- selects activation phase
00 (0x0): actph1
33 LDO4OUT = 0x17 -- LDO4 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0111 (0x17): 900+100*23 = 3200 mV
reg_swmod
0 (0x0): linear_reg
34 LDO4ENA = 0x01 -- LDO4 output enable (STANDBY)
ldo4_on
1 (0x1): on
ldo4_p1c
0 (0x0): off
ldo4_p2c
0 (0x0): off
ldo4_p3c
0 (0x0): off
ldo4_ena_act -- selects activation phase
00 (0x0): actph1
35 LDO5OUT = 0x15 -- LDO5 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0101 (0x15): 900+100*21 = 3000 mV
reg_swmod
0 (0x0): linear_reg
36 LDO5ENA = 0x01 -- LDO5 output enable (STANDBY)
ldo5_on
1 (0x1): on
ldo5_p1c
0 (0x0): off
ldo5_p2c
0 (0x0): off
ldo5_p3c
0 (0x0): off
ldo5_ena_act -- selects activation phase
00 (0x0): actph1
37 LDO6OUT = 0x15 -- LDO6 output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0101 (0x15): 900+100*21 = 3000 mV
reg_swmod
0 (0x0): linear_reg
38 LDO6ENA = 0x01 -- LDO6 output enable (STANDBY)
ldo6_on
1 (0x1): on
ldo6_p1c
0 (0x0): off
ldo6_p2c
0 (0x0): off
ldo6_p3c
0 (0x0): off
ldo6_ena_act -- selects activation phase
00 (0x0): actph1
39 HCLDOOUT = 0x17 -- HCLDO output voltage select (STANDBY)
reg_out -- Vo(prog)
1.0111 (0x17): 900+100*23 = 3200 mV
reg_swmod
0 (0x0): linear_reg
3a HCLDOENA = 0x01 -- HCLDO output enable (STANDBY)
hcldo_on
1 (0x1): on
hcldo_p1c
0 (0x0): off
hcldo_p2c
0 (0x0): off
hcldo_p3c
0 (0x0): off
hcldo_ena_act -- selects activation phase
00 (0x0): actph1
3b STBYCTL1 = 0x00 -- LDO Standby control
ldo1_ena_stb -- LDO1 in ON in Standby
0 (0x0)
ldo2_ena_stb -- LDO2 in ON in Standby
0 (0x0)
ldo3_ena_stb -- LDO3 in ON in Standby
0 (0x0)
ldo4_ena_stb -- LDO4 in ON in Standby
0 (0x0)
3c STBYCTL2 = 0x00 -- LDO Standby control
ldo5_ena_stb -- LDO5 in ON in Standby
0 (0x0)
ldo6_ena_stb -- LDO6 in ON in Standby
0 (0x0)
hcldo_ena_stb -- HCLDO in ON in Standby
0 (0x0)
memldo_ena_stb -- MEMLDO in ON in Standby
0 (0x0)
3d DEBPF1 = 0xff -- Power fail debounce 1
auto_debpf -- AUTO power failure debounce time
11 (0x3): 100ms
down1_debpf -- DOWN1 power failure debounce time
11 (0x3): 100ms
down2_debpf -- DOWN2 power failure debounce time
11 (0x3): 100ms
led_debpf -- LED power failure debounce time
11 (0x3): 100ms
3e DEBPF2 = 0x3f -- Power fail debounce 2
ldo1_debpf -- LDO1 power failure debounce time
11 (0x3): 100ms
ldo2_debpf -- LDO2 power failure debounce time
11 (0x3): 100ms
ldo3_debpf -- LDO3 power failure debounce time
11 (0x3): 100ms
ldo4_debpf -- LDO4 power failure debounce time
00 (0x0): none
3f DEBPF3 = 0x00 -- Power fail debounce 3
ldo5_debpf -- LDO5 power failure debounce time
00 (0x0): none
ldo6_debpf -- LDO6 power failure debounce time
00 (0x0): none
hcldo_debpf -- HCLDO power failure debounce time
00 (0x0): none
40 HCLDOOVL = 0x00 -- HCLDO overload protection
hcldo_debovl -- overload detecton debounce time
00 (0x0): none
41 DCDCSTAT = 0x17 -- DC-to-DC converter status
auto_pwrok -- AUTO > 90% of target
1 (0x1)
down1_pwrok -- DOWN1 > 90% of target
1 (0x1)
down2_pwrok -- DOWN2 > 90% of target
1 (0x1)
led_pwrok -- LED > 90% of target
0 (0x0)
42 LDOSTAT = 0x7b -- LDO status
ldo1_pwrok -- LDO1 > 90% of target
1 (0x1)
ldo2_pwrok -- LDO2 > 90% of target
1 (0x1)
ldo3_pwrok -- LDO3 > 90% of target
0 (0x0)
ldo4_pwrok -- LDO4 > 90% of target
1 (0x1)
ldo5_pwrok -- LDO5 > 90% of target
1 (0x1)
ldo6_pwrok -- LDO6 > 90% of target
1 (0x1)
hcldo_pwrok -- HCLDO > 90% of target
1 (0x1)
hcldo_ovl -- HCLDO is in overload mode
0 (0x0)
43 MBCC1 = 0xe3 -- MBC charger control 1
chgena -- charger enabled
1 (0x1)
autostop -- stop charging when current falls below cutoffcur
1 (0x1)
autores -- resume charging then Vbat < Vth(RES), 96% of vmax
0 (0x0)
resume -- resume if in Battery Full
0 (0x0)
restart -- restart if in Halt
0 (0x0)
prewdtime -- maximum charging time during Precharge phase
1 (0x1): 60min
wdtime -- maximum charging time after Precharge phase
11 (0x3): 6h
44 MBCC2 = 0x28 -- MBC charger control 2
vbatcond
00 (0x0): 2_7V
vmax -- Vbat(float)prog
1010 (0xa): 4000+20*10 = 4200 mV
vresdebtime -- debounce time for Vth(RES)
0 (0x0): 32s
45 MBCC3 = 0x19 -- MBC charger control 3
prechgcur -- pre-charge current level, N/255*Ich(ref)
0001.1001 (0x19)
46 MBCC4 = 0xff -- MBC charger control 4
fstchgcur1 -- fast charge current level in adapter Fast Charge phase, N/255*Ich(ref)
1111.1111 (0xff)
47 MBCC5 = 0xff -- MBC charger control 5
fstchgcur2 -- fast charge current level in USB Fast Charge phase, N/255*Ich(ref)
1111.1111 (0xff)
48 MBCC6 = 0x00 -- MBC charger control 6
cutoffcur -- cutoff current level (full in CV), 1/32*Ichg
0.0000 (0x00)
49 MBCC7 = 0x01 -- MBC charger control 7
usbdevstat -- USB device status setting (STANDBY)
01 (0x1): 500mA
batttempena -- battery temperature is measured and impacts the MBC state machine
0 (0x0)
batsysimax -- maximum BAT-SYS current when ideal diode is conducting
00 (0x0): 1_6A
4a MBCC8 = 0x00 -- MBC charger control 8
ntclvt -- NTC voltage level for battery high temperature threshold
0000 (0x0): 600+50*0 = 600 mV
usbenasus -- USB-SYS switch enabled in USB suspend, ideal diode disabled
0 (0x0)
4b MBCS1 = 0x23 -- MBC charger status 1
usbpres -- Vusb > Vth(usbpres)
1 (0x1)
usbok -- Vusb > Vbat+dVusbok
1 (0x1)
adaptpres -- Vadaptsns > Vth(adaptpres)
0 (0x0)
adaptok -- Vsys > Vbat+dVadaptok
0 (0x0)
tbatstat -- battery temperature status indication
10 (0x2): below_window
prewdtexp -- watchdog timer expired during pre-charging
0 (0x0)
wdtexp -- watchdog timer expired after pre-charging
0 (0x0)
4c MBCS2 = 0x23 -- MBC charger status 2
mbcmod -- main MBC operating modes and charge phases
0011 (0x3): usb_fast_charge
chgstat -- charger connection status
10 (0x2): usb
resstat -- charging has resumed automatically
0 (0x0)
4d MBCS3 = 0x52 -- MBC charger status 3
usblim_play -- USB current limiting in USB-to-SYS path
0 (0x0)
usblim_chg -- USB current limiting in USB-to-BAT path
1 (0x1)
tlim_play -- temperature limiting in USB-to-SYS path
0 (0x0)
tlim_chg -- temperature limiting in USB-to-BAT or SYS-BAT path
0 (0x0)
ilim -- battery charge current > cutoffcur level
1 (0x1)
vlim -- battery voltage equals vmax level
0 (0x0)
vbatstat -- battery voltage > Vbatcond
1 (0x1)
vres -- battery voltage > Vth(RES)
0 (0x0)
4e BBCCTL = 0x19 -- Backup battery charger control
bbce -- enable backup battery charger (STANDBY)
1 (0x1)
bbcr -- bypass output resistor
0 (0x0)
bbcc -- backup battery charge current, Ich(BUBAT)
10 (0x2): 200uA
bbcv -- limiting voltage for backup battery charger Vlim(BUBAT)
1 (0x1): 3_0V
4f ALMGAIN = 0x00 -- Ambient lighting gain factor (STANDBY)
alm_gain -- ambient light processing gain factor
0.0000 (0x00)
50 ALMDATA = 0x00 -- Ambient light intensity data (STANDBY)
alm_data
0000.0000 (0x00)
52 ADCC3 = 0x00 -- A/C converter control 3
accswen -- enable biasing for ratiometric measurement on ADCIN1
0 (0x0)
ntcswen -- enable biasing for ratiometric measurement on BATTEMP
0 (0x0)
adcdivsel -- resistive divider type
0 (0x0): by_3
53 ADCC2 = 0x00 -- A/C converter control 2
adcratioen -- ratiometric measurement
00 (0x0): none -- no ratiometric mode measurement
adcratioset -- ratiometric settling time
0 (0x0): 10us
54 ADCC1 = 0x7e -- A/D converter control 1
adcstart -- ADC conversion start command
0 (0x0)
adcres -- ADC resolution
1 (0x1): 8bit
adc_av -- measurement averaging
11 (0x3): 16_samples
adcinmux -- ADC input selection
0111 (0x7): adcin1 -- ADCIN1
55 ADCS1 = 0x01 -- A/D converter status 1
adcdat1h -- 8 most significant bits of the (first) ADC result
0000.0001 (0x01)
56 ADCS2 = 0x00 -- A/D converter status 2
adcdat2h -- 8 most significant bits of the second ADC result
0000.0000 (0x00)
57 ADCS3 = 0xf3 -- A/D converter status 3
adcdat1l -- 2 least significant bits of the (first) ADC result
11 (0x3)
adcdat2l -- 2 least significant bits of the second ADC result
00 (0x0)
adcrefmux -- ADC reference selection
111 (0x7): 2_0V_again
adcrdy -- ADC conversion is completed
1 (0x1)
59 RTCSC = 0x39 -- RTC second value
sec -- current seconds, BCD
011.1001 (0x39)
5a RTCMN = 0x14 -- RTC minute value
min -- current minutes, BCD
001.0100 (0x14)
5b RTCHR = 0x17 -- RTC hour value
hour -- current hours, BCD
01.0111 (0x17)
5c RTCWD = 0x05 -- RTC day-of-week value
wkday -- current day-of-week
101 (0x5): fri
5d RTCDT = 0x01 -- RTC day value
day -- current day value, BCD, 01-based
0.0001 (0x01)
5e RTCMT = 0x04 -- RTC month value
month -- current month value
0.0100 (0x04): apr
5f RTCYR = 0x08 -- RTC year value
year -- current year, BCD
0000.1000 (0x08)
60 RTCSCA = 0x7f -- RTC second alarm value
seca -- alarm seconds, BCD
111.1111 (0x7f)
61 RTCMNA = 0x7f -- RTC minute alarm value
mina -- alarm minutes, BCD
111.1111 (0x7f)
62 RTCHRA = 0x3f -- RTC hour alarm value
houra -- alarm hours, BCD
11.1111 (0x3f)
63 RTCWDA = 0x07 -- RTC weekday alarm value
wkdaya -- alarm day-of-week
111 (0x7): RESERVED
64 RTCDTA = 0x3f -- RTC day alarm value
daya -- alarm day value, BCD, 01-based
1.1111 (0x1f)
65 RTCMTA = 0x1f -- RTC month alarm value
montha -- alarm month value
1.1111 (0x1f): RESERVED
66 RTCYRA = 0xff -- RTC year alarm value
yeara -- alarm year, BCD
1111.1111 (0xff)
67 MEMBYTE0 = 0x00 -- General purpose memory byte 0
membyte0
0000.0000 (0x00)
68 MEMBYTE1 = 0x00 -- General purpose memory byte 1
membyte1
0000.0000 (0x00)
69 MEMBYTE2 = 0x00 -- General purpose memory byte 2
membyte2
0000.0000 (0x00)
6a MEMBYTE3 = 0x00 -- General purpose memory byte 3
membyte3
0000.0000 (0x00)
6b MEMBYTE4 = 0x00 -- General purpose memory byte 4
membyte4
0000.0000 (0x00)
6c MEMBYTE5 = 0x00 -- General purpose memory byte 5
membyte5
0000.0000 (0x00)
6d MEMBYTE6 = 0x00 -- General purpose memory byte 6
membyte6
0000.0000 (0x00)
6e MEMBYTE7 = 0x00 -- General purpose memory byte 7
membyte7
0000.0000 (0x00)
More information about the openmoko-kernel
mailing list