diff --git a/ansible/roles/pixelbook/files/9d71-GOOGLE-EVEMAX-0-tplg.bin b/ansible/roles/pixelbook/files/9d71-GOOGLE-EVEMAX-0-tplg.bin new file mode 100644 index 0000000..89eaeb5 Binary files /dev/null and b/ansible/roles/pixelbook/files/9d71-GOOGLE-EVEMAX-0-tplg.bin differ diff --git a/ansible/roles/pixelbook/files/HiFi.conf b/ansible/roles/pixelbook/files/HiFi.conf new file mode 100644 index 0000000..4f0172e --- /dev/null +++ b/ansible/roles/pixelbook/files/HiFi.conf @@ -0,0 +1,129 @@ +SectionVerb { + EnableSequence [ + cdev "hw:kblr55145663max" + + cset "name='codec1_out mo hs_pb_in mi Switch' on" + cset "name='Left DAI Sel Mux' Left" + cset "name='Right DAI Sel Mux' Right" + cset "name='Left Speaker Volume' 3" + cset "name='Right Speaker Volume' 3" + cset "name='Left Digital Volume' 60" + cset "name='Right Digital Volume' 60" + cset "name='Left Spk Switch' on" + cset "name='Right Spk Switch' on" + cset "name='Left Boost Output Voltage' 0" + cset "name='Right Boost Output Voltage' 0" + cset "name='Left Current Limit' 7" + cset "name='Right Current Limit' 7" + cset "name='Headphone Playback Volume' 16" + cset "name='Headset Mic Switch' off" + cset "name='DMIC Switch' on" + cset "name='STO1 ADC MIXL ADC1 Switch' on" + cset "name='Pin5-Port0 Mux' 2" + cset "name='Pin5-Port1 Mux' 2" + cset "name='Pin5-Port2 Mux' 2" + cset "name='Pin6-Port0 Mux' 1" + cset "name='Pin6-Port1 Mux' 1" + cset "name='Pin6-Port2 Mux' 1" + cset "name='Pin7-Port0 Mux' 3" + cset "name='Pin7-Port1 Mux' 3" + cset "name='Pin7-Port2 Mux' 3" + cset "name='ADC Capture Volume' 35" + cset "name='ADC1 Capture Volume' 55" + cset "name='ADC2 Capture Volume' 55" + cset "name='DAC L Mux' STO DAC MIXL" + cset "name='DAC R Mux' STO DAC MIXR" + cset "name='STO1 DAC MIXL DAC L Switch' on" + cset "name='STO1 DAC MIXR DAC R Switch' on" + cset-tlv "name='spk_pb_in dsm 0 dsm_params params' /opt/google/dsm/dsmparam.bin" + ] +} + +SectionDevice."Speaker" { + Comment "Speaker" + + Value { + PlaybackPCM "hw:kblr55145663max,0" + DspName "speaker_eq" + } +} + +SectionDevice."Headphones" { + Comment "Headphones" + + Value { + PlaybackPCM "hw:kblr55145663max,2" + MixerName "DAC" + JackDev "kbl-r5514-5663-max Headset Jack" + + } + + EnableSequence [ + cset "name='Headphone Jack Switch' on" + ] + + DisableSequence [ + cset "name='Headphone Jack Switch' off" + ] +} + +SectionDevice."Internal Mic" { + Comment "Internal Microphone" + + Value { + CapturePCM "hw:kblr55145663max,4" + CaptureChannelMap "2 3 0 1 -1 -1 -1 -1 -1 -1 -1" + MixerName "ADC2" + DefaultNodeGain "2700" + CaptureChannels "4" + } + + EnableSequence [ + cset "name='Sto1 ADC MIXL DMIC Switch' on" + cset "name='Sto1 ADC MIXR DMIC Switch' on" + cset "name='Sto2 ADC MIXL DMIC Switch' on" + cset "name='Sto2 ADC MIXR DMIC Switch' on" + ] + + DisableSequence [ + cset "name='Sto1 ADC MIXL DMIC Switch' off" + cset "name='Sto1 ADC MIXR DMIC Switch' off" + cset "name='Sto2 ADC MIXL DMIC Switch' off" + cset "name='Sto2 ADC MIXR DMIC Switch' off" + ] +} + +SectionDevice."Mic" { + Comment "Headset Microphone" + + Value { + CapturePCM "hw:kblr55145663max,1" + JackDev "kbl-r5514-5663-max Headset Jack" + } + + EnableSequence [ + cset "name='Headset Mic Switch' on" + ] + + DisableSequence [ + cset "name='Headset Mic Switch' off" + ] +} + +SectionDevice."HDMI1" { + Comment "HDMI 1" + + Value { + PlaybackPCM "hw:kblr55145663max,6" + JackDev "kbl-r5514-5663-max HDMI/DP,pcm=6 Jack" + } +} + +SectionDevice."HDMI2" { + Comment "HDMI 2" + + Value { + PlaybackPCM "hw:kblr55145663max,7" + JackDev "kbl-r5514-5663-max HDMI/DP,pcm=7 Jack" + } +} diff --git a/ansible/roles/pixelbook/files/dsmparam.bin b/ansible/roles/pixelbook/files/dsmparam.bin new file mode 100644 index 0000000..b800f95 Binary files /dev/null and b/ansible/roles/pixelbook/files/dsmparam.bin differ diff --git a/ansible/roles/pixelbook/files/dsp_fw_C75061F3-F2B2-4DCC-8F9F-82ABB4131E66.bin b/ansible/roles/pixelbook/files/dsp_fw_C75061F3-F2B2-4DCC-8F9F-82ABB4131E66.bin new file mode 100644 index 0000000..cf637ca Binary files /dev/null and b/ansible/roles/pixelbook/files/dsp_fw_C75061F3-F2B2-4DCC-8F9F-82ABB4131E66.bin differ diff --git a/ansible/roles/pixelbook/files/dsp_lib_dsm_core_spt_release.bin b/ansible/roles/pixelbook/files/dsp_lib_dsm_core_spt_release.bin new file mode 100644 index 0000000..143198f Binary files /dev/null and b/ansible/roles/pixelbook/files/dsp_lib_dsm_core_spt_release.bin differ diff --git a/ansible/roles/pixelbook/files/kbl-r5514-5663-.conf b/ansible/roles/pixelbook/files/kbl-r5514-5663-.conf new file mode 100644 index 0000000..bb5faab --- /dev/null +++ b/ansible/roles/pixelbook/files/kbl-r5514-5663-.conf @@ -0,0 +1,6 @@ +Syntax 3 + +SectionUseCase."HiFi" { + File "HiFi.conf" + Comment "Default" +} diff --git a/ansible/roles/pixelbook/tasks/linux.yaml b/ansible/roles/pixelbook/tasks/linux.yaml index f7d49e4..0ad3d18 100644 --- a/ansible/roles/pixelbook/tasks/linux.yaml +++ b/ansible/roles/pixelbook/tasks/linux.yaml @@ -1,3 +1,17 @@ +# Audio firmware from instructions at https://wiki.gentoo.org/wiki/Google_Pixelbook_(2017)#Audio + +- name: Create directories + file: + name: "{{ item }}" + state: directory + mode: 0755 + owner: root + group: wheel + loop: + - /opt/google/dsm + - /usr/share/alsa/ucm2/Intel/kbl-r5514-5663- + - /usr/share/alsa/ucm2/conf.d/kbl-r5514-5663- + - name: Install tmpfiles.d configuration copy: src: "files/{{ item }}_tmpfiles.conf" @@ -18,3 +32,26 @@ loop: - src: 61-eve-keyboard.hwdb dest: /etc/udev/hwdb.d/61-eve-keyboard.hwdb + - src: 9d71-GOOGLE-EVEMAX-0-tplg.bin + dest: /lib/firmware/9d71-GOOGLE-EVEMAX-0-tplg.bin + - src: dsp_lib_dsm_core_spt_release.bin + dest: /lib/firmware/dsp_lib_dsm_core_spt_release.bin + - src: dsp_fw_C75061F3-F2B2-4DCC-8F9F-82ABB4131E66.bin + dest: /lib/firmware/intel/dsp_fw_C75061F3-F2B2-4DCC-8F9F-82ABB4131E66.bin + - src: dsmparam.bin + dest: /opt/google/dsm/dsmparam.bin + - src: HiFi.conf + dest: /usr/share/alsa/ucm2/Intel/kbl-r5514-5663-/HiFi.conf + - src: kbl-r5514-5663-.conf + dest: /usr/share/alsa/ucm2/Intel/kbl-r5514-5663-/kbl-r5514-5663-.conf + +- name: Create symlinks + file: + src: "{{ item.src }}" + dest: "{{ item.dest }}" + owner: root + group: wheel + state: link + loop: + - src: /usr/share/alsa/ucm2/Intel/kbl-r5514-5663-/kbl-r5514-5663-.conf + dest: /usr/share/alsa/ucm2/conf.d/kbl-r5514-5663-/kbl-r5514-5663-.conf