release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Search | Go
Wiki > Main > OtherTargets > PortalPlayer > DeviceEnableRegistersPP502x

PortalPlayer PP502x Device Enable Registers

Overview

The PortalPlayer PP502x SoC have three device enable registers: DEV_EN = 0x6000600c DEV_EN2 = 0x60006010 DEV_EN3 = 0x60006044

Each bit in these registers enables and disables a particular part of the device. Hence, it is thought that this is the key to improving power usage and battery life on these devices. If we can figure out what each bit does, then we can selectively enable and disable bits that we're not using to give a nice battery life boost. This page collects all the information we know so far about these registers.

Known bits

The following bits are already known.

DEV_EN

Bit Function
0  
1 External Device Clocks (according to firmware/drivers/audio/as3514.c:154)
2 System
3 USB0, needs to be set for USB-initialization and when USB is inserted. Otherwise should be unset to save power.
4  
5 5G, nano: must be set, otherwise system freezes
6 Serial 0
7 Serial 1
8 5G: enables GPIO?
9  
10  
11 I2S?
12 I2C?
13  
14 ATA
15  
16 OPTO/PIEZO
17 4G: backlight PWM
18  
19  
20  
21  
22 USB1, needs to be set for USB-initialization and when USB is inserted. Otherwise should be unset to save power.
23 Firewire
24  
25 IDE0
26 LCD
27  
28  
29  
30 5G, nano: must be set, otherwise system freezes
31 5G, nano: must be set at startup (otherwise doesn't start), can be unset later

DEV_EN2

Bit Function
0  
1  
2  
3  
4  
5 PP5020: ADC
6  
7  
8  
9  
10  
11  
12  
13 nano, H10, 4G Color/Photo: LCD
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  

DEV_EN3

Bit Function
0 5G: must be set, otherwise system freezes
1 5G: must be set, otherwise system freezes
2 5G: must be set, otherwise crash on playback
3 5G: must be set at startup (otherise doesn't reboot into disk mode), can be unset later
4 5G: must be set, otherwise system freezes / Doesn't Boot if unset
5 5G: must be set, otherwise crash on playback
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  

DEV_INIT1

Bit Function
0  
1  
2  
3  
4  
5  
6  
7  
8 H10: ADC remote, mrobe100: needed for startup
9  
10  
11  
12 H10: ADC wheel, mrobe100: needed for startup
13  
14  
15  
16  
17  
18 nano, 5G: needed for button detection (e.g. hold)
19  
20  
21  
22  
23  
24  
25  
26 e280: needed for LCD, H10, 4G Color/Photo: needed for startup
27 nano: needed for LCD, H10, 4G Color/Photo: needed for startup
28 e280: needed for LCD, H10, 4G Color/Photo: needed for startup
29 nano: needed for LCD
30 e280: needed for LCD, H10, 4G Color/Photo: needed for startup
31 nano: needed for LCD, H10, 4G Color/Photo: needed for startup

DEV_INIT2

Bit Function
0  
1  
2  
3  
4  
5  
6  
7  
8 CDI/I2S for sansa c200/e200 I2C? and I2S?
9 CDI/I2S for sansa c200/e200 I2C? and I2S?
10  
11 mystery amplification device for sansa C200 tuner
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30 PP502x: enable PLL
31 PP502x: init USB

Known values for devices

The following lists the values as obtained from the I/O ports debug screen for some devices (idle, no hold-button, no USB connected, not boosted):

Device DEV_EN DEV_EN2 DEV_EN3 DEV_INIT1 DEV_INIT2
iPod 4G Greyscale 0xC2C3197F 0x00000000 0x0007003F    
iPod Color 0xC2C3197F 0x00002000 0x0007003F    
iPod Mini 1G (svn < 16259) 0xC2801977 0x00000000 0x0007003F 0x00040000 0x00000000
iPod Mini 2G 0xC2C1197F 0x00000000 0x0007003F    
iPod Video (5.5G) 0xC2C1197F 0x00000000 0x0007003F    
iPod Video (5.5G) (svn >= 16259) 0xC0011926 0x00000000 0x0000003F 0x00040000 0x00000000
iriver H10 20GB 0xC240197F 0x00002020 0x0007003F    
iriver H10 6GB 0xC240197F 0x00002020 0x0007003F    
iiriver H10 6GB (5.5G) (svn >= 16259) 0xC2001926 0x00002020 0x0000003F 0xDC001100 0x00000000
Sansa c240 0xC040597F 0x00000000      
Sansa e280 0xC440597F 0x00000000 0x0007003F    
Sansa e200 (svn >= 16259) 0xC4005926 0x00000000 0x0000003F 0x54000000 0x00000000
Sansa e250 (-radio) (JonathanGordon) 0xC440597F 0x00002000 0x0007003F    
r22 - 11 May 2008 - 21:43:09 - BertrikSikken
Copyright by the contributing authors.