SectionDevice."Headphones" {
  Comment "Headphones"

  EnableSequence [
    cset "name='Speaker Driver Playback Switch' off"
    cset "name='Speaker Switch' on"

    cset "name='HP Driver Playback Switch' on"
    cset "name='HP Left Switch' on"
    cset "name='HP Right Switch' on"

    cset "name='Output Left From Left DAC' on"
    cset "name='Output Right From Right DAC' on"
    cset "name='DAC Playback Volume' 127"
    cset "name='HP Driver Playback Volume' 0"
    cset "name='HP Analog Playback Volume' 127"
    cset "name='Speaker Analog Playback Volume' 127"
    cset "name='Speaker Driver Playback Volume' 0"
  ]

  DisableSequence [
  ]

  Value {
    PlaybackPCM "hw:${CardId}"
    PlaybackChannels 2
  }
}

SectionDevice."Speaker" {
  Comment "Speaker"

  EnableSequence [
    cset "name='HP Driver Playback Switch' off"
    cset "name='HP Left Switch' off"
    cset "name='HP Right Switch' off"

    cset "name='Speaker Driver Playback Switch' on"
    cset "name='Speaker Switch' on"

    cset "name='Output Left From Left DAC' on"
    cset "name='Output Right From Right DAC' on"
    cset "name='DAC Playback Volume' 127"
    cset "name='HP Driver Playback Volume' 0"
    cset "name='HP Analog Playback Volume' 127"
    cset "name='Speaker Analog Playback Volume' 127"
    cset "name='Speaker Driver Playback Volume' 0"
  ]

  DisableSequence [
  ]

  Value {
    PlaybackPCM "hw:${CardId}"
  }
}

SectionDevice."Microphone" {
  Comment "Microphone"

  EnableSequence [
    cset "name='Mic PGA Capture Volume' 80"
    cset "name='ADC Capture Switch' on"
    cset "name='ADC Capture Volume' 127"
    cset "name='MIC1LM M-Terminal' 0"
    cset "name='MIC1LM P-Terminal' 0"
    cset "name='MIC1LP P-Terminal' 0"
    cset "name='MIC1RP P-Terminal' 3"
    cset "name='Output Left from MIC1LP' off"
    cset "name='Output Left from MIC1RP' off"
    cset "name='Output Right from MIC1RP' off"
  ]

  DisableSequence [
    cset "name='ADC Switch' off"
    cset "name='ADC Volume' 0"
    cset "name='ADC Capture Switch' off"
    cset "name='MIC1LM M-Terminal' 0"
    cset "name='MIC1LM P-Terminal' 0"
    cset "name='MIC1LP P-Terminal' 0"
    cset "name='MIC1RP P-Terminal' 0"
  ]

  Value {
    CapturePCM "hw:${CardId}"
    CaptureChannels 2
  }
}
