# Use case Configuration for Mobile device
# By Inha Song <ideal.song@samsung.com>

SectionVerb {
  EnableSequence [
  ]
  DisableSequence [
  ]

  Value {
    TQ "Voice"
    PlaybackCTL "hw:0"
    CaptureCTL "hw:0"
  }
}

SectionDevice."Headphones" {
  Comment "3.5mm Headphones"

  EnableSequence [
# Gain
    cset "name='HPOUT1L Input 1 Volume' 15"
    cset "name='HPOUT1R Input 1 Volume' 15"
# Path
    cset "name='HP Switch' 1"
    cset "name='HPOUT1L Input 1' AIF2RX1"
    cset "name='HPOUT1R Input 1' AIF2RX2"
    cset "name='HPOUT1 Digital Switch' 1,1"
  ]

  DisableSequence [
# Path
    cset "name='HP Switch' 0"
    cset "name='HPOUT1L Input 1' 0"
    cset "name='HPOUT1R Input 1' 0"
    cset "name='HPOUT1 Digital Switch' 0,0"
  ]

  Value {
    PlaybackPCM "hw:0,0"
  }
}

SectionDevice."Speaker" {
  Comment "built-in Speaker"

  EnableSequence [
# Gain
    cset "name='HPOUT2L Input 1 Volume' 15"
# Path
    cset "name='SPK Switch' 1"
    cset "name='HPOUT2L Input 1' AIF2RX1"
    cset "name='HPOUT2R Input 1' None"
    cset "name='HPOUT2 Digital Switch' 1,1"
  ]

  DisableSequence [
# Path
    cset "name='SPK Switch' 0"
    cset "name='HPOUT2L Input 1' None"
    cset "name='HPOUT2R Input 1' None"
    cset "name='HPOUT2 Digital Switch' 0,0"
  ]

  Value {
    PlaybackPCM "hw:0,0"
  }
}

SectionDevice."Earpiece" {
  Comment "built-in earpiece, receiver"

  EnableSequence [
# Gain
    cset "name='HPOUT3L Input 1 Volume' 40"
    cset "name='HPOUT3R Input 1 Volume' 40"
# Path
    cset "name='RCV Switch' 1"
    cset "name='HPOUT3L Input 1' AIF2RX1"
    cset "name='HPOUT3R Input 1' AIF2RX2"
    cset "name='HPOUT3 Digital Switch' 1,1"
  ]

  DisableSequence [
# Path
    cset "name='RCV Switch' 0"
    cset "name='HPOUT3L Input 1' None"
    cset "name='HPOUT3R Input 1' None"
    cset "name='HPOUT3 Digital Switch' 0,0"
  ]

  Value {
    PlaybackPCM "hw:0,0"
  }
}

SectionDevice."Bluetooth" {
  Comment "bluetooth sco with codec master"

  EnableSequence [
# Gain
    cset "name='AIF3TX1 Input 1 Volume' 32"
    cset "name='AIF2TX1 Input 1 Volume' 32"
# Path
    cset "name='AIF3TX1 Input 1' AIF2RX1"
    cset "name='AIF2TX1 Input 1' AIF3RX1"
  ]

  DisableSequence [
    cset "name='AIF3TX1 Input 1' None"
    cset "name='AIF2TX1 Input 1' None"
  ]

  Value {
    PlaybackPCM "hw:0,0"
    CapturePCM "hw:0,0"
  }
}

SectionDevice."MainMic" {
  Comment "built-in main mic"

  EnableSequence [
# Gain
    cset "name='IN1R Digital Volume' 166"
    cset "name='AIF2TX1 Input 1 Volume' 32"
# Path
    cset "name='Main Mic Switch' 1"
    cset "name='IN1 OSR' 0"
    cset "name='IN1R HPF Switch' 1"
    cset "name='AIF2TX1 Input 1' IN1R"
  ]

  DisableSequence [
# Path
    cset "name='Main Mic Switch' 0"
    cset "name='IN1 OSR' 1"
    cset "name='IN1R HPF Switch' 0"
    cset "name='AIF2TX1 Input 1' None"
  ]

  Value {
    CapturePCM "hw:0,0"
  }
}

SectionDevice."SubMic" {
  Comment "built-in sub mic"

  EnableSequence [
# Gain
    cset "name='IN3L Digital Volume' 166"
    cset "name='AIF2TX1 Input 1 Volume' 32"
# Path
    cset "name='Sub Mic Switch' 1"
    cset "name='IN3 OSR' 0"
    cset "name='IN3L HPF Switch' 1"
    cset "name='AIF2TX1 Input 1' IN3L"
  ]

  DisableSequence [
# Path
    cset "name='Sub Mic Switch' 0"
    cset "name='IN3 OSR' 1"
    cset "name='IN3L HPF Switch' 0"
    cset "name='AIF2TX1 Input 1' None"
  ]

  Value {
    CapturePCM "hw:0,0"
  }
}

SectionDevice."ThirdMic" {
  Comment "built-in thrid mic"

  EnableSequence [
# Gain
    cset "name='IN3R Digital Volume' 166"
    cset "name='AIF2TX1 Input 1 Volume' 32"
# Path
    cset "name='Third Mic Switch' 1"
    cset "name='IN3 OSR' 0"
    cset "name='IN3R HPF Switch' 1"
    cset "name='AIF2TX1 Input 1' IN3R"
  ]

  DisableSequence [
# Path
    cset "name='Third Mic Switch' 0"
    cset "name='IN3 OSR' 1"
    cset "name='IN3R HPF Switch' 0"
    cset "name='AIF2TX1 Input 1' None"
  ]

  Value {
    CapturePCM "hw:0,0"
  }
}

SectionDevice."HeadsetMic" {
  Comment "external headset mic"

  EnableSequence [
# Gain
    cset "name='AIF2TX1 Input 1 Volume' 32"
    cset "name='IN2R Volume' 32"
# Path
    cset "name='Headset Mic Switch' 1"
    cset "name='AIF2TX1 Input 1' IN2R"
  ]

  DisableSequence [
# Path
    cset "name='Headset Mic Switch' 0"
    cset "name='AIF2TX1 Input 1' None"
  ]

  Value {
    CapturePCM "hw:0,0"
  }
}
