| @@ -29,6 +29,10 @@ | |||
| #include "AudioControl.h" | |||
| // SGTL5000-specific defines for headphones | |||
| #define AUDIO_HEADPHONE_DAC 0 | |||
| #define AUDIO_HEADPHONE_LINEIN 1 | |||
| class AudioControlSGTL5000 : public AudioControl | |||
| { | |||
| public: | |||
| @@ -54,6 +58,15 @@ public: | |||
| return false; | |||
| } | |||
| } | |||
| bool headphoneSelect(int n) { | |||
| if (n == AUDIO_HEADPHONE_DAC) { | |||
| return write(0x0024, ana_ctrl | (1<<6)); // route DAC to headphones out | |||
| } else if (n == AUDIO_HEADPHONE_LINEIN) { | |||
| return write(0x0024, ana_ctrl & ~(1<<6)); // route linein to headphones out | |||
| } else { | |||
| return false; | |||
| } | |||
| } | |||
| bool volume(float left, float right); | |||
| bool micGain(unsigned int dB); | |||
| bool lineInLevel(uint8_t n) { return lineInLevel(n, n); } | |||