diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/audio/wm8758.c | 17 | ||||
-rw-r--r-- | firmware/export/config/ipodvideo.h | 3 | ||||
-rw-r--r-- | firmware/export/powermgmt.h | 3 | ||||
-rw-r--r-- | firmware/export/wm8758.h | 1 | ||||
-rw-r--r-- | firmware/target/arm/ipod/powermgmt-ipod-pcf.c | 9 |
5 files changed, 33 insertions, 0 deletions
diff --git a/firmware/drivers/audio/wm8758.c b/firmware/drivers/audio/wm8758.c index 715c921e33..40ead0cdf2 100644 --- a/firmware/drivers/audio/wm8758.c +++ b/firmware/drivers/audio/wm8758.c | |||
@@ -181,6 +181,23 @@ void audiohw_set_lineout_vol(int vol_l, int vol_r) | |||
181 | wmcodec_write(ROUT2VOL, amp_r | ROUT2VOL_ROUT2ZC | ROUT2VOL_OUT2VU); | 181 | wmcodec_write(ROUT2VOL, amp_r | ROUT2VOL_ROUT2ZC | ROUT2VOL_OUT2VU); |
182 | } | 182 | } |
183 | 183 | ||
184 | void audiohw_enable_lineout(bool enable) | ||
185 | { | ||
186 | if (enable) | ||
187 | { | ||
188 | /* include enabling of OUT2 */ | ||
189 | wmcodec_write(PWRMGMT3, PWRMGMT3_LOUT2EN | PWRMGMT3_ROUT2EN | ||
190 | | PWRMGMT3_RMIXEN | PWRMGMT3_LMIXEN | ||
191 | | PWRMGMT3_DACENR | PWRMGMT3_DACENL); | ||
192 | } | ||
193 | else | ||
194 | { | ||
195 | /* exclude enabling of OUT2 */ | ||
196 | wmcodec_write(PWRMGMT3, PWRMGMT3_RMIXEN | PWRMGMT3_LMIXEN | ||
197 | | PWRMGMT3_DACENR | PWRMGMT3_DACENL); | ||
198 | } | ||
199 | } | ||
200 | |||
184 | void audiohw_set_bass(int value) | 201 | void audiohw_set_bass(int value) |
185 | { | 202 | { |
186 | eq1_reg = (eq1_reg & ~EQ_GAIN_MASK) | EQ_GAIN_VALUE(value); | 203 | eq1_reg = (eq1_reg & ~EQ_GAIN_MASK) | EQ_GAIN_VALUE(value); |
diff --git a/firmware/export/config/ipodvideo.h b/firmware/export/config/ipodvideo.h index a8d2220b8c..eec513320a 100644 --- a/firmware/export/config/ipodvideo.h +++ b/firmware/export/config/ipodvideo.h | |||
@@ -77,6 +77,9 @@ | |||
77 | /* Define this if you can switch on/off the accessory power supply */ | 77 | /* Define this if you can switch on/off the accessory power supply */ |
78 | #define HAVE_ACCESSORY_SUPPLY | 78 | #define HAVE_ACCESSORY_SUPPLY |
79 | 79 | ||
80 | /* Define this, if you can switch on/off the lineout */ | ||
81 | #define HAVE_LINEOUT_POWEROFF | ||
82 | |||
80 | /* Define this if you have a software controlled poweroff */ | 83 | /* Define this if you have a software controlled poweroff */ |
81 | #define HAVE_SW_POWEROFF | 84 | #define HAVE_SW_POWEROFF |
82 | 85 | ||
diff --git a/firmware/export/powermgmt.h b/firmware/export/powermgmt.h index 17519c5bfd..d86118cd9b 100644 --- a/firmware/export/powermgmt.h +++ b/firmware/export/powermgmt.h | |||
@@ -174,5 +174,8 @@ bool query_force_shutdown(void); | |||
174 | #ifdef HAVE_ACCESSORY_SUPPLY | 174 | #ifdef HAVE_ACCESSORY_SUPPLY |
175 | void accessory_supply_set(bool); | 175 | void accessory_supply_set(bool); |
176 | #endif | 176 | #endif |
177 | #ifdef HAVE_LINEOUT_POWEROFF | ||
178 | void lineout_set(bool); | ||
179 | #endif | ||
177 | 180 | ||
178 | #endif /* _POWERMGMT_H_ */ | 181 | #endif /* _POWERMGMT_H_ */ |
diff --git a/firmware/export/wm8758.h b/firmware/export/wm8758.h index 9d1a938162..50cbc74e9a 100644 --- a/firmware/export/wm8758.h +++ b/firmware/export/wm8758.h | |||
@@ -34,6 +34,7 @@ extern int tenthdb2mixer(int db); | |||
34 | extern void audiohw_set_master_vol(int vol_l, int vol_r); | 34 | extern void audiohw_set_master_vol(int vol_l, int vol_r); |
35 | extern void audiohw_set_lineout_vol(int vol_l, int vol_r); | 35 | extern void audiohw_set_lineout_vol(int vol_l, int vol_r); |
36 | extern void audiohw_set_mixer_vol(int channel1, int channel2); | 36 | extern void audiohw_set_mixer_vol(int channel1, int channel2); |
37 | extern void audiohw_enable_lineout(bool enable); | ||
37 | 38 | ||
38 | #define RESET 0x00 | 39 | #define RESET 0x00 |
39 | #define RESET_RESET 0x0 | 40 | #define RESET_RESET 0x0 |
diff --git a/firmware/target/arm/ipod/powermgmt-ipod-pcf.c b/firmware/target/arm/ipod/powermgmt-ipod-pcf.c index 5b8f974fda..95f5380b92 100644 --- a/firmware/target/arm/ipod/powermgmt-ipod-pcf.c +++ b/firmware/target/arm/ipod/powermgmt-ipod-pcf.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include "powermgmt.h" | 25 | #include "powermgmt.h" |
26 | #include "pcf5060x.h" | 26 | #include "pcf5060x.h" |
27 | #include "pcf50605.h" | 27 | #include "pcf50605.h" |
28 | #include "audiohw.h" | ||
28 | 29 | ||
29 | const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = | 30 | const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT] = |
30 | { | 31 | { |
@@ -129,3 +130,11 @@ void accessory_supply_set(bool enable) | |||
129 | 130 | ||
130 | } | 131 | } |
131 | #endif | 132 | #endif |
133 | |||
134 | #ifdef HAVE_LINEOUT_POWEROFF | ||
135 | void lineout_set(bool enable) | ||
136 | { | ||
137 | /* Call audio hardware driver implementation */ | ||
138 | audiohw_enable_lineout(enable); | ||
139 | } | ||
140 | #endif | ||