diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/pcf50605.c | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/firmware/drivers/pcf50605.c b/firmware/drivers/pcf50605.c index 9fb04ddcf2..e8e9676a2c 100644 --- a/firmware/drivers/pcf50605.c +++ b/firmware/drivers/pcf50605.c | |||
@@ -76,25 +76,40 @@ void pcf50605_standby_mode(void) | |||
76 | 76 | ||
77 | void pcf50605_init(void) | 77 | void pcf50605_init(void) |
78 | { | 78 | { |
79 | #if defined (IPOD_VIDEO) | 79 | #if (defined (IPOD_VIDEO) || defined (IPOD_NANO)) |
80 | /* I/O and GPO voltage supply (default: 0xf8 = 3.3V ON) */ | 80 | /* I/O and GPO voltage supply. ECO not allowed regarding data sheet. Defaults: |
81 | /* ECO not allowed regarding data sheet */ | 81 | * iPod Video = 0xf8 = 3.3V ON |
82 | pcf50605_write(PCF5060X_IOREGC, 0xf8); /* 3.3V ON */ | 82 | * iPod nano = 0xf5 = 3.0V ON */ |
83 | pcf50605_write(PCF5060X_IOREGC, 0xf5); /* 3.0V ON */ | ||
83 | 84 | ||
84 | /* core voltage supply (default DCDC1/DCDC2: 0xec = 1.2V ON) */ | 85 | /* Core voltage supply. ECO not stable, assumed due to less precision of |
85 | /* ECO not stable, assumed due to less precision of voltage in ECO mode */ | 86 | * voltage in ECO mode. DCDC2 is not relevant as this may be used for |
87 | * voltage scaling. Default is 1.2V ON for PP5022/PP5024 */ | ||
86 | pcf50605_write(PCF5060X_DCDC1, 0xec); /* 1.2V ON */ | 88 | pcf50605_write(PCF5060X_DCDC1, 0xec); /* 1.2V ON */ |
87 | pcf50605_write(PCF5060X_DCDC2, 0x0c); /* OFF */ | 89 | pcf50605_write(PCF5060X_DCDC2, 0x0c); /* OFF */ |
88 | 90 | ||
89 | /* unknown (default: 0xe3 = 1.8V ON) */ | 91 | /* Unknown. Defaults: |
92 | * iPod Video = 0xe3 = 1.8V ON | ||
93 | * iPod nano = 0xe3 = 1.8V ON */ | ||
90 | pcf50605_write(PCF5060X_DCUDC1, 0xe3); /* 1.8V ON */ | 94 | pcf50605_write(PCF5060X_DCUDC1, 0xe3); /* 1.8V ON */ |
91 | 95 | ||
92 | /* WM8758 voltage supply (default: 0xf5 = 3.0V ON) */ | 96 | /* Codec voltage supply. ECO not allowed as max. current of 5mA is not |
93 | /* ECO not allowed as max. current of 5mA is not sufficient */ | 97 | * sufficient. Defaults: |
98 | * iPod Video = 0xf5 = 3.0V ON | ||
99 | * iPod nano = 0xef = 2.4V ON */ | ||
94 | pcf50605_write(PCF5060X_D1REGC1, 0xf0); /* 2.5V ON */ | 100 | pcf50605_write(PCF5060X_D1REGC1, 0xf0); /* 2.5V ON */ |
95 | 101 | ||
96 | /* LCD voltage supply (default: 0xf5 = 3.0V ON) */ | 102 | /* PCF5060X_D2REGC1 is set in accordance to the accessory power setting */ |
103 | |||
104 | /* LCD voltage supply. Defaults: | ||
105 | * iPod Video = 0xf5 = 3.0V ON | ||
106 | * iPod nano = 0xf5 = 3.0V ON */ | ||
97 | pcf50605_write(PCF5060X_D3REGC1, 0xf1); /* 2.6V ON */ | 107 | pcf50605_write(PCF5060X_D3REGC1, 0xf1); /* 2.6V ON */ |
108 | |||
109 | /* PCF5060X_LPREGC1 is leaved untouched as the setting varies over the | ||
110 | * different iPod platforms. Defaults: | ||
111 | * iPod Video = 0x1f = 0ff | ||
112 | * iPod nano = 0xf6 = 3.1V ON */ | ||
98 | #else | 113 | #else |
99 | /* keep initialization from svn for other iPods */ | 114 | /* keep initialization from svn for other iPods */ |
100 | pcf50605_write(PCF5060X_D1REGC1, 0xf5); /* 3.0V ON */ | 115 | pcf50605_write(PCF5060X_D1REGC1, 0xf5); /* 3.0V ON */ |