Initial support for "safe speaker" path on Shamu

audio_policy.conf: enable "safe speaker"
mixer_paths: "safe speaker" is bottom loudspeaker only

Bug: 17319721
Change-Id: I6468132b4d54ec2b1852d8cfe3b4b5722f2d911d
diff --git a/audio_policy.conf b/audio_policy.conf
index f1c1c96..ec78c90 100644
--- a/audio_policy.conf
+++ b/audio_policy.conf
@@ -6,7 +6,7 @@
 # "TRUE" means DRC is enabled, "FALSE" or omission means DRC isn't used.
 
 global_configuration {
-  attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER
+  attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_SPEAKER_SAFE
   default_output_device AUDIO_DEVICE_OUT_SPEAKER
   attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX
   speaker_drc_enabled TRUE
@@ -30,21 +30,21 @@
         sampling_rates 44100|48000
         channel_masks AUDIO_CHANNEL_OUT_STEREO
         formats AUDIO_FORMAT_PCM_16_BIT
-        devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_LINE
+        devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_SPEAKER_SAFE
         flags AUDIO_OUTPUT_FLAG_PRIMARY
       }
       deep_buffer {
          sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000
          channel_masks AUDIO_CHANNEL_OUT_STEREO
          formats AUDIO_FORMAT_PCM_16_BIT
-         devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_LINE
+         devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_SPEAKER_SAFE
          flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER
       }
       compress_offload {
         sampling_rates 8000|11025|16000|22050|32000|44100|48000
         channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO
         formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AAC
-        devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE
+        devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_LINE|AUDIO_DEVICE_OUT_SPEAKER_SAFE
         flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
       }
     }
diff --git a/mixer_paths.xml b/mixer_paths.xml
index f4c9af9..11277dd 100755
--- a/mixer_paths.xml
+++ b/mixer_paths.xml
@@ -662,6 +662,14 @@
 		<ctl name="BOOST_STUB Left Mixer left" value="1" />
 	</path>
 
+	<path name="speaker-safe">
+		<!-- Bottom speaker only for Shamu -->
+		<!-- Select mono channel on Right IC -->
+		<ctl name="BOOST Right Ch Select" value="3" />
+		<!-- Enable Mixers to power up Right IC only -->
+		<ctl name="BOOST_STUB Right Mixer right" value="1" />
+	</path>
+
 	<path name="speaker-mic">
 		<path name="adc3" />
 		<ctl name="ADC1 Volume" value="0" />