ELF@@.-GNUkx53obLinuxLinux     QqT?qiT?qiT?qhT?$q(T QxrT?q_ R_!Q`?q$0_ !(Q$_     QqIT?qT?qT?qT"$Qp? qR$š_?qhT?,qT?qT!4Q`?qR`$0_ R_!0Q v~$_!Q`?q$0_    @U<@A9_     { @s_qT_qT @R{¨_R*aRRRa R @R{¨_R*a RRRaR @R{¨_     {?qBAzS*b@T<@T"Ra6hSRa6B2c<*a6B2c8*a6B2c,*a 6B2c4*a(6B2c0*RR4 R9cR*aRRSA{¨_֟9RbRaR     @{ *R*| "8L4qAT_qlT*7!@R!(š?@ @{¨__qT T R?rT_qxS_q`R @{¨__q`R @{¨_@R_    {S @`@4<@ !!"E9 7`@ SA{¨_!`@ SA{¨_     {S @`@4<@ "E9 7!!`@ SA{¨_!    _q`TR_@U<@A9@7{ RR{_    {RS* `CSA{¨_ց@*B`CSA{¨_     {" S0@c@c<@_@q T_@qTRb_H" rT_ qT2! ?q`TT?qT2? qaT@&*@7t77RSA@{è_$RRbDH*bR!R*bRRT62?qT2*`@!     {S @5<@@!qsnS ՠD9s@6qSA@{è_ց@*BD9s7qSA@{è_R*     {cSR[RRk9 qTqRTRRR R7 5<7 յqTqRT`@!SA R[BcCkD{Ũ_ 7SAR[BcCkD{Ũ_a@Ba@qTSA`R[BcCkD{Ũ_    {"RRS @t<@FAb*BARaRc2R*RSA{¨_     {RR{_     {S[cX0@@!(A@0W<@z a *@!0za7** 7q` ןR B 0@!|<  Ձ&@ 5@R 5Pq@ TT q TR@qATa @ * 77S7R*SA[BcC{Ĩ_a @e @`**Bc a @ Bd0@c<@ R`qTSA*[BcC{Ĩ_*R!R^Sc,*RaR*RRNSc<*RaR6RR*@!SA*[BcC{Ĩ_R*!! Rc @@!#B0@*@!     {S**[*c0@@6<@V@kTq@zTq@T q T 4*!SA*[BcC{Ũ_Z@kAT^@kTRSA*[BcC{Ũ_ .RRR@B.RRRRRR***7  I)!RB*A9Rb7G@LS,*AR )^RRRA9@H)@O@ BRRR@*!    {[c0@@<@b4S**?qT? q Ta5 @*5RR@R R*RRN) SAR[BcC{Ĩ_֡ @**BSA*!SA[BcC{Ĩ_@RRRRSA     {S* @5<@q`T qT4R@*SA{è_ւRR RRR"RARR! RRA RR RR R:AqTRa RR R @@T@ q@T*@5*4@5Ra R*BRSR*a R**ARR*aRRa R      @ R"8A_qc{"@@*R R{_ R_     {"@@ R R{_     {S @<@`@!R2R`@R`@`@`:Aq`TaD97 qT`"@bBR!@SAR{¨_ qaT R*aRR*aR    {RaRS@р@<@`@s(@`*@7cjSRR*SA{¨_ր@!*SA{¨_     { @` @{¨_     {S @<@`@`"@`B`RRR`@!R`@`@`RSAR{¨_    {S @<@`@`A97`A9@7`B``@@@7ySA{è_`&@`A96`"@`B``@@@6RRR@<@9`@RR@    {S[ @4<@:Aq TcHSaRRRR*RAR*"RARD96:AqT q TB@7@5@&c!*@5 R9B@9@7"@c!*5!R9B@RSAR[B{è_ր:Aq`T qaTR*aRRRaRRR RaR*RR*RAR*RRARRa R*BRSRa R*"@#!*5!R9@BR`bR!SAR[B{è_ր"d@R*R<@ R9r R"9`@"@!SAR[B{è_`@"@!SAR[B{è_RRNRRI R*aRC`@&@!g    {SXl7SA@{è_6j@~ )q,TRRRr@rqTA9 7n@q TA9`7@R*R<@ R`9SA@{è_֡@B@R* R9n@qTCR!@SA@{è_րn@ )A97  R9 Հ@RR@B     {RRSRT*5 @R<@`@77SAR@{è_`@RRRRR`@RRRRRt6`@RRRRR`@RR*RRSAR@{è_     {!S[ @<@  TR#`RAR*RaR*RRRR7rTRBBR`@! 7`@!7`@!`7`@!7`@!#5?@4`@5Q#!R5?@4 `@!#@5?@4Rqq`@!#5?@_qT:`@!`7 R9 !`@# 5?@_pq T_@q T_` q TB`@!#4RSA[B{Ĩ_`@!SA@[B{Ĩ_?@_ qTB\SRF"RR!"R`@! 6RR*`@!6RR*`@!6RR*`@!@6R*ARdRB`@!R`@!`@!@RB    { @U<@_qT_qT @R{¨_ R`9R @R{¨_`@RRRRR`@RR@R`R!R`@RRRRR`@R&R`@RR҃RRR`@RRRR$R9R @{¨_     {R*[S>R!`@ T!2RB,R* 5,`@ T3RO@ FR_k T`@RR`@1R 5`@RR*RARCeeB'R{{h"g9v>eFfJ`bRfbfnvjfrev`Rc!*`4`B`@*SA[B{Ũ_B2BCR*[B*SA@{Ũ_*![B*SA@{Ũ_*!*!@T!@t     _q`TR_{RRS*@@RR$RU<@@@RR*RR@RR#RRR@R.R@RRRRa R@RRR*a R*S@RR*Ra RSAR{¨_     {[@SS:AqTy7@@@6!7bRR SA[B{è_֠@A9@@7A7* q@T ՠ@*bRSA[B{è_R 5VRRRRaR  52RRaR@*bRSA[B{è_ց6 6 Մ@RRR<@RRR9@<@Rx6rCR!@R!@R*RR@q BS4@` BRaR*@q B@*@ B@R*R<@ R9x`b@RRR<@9@S!^@ B    {!{_{{_]+ 3U>>>>>>>>>>><<<<<<<<<<<<,, ,, ,, ,,++++++++ ++ ++****** ********** ** **))))))))(((((( (('''''' ''   >> >> ====== << << ;;;;;;    '''  zi2 > V d g snd_soc_rt5640eeg=6  !#%trt5640_button_press_workrt5640_jack_workrt5640_set_dai_sysclkrt5640_set_dai_pllrt5640_hw_paramsrt5640_micbias1_ovcdrt5640_jack_insertedrt5640_detect_headsetrealtek,rt5639realtek,rt5640rt5640rt5639rt5642  eec c   cd uudd df fe e aabbb aa  a a aae e fff f f f cca qp . .((( ( ' '  // / /`  0P ^ ////'`p(pp)*TT+TT,-./;<=>EF>G>HI8JLMOPQRSabcdefjlpqrst u(F 0 "Kf    1bjlGPLGPLGPLGPLGPLGPLLDO2MICBIAS1Platform Clockirq ctrl2 %#04x Failed to get sdp info: %d irq status %#04x jack mic-gnd shorted jack mic-gnd open Error detecting headset vs headphones, bad contact?, assuming headphones Unsupported clock setting %d for DAI %d Unsupported frame size: %d bclk is %dHz and lrck is %dHz bclk_ms is %d and pre_div is %d for iis %d PLL disabled Unknown PLL source %d Unsupported input clock %d bypass=%d m=%d n=%d k=%d Invalid clock id (%d) Sysclk is %dHz and clock id is %d Failed to set DMIC clock rt5640Failed to request IRQ %d: %d rt5640-jd-gpioFailed to request jd GPIO IRQ %d: %d headset button press headset button release mclkThe driver is for RT5639 RT5640 or RT5642 only realtek,in1-differentialrealtek,in2-differentialrealtek,in3-differentialrealtek,lout-differentialrealtek,dmic1-data-pinrealtek,dmic2-data-pinrealtek,jack-detect-sourceWarning: Invalid jack-detect-source value: %d, leaving jack-detect disabled realtek,jack-detect-not-invertedrealtek,over-current-threshold-microampWarning: Invalid over-current-threshold-microamp value: %d, defaulting to 2000uA realtek,over-current-scale-factorWarning: Invalid over-current-scale-factor value: %d, defaulting to 0.75 realtek,ldo1-enRT5640 LDO1_ENFailed to request supplies: %d Failed to allocate register map: %d Device with ID register %#x is not rt5640/39 Failed to apply regmap patch: %d rt5640_cancel_workmic jack status %d headphone jack status %d jack unplugged detect status %#02x OVCD IRQ rt5640-aif1AIF1 CaptureAIF1 Playbackrt5640-aif2AIF2 CaptureAIF2 PlaybackIN1PIN2PIN3Psnd_soc_rt5640sound/soc/codecs/rt5640.cStereo DAC MIXLDAC L2 SwitchIF2 DAC LStereo DAC MIXRDAC R2 SwitchIF2 DAC RMono DAC MIXLMono DAC MIXRDIG MIXLDIG MIXRDAC L2 PowerDAC R2 PowerANCStereo ADC MIXLStereo ADC MIXRAudio DSPDAC MIXLDAC MIXRDAC L2 MuxIF2Base L/RDAC R2 MuxANC SwitchDAC L2DAC R2SPK MIXLSPK MIXROUT MIXLBST3 SwitchBST3OUT MIXRHPO MIX LHPO MIX DAC2 SwitchHPO MIX RMono MIXOUTVOL R SwitchOUTVOL ROUTVOL L SwitchOUTVOL LBST1 SwitchBST1MONOPMONONImprove MONO Amp DrvI2S1Stereo Filter ASRCI2S2I2S2 ASRCI2S2 Filter ASRCDMIC1DMIC1 ASRCDMIC2DMIC2 ASRCDMIC L1DMIC R1DMIC L2DMIC R2IN1NBST2IN2NIN3NINL VOLINR VOLRECMIXLHPOL SwitchHPOLINL SwitchBST2 SwitchOUT MIXL SwitchRECMIXRHPOR SwitchHPORINR SwitchOUT MIXR SwitchADC LADC RDMIC CLKDMIC1 PowerDMIC2 PowerStereo ADC L2 MuxDIG MIXStereo ADC L1 MuxADCStereo ADC R1 MuxStereo ADC R2 MuxMono ADC L2 MuxMono ADC L1 MuxADCLMono ADC R1 MuxADCRMono ADC R2 MuxADC1 SwitchADC2 SwitchStereo FilterMono ADC MIXLMono Left FilterMono ADC MIXRMono Right FilterIF2 ADC LIF2 ADC RIF1 ADC LIF1 ADC RIF1 ADCIF2 ADCDAI1 TX Mux1:1|2:21:2|2:1DAI1 IF1 Mux1:1|2:1DAI1 IF2 MuxSDI1 TX MuxIF1DAI2 TX MuxDAI2 IF1 Mux1:2|2:2DAI2 IF2 MuxSDI2 TX MuxAIF1TXAIF2TXDAI1 RX MuxAIF1RXAIF2RXDAI2 RX MuxIF1 DACIF2 DACIF1 DAC LIF1 DAC RStereo ADC SwitchINF1 SwitchDAC L1 PowerDAC R1 PowerDAC L1 SwitchDAC R1 SwitchDAC L1DAC R1REC MIXL SwitchREC MIXR SwitchSPKVOL LSPKVOL RHPOVOL LHPOVOL RSPOL MIXSPKVOL R SwitchSPKVOL L SwitchSPOR MIXHPO MIX DAC1 SwitchHPO MIX HPVOL SwitchHP L AmpHP R AmpLOUT MIXHP AmpSpeaker L PlaybackSwitchSpeaker R PlaybackSPOLPSPOLNSPORPSPORNImprove SPK Amp DrvImprove HP Amp DrvHP L PlaybackHP R PlaybackLOUT ampLOUTLLOUTRHP PostSDI selectDAI selectDAC2 right channel sourceDAC2 left channel sourceMono ADC2 right sourceMono ADC1 right sourceMono ADC2 left sourceMono ADC1 left sourceStereo ADC2 MuxStereo ADC1 MuxMono Playback SwitchSpeaker Channel SwitchSpeaker Playback VolumeHP Channel SwitchHP Playback VolumeOUT Playback SwitchOUT Channel SwitchOUT Playback VolumeDAC2 Playback SwitchDAC2 Playback VolumeDAC1 Playback VolumeIN1 BoostIN2 BoostIN3 BoostRECMIXL INL GainRECMIXL BST2 GainRECMIXL BST3 GainRECMIXL BST1 GainRECMIXL OUTMIXL GainRECMIXR INR GainRECMIXR BST2 GainRECMIXR BST3 GainRECMIXR BST1 GainRECMIXR OUTMIXR GainIN3 Differential ModeIN2 Differential ModeLOUT Differential ModeIN Capture VolumeADC Capture SwitchADC Capture VolumeMono ADC Capture SwitchMono ADC Capture VolumeADC Boost GainClass D SPK Ratio ControlADC IF1 Data SwitchDAC IF1 Data SwitchADC IF2 Data SwitchDAC IF2 Data Switch1.66x1.83x1.94x2x2.11x2.22x2.33x2.44x2.55x2.66x2.77xNormalSwapleft copy to rightright copy to leftPRavddcpvdddbvddspkvddsound/soc/codecs/rt5640.clicense=GPL v2author=Johnny Hsu description=ASoC RT5640/RT5639 driveralias=i2c:rt5642alias=i2c:rt5639alias=i2c:rt5640alias=of:N*T*Crealtek,rt5640C*alias=of:N*T*Crealtek,rt5640alias=of:N*T*Crealtek,rt5639C*alias=of:N*T*Crealtek,rt5639depends=snd-soc-core,snd-soc-rl6231,snd-pcmintree=Yname=snd_soc_rt5640vermagic=6.6.0-sineware-prolinux-2 SMP preempt mod_unload modversions aarch64rt5640_dmic_enablert5640_sel_asrc_clk_srcrt5640_enable_micbias1_for_ovcdrt5640_disable_micbias1_for_ovcdrt5640_detect_headsetrt5640_set_ovcd_paramskx snd_soc_dapm_put_enum_double&gpiod_get_value_cansleep;JQfree_irq/+device_property_presentG;regcache_cache_only>vregcache_syncregmap_writeVdevm_kmallocϲsnd_soc_jack_reportfi4snd_soc_component_read "\gpiod_set_value_cansleep,]rl6231_pll_calc *gpiod_to_irq\xsnd_soc_dapm_sync_unlocked enable_irqsnd_soc_put_enum_doubleA1regcache_mark_dirty ]usleep_range_stateFgpiod_get_value0devm_gpiod_get_optional&snd_soc_params_to_frame_sizevvclk_set_rate0snd_soc_dapm_force_enable_pin_unlockeda[__dynamic_dev_dbg/Prl6231_calc_dmic_clk&P(devm_clk_getWsnd_soc_component_write%devm_snd_soc_register_componentqs|clk_prepare@__devm_regmap_init_i2cmqueue_delayed_work_onO>zdevice_property_read_u32_array$Csnd_soc_get_enum_double>Yi2c_register_driver[snd_soc_info_volswP_dev_errՒrequest_threaded_irqLj:snd_soc_dapm_put_volswKMmutex_lock29snd_soc_dapm_force_bias_levelYVɛsnd_soc_dapm_disable_pin_unlockedtKmod_delayed_work_on]snd_soc_add_component_controlsHrl6231_get_pre_divddevm_regulator_bulk_get_enableB~_dev_warn2Rsnd_soc_dapm_add_routes<Msnd_soc_info_enum_doubleJsystem_long_wq+IAsnd_soc_get_volswm>regmap_readuOcsnd_soc_put_volsw"Asnd_soc_component_update_bits82mutex_unlockJcancel_delayed_work_sync9cinit_timer_key P> X>H `> > >X >8 ? ? p? ?x ? ? 0@ @@ @ @0@ A PA `A A A B B pB B B B 0C 8C( @C C C0 C C8 CH D PDP XDH `D D` Dp D8 E` E EP pEx xE0 E Ex E( E 0F 8F @F F F F F Fp G PG XG`G G G H H` pH Hx H H 0I 8I( @I I IH I I I0 J PJ XJ `J J J0 J K KH K pK xK( K K K K 0L@L LL LM PM`M MMN  NpNxNNN0OP8O0@O OPOHOOPPXPP`XP0`P0P`PHP Q` QhpQXxQxQPQQQ`0R8Rx@RPRRR`RRxSPPSXS`S`SSXT TXpTTTTh0U8U@U UU U UUxVPVXV `VVVV WW( W pWxWWWW8 W 0X8X @X XX X XXY PYXYx`YY Y Y Z Z Z pZ xZ( Z Z ZZ 0[ 8[@[[[[\P\`\\\ ] ]p]x ] ]]]0^8^x@^^^^^^(_P_X_ `_ _8__`8` `p`8x` ` ` `H`0a 8a`@aa axaH aHbPbH Xb``bbH bccx cpcxcccc c 0d8dh @dx dd deH PeXe`eeee8f fpffff0g@gggghPh`hhhi i pi i i8ii0jH8j@jj j8j kHPkX`kkhkXlp lXxl@mnpxo8ppxqXq2r8s1s8uxvvP$w 8x!x xy8zH zx{X { | } 8 x   8@ xX 88 xP  8x   8h xp x  8X xh x  8 x   8 +x )H P 8 x  8X xX8 x @ 8(8 x8h x 608 6 8x 5x  84 8x  8 x  8xx  8 x  88 x8P x` p 8x x8 x  8p 8 @x  Px@48`3x/8.x.8`-xX8hxx(8&x 8x xxp88x (8$hP 8Xxx8x880Hx8xx 8 x   h8pp  (0@HXp` pp( x0 H   8@HX`px p  8PX`px0 ((h 0x 8P(hpx @(@@8 HP P hP  ( @X`hx   0HPXh h h  x  8@HX Pp  (x h(08H @` x h  H (8 P`hpx 0  0H( @`X`hx   0 HPXh X px H 8@HX p(    (08H 8` x (     ( 8  P h p x           !!!(! @!X!`!h!x! !x!!!! `! !"""  0"H"P"X"h" " """" "( """#  #8#@#H#X# xp#h#### P##### ($($0$8$H$ `$x$$$$ 0 $ $$$$  % % %(%8% P%h%p%x%% %%%%% %h&&&(& h @&xX&`&h&x& @ &&&&& &( &''' 0'H'P'X'h' ''''' '8 '''( X (8(@(H(X( p( (((( (x(((( p )h()0)8)H) H `) x)))) ) )))) *( * *(*8* P*h*p*x** ` * **** 8 * +++(+  @+8 X+`+h+x+ + ++++ + +,,, x 0,H,P,X,h, P , ,,,, ( , ,,,- - 8-@-H-X- p----- ----- .x(.0.8.H. @`.hx.... ..... // /(/8/ P/hh/p/x// h/x//// 0/h000(0 @0X0`0h0x0 00000 00111 X01xH1P1X1h1 1h1111 11112 H 282@2H2X2 p22222 2x2222 3h(30383H3 `3x3333 p303333 4H4 4(484 P40h4p4x44 `4H4444 84H 555(5 @5X X5`5h5x5 5H 5555 5X 5666 06H H6P6X6h6 P6X 6666 (6H 6667  7X 87@7H7X7 xp7x7777 777770E7 8(80888H8 x`8x88880E8 P88888 (99 9(989 P9h9p9x990E9 9 9999 98::: : E(: @:PX:`:h:p: Ex: `:h::::0D: 8:x:;;;0D; 0;H;P;X;`;0Dh; ;;;;;D; ;;;;<D<  <8<@<H<P<DX< pp<<<<<D< H<<<<<D< =(=0=8=@=DH= `=(x====D= =@====D= >X> >(>0>D8> P>ph>p>x>>D> X>>>>> 0>???(? @?X?`?h?x? ?????E? ??@@@ 0@H@P@X@`@Eh@ h@@@@@ @@0@@@AEA  AH8A@AHAPADXA pAXAAAABAxAAAACB(B0B8BHBC`BxBBBBpCBBBBBCCCC C(C0C8C@CHCPCXC`C hC(CDCDCDCDD0D8 D@(DXxHp(8HX.symtab.strtab.shstrtab.note.gnu.build-id.note.Linux.rela.text.rela.init.text.rela.exit.text.rela__ksymtab_gpl__kcrctab_gpl.rela__bug_table.rela__jump_table.rela__patchable_function_entries.rela.data.rela.exit.data.rela.init.data.rela__dyndbg.rela.gnu.linkonce.this_module.init.plt.text.ftrace_trampoline.rela.rodata.rela.export_symbol.rodata.str1.8.rodata.str.modinfo__ksymtab_strings__versions.bss.note.GNU-stack.comment@$.d0?(:@H8++J0)4E@?x+Zh)U@?H+j)He@@@+ x)) @A0+ )@ B++@FH+ ,@0J +D@PK+D@hK+ D@K+ G@@Q0+(L#L-LJLHE@Q+W(`R@+!f2u292ڬ0^`0, `#0