TLV320AIC32x4 evaluation board with TX2

Jon,

The code that you’ve depicted is the same as I have, though I have modified the file. The file is attached for more inspection.
BTW, when I run the i2cdetect the letters UU are displayed under address 0x18 - AFAIK, this means that the component is being used.

Thanks.
tegra_t186ref_mobile_rt565x.c (33.6 KB)

Hi Igal,

Can you add a print to confirm the actual return value of tegra_t186ref_driver_probe()? I don’t see where this -16 is coming from.

Jon

Jon,
This are the prints out:

[    3.686138] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[    3.686175] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[    3.687067] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[    3.687071] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[    3.687729] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[    3.688405] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI tlv320aic32x4-hifi not registered
[    3.688407] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)

and after a while…

[    3.727406] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[    3.727435] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[    3.728347] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register -16
[    3.728362] tegra-snd-t186ref-mobile-rt565x: probe of sound failed with error -16

Found the notorious function from tegra_asoc_utils_alt.c:

#ifdef CONFIG_SWITCH
int tegra_alt_asoc_switch_register(struct switch_dev *sdev)
{
	int ret;
	if (is_switch_registered)
		return -EBUSY;
	ret = switch_dev_register(sdev);
	if (ret >= 0)
		is_switch_registered = true;
	return ret;
}

makes any sense? I do not know where the global variable is_switch_registered supposed to be initialized.
should the CONFIG_SWITCH be defined? I can see from the kernel configuration that this definition is responsible for enabling switch class support, which allows monitoring switches by userspace by sysfs an uevent
BTW, I tried to remove this definition from the kernel configuration but it looks like the kernel code is too dependent on this definition (CONFIG_SWITCH) because a lot of errors popped-up during kernel compilation that required variables part of this definition.

What really puzzles is the fact that if the function switch_dev_register is successful then the next time the function tegra_alt_asoc_switch_register is invoked an EBUSY is replied. So I have allowed myself (just for the test) to modify the function and return 0 insted of EBUSY.

and then I got the following:

[   13.491156] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[   13.491186] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[   13.492062] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[   13.492066] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[   13.492520] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[   13.493231] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI tlv320aic32x4-hifi not registered
[   13.493233] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
[   13.496070] tlv320aic32x4 1-0018: Failed getting the mclk.
[   13.496247] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[   13.496276] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[   13.497282] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[   13.497286] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[   13.498112] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[   13.640164] dhd_module_init in
[   13.640194] tegra_net_perf_init: cannot get wifi sclk
[   13.640268] found wifi platform device bcmdhd_wlan
[   13.641422] gpio tegra-gpio-aon wake69 for gpio=59(FF:3)
[   13.641430] wifi_platform_get_country_code_map: could not get country_code_map
[   13.641431] wifi_plat_dev_drv_probe:platform country code map is not available
[   13.641441] Power-up adapter 'DHD generic adapter'
[   13.641446] wifi_platform_set_power = 1
[   13.711751] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.711755] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 10 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.711793] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.711795] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 20 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.711827] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.711829] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 40 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.718766] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.718769] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 10 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.718800] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.718802] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 20 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.718829] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.718831] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 40 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.727559] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF1 <-> ADMAIF1 mapping ok
[   13.727639] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF2 <-> ADMAIF2 mapping ok
[   13.727720] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF3 <-> ADMAIF3 mapping ok
[   13.727795] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF4 <-> ADMAIF4 mapping ok
[   13.727870] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF5 <-> ADMAIF5 mapping ok
[   13.727951] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF6 <-> ADMAIF6 mapping ok
[   13.728028] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF7 <-> ADMAIF7 mapping ok
[   13.728107] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF8 <-> ADMAIF8 mapping ok
[   13.728182] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF9 <-> ADMAIF9 mapping ok
[   13.728261] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF10 <-> ADMAIF10 mapping ok
[   13.728336] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF11 <-> ADMAIF11 mapping ok
[   13.728410] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF12 <-> ADMAIF12 mapping ok
[   13.728486] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF13 <-> ADMAIF13 mapping ok
[   13.728555] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF14 <-> ADMAIF14 mapping ok
[   13.728627] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF15 <-> ADMAIF15 mapping ok
[   13.728700] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF16 <-> ADMAIF16 mapping ok
[   13.728777] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF17 <-> ADMAIF17 mapping ok
[   13.728851] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF18 <-> ADMAIF18 mapping ok
[   13.728925] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF19 <-> ADMAIF19 mapping ok
[   13.728995] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF20 <-> ADMAIF20 mapping ok
[   13.732113] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE1 <-> ADSP PCM1 mapping ok
[   13.732200] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE2 <-> ADSP PCM2 mapping ok
[   13.732228] compress asoc: ADSP-FE3 <-> ADSP COMPR1 mapping ok
[   13.732249] compress asoc: ADSP-FE4 <-> ADSP COMPR2 mapping ok
<b>[   13.777259] sysfs: cannot create duplicate filename '/devices/sound/I2S1 CIF'</b>
[   13.777268] ------------[ cut here ]------------
[   13.777270] WARNING: at ffffffc000239c54 [verbose debug info unavailable]
[   13.777277] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.777278]
[   13.777282] CPU: 4 PID: 55 Comm: kworker/u12:1 Tainted: G           O    4.4.38-DTRE-v0.1 #15
[   13.777283] Hardware name: quill (DT)
[   13.777291] Workqueue: deferwq deferred_probe_work_func
[   13.777293] task: ffffffc1ec2ea580 ti: ffffffc1eb6dc000 task.ti: ffffffc1eb6dc000
[   13.777298] PC is at sysfs_warn_dup+0x5c/0x80
[   13.777299] LR is at sysfs_warn_dup+0x5c/0x80
[   13.777301] pc : [<ffffffc000239c54>] lr : [<ffffffc000239c54>] pstate: 80000045
[   13.777302] sp : ffffffc1eb6df840
[   13.777304] x29: ffffffc1eb6df840 x28: ffffffc1e334a958
[   13.777306] x27: ffffffc1e30f8000 x26: ffffffc000964db0
[   13.777308] x25: 00000000000070e0 x24: ffffffc1e5ce1400
[   13.777309] x23: ffffffc00137df38 x22: ffffffc1ebb3d810
[   13.777311] x21: ffffffc1ebb29a50 x20: ffffffc1df3f3800
[   13.777313] x19: ffffffc1e30d9000 x18: 0000000000020000
[   13.777314] x17: 0000000000000004 x16: ffffffc000b5a618
[   13.777316] x15: ffffffc0012481e8 x14: ffffffc00140b7da
[   13.777317] x13: ffffffc001248000 x12: ffffffc0013e8000
[   13.777319] x11: 0000000000000000 x10: 0000000000000000
[   13.777321] x9 : 000000000000c620 x8 : ffffffc0013fd1d3
[   13.777322] x7 : 0000000000000000 x6 : 000000001247ffe4
[   13.777324] x5 : 0000000000000015 x4 : 0000000000000000
[   13.777325] x3 : 0000000000000040 x2 : ffffffc1eb6dc000
[   13.777327] x1 : 0000000000000000 x0 : 0000000000000041
[   13.777327]
[   13.777328] ---[ end trace 52ec25eaeddb4cc6 ]---
[   13.777329] Call trace:
[   13.777332] [<ffffffc000239c54>] sysfs_warn_dup+0x5c/0x80
[   13.777334] [<ffffffc000239d8c>] sysfs_create_dir_ns+0x9c/0xb0
[   13.777338] [<ffffffc000323d50>] kobject_add_internal+0xa0/0x300
[   13.777340] [<ffffffc000324034>] kobject_add+0x84/0xd0
[   13.777342] [<ffffffc000563af4>] device_add+0xd4/0x580
[   13.777346] [<ffffffc00096828c>] soc_post_component_init+0xcc/0x120
[   13.777348] [<ffffffc00096b1c8>] snd_soc_instantiate_card+0x5e0/0xba8
[   13.777350] [<ffffffc00096bb18>] snd_soc_register_card+0x388/0x480
[   13.777353] [<ffffffc0009986f0>] tegra_t186ref_driver_probe+0x448/0x5a8
[   13.777356] [<ffffffc0005695f8>] platform_drv_probe+0x50/0xb8
[   13.777358] [<ffffffc0005670f4>] driver_probe_device+0xcc/0x428
[   13.777359] [<ffffffc000567580>] __device_attach_driver+0x90/0xd8
[   13.777361] [<ffffffc0005650d0>] bus_for_each_drv+0x58/0x98
[   13.777363] [<ffffffc000566eec>] __device_attach+0xc4/0x170
[   13.777365] [<ffffffc000567618>] device_initial_probe+0x10/0x18
[   13.777366] [<ffffffc00056620c>] bus_probe_device+0x94/0xa0
[   13.777368] [<ffffffc000566738>] deferred_probe_work_func+0x50/0xe0
[   13.777371] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.777372] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.777374] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.777377] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.777380] kobject_add_internal failed for I2S1 CIF with -EEXIST, don't try to register things with the same name in the same directory.

any ideas?

Hi Igal,

Thanks. I see what is happening now. The first attempt to probe fails because the codec is missing, and the next attempt then fails because the switch has not been unregistered correctly. I was able to reproduce this and verify that this is a bug in the driver. Please can you try the following fix and see if the probe is unable to complete once the codec is registered?

diff --git a/sound/soc/tegra-alt/tegra_t186ref_mobile_rt565x.c b/sound/soc/tegra-alt/tegra_t186ref_mobile_rt565x.c
index 18ff6a7418fe..533f76fb4405 100644
--- a/sound/soc/tegra-alt/tegra_t186ref_mobile_rt565x.c
+++ b/sound/soc/tegra-alt/tegra_t186ref_mobile_rt565x.c
@@ -1101,7 +1101,7 @@ static int tegra_t186ref_driver_probe(struct platform_device *pdev)
                                        &pdev->dev,
                                        card);
        if (ret)
-               goto err_alloc_dai_link;
+               goto err_switch_unregister;
 
        ret = snd_soc_register_card(card);
        if (ret) {
@@ -1135,6 +1135,10 @@ static int tegra_t186ref_driver_probe(struct platform_device *pdev)
 
 err_fini_utils:
        tegra_alt_asoc_utils_fini(&machine->audio_clock);
+err_switch_unregister:
+#ifdef CONFIG_SWITCH
+       tegra_alt_asoc_switch_unregister(&tegra_t186ref_headset_switch);
+#endif
 err_alloc_dai_link:
        tegra_machine_remove_dai_link();
        tegra_machine_remove_codec_conf();

Cheers
Jon

Jon,

After a few retries to activate the sound card, it was eventually initialized and the sound card could start initialization. Though eventually it crashed. Here is the log upon the modification, any ideas?

[    3.655106] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[    3.655136] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[    3.656001] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[    3.656007] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[    3.656877] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[    3.657541] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI tlv320aic32x4-hifi not registered
[    3.657543] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
....
[    3.695919] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[    3.695952] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[    3.696870] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[    3.696874] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[    3.697323] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[    3.698078] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI tlv320aic32x4-hifi not registered
[    3.698080] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
....
[    3.699208] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[    3.699237] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[    3.700190] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[    3.700193] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[    3.700633] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[    3.701343] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI tlv320aic32x4-hifi not registered
[    3.701346] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
....
[    3.776588] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[    3.776618] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[    3.777520] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[    3.777524] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[    3.777958] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[    3.778642] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI tlv320aic32x4-hifi not registered
[    3.778645] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
....
[   12.849623] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[   12.849653] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[   12.850637] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[   12.850642] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[   12.851158] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[   12.851875] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI tlv320aic32x4-hifi not registered
[   12.851877] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
....
[   13.404270] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[   13.404300] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[   13.405370] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[   13.405374] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[   13.405857] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[   13.406607] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI tlv320aic32x4-hifi not registered
[   13.406609] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
....
[   13.410734] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[   13.410763] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[   13.411860] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[   13.411865] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[   13.412369] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[   13.416758] spi-tegra114 3240000.spi: Setting clk_src clk_m
[   13.418946] spi-tegra114 3240000.spi: The def 0x40408000 and written 0x40600807
[   13.419895] spi-tegra114 3240000.spi: The def 0x40408000 and written 0x40600807
[   13.420538] spi-tegra114 3240000.spi: The def 0x40408000 and written 0x40600807
[   13.421520] spi-tegra114 3240000.spi: The def 0x40408000 and written 0x40600807
[   13.591606] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.591609] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 10 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.591639] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.591640] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 20 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.591664] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.591666] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 40 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.597958] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.597961] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 10 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.597990] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.597992] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 20 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.598018] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.598020] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 40 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.604037] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF1 <-> ADMAIF1 mapping ok
[   13.604127] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF2 <-> ADMAIF2 mapping ok
[   13.604211] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF3 <-> ADMAIF3 mapping ok
[   13.604299] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF4 <-> ADMAIF4 mapping ok
[   13.604376] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF5 <-> ADMAIF5 mapping ok
[   13.604454] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF6 <-> ADMAIF6 mapping ok
[   13.604541] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF7 <-> ADMAIF7 mapping ok
[   13.604616] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF8 <-> ADMAIF8 mapping ok
[   13.604748] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF9 <-> ADMAIF9 mapping ok
[   13.604820] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF10 <-> ADMAIF10 mapping ok
[   13.604890] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF11 <-> ADMAIF11 mapping ok
[   13.604959] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF12 <-> ADMAIF12 mapping ok
[   13.605032] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF13 <-> ADMAIF13 mapping ok
[   13.605098] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF14 <-> ADMAIF14 mapping ok
[   13.605168] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF15 <-> ADMAIF15 mapping ok
[   13.605237] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF16 <-> ADMAIF16 mapping ok
[   13.605315] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF17 <-> ADMAIF17 mapping ok
[   13.605384] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF18 <-> ADMAIF18 mapping ok
[   13.605454] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF19 <-> ADMAIF19 mapping ok
[   13.605529] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF20 <-> ADMAIF20 mapping ok
[   13.609570] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE1 <-> ADSP PCM1 mapping ok
[   13.609645] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE2 <-> ADSP PCM2 mapping ok
[   13.609669] compress asoc: ADSP-FE3 <-> ADSP COMPR1 mapping ok
[   13.609692] compress asoc: ADSP-FE4 <-> ADSP COMPR2 mapping ok
[   13.635409] sysfs: cannot create duplicate filename '/devices/sound/I2S1 CIF'
[   13.635427] ------------[ cut here ]------------
[   13.635430] WARNING: at ffffffc000239c54 [verbose debug info unavailable]
[   13.635441] Modules linked in: bcmdhd(+) hi8435rada(O) tlv320aic32x4(O) pci_tegra bluedroid_pm
[   13.635443]
[   13.635451] CPU: 1 PID: 55 Comm: kworker/u12:1 Tainted: G           O    4.4.38-DTRE-v0.1 #18
[   13.635453] Hardware name: quill (DT)
[   13.635467] Workqueue: deferwq deferred_probe_work_func
[   13.635469] task: ffffffc1ec2e8c80 ti: ffffffc1eb72c000 task.ti: ffffffc1eb72c000
[   13.635476] PC is at sysfs_warn_dup+0x5c/0x80
[   13.635479] LR is at sysfs_warn_dup+0x5c/0x80
[   13.635481] pc : [<ffffffc000239c54>] lr : [<ffffffc000239c54>] pstate: 80000045
[   13.635482] sp : ffffffc1eb72f840
[   13.635488] x29: ffffffc1eb72f840 x28: ffffffc07b2ca958
[   13.635492] x27: ffffffc1e36b0000 x26: ffffffc000964db0
[   13.635495] x25: 00000000000070e0 x24: ffffffc1e6351c00
[   13.635498] x23: ffffffc00137df38 x22: ffffffc1ebb3d810
[   13.635502] x21: ffffffc1ebb29a50 x20: ffffffc0703d6980
[   13.635505] x19: ffffffc1e353d000 x18: 0000000000020000
[   13.635508] x17: 0000000000000002 x16: ffffffc000b5a618
[   13.635511] x15: ffffffc0012481e8 x14: ffffffc00140b7da
[   13.635514] x13: ffffffc001248000 x12: ffffffc0013e8000
[   13.635518] x11: 0000000000000000 x10: 0000000000000000
[   13.635521] x9 : 000000000000cf84 x8 : ffffffc0013fc86f
[   13.635524] x7 : 0000000000000000 x6 : 000000001247ac17
[   13.635527] x5 : 0000000000000015 x4 : 0000000000000000
[   13.635530] x3 : 0000000000000040 x2 : ffffffc1eb72c000
[   13.635533] x1 : 0000000000000000 x0 : 0000000000000041
[   13.635534]
[   13.635536] ---[ end trace 09838e280bf548bf ]---
[   13.635537] Call trace:
[   13.635541] [<ffffffc000239c54>] sysfs_warn_dup+0x5c/0x80
[   13.635544] [<ffffffc000239d8c>] sysfs_create_dir_ns+0x9c/0xb0
[   13.635551] [<ffffffc000323d50>] kobject_add_internal+0xa0/0x300
[   13.635554] [<ffffffc000324034>] kobject_add+0x84/0xd0
[   13.635559] [<ffffffc000563af4>] device_add+0xd4/0x580
[   13.635565] [<ffffffc00096828c>] soc_post_component_init+0xcc/0x120
[   13.635568] [<ffffffc00096b1c8>] snd_soc_instantiate_card+0x5e0/0xba8
[   13.635571] [<ffffffc00096bb18>] snd_soc_register_card+0x388/0x480
[   13.635576] [<ffffffc0009986ac>] tegra_t186ref_driver_probe+0x40c/0x5a8
[   13.635580] [<ffffffc0005695f8>] platform_drv_probe+0x50/0xb8
[   13.635583] [<ffffffc0005670f4>] driver_probe_device+0xcc/0x428
[   13.635586] [<ffffffc000567580>] __device_attach_driver+0x90/0xd8
[   13.635589] [<ffffffc0005650d0>] bus_for_each_drv+0x58/0x98
[   13.635592] [<ffffffc000566eec>] __device_attach+0xc4/0x170
[   13.635595] [<ffffffc000567618>] device_initial_probe+0x10/0x18
[   13.635598] [<ffffffc00056620c>] bus_probe_device+0x94/0xa0
[   13.635601] [<ffffffc000566738>] deferred_probe_work_func+0x50/0xe0
[   13.635605] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.635607] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.635611] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.635616] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.635620] kobject_add_internal failed for I2S1 CIF with -EEXIST, don't try to register things with the same name in the same directory.
....

Hi Igal,

I tried to reproduce the crash by deferring the codec probe 10 times on my setup, but I was not able to see any crash.

[    5.197210] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI rt5659-aif1 not registered
[    5.197213] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
...
[    5.249854] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI rt5659-aif1 not registered
[    5.249856] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
...
[    5.253192] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI rt5659-aif1 not registered
[    5.253195] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
...
[    5.330941] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI rt5659-aif1 not registered
[    5.330944] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
...
[    9.210845] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI rt5659-aif1 not registered
[    9.210848] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
...
[    9.767845] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI rt5659-aif1 not registered
[    9.767848] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
...
[   10.168200] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI rt5659-aif1 not registered
[   10.168204] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
...
[   10.184457] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI rt5659-aif1 not registered
[   10.184461] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
...
[   10.478226] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI rt5659-aif1 not registered
[   10.478229] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
...
[   10.872983] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI rt5659-aif1 not registered
[   10.872986] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
...
[   12.895253] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF1 <-> ADMAIF1 mapping ok
[   12.902935] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF2 <-> ADMAIF2 mapping ok
[   12.910587] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF3 <-> ADMAIF3 mapping ok
[   12.918202] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF4 <-> ADMAIF4 mapping ok
[   12.925817] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF5 <-> ADMAIF5 mapping ok
[   12.933419] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF6 <-> ADMAIF6 mapping ok
[   12.941766] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF7 <-> ADMAIF7 mapping ok
[   12.950285] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF8 <-> ADMAIF8 mapping ok
[   12.958149] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF9 <-> ADMAIF9 mapping ok
[   12.965884] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF10 <-> ADMAIF10 mapping ok
[   12.973805] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF11 <-> ADMAIF11 mapping ok
[   12.981739] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF12 <-> ADMAIF12 mapping ok
[   12.989644] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF13 <-> ADMAIF13 mapping ok
[   12.997510] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF14 <-> ADMAIF14 mapping ok
[   13.005359] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF15 <-> ADMAIF15 mapping ok
[   13.013193] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF16 <-> ADMAIF16 mapping ok
[   13.021032] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF17 <-> ADMAIF17 mapping ok
[   13.028865] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF18 <-> ADMAIF18 mapping ok
[   13.036697] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF19 <-> ADMAIF19 mapping ok
[   13.044524] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF20 <-> ADMAIF20 mapping ok
[   13.056776] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE1 <-> ADSP PCM1 mapping ok
[   13.064713] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE2 <-> ADSP PCM2 mapping ok
[   13.145975] input: tegra-snd-t186ref-mobile-rt565x Headphone Jack as /devices/sound/sound/card1/input3
[   13.158714] tegra-snd-t186ref-mobile-rt565x sound: codec-dai "rt5659-aif1" registered

Can you attach the complete bootlog or output from dmesg? Also can you share the changes you have made to the device-tree files?

Thanks
Jon

Jon,

I have attached the log and the DT file which was updated.

Thanks.
tegra186-quill-p3310-1000-c03-00-base.log (6.23 KB)
log.txt (79 KB)

Hi Igal,

I think that the problem is that you have two links where both have the cpu-dai as I2S1 …

nvidia,dai-link-1 {
            link-name = "ti-capture-z";
            cpu-dai = <&tegra_i2s1>;
            codec-dai = <&aic32x4>;
            cpu-dai-name = "I2S1";
            codec-dai-name = "tlv320aic32x4-hifi";
         	tx-mask = <0xFF>;
          	rx-mask = <0xFF>;            
            format = "i2s";
            bitclock-slave;
            frame-slave;
            bitclock-noninversion;
            frame-noninversion;
            bit-format = "s16_le";
            bclk_ratio = <0>;
            srate = <48000>;
            num-channel = <2>;
            ignore_suspend;
            name-prefix = "z";
        };
        
		nvidia,dai-link-2 {
			link-name = "ti-playback-x";
			cpu-dai = <&tegra_i2s1>;
     		codec-dai = <&aic32x4>;
          	cpu-dai-name = "I2S1";
         	codec-dai-name = "tlv320aic32x4-hifi";
         	tx-mask = <0xFF>;
          	rx-mask = <0xFF>;
         	format = "i2s";
          	bitclock-slave;
         	frame-slave;
         	bitclock-noninversion;
         	frame-noninversion;
         	bit-format = "s16_le";
         	bclk_ratio = <0>;
         	srate = <48000>;
         	num-channel = <2>;
        	ignore_suspend;
            name-prefix = "x";
		};
	};

There should only be one link for each I2S interface. Can you elaborate on what you are trying to do here?

Cheers
Jon

Jon,
I am connecting physically the I2S interface of the tlv320aic32x4 to the J21 connector - specifically to the following pins:

  1. I2S0_LRCLK
  2. I2S0_SDIN
  3. I2S0_SDOUT
  4. I2S0_SCLK
  5. AUDIO_MCLK

So I though, because the I2S is indexed 0 the input and the output interfaces are the same thus I used:

cpu-dai = <&tegra_i2s1>;
cpu-dai-name = "I2S1";

Should I modify it?

So that is correct, I2S0 on J21 is I2S1 from a DT perspective. However, you cannot have more than one dai-link in your device-tree file for I2S1. So I am trying to understand what ‘nvidia,dai-link-1’ and ‘nvidia,dai-link-2’ are supposed to represent in your device-tree file. If you remove ‘nvidia,dai-link-2’ I think this will avoid the crash/warning.

Jon

Jon,

I need one channel for record and another for playback:

nvidia,dai-<b>link-1</b> {
link-name = "ti-<b>capture</b>-z";
...
name-prefix = "z";
};
nvidia,dai-<b>link-2</b> {
link-name = "ti-<b>playback</b>-x";
...
name-prefix = "x";
};

I guess I don’t understand it thoroughly.

Ah I see! So the same dai-link can be used for playback and capture. The example is poorly named in this respect as we use it for playback and capture. So drop one of the dai-links that you have.

Jon

Jon,

it continues the initialization and crashes in the following function aic32x4_set_bias_level when it tries to

snd_soc_update_bits(codec, AIC32X4_BCLKN, AIC32X4_BCLKEN, 0);

does it try to access the codec via I2C and fails?

hereafter is the log and the source file of tlv320aic32x4.c is attached:

[   13.295292] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[   13.295321] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[   13.296426] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[   13.296431] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[   13.302164] PCIE: tegra_pcie_enable_regulators(1564)
[   13.302169] tegra-pcie 10003000.pcie-controller: PCIE: Enable power rails
[   13.302223] PCIE: tegra_pcie_power_on(1820)
[   13.302226] PCIE: tegra_pcie_module_power_ungate(1731)
[   13.302227] PCIE: tegra_pcie_enable_regulators(1564)
[   13.307847] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[   13.307946] PCIE: tegra_pcie_restore_device(1772)
[   13.307948] PCIE: tegra_pcie_map_resources(1609)
[   13.307991] PCIE: tegra_pcie_enable_pads(1453)
[   13.308622] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI tlv320aic32x4-hifi not registered
[   13.308626] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
[   13.316549] PCIE: tegra_pcie_enable_controller(1496)
[   13.316583] PCIE: tegra_pcie_enable_msi(3042)
[   13.323016] PCIE: tegra_pcie_check_ports(2487)
[   13.323021] tegra-pcie 10003000.pcie-controller: probing port 0, using 4 lanes
[   13.323022] PCIE: tegra_pcie_port_enable(2019)
[   13.323024] PCIE: tegra_pcie_port_reset(1990)
[   13.323302] xhci-tegra 3530000.xhci: cannot find firmware....retry after 1 second
[   13.325042] PCIE: tegra_pcie_enable_rp_features(2358)
[   13.325054] PCIE: tegra_pcie_enable_aer(1104)
[   13.325062] PCIE: tegra_pcie_apply_sw_war(2200)
[   13.325218] PCIE: tegra_pcie_prsnt_map_override(1162)
[   13.325222] tegra-pcie 10003000.pcie-controller: probing port 2, using 1 lanes
[   13.325223] PCIE: tegra_pcie_port_enable(2019)
[   13.325225] PCIE: tegra_pcie_port_reset(1990)
[   13.327055] PCIE: tegra_pcie_enable_rp_features(2358)
[   13.327067] PCIE: tegra_pcie_enable_aer(1104)
[   13.327073] PCIE: tegra_pcie_apply_sw_war(2200)
[   13.327177] PCIE: tegra_pcie_prsnt_map_override(1162)
[   13.442295] hi8435rada spi3.0: hi-8435 we are here.  check the device
[   13.442393] hi8435rada spi3.0: Add device: hi8435rada0
[   13.462662] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[   13.462690] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[   13.462774] spi-tegra114 3240000.spi: Setting clk_src clk_m
[   13.463475] spi-tegra114 3240000.spi: The def 0x40408000 and written 0x40600807
[   13.463783] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[   13.463789] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[   13.463821] spi-tegra114 3240000.spi: The def 0x40408000 and written 0x40600807
[   13.463903] spi-tegra114 3240000.spi: The def 0x40408000 and written 0x40600807
[   13.464068] spi-tegra114 3240000.spi: The def 0x40408000 and written 0x40600807
[   13.464331] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[   13.627819] dhd_module_init in
[   13.627856] tegra_net_perf_init: cannot get wifi sclk
[   13.627916] found wifi platform device bcmdhd_wlan
[   13.629413] gpio tegra-gpio-aon wake69 for gpio=59(FF:3)
[   13.629423] wifi_platform_get_country_code_map: could not get country_code_map
[   13.629425] wifi_plat_dev_drv_probe:platform country code map is not available
[   13.629441] Power-up adapter 'DHD generic adapter'
[   13.629447] wifi_platform_set_power = 1
[   13.632021] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.632025] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 10 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.632063] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.632065] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 20 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.632100] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.632102] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 40 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.642305] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.642308] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 10 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.642346] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.642348] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 20 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.642377] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.642379] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 40 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.649570] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF1 <-> ADMAIF1 mapping ok
[   13.649651] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF2 <-> ADMAIF2 mapping ok
[   13.649727] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF3 <-> ADMAIF3 mapping ok
[   13.649806] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF4 <-> ADMAIF4 mapping ok
[   13.649881] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF5 <-> ADMAIF5 mapping ok
[   13.649951] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF6 <-> ADMAIF6 mapping ok
[   13.650022] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF7 <-> ADMAIF7 mapping ok
[   13.650094] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF8 <-> ADMAIF8 mapping ok
[   13.650176] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF9 <-> ADMAIF9 mapping ok
[   13.650253] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF10 <-> ADMAIF10 mapping ok
[   13.650326] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF11 <-> ADMAIF11 mapping ok
[   13.650401] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF12 <-> ADMAIF12 mapping ok
[   13.650470] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF13 <-> ADMAIF13 mapping ok
[   13.650539] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF14 <-> ADMAIF14 mapping ok
[   13.650615] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF15 <-> ADMAIF15 mapping ok
[   13.650689] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF16 <-> ADMAIF16 mapping ok
[   13.650759] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF17 <-> ADMAIF17 mapping ok
[   13.650863] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF18 <-> ADMAIF18 mapping ok
[   13.650940] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF19 <-> ADMAIF19 mapping ok
[   13.651018] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF20 <-> ADMAIF20 mapping ok
[   13.654032] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE1 <-> ADSP PCM1 mapping ok
[   13.654109] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE2 <-> ADSP PCM2 mapping ok
[   13.654133] compress asoc: ADSP-FE3 <-> ADSP COMPR1 mapping ok
[   13.654156] compress asoc: ADSP-FE4 <-> ADSP COMPR2 mapping ok
[   13.704536] tegra-snd-t186ref-mobile-rt565x sound: ASoC: no source widget found for x OUT
[   13.704539] tegra-snd-t186ref-mobile-rt565x sound: ASoC: Failed to add route x OUT -> direct -> x Headphone
[   13.704617] tegra-snd-t186ref-mobile-rt565x sound: ASoC: no sink widget found for x IN
[   13.704619] tegra-snd-t186ref-mobile-rt565x sound: ASoC: Failed to add route x Mic -> direct -> x IN
[   13.782843] tegra-pcie 10003000.pcie-controller: link 0 down, retrying
[   13.782846] PCIE: tegra_pcie_port_reset(1990)
[   13.806568] tlv320aic32x4 1-0018: ASoC: mux z CM_R to Right Mixer Negative Resistor has no paths
[   13.808688] tlv320aic32x4 1-0018: ASoC: mux z CM_L to Left Mixer Negative Resistor has no paths
[   13.820464] tlv320aic32x4 1-0018: <b>AIC32X4_BCLKN</b>
[   13.822490] ------------[ cut here ]------------
[   13.822493] WARNING: at ffffffc00089a1e0 [verbose debug info unavailable]
[   13.822501] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.822502]
[   13.822507] CPU: 0 PID: 149 Comm: kworker/u12:3 Tainted: G           O    4.4.38-DTRE-v0.1 #21
[   13.822508] Hardware name: quill (DT)
[   13.822517] Workqueue: events_unbound async_run_entry_fn
[   13.822518] task: ffffffc1ea9dd780 ti: ffffffc1e60ec000 task.ti: ffffffc1e60ec000
[   13.822523] PC is at clk_core_disable+0xb0/0x1e8
[   13.822525] LR is at clk_disable+0x2c/0x48
[   13.822527] pc : [<ffffffc00089a1e0>] lr : [<ffffffc00089a60c>] pstate: 800000c5
[   13.822527] sp : ffffffc1e60efc80
[   13.822530] x29: ffffffc1e60efc80 x28: ffffffc1ecc152e0
[   13.822532] x27: ffffffc00122e000 x26: ffffffc0013ab000
[   13.822534] x25: 0000000000000000 x24: ffffffc0013ab31b
[   13.822536] x23: ffffffc1e5b15118 x22: 0000000000000000
[   13.822538] x21: ffffffc1e3068b98 x20: 0000000000000040
[   13.822539] x19: ffffffc1e3068a00 x18: 0000000000000a03
[   13.822541] x17: 000000558ffb9438 x16: 00000048201173f8
[   13.822542] x15: 000000000000000c x14: 0000000000000000
[   13.822544] x13: 00000000000002db x12: 0000000000365199
[   13.822546] x11: 00000000000faf45 x10: 0000000000000400
[   13.822547] x9 : 0000000000000400 x8 : 00000000000002f0
[   13.822549] x7 : ffffffc1f5cf9598 x6 : ffffffc1eb86e060
[   13.822550] x5 : 0000000000000000 x4 : ffffffc1ea9dd780
[   13.822552] x3 : 0000000000000000 x2 : 000000000f900f8f
[   13.822554] x1 : 0000000000000000 x0 : ffffffc059338c00
[   13.822554]
[   13.822555] ---[ end trace b7bb9e82a2b09324 ]---
[   13.822556] Call trace:
[   13.822559] [<ffffffc00089a1e0>] <b>clk_core_disable</b>+0xb0/0x1e8
[   13.822569] [<ffffffbffc0306e0>] <b>aic32x4_set_bias_level</b>+0x100/0x2b0 [tlv320aic32x4]
[   13.822574] [<ffffffc00096516c>] snd_soc_codec_set_bias_level+0x1c/0x28
[   13.822577] [<ffffffc00096c458>] snd_soc_dapm_set_bias_level+0x1e8/0x228
[   13.822580] [<ffffffc00096e434>] dapm_pre_sequence_async+0x3c/0xd0
[   13.822582] [<ffffffc0000c46d8>] async_run_entry_fn+0x40/0x168
[   13.822584] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.822585] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.822588] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.822591] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.822602] ------------[ cut here ]------------
[   13.822603] WARNING: at ffffffc0008995e0 [verbose debug info unavailable]
[   13.822608] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.822608]
[   13.822610] CPU: 0 PID: 149 Comm: kworker/u12:3 Tainted: G        W  O    4.4.38-DTRE-v0.1 #21
[   13.822611] Hardware name: quill (DT)
[   13.822614] Workqueue: events_unbound async_run_entry_fn
[   13.822615] task: ffffffc1ea9dd780 ti: ffffffc1e60ec000 task.ti: ffffffc1e60ec000
[   13.822617] PC is at clk_core_unprepare+0x90/0x1b0
[   13.822619] LR is at clk_unprepare+0x28/0x40
[   13.822620] pc : [<ffffffc0008995e0>] lr : [<ffffffc000899930>] pstate: 60000045
[   13.822621] sp : ffffffc1e60efc80
[   13.822623] x29: ffffffc1e60efc80 x28: ffffffc1ecc152e0
[   13.822625] x27: ffffffc00122e000 x26: ffffffc0013ab000
[   13.822627] x25: 0000000000000000 x24: ffffffc0013ab31b
[   13.822628] x23: ffffffc1e5b15118 x22: 0000000000000000
[   13.822630] x21: ffffffc1e3068b98 x20: 0000000000000000
[   13.822631] x19: ffffffc1e3068a00 x18: 0000000000000a03
[   13.822633] x17: 000000558ffb9438 x16: 00000048201173f8
[   13.822634] x15: 000000000000000c x14: 0000000000000000
[   13.822636] x13: 00000000000002db x12: 0000000000365199
[   13.822638] x11: 00000000000faf45 x10: 0000000000000400
[   13.822639] x9 : 0000000000000400 x8 : 00000000000002f0
[   13.822641] x7 : ffffffc1f5cf9598 x6 : ffffffc1eb86e060
[   13.822642] x5 : 0000000000000000 x4 : ffffffc001472000
[   13.822644] x3 : 0000000000000000 x2 : 0000000000000000
[   13.822646] x1 : 0000000000000001 x0 : ffffffc059338c00
[   13.822646]
[   13.822647] ---[ end trace b7bb9e82a2b09325 ]---
[   13.822648] Call trace:
[   13.822650] [<ffffffc0008995e0>] clk_core_unprepare+0x90/0x1b0
[   13.822654] [<ffffffbffc0306e8>] aic32x4_set_bias_level+0x108/0x2b0 [tlv320aic32x4]
[   13.822657] [<ffffffc00096516c>] snd_soc_codec_set_bias_level+0x1c/0x28
[   13.822659] [<ffffffc00096c458>] snd_soc_dapm_set_bias_level+0x1e8/0x228
[   13.822661] [<ffffffc00096e434>] dapm_pre_sequence_async+0x3c/0xd0
[   13.822663] [<ffffffc0000c46d8>] async_run_entry_fn+0x40/0x168
[   13.822664] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.822665] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.822667] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.822669] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.830760] input: tegra-snd-t186ref-mobile-rt565x Headphone Jack as /devices/sound/sound/card1/input3
[   13.831289] tegra-snd-t186ref-mobile-rt565x sound: GOSHA 3 - -22*************************
[   13.831291] tegra-snd-t186ref-mobile-rt565x sound: codec link not defined - codec not part of sound card
[   13.831298] Unable to handle kernel NULL pointer dereference at virtual address 00000068
[   13.831299] pgd = ffffffc00148f000
[   13.831303] [00000068] *pgd=000000026cdd6003, *pud=000000026cdd6003, *pmd=000000026cdd7003, *pte=00e8000003881707
[   13.831306] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[   13.831313] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.831317] CPU: 4 PID: 55 Comm: kworker/u12:1 Tainted: G        W  O    4.4.38-DTRE-v0.1 #21
[   13.831318] Hardware name: quill (DT)
[   13.831326] Workqueue: deferwq deferred_probe_work_func
[   13.831328] task: ffffffc1eb6c0000 ti: ffffffc1eb6c8000 task.ti: ffffffc1eb6c8000
[   13.831333] PC is at rt5659_set_jack_detect+0x10/0x38
[   13.831337] LR is at tegra_t186ref_driver_probe+0x500/0x5a8
[   13.831338] pc : [<ffffffc00097d9c8>] lr : [<ffffffc0009987a0>] pstate: 80000045
[   13.831339] sp : ffffffc1eb6cbb00
[   13.831342] x29: ffffffc1eb6cbb00 x28: 0000000000000014
[   13.831344] x27: ffffffc07b123818 x26: ffffffbffa829028
[   13.831346] x25: ffffffc00137d000 x24: ffffffc070393f20
[   13.831348] x23: 0000000000000000 x22: ffffffc00137df38
[   13.831349] x21: ffffffc1ebb1d810 x20: 0000000000000000
[   13.831351] x19: ffffffc070393f18 x18: 0000000000020000
[   13.831352] x17: 00000000000109d0 x16: 00000000000109d0
[   13.831354] x15: ffffffc0012481e8 x14: 6f6e206365646f63
[   13.831355] x13: 202d2064656e6966 x12: 656420746f6e206b
[   13.831357] x11: 6e696c206365646f x10: 63203a646e756f73
[   13.831358] x9 : 207835363574722d x8 : ffffffc0013fe17b
[   13.831360] x7 : 0000000000000000 x6 : 0000000012495912
[   13.831362] x5 : ffffffc00122f000 x4 : 0000000000000000
[   13.831363] x3 : 000000000000003f x2 : ffffffc1eb6c8000
[   13.831365] x1 : ffffffc001475828 x0 : 0000000000000000
[   13.831365]
[   13.831367] Process kworker/u12:1 (pid: 55, stack limit = 0xffffffc1eb6c8020)
[   13.831368] Call trace:
[   13.831370] [<ffffffc00097d9c8>] rt5659_set_jack_detect+0x10/0x38
[   13.831372] [<ffffffc0009987a0>] tegra_t186ref_driver_probe+0x500/0x5a8
[   13.831375] [<ffffffc0005695f8>] platform_drv_probe+0x50/0xb8
[   13.831377] [<ffffffc0005670f4>] driver_probe_device+0xcc/0x428
[   13.831379] [<ffffffc000567580>] __device_attach_driver+0x90/0xd8
[   13.831381] [<ffffffc0005650d0>] bus_for_each_drv+0x58/0x98
[   13.831383] [<ffffffc000566eec>] __device_attach+0xc4/0x170
[   13.831384] [<ffffffc000567618>] device_initial_probe+0x10/0x18
[   13.831386] [<ffffffc00056620c>] bus_probe_device+0x94/0xa0
[   13.831388] [<ffffffc000566738>] deferred_probe_work_func+0x50/0xe0
[   13.831391] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.831392] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.831395] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.831397] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.831399] ---[ end trace b7bb9e82a2b09326 ]---
[   13.832594] Unable to handle kernel paging request at virtual address ffffffffffffffd8
[   13.832596] pgd = ffffffc1e3266000
[   13.832599] [ffffffffffffffd8] *pgd=0000000263269003, *pud=0000000263269003, *pmd=0000000000000000
[   13.832601] Internal error: Oops: 96000005 [#2] PREEMPT SMP
[   13.832607] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.832610] CPU: 4 PID: 55 Comm: kworker/u12:1 Tainted: G      D W  O    4.4.38-DTRE-v0.1 #21
[   13.832611] Hardware name: quill (DT)
[   13.832616] task: ffffffc1eb6c0000 ti: ffffffc1eb6c8000 task.ti: ffffffc1eb6c8000
[   13.832622] PC is at kthread_data+0x4/0x10
[   13.832624] LR is at wq_worker_sleeping+0x14/0xd0
[   13.832626] pc : [<ffffffc0000c2264>] lr : [<ffffffc0000bcb7c>] pstate: a00000c5
[   13.832627] sp : ffffffc1eb6cb6f0
[   13.832629] x29: ffffffc1eb6cb6f0 x28: ffffffc1ece70000
[   13.832631] x27: 0000000000000004 x26: ffffffc1eb6c0590
[   13.832632] x25: ffffffc1f5d3d500 x24: ffffffc000b4b584
[   13.832634] x23: 0000000000000000 x22: ffffffc1eb6c0000
[   13.832636] x21: ffffffc1f5d3d500 x20: ffffffc001231000
[   13.832637] x19: 0000000000000004 x18: 000000000000000e
[   13.832639] x17: 0000000000000007 x16: 0000000000000001
[   13.832640] x15: 00000000001bb43d x14: 0000000000abd3d5
[   13.832642] x13: 0000000000000013 x12: 00000000002f93dd
[   13.832643] x11: 0000000000000000 x10: 0000000000000400
[   13.832645] x9 : 0000000000000400 x8 : 00000000100f30cc
[   13.832647] x7 : 00000000000002f0 x6 : 0000000002bea9ba
[   13.832648] x5 : 0000000000000400 x4 : fffffffffff4da40
[   13.832649] x3 : 0000000000000004 x2 : ffffffc0013e8008
[   13.832651] x1 : 0000000000000004 x0 : 0000000000000000
[   13.832651]
[   13.832653] Process kworker/u12:1 (pid: 55, stack limit = 0xffffffc1eb6c8020)
[   13.832653] Call trace:
[   13.832656] [<ffffffc0000c2264>] kthread_data+0x4/0x10
[   13.832660] [<ffffffc000b4b2fc>] __schedule+0x50c/0x750
[   13.832661] [<ffffffc000b4b584>] schedule+0x44/0xb8
[   13.832664] [<ffffffc0000a6170>] do_exit+0x520/0x9d8
[   13.832667] [<ffffffc000089628>] bug_handler.part.1+0x0/0x80
[   13.832670] [<ffffffc00009bee4>] __do_kernel_fault.part.1+0x74/0x90
[   13.832672] [<ffffffc00009a118>] do_translation_fault+0x0/0xe0
[   13.832674] [<ffffffc00009a1cc>] do_translation_fault+0xb4/0xe0
[   13.832676] [<ffffffc000081398>] do_mem_abort+0x40/0x98
[   13.832677] [<ffffffc000084540>] el1_da+0x18/0x78
[   13.832681] [<ffffffc0009987a0>] tegra_t186ref_driver_probe+0x500/0x5a8
[   13.832684] [<ffffffc0005695f8>] platform_drv_probe+0x50/0xb8
[   13.832686] [<ffffffc0005670f4>] driver_probe_device+0xcc/0x428
[   13.832688] [<ffffffc000567580>] __device_attach_driver+0x90/0xd8
[   13.832690] [<ffffffc0005650d0>] bus_for_each_drv+0x58/0x98
[   13.832691] [<ffffffc000566eec>] __device_attach+0xc4/0x170
[   13.832693] [<ffffffc000567618>] device_initial_probe+0x10/0x18
[   13.832695] [<ffffffc00056620c>] bus_probe_device+0x94/0xa0
[   13.832696] [<ffffffc000566738>] deferred_probe_work_func+0x50/0xe0
[   13.832698] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.832699] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.832701] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.832703] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.832705] ---[ end trace b7bb9e82a2b09327 ]---
[   13.833710] wifi_platform_bus_enumerate device present 1
[   13.833825] Fixing recursive fault but reboot is needed!

tlv320aic32x4.c (40 KB)

Hi Igal,

Looks like that it just a WARN() that it is triggering in aic32x4_set_bias_level(). This is from the following WARN statement in drivers/clk/clk.c …

918 static void clk_core_disable(struct clk_core *core)
 919 {
 920         lockdep_assert_held(&enable_lock);
 921 
 922         if (!core)
 923                 return;
 924 
 925         if (WARN_ON(core->enable_count == 0))
 926                 return;
 927

This means that we are trying to disable a clock that is not enabled. The call to aic32x4_set_bias_level() (and then clk_core_disable()) is triggered by the following code …

1608 /* Async callback run prior to DAPM sequences - brings to _PREPARE if
1609  * they're changing state.
1610  */
1611 static void dapm_pre_sequence_async(void *data, async_cookie_t cookie)
1612 {
1613         struct snd_soc_dapm_context *d = data;
1614         int ret;
1615 
1616         /* If we're off and we're not supposed to be go into STANDBY */
1617         if (d->bias_level == SND_SOC_BIAS_OFF &&
1618             d->target_bias_level != SND_SOC_BIAS_OFF) {
1619                 if (d->dev)
1620                         pm_runtime_get_sync(d->dev);
1621 
1622                 ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_STANDBY);
1623                 if (ret != 0)
1624                         dev_err(d->dev,
1625                                 "ASoC: Failed to turn on bias: %d\n", ret);
1626         }
1627

So it believes the bias level is OFF and the target is not OFF and tries to place it in STANDBY. I am not familiar with this codec to understand if this is correct or not, but you may wish to see what is setting the target_bias_level. Or ask Texas Instruments what should be happening here.

The actual crash that follows this WARN, is a bug in the rt565x machine driver. Please can you apply the following fix …

diff --git a/sound/soc/tegra-alt/tegra_t210ref_mobile_rt565x_alt.c b/sound/soc/tegra-alt/tegra_t210ref_mobile_rt565x_alt.c
index 9f65190c39ec..3bc1d125a20f 100644
--- a/sound/soc/tegra-alt/tegra_t210ref_mobile_rt565x_alt.c
+++ b/sound/soc/tegra-alt/tegra_t210ref_mobile_rt565x_alt.c
@@ -968,11 +968,11 @@ static int tegra_t210ref_driver_probe(struct platform_device *pdev)
                        dev_info(&pdev->dev, "This is a dummy codec\n");
                        machine->is_codec_dummy = 1;
                }
-       }
 
-       if (!machine->is_codec_dummy) {
-               /* setup for jack detection only in non-dummy case */
-               rt5659_set_jack_detect(codec, &tegra_t210ref_hp_jack);
+               if (!machine->is_codec_dummy) {
+                       /* setup for jack detection only in non-dummy case */
+                       rt5659_set_jack_detect(codec, &tegra_t210ref_hp_jack);
+               }
        }
 
        return 0;

If this boots, then we need to start looking at all the following messages …

[   13.632021] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.632025] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 10 kOhm -> CM_R to Right Mixer Negative Resistor

Jon

Oops! Please apply the above patch to the tegra_t186ref_mobile_rt565x_alt.c and not tegra_t210ref_mobile_rt565x_alt.c, because you are using TX2 and not TX1! However, same fix is needed in both places. And the tegra_t210ref_hp_jack will need to be changed to tegra_t186ref_hp_jack.

Jon,

I think that it continues to crash, although updated:

[   13.638157] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.638160] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 10 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.638197] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.638199] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 20 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.638230] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.638232] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 40 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.647901] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.647904] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 10 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.647942] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.647944] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 20 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.647975] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.647977] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 40 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.672167] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF1 <-> ADMAIF1 mapping ok
[   13.672258] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF2 <-> ADMAIF2 mapping ok
[   13.672344] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF3 <-> ADMAIF3 mapping ok
[   13.672894] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF4 <-> ADMAIF4 mapping ok
[   13.672989] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF5 <-> ADMAIF5 mapping ok
[   13.673064] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF6 <-> ADMAIF6 mapping ok
[   13.673141] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF7 <-> ADMAIF7 mapping ok
[   13.687816] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF8 <-> ADMAIF8 mapping ok
[   13.687932] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF9 <-> ADMAIF9 mapping ok
[   13.688015] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF10 <-> ADMAIF10 mapping ok
[   13.688100] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF11 <-> ADMAIF11 mapping ok
[   13.688234] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF12 <-> ADMAIF12 mapping ok
[   13.688314] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF13 <-> ADMAIF13 mapping ok
[   13.688393] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF14 <-> ADMAIF14 mapping ok
[   13.688471] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF15 <-> ADMAIF15 mapping ok
[   13.688548] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF16 <-> ADMAIF16 mapping ok
[   13.688627] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF17 <-> ADMAIF17 mapping ok
[   13.688708] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF18 <-> ADMAIF18 mapping ok
[   13.688789] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF19 <-> ADMAIF19 mapping ok
[   13.688867] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF20 <-> ADMAIF20 mapping ok
[   13.693158] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE1 <-> ADSP PCM1 mapping ok
[   13.693247] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE2 <-> ADSP PCM2 mapping ok
[   13.693276] compress asoc: ADSP-FE3 <-> ADSP COMPR1 mapping ok
[   13.693297] compress asoc: ADSP-FE4 <-> ADSP COMPR2 mapping ok
[   13.754807] wifi_platform_bus_enumerate device present 1
[   13.756652] tegra-snd-t186ref-mobile-rt565x sound: ASoC: no source widget found for x OUT
[   13.756654] tegra-snd-t186ref-mobile-rt565x sound: ASoC: Failed to add route x OUT -> direct -> x Headphone
[   13.756712] tegra-snd-t186ref-mobile-rt565x sound: ASoC: no sink widget found for x IN
[   13.756714] tegra-snd-t186ref-mobile-rt565x sound: ASoC: Failed to add route x Mic -> direct -> x IN
[   13.772819] wifi_platform_bus_enumerate device present 0
[   13.773350] F1 signature read @0x18000000=0x17214354
[   13.778600] F1 signature OK, socitype:0x1 chip:0x4354 rev:0x1 pkg:0x2
[   13.779382] DHD: dongle ram size is set to 786432(orig 786432) at 0x180000
[   13.779449] wifi_platform_prealloc: failed to alloc static mem section 7
[   13.779455] wifi_platform_get_mac_addr
[   13.780112] CFG80211-ERROR) wl_setup_wiphy : Registering Vendor80211
[   13.782392] wl_create_event_handler(): thread:wl_event_handler:26b started
[   13.783582] CFG80211-ERROR) wl_event_handler : tsk Enter, tsk = 0xffffffc1e05e1a70
[   13.783788] dhd_attach(): thread:dhd_watchdog_thread:26c started
[   13.783830] dhd_attach(): thread:dhd_dpc:26e started
[   13.783859] dhd_attach(): thread:dhd_rxf:26f started
[   13.783866] dhd_deferred_work_init: work queue initialized
[   13.784068] Dongle Host Driver, version 1.201.82 (r)
[   13.784068] Compiled in drivers/net/wireless/bcmdhd on Jan  3 2018 at 11:49:34
[   13.784401] tegra_sysfs_register
[   13.784432] Register interface [wlan0]  MAC: 00:04:4b:8c:85:00
[   13.784432]
[   13.784436] dhd_prot_ioctl : bus is down. we have nothing to do
[   13.784555] sdhci-tegra 3440000.sdhci: Tuning already done, restoring the best tap value : 70
[   13.785603] wifi_platform_set_power = 0
[   13.802818] tegra-pcie 10003000.pcie-controller: link 0 down, retrying
[   13.802823] PCIE: tegra_pcie_port_reset(1990)
[   13.804946] tlv320aic32x4 1-0018: ASoC: mux z CM_R to Right Mixer Negative Resistor has no paths
[   13.806067] tlv320aic32x4 1-0018: ASoC: mux z CM_L to Left Mixer Negative Resistor has no paths
[   13.809938] tlv320aic32x4 1-0018: AIC32X4_BCLKN
[   13.817275] ------------[ cut here ]------------
[   13.817278] WARNING: at ffffffc00089a1e0 [verbose debug info unavailable]
[   13.817285] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.817285]
[   13.817289] CPU: 3 PID: 115 Comm: kworker/u12:2 Tainted: G           O    4.4.38-DTRE-v0.1 #22
[   13.817291] Hardware name: quill (DT)
[   13.817298] Workqueue: events_unbound async_run_entry_fn
[   13.817300] task: ffffffc1ec2ea580 ti: ffffffc1eaa7c000 task.ti: ffffffc1eaa7c000
[   13.817305] PC is at clk_core_disable+0xb0/0x1e8
[   13.817307] LR is at clk_disable+0x2c/0x48
[   13.817309] pc : [<ffffffc00089a1e0>] lr : [<ffffffc00089a60c>] pstate: 800000c5
[   13.817310] sp : ffffffc1eaa7fc80
[   13.817312] x29: ffffffc1eaa7fc80 x28: ffffffc1ecc152e0
[   13.817314] x27: ffffffc00122e000 x26: ffffffc0013ab000
[   13.817315] x25: 0000000000000000 x24: ffffffc0013ab31b
[   13.817317] x23: ffffffc1e570bb18 x22: 0000000000000000
[   13.817319] x21: ffffffc1e54c2618 x20: 0000000000000040
[   13.817320] x19: ffffffc1e54c2800 x18: 0000000000000a03
[   13.817322] x17: 000000558222f438 x16: ffffffc000088fa0
[   13.817323] x15: 0000000000000009 x14: 0000000000000000
[   13.817325] x13: 0000000000000042 x12: 000000000033efa1
[   13.817327] x11: 00000000001f3fb9 x10: 0000000000000400
[   13.817328] x9 : 0000000000000400 x8 : 00000000000002f0
[   13.817330] x7 : ffffffc1f5d2c598 x6 : ffffffc1eb86e060
[   13.817331] x5 : 0000000000000000 x4 : ffffffc1ec2ea580
[   13.817333] x3 : 0000000000000000 x2 : 000000000fb00faf
[   13.817334] x1 : 0000000000000000 x0 : ffffffc1ea9c1c00
[   13.817334]
[   13.817336] ---[ end trace 9814c39258397968 ]---
[   13.817337] Call trace:
[   13.817339] [<ffffffc00089a1e0>] clk_core_disable+0xb0/0x1e8
[   13.817347] [<ffffffbffc0306e0>] aic32x4_set_bias_level+0x100/0x2b0 [tlv320aic32x4]
[   13.817352] [<ffffffc00096516c>] snd_soc_codec_set_bias_level+0x1c/0x28
[   13.817354] [<ffffffc00096c458>] snd_soc_dapm_set_bias_level+0x1e8/0x228
[   13.817357] [<ffffffc00096e434>] dapm_pre_sequence_async+0x3c/0xd0
[   13.817359] [<ffffffc0000c46d8>] async_run_entry_fn+0x40/0x168
[   13.817361] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.817362] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.817364] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.817367] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.817389] ------------[ cut here ]------------
[   13.817390] WARNING: at ffffffc0008995e0 [verbose debug info unavailable]
[   13.817394] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.817395]
[   13.817397] CPU: 3 PID: 115 Comm: kworker/u12:2 Tainted: G        W  O    4.4.38-DTRE-v0.1 #22
[   13.817398] Hardware name: quill (DT)
[   13.817400] Workqueue: events_unbound async_run_entry_fn
[   13.817402] task: ffffffc1ec2ea580 ti: ffffffc1eaa7c000 task.ti: ffffffc1eaa7c000
[   13.817404] PC is at clk_core_unprepare+0x90/0x1b0
[   13.817405] LR is at clk_unprepare+0x28/0x40
[   13.817407] pc : [<ffffffc0008995e0>] lr : [<ffffffc000899930>] pstate: 60000045
[   13.817407] sp : ffffffc1eaa7fc80
[   13.817409] x29: ffffffc1eaa7fc80 x28: ffffffc1ecc152e0
[   13.817411] x27: ffffffc00122e000 x26: ffffffc0013ab000
[   13.817413] x25: 0000000000000000 x24: ffffffc0013ab31b
[   13.817414] x23: ffffffc1e570bb18 x22: 0000000000000000
[   13.817416] x21: ffffffc1e54c2618 x20: 0000000000000000
[   13.817417] x19: ffffffc1e54c2800 x18: 0000000000000a03
[   13.817419] x17: 000000558222f438 x16: ffffffc000088fa0
[   13.817421] x15: 0000000000000009 x14: 0000000000000000
[   13.817422] x13: 0000000000000042 x12: 000000000033efa1
[   13.817424] x11: 00000000001f3fb9 x10: 0000000000000400
[   13.817425] x9 : 0000000000000400 x8 : 00000000000002f0
[   13.817427] x7 : ffffffc1f5d2c598 x6 : ffffffc1eb86e060
[   13.817428] x5 : 0000000000000000 x4 : ffffffc001472000
[   13.817430] x3 : 0000000000000000 x2 : 0000000000000000
[   13.817431] x1 : 0000000000000001 x0 : ffffffc1ea9c1c00
[   13.817432]
[   13.817432] ---[ end trace 9814c39258397969 ]---
[   13.817433] Call trace:
[   13.817435] [<ffffffc0008995e0>] clk_core_unprepare+0x90/0x1b0
[   13.817439] [<ffffffbffc0306e8>] aic32x4_set_bias_level+0x108/0x2b0 [tlv320aic32x4]
[   13.817442] [<ffffffc00096516c>] snd_soc_codec_set_bias_level+0x1c/0x28
[   13.817444] [<ffffffc00096c458>] snd_soc_dapm_set_bias_level+0x1e8/0x228
[   13.817446] [<ffffffc00096e434>] dapm_pre_sequence_async+0x3c/0xd0
[   13.817447] [<ffffffc0000c46d8>] async_run_entry_fn+0x40/0x168
[   13.817449] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.817450] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.817452] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.817453] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.819951] input: tegra-snd-t186ref-mobile-rt565x Headphone Jack as /devices/sound/sound/card1/input3
[   13.820457] tegra-snd-t186ref-mobile-rt565x sound: GOSHA 3 - -22*************************
[   13.820459] tegra-snd-t186ref-mobile-rt565x sound: codec link not defined - codec not part of sound card
[   13.820461] tegra-snd-t186ref-mobile-rt565x sound: GOSHA 4 - -22*************************
[   13.820468] Unable to handle kernel NULL pointer dereference at virtual address 00000068
[   13.820470] pgd = ffffffc00148f000
[   13.820474] [00000068] *pgd=000000026cdd6003, *pud=000000026cdd6003, *pmd=000000026cdd7003, *pte=00e8000003881707
[   13.820477] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[   13.820483] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.820488] CPU: 4 PID: 55 Comm: kworker/u12:1 Tainted: G        W  O    4.4.38-DTRE-v0.1 #22
[   13.820489] Hardware name: quill (DT)
[   13.820497] Workqueue: deferwq deferred_probe_work_func
[   13.820499] task: ffffffc1eb6a0000 ti: ffffffc1eb6a8000 task.ti: ffffffc1eb6a8000
[   13.820504] PC is at rt5659_set_jack_detect+0x10/0x38
[   13.820508] LR is at tegra_t186ref_driver_probe+0x530/0x5f8
[   13.820510] pc : [<ffffffc00097d9c8>] lr : [<ffffffc0009987d0>] pstate: 80000045
[   13.820511] sp : ffffffc1eb6abb00
[   13.820513] x29: ffffffc1eb6abb00 x28: 0000000000000014
[   13.820515] x27: ffffffc070365a18 x26: ffffffbffa829028
[   13.820517] x25: ffffffc00137d000 x24: 0000000000000000
[   13.820518] x23: 0000000000000000 x22: ffffffc00137df38
[   13.820520] x21: ffffffc1ebb1d810 x20: 00000000ffffffea
[   13.820522] x19: ffffffc1eabf7a18 x18: 0000000000020000
[   13.820523] x17: 0000007f8b870988 x16: 0000005591f09868
[   13.820525] x15: ffffffc0012481e8 x14: 2a2a2a2a2a2a2a2a
[   13.820526] x13: 2a2a2a2a2a2a2a2a x12: 2a2a2a2a32322d20
[   13.820528] x11: 2d2034204148534f x10: 47203a646e756f73
[   13.820529] x9 : 207835363574722d x8 : ffffffc0013feb3c
[   13.820531] x7 : 0000000000000000 x6 : 000000001250d5d9
[   13.820532] x5 : ffffffc00122f000 x4 : 0000000000000000
[   13.820534] x3 : 000000000000003f x2 : ffffffc1eb6a8000
[   13.820535] x1 : ffffffc001475828 x0 : 0000000000000000
[   13.820536]
[   13.820537] Process kworker/u12:1 (pid: 55, stack limit = 0xffffffc1eb6a8020)
[   13.820538] Call trace:
[   13.820540] [<ffffffc00097d9c8>] rt5659_set_jack_detect+0x10/0x38
[   13.820543] [<ffffffc0009987d0>] tegra_t186ref_driver_probe+0x530/0x5f8
[   13.820546] [<ffffffc0005695f8>] platform_drv_probe+0x50/0xb8
[   13.820548] [<ffffffc0005670f4>] driver_probe_device+0xcc/0x428
[   13.820550] [<ffffffc000567580>] __device_attach_driver+0x90/0xd8
[   13.820552] [<ffffffc0005650d0>] bus_for_each_drv+0x58/0x98
[   13.820554] [<ffffffc000566eec>] __device_attach+0xc4/0x170
[   13.820556] [<ffffffc000567618>] device_initial_probe+0x10/0x18
[   13.820557] [<ffffffc00056620c>] bus_probe_device+0x94/0xa0
[   13.820559] [<ffffffc000566738>] deferred_probe_work_func+0x50/0xe0
[   13.820562] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.820563] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.820566] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.820569] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.820571] ---[ end trace 9814c3925839796a ]---
[   13.821750] Unable to handle kernel paging request at virtual address ffffffffffffffd8
[   13.821752] pgd = ffffffc1e0edb000
[   13.821756] [ffffffffffffffd8] *pgd=0000000262eba003, *pud=0000000262eba003, *pmd=0000000000000000
[   13.821758] Internal error: Oops: 96000005 [#2] PREEMPT SMP
[   13.821763] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.821767] CPU: 4 PID: 55 Comm: kworker/u12:1 Tainted: G      D W  O    4.4.38-DTRE-v0.1 #22
[   13.821768] Hardware name: quill (DT)
[   13.821773] task: ffffffc1eb6a0000 ti: ffffffc1eb6a8000 task.ti: ffffffc1eb6a8000
[   13.821778] PC is at kthread_data+0x4/0x10
[   13.821781] LR is at wq_worker_sleeping+0x14/0xd0
[   13.821782] pc : [<ffffffc0000c2264>] lr : [<ffffffc0000bcb7c>] pstate: a00000c5
[   13.821783] sp : ffffffc1eb6ab6f0
[   13.821785] x29: ffffffc1eb6ab6f0 x28: ffffffc1ece70000
[   13.821787] x27: 0000000000000004 x26: ffffffc1eb6a0590
[   13.821789] x25: ffffffc1f5d3d500 x24: ffffffc000b4b5d4
[   13.821791] x23: 0000000000000000 x22: ffffffc1eb6a0000
[   13.821792] x21: ffffffc1f5d3d500 x20: ffffffc001231000
[   13.821794] x19: 0000000000000004 x18: 000000000ab7a6b1
[   13.821795] x17: 0000000000f67e99 x16: 0000000000000001
[   13.821797] x15: 00000000024de729 x14: 0000000001c9c2e8
[   13.821798] x13: 0000000000085800 x12: 00000000002f67a8
[   13.821800] x11: 0000000000000001 x10: 0000000000000400
[   13.821801] x9 : 0000000000000400 x8 : 000000000a5dd2cf
[   13.821803] x7 : 00000000000002f0 x6 : 00000000025407c9
[   13.821805] x5 : 0000000000000400 x4 : 000000000016db23
[   13.821806] x3 : 0000000000000004 x2 : ffffffc0013e8008
[   13.821808] x1 : 0000000000000004 x0 : 0000000000000000
[   13.821808]
[   13.821809] Process kworker/u12:1 (pid: 55, stack limit = 0xffffffc1eb6a8020)
[   13.821810] Call trace:
[   13.821812] [<ffffffc0000c2264>] kthread_data+0x4/0x10
[   13.821816] [<ffffffc000b4b34c>] __schedule+0x50c/0x750
[   13.821818] [<ffffffc000b4b5d4>] schedule+0x44/0xb8
[   13.821820] [<ffffffc0000a6170>] do_exit+0x520/0x9d8
[   13.821825] [<ffffffc000089628>] bug_handler.part.1+0x0/0x80
[   13.821828] [<ffffffc00009bee4>] __do_kernel_fault.part.1+0x74/0x90
[   13.821830] [<ffffffc00009a118>] do_translation_fault+0x0/0xe0
[   13.821831] [<ffffffc00009a1cc>] do_translation_fault+0xb4/0xe0
[   13.821833] [<ffffffc000081398>] do_mem_abort+0x40/0x98
[   13.821835] [<ffffffc000084540>] el1_da+0x18/0x78
[   13.821839] [<ffffffc0009987d0>] tegra_t186ref_driver_probe+0x530/0x5f8
[   13.821843] [<ffffffc0005695f8>] platform_drv_probe+0x50/0xb8
[   13.821845] [<ffffffc0005670f4>] driver_probe_device+0xcc/0x428
[   13.821847] [<ffffffc000567580>] __device_attach_driver+0x90/0xd8
[   13.821848] [<ffffffc0005650d0>] bus_for_each_drv+0x58/0x98
[   13.821850] [<ffffffc000566eec>] __device_attach+0xc4/0x170
[   13.821852] [<ffffffc000567618>] device_initial_probe+0x10/0x18
[   13.821854] [<ffffffc00056620c>] bus_probe_device+0x94/0xa0
[   13.821855] [<ffffffc000566738>] deferred_probe_work_func+0x50/0xe0
[   13.821857] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.821858] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.821860] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.821862] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.821864] ---[ end trace 9814c3925839796b ]---
[   13.822997] Fixing recursive fault but reboot is needed!
[   90.315878] Bad mode in Synchronous Abort handler detected, code 0x86000005 -- IABT (current EL)
[   90.315881] Bad mode in Synchronous Abort handler detected, code 0x86000005 -- IABT (current EL)
[   90.315883] Bad mode in Synchronous Abort handler detected, code 0x86000005 -- IABT (current EL)
[   90.315886] Bad mode in Synchronous Abort handler detected, code 0x86000005 -- IABT (current EL)
[   90.315887] Internal error: Oops - bad mode: 0 [#3] PREEMPT SMP
[   90.315893] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   90.315896] CPU: 4 PID: 55 Comm: kworker/u12:1 Tainted: G      D W  O    4.4.38-DTRE-v0.1 #22
[   90.315897] Hardware name: quill (DT)
[   90.315901] task: ffffffc1eb6a0000 ti: ffffffc1eb6a8000 task.ti: ffffffc1eb6a8000
[   90.315903] PC is at 0x0
[   90.315908] LR is at __schedule+0x9c/0x750
[   90.315909] pc : [<0000000000000000>] lr : [<ffffffc000b4aedc>] pstate: 200001c5
[   90.315910] sp : ffffffc1eb6ab370
[   90.315911] x29: ffffffc1eb6ab370 x28: ffffffc1eb6a8000
[   90.315913] x27: 0000000000000004 x26: ffffffc1eb6a0590
[   90.315915] x25: ffffffc1f5d3d500 x24: ffffffc000b4b5d4
[   90.315916] x23: 0000000000000000 x22: ffffffc1eb6a0000
[   90.315918] x21: ffffffc1f5d3d500 x20: ffffffc001231000
[   90.315919] x19: ffffffc001202000 x18: 0000000000020000
[   90.315921] x17: 0000000000f67e99 x16: 0000000000000001
[   90.315922] x15: ffffffc0012481e8 x14: ffffffc00140b7da
[   90.315924] x13: ffffffc001248000 x12: ffffffc0013e8000
[   90.315926] x11: 0000000000000000 x10: 0000000000000000
[   90.315927] x9 : 0000000000009368 x8 : ffffffc001400474
[   90.315929] x7 : 0000000000000000 x6 : 000000001250d5d9
[   90.315930] x5 : 0000000000000015 x4 : 0000000000000000
[   90.315932] x3 : 0000000000002550 x2 : 0000000000000001
[   90.315933] x1 : 0000000025512550 x0 : ffffffc1f5d3d500
[   90.315933]
[   90.315935] Process kworker/u12:1 (pid: 55, stack limit = 0xffffffc1eb6a8020)
[   90.315936] Call trace:
[   90.315937] [<          (null)>]           (null)
[   90.315939] [<ffffffc000b4b5d4>] schedule+0x44/0xb8
[   90.315943] [<ffffffc0000a64a0>] do_exit+0x850/0x9d8
[   90.315946] [<ffffffc000089628>] bug_handler.part.1+0x0/0x80
[   90.315950] [<ffffffc00009bee4>] __do_kernel_fault.part.1+0x74/0x90
[   90.315952] [<ffffffc00009a1f8>] cpu_enable_pan+0x0/0x50
[   90.315954] [<ffffffc000081398>] do_mem_abort+0x40/0x98
[   90.315956] [<ffffffc000084540>] el1_da+0x18/0x78
[   90.315958] [<ffffffc000b4b34c>] __schedule+0x50c/0x750
[   90.315959] [<ffffffc000b4b5d4>] schedule+0x44/0xb8
[   90.315960] [<ffffffc0000a6170>] do_exit+0x520/0x9d8
[   90.315963] [<ffffffc000089628>] bug_handler.part.1+0x0/0x80
[   90.315965] [<ffffffc00009bee4>] __do_kernel_fault.part.1+0x74/0x90
[   90.315966] [<ffffffc00009a118>] do_translation_fault+0x0/0xe0
[   90.315968] [<ffffffc00009a1cc>] do_translation_fault+0xb4/0xe0
[   90.315970] [<ffffffc000081398>] do_mem_abort+0x40/0x98
[   90.315972] [<ffffffc000084540>] el1_da+0x18/0x78
[   90.315977] [<ffffffc0009987d0>] tegra_t186ref_driver_probe+0x530/0x5f8
[   90.315981] [<ffffffc0005695f8>] platform_drv_probe+0x50/0xb8
[   90.315983] [<ffffffc0005670f4>] driver_probe_device+0xcc/0x428
[   90.315985] [<ffffffc000567580>] __device_attach_driver+0x90/0xd8
[   90.315987] [<ffffffc0005650d0>] bus_for_each_drv+0x58/0x98
[   90.315989] [<ffffffc000566eec>] __device_attach+0xc4/0x170
[   90.315991] [<ffffffc000567618>] device_initial_probe+0x10/0x18
[   90.315993] [<ffffffc00056620c>] bus_probe_device+0x94/0xa0
[   90.315995] [<ffffffc000566738>] deferred_probe_work_func+0x50/0xe0
[   90.315997] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   90.315998] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   90.316000] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   90.316002] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   90.316004] ---[ end trace 9814c3925839796c ]---
[   90.316005] Internal error: Oops - bad mode: 0 [#4] PREEMPT SMP
[   90.317048] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   90.317051] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G      D W  O    4.4.38-DTRE-v0.1 #22
[   90.317052] Hardware name: quill (DT)
[   90.317054] task: ffffffc001238e40 ti: ffffffc001228000 task.ti: ffffffc001228000
[   90.317056] PC is at 0x0
[   90.317060] LR is at load_balance+0x2d8/0xa40
[   90.317061] pc : [<0000000000000000>] lr : [<ffffffc0000e11d8>] pstate: 200000c5
[   90.317062] sp : ffffffc00122ba10
[   90.317064] x29: ffffffc00122ba10 x28: ffffffc1ec168400
[   90.317066] x27: ffffffc00122e000 x26: 0000000000002420
[   90.317068] x25: 0000000000000000 x24: 00000000000002ed
[   90.317070] x23: 0000000000000af4 x22: ffffffc00122e000
[   90.317071] x21: ffffffc000b5a510 x20: ffffffc1f5d3d500
[   90.317073] x19: ffffffc001230000 x18: 00000000069fff3f
[   90.317074] x17: 0000007f7e8241a8 x16: ffffffc00020ec00
[   90.317076] x15: 0000000000000400 x14: 0000000000cfb1dc
[   90.317077] x13: 0000000000000000 x12: 0000000000000400
[   90.317079] x11: 0000000000000000 x10: 0000000000000000
[   90.317081] x9 : 0000000000000733 x8 : ffffffffffffffff
[   90.317082] x7 : 00000000000002f0 x6 : 0000000000000000
[   90.317084] x5 : ffffffffffffffe0 x4 : 0000000000002550
[   90.317085] x3 : 0000000000000040 x2 : 0000000000000004
[   90.317087] x1 : 0000000025542550 x0 : ffffffc1f5d3d500
[   90.317087]
[   90.317089] Process swapper/0 (pid: 0, stack limit = 0xffffffc001228020)
[   90.317089] Call trace:
[   90.317090] [<          (null)>]           (null)
[   90.317093] [<ffffffc0000e1aa4>] rebalance_domains+0x164/0x290
[   90.317095] [<ffffffc0000e1d94>] run_rebalance_domains+0x1c4/0x200
[   90.317098] [<ffffffc0000a8054>] __do_softirq+0x124/0x350
[   90.317099] [<ffffffc0000a8500>] irq_exit+0x88/0xe0
[   90.317102] [<ffffffc0000f5b20>] __handle_domain_irq+0x60/0xb8
[   90.317104] [<ffffffc0000815cc>] gic_handle_irq+0x64/0xc0
[   90.317105] [<ffffffc000084740>] el1_irq+0x80/0xf8
[   90.317109] [<ffffffc0007ebe10>] cpuidle_enter+0x18/0x20
[   90.317111] [<ffffffc0000e880c>] call_cpuidle+0x24/0x50
[   90.317112] [<ffffffc0000e8aa8>] cpu_startup_entry+0x270/0x340
[   90.317115] [<ffffffc000b49be8>] rest_init+0x88/0x98
[   90.317118] [<ffffffc0010e6968>] start_kernel+0x38c/0x3a0
[   90.317119] [<0000000080b50000>] 0x80b50000
[   90.317121] ---[ end trace 9814c3925839796d ]---
[   90.317122] Internal error: Oops - bad mode: 0 [#5] PREEMPT SMP
[   90.317127] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   90.317129] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G      D W  O    4.4.38-DTRE-v0.1 #22
[   90.317130] Hardware name: quill (DT)
[   90.317132] task: ffffffc1ececa580 ti: ffffffc1ecedc000 task.ti: ffffffc1ecedc000
[   90.317133] PC is at 0x0
[   90.317136] LR is at load_balance+0x2d8/0xa40
[   90.317138] pc : [<0000000000000000>] lr : [<ffffffc0000e11d8>] pstate: 200000c5
[   90.317138] sp : ffffffc1ecedfa60
[   90.317141] x29: ffffffc1ecedfa60 x28: ffffffc1ec168a00
[   90.317143] x27: ffffffc00122e000 x26: 0000000000001f41
[   90.317145] x25: 0000000000000003 x24: 00000000000002ed
[   90.317146] x23: 0000000000000af4 x22: ffffffc00122e000
[   90.317148] x21: ffffffc000b5a510 x20: ffffffc1f5d3d500
[   90.317149] x19: ffffffc001230000 x18: 0000000000000a03
[   90.317151] x17: 0000007f91ffa988 x16: ffffffc0001dde30
[   90.317153] x15: 0000000000009208 x14: 0000000000000000
[   90.317154] x13: 0000007fd611ad60 x12: 0000000000000400
[   90.317156] x11: 0000000000000000 x10: 0000000000000000
[   90.317157] x9 : 0000000000000667 x8 : ffffffffffffffff
[   90.317159] x7 : 00000000000002f0 x6 : 0000000000000000
[   90.317161] x5 : ffffffffffffffe0 x4 : 0000000000002550
[   90.317162] x3 : 0000000000000040 x2 : 0000000000000003
[   90.317164] x1 : 0000000025532550 x0 : ffffffc1f5d3d500
[   90.317164]
[   90.317166] Process swapper/3 (pid: 0, stack limit = 0xffffffc1ecedc020)
[   90.317166] Fixing recursive fault but reboot is needed!
[   90.317167] Call trace:
[   90.317168] Kernel panic - not syncing: Fatal exception in interrupt
[   90.317169] [<          (null)>]           (null)
[   90.317171] [<ffffffc0000e1aa4>] rebalance_domains+0x164/0x290
[   90.317173] [<ffffffc0000e1d94>] run_rebalance_domains+0x1c4/0x200
[   90.317175] [<ffffffc0000a8054>] __do_softirq+0x124/0x350
[   90.317177] [<ffffffc0000a8500>] irq_exit+0x88/0xe0
[   90.317178] [<ffffffc0000f5b20>] __handle_domain_irq+0x60/0xb8
[   90.317180] [<ffffffc0000815cc>] gic_handle_irq+0x64/0xc0
[   90.317182] [<ffffffc000084740>] el1_irq+0x80/0xf8
[   90.317184] [<ffffffc0007ebe10>] cpuidle_enter+0x18/0x20
[   90.317185] [<ffffffc0000e880c>] call_cpuidle+0x24/0x50
[   90.317187] [<ffffffc0000e8aa8>] cpu_startup_entry+0x270/0x340
[   90.317190] [<ffffffc00008e0ac>] secondary_start_kernel+0x12c/0x168
[   90.317191] [<000000008008192c>] 0x8008192c
[   90.317192] ---[ end trace 9814c3925839796e ]---

Hi Igal,

Which file did you update? In my earlier post I mentioned the wrong file as I forgot that you are using TX2 and not TX1. Please make sure you have the following change in place …

diff --git a/sound/soc/tegra-alt/tegra_t186ref_mobile_rt565x.c b/sound/soc/tegra-alt/tegra_t186ref_mobile_rt565x.c
index 61357fffc8f8..ebd670258a02 100644
--- a/sound/soc/tegra-alt/tegra_t186ref_mobile_rt565x.c
+++ b/sound/soc/tegra-alt/tegra_t186ref_mobile_rt565x.c
@@ -1124,11 +1124,11 @@ static int tegra_t186ref_driver_probe(struct platform_device *pdev)
                        dev_info(&pdev->dev, "This is a dummy codec\n");
                        machine->is_codec_dummy = 1;
                }
-       }
 
-       if (!machine->is_codec_dummy) {
-               /* setup for jack detection only in non-dummy case */
-               rt5659_set_jack_detect(codec, &tegra_t186ref_hp_jack);
+               if (!machine->is_codec_dummy) {
+                       /* setup for jack detection only in non-dummy case */
+                       rt5659_set_jack_detect(codec, &tegra_t186ref_hp_jack);
+               }
        }
 
        return 0;

If you have updated tegra_t186ref_mobile_rt565x.c as above and it is still crashing, please attached your tegra_t186ref_mobile_rt565x.c as it should no longer be calling rt5659_set_jack_detect().

Thanks
Jon

Jon, hi,

I have attached the tegra_t186ref_mobile_rt565x.c file.

and hereafter the log:

[   13.271476] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[   13.271525] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[   13.272569] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[   13.272574] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[   13.273416] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[   13.274168] tegra-snd-t186ref-mobile-rt565x sound: ASoC: CODEC DAI tlv320aic32x4-hifi not registered
[   13.274171] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_register_card failed (-517)
[   13.276774] hi8435rada spi3.0: hi-8435 we are here.  check the device
[   13.276998] hi8435rada spi3.0: Add device: hi8435rada0
[   13.280611] spi-tegra114 3240000.spi: Setting clk_src clk_m
[   13.280815] spi-tegra114 3240000.spi: The def 0x40408000 and written 0x40600807
[   13.280897] spi-tegra114 3240000.spi: The def 0x40408000 and written 0x40600807
[   13.280966] spi-tegra114 3240000.spi: The def 0x40408000 and written 0x40600807
[   13.281802] spi-tegra114 3240000.spi: The def 0x40408000 and written 0x40600807
[   13.299330] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_card_name 0
[   13.299359] tegra-snd-t186ref-mobile-rt565x sound: snd_soc_of_parse_audio_routing 0
[   13.300478] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_switch_register 0
[   13.300484] tegra-snd-t186ref-mobile-rt565x sound: Failed to get HP Det GPIO, should be handled by codec
[   13.301450] tegra-snd-t186ref-mobile-rt565x sound: tegra_alt_asoc_utils_init 0
[   13.446883] dhd_module_init in
[   13.446916] tegra_net_perf_init: cannot get wifi sclk
[   13.446967] found wifi platform device bcmdhd_wlan
[   13.448485] gpio tegra-gpio-aon wake69 for gpio=59(FF:3)
[   13.448496] wifi_platform_get_country_code_map: could not get country_code_map
[   13.448498] wifi_plat_dev_drv_probe:platform country code map is not available
[   13.448514] Power-up adapter 'DHD generic adapter'
[   13.448520] wifi_platform_set_power = 1
[   13.533222] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.533226] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 10 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.533260] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.533263] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 20 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.533295] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.533298] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 40 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.540959] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.540963] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 10 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.540997] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.541000] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 20 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.541031] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.541034] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 40 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.549304] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF1 <-> ADMAIF1 mapping ok
[   13.549444] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF2 <-> ADMAIF2 mapping ok
[   13.549581] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF3 <-> ADMAIF3 mapping ok
[   13.549716] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF4 <-> ADMAIF4 mapping ok
[   13.549875] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF5 <-> ADMAIF5 mapping ok
[   13.550025] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF6 <-> ADMAIF6 mapping ok
[   13.550172] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF7 <-> ADMAIF7 mapping ok
[   13.550301] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF8 <-> ADMAIF8 mapping ok
[   13.550432] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF9 <-> ADMAIF9 mapping ok
[   13.550561] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF10 <-> ADMAIF10 mapping ok
[   13.550750] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF11 <-> ADMAIF11 mapping ok
[   13.550890] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF12 <-> ADMAIF12 mapping ok
[   13.551108] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF13 <-> ADMAIF13 mapping ok
[   13.551241] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF14 <-> ADMAIF14 mapping ok
[   13.551377] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF15 <-> ADMAIF15 mapping ok
[   13.551512] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF16 <-> ADMAIF16 mapping ok
[   13.551659] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF17 <-> ADMAIF17 mapping ok
[   13.551794] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF18 <-> ADMAIF18 mapping ok
[   13.551930] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF19 <-> ADMAIF19 mapping ok
[   13.552625] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF20 <-> ADMAIF20 mapping ok
[   13.557031] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE1 <-> ADSP PCM1 mapping ok
[   13.557185] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE2 <-> ADSP PCM2 mapping ok
[   13.557219] compress asoc: ADSP-FE3 <-> ADSP COMPR1 mapping ok
[   13.557248] compress asoc: ADSP-FE4 <-> ADSP COMPR2 mapping ok
[   13.628070] tegra-snd-t186ref-mobile-rt565x sound: ASoC: no source widget found for x OUT
[   13.628073] tegra-snd-t186ref-mobile-rt565x sound: ASoC: Failed to add route x OUT -> direct -> x Headphone
[   13.628136] tegra-snd-t186ref-mobile-rt565x sound: ASoC: no sink widget found for x IN
[   13.628138] tegra-snd-t186ref-mobile-rt565x sound: ASoC: Failed to add route x Mic -> direct -> x IN
[   13.650660] wifi_platform_bus_enumerate device present 1
[   13.668756] wifi_platform_bus_enumerate device present 0
[   13.669101] F1 signature read @0x18000000=0x17214354
[   13.672511] F1 signature OK, socitype:0x1 chip:0x4354 rev:0x1 pkg:0x2
[   13.672995] DHD: dongle ram size is set to 786432(orig 786432) at 0x180000
[   13.673052] wifi_platform_prealloc: failed to alloc static mem section 7
[   13.673058] wifi_platform_get_mac_addr
[   13.674662] CFG80211-ERROR) wl_setup_wiphy : Registering Vendor80211
[   13.683635] wl_create_event_handler(): thread:wl_event_handler:1ff started
[   13.684809] dhd_attach(): thread:dhd_watchdog_thread:206 started
[   13.684846] dhd_attach(): thread:dhd_dpc:207 started
[   13.684891] dhd_attach(): thread:dhd_rxf:208 started
[   13.684897] dhd_deferred_work_init: work queue initialized
[   13.685305] Dongle Host Driver, version 1.201.82 (r)
[   13.685305] Compiled in drivers/net/wireless/bcmdhd on Jan  3 2018 at 11:49:34
[   13.685627] tegra_sysfs_register
[   13.685654] Register interface [wlan0]  MAC: 00:04:4b:8c:85:00
[   13.685654]
[   13.685657] dhd_prot_ioctl : bus is down. we have nothing to do
[   13.685757] sdhci-tegra 3440000.sdhci: Tuning already done, restoring the best tap value : 70
[   13.686798] wifi_platform_set_power = 0
[   13.692250] CFG80211-ERROR) wl_event_handler : tsk Enter, tsk = 0xffffffc1e15e1a70
[   13.702797] tlv320aic32x4 1-0018: ASoC: mux z CM_R to Right Mixer Negative Resistor has no paths
[   13.704018] tlv320aic32x4 1-0018: ASoC: mux z CM_L to Left Mixer Negative Resistor has no paths
[   13.706364] tegra-pcie 10003000.pcie-controller: link 0 down, retrying
[   13.706367] PCIE: tegra_pcie_port_reset(1990)
[   13.714674] tlv320aic32x4 1-0018: AIC32X4_BCLKN
[   13.717555] ------------[ cut here ]------------
[   13.717559] WARNING: at ffffffc00089a1e0 [verbose debug info unavailable]
[   13.717566] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.717567]
[   13.717571] CPU: 4 PID: 149 Comm: kworker/u12:3 Tainted: G           O    4.4.38-DTRE-v0.1 #25
[   13.717572] Hardware name: quill (DT)
[   13.717580] Workqueue: events_unbound async_run_entry_fn
[   13.717582] task: ffffffc1eab65780 ti: ffffffc1e6078000 task.ti: ffffffc1e6078000
[   13.717586] PC is at clk_core_disable+0xb0/0x1e8
[   13.717588] LR is at clk_disable+0x2c/0x48
[   13.717590] pc : [<ffffffc00089a1e0>] lr : [<ffffffc00089a60c>] pstate: 800000c5
[   13.717591] sp : ffffffc1e607bc80
[   13.717593] x29: ffffffc1e607bc80 x28: ffffffc1ecc152e0
[   13.717595] x27: ffffffc00122e000 x26: ffffffc0013ab000
[   13.717597] x25: 0000000000000000 x24: ffffffc0013ab31b
[   13.717598] x23: ffffffc1e5740318 x22: 0000000000000000
[   13.717600] x21: ffffffc070399f98 x20: 0000000000000040
[   13.717602] x19: ffffffc070399300 x18: 0000000000000a03
[   13.717603] x17: 0000007fb2045f00 x16: 000000557d39a990
[   13.717605] x15: 0000000000000008 x14: 0000000000000000
[   13.717606] x13: 000000000000022d x12: 000000000035860d
[   13.717608] x11: 00000000001c0ee4 x10: 0000000000000400
[   13.717609] x9 : 0000000000000400 x8 : 00000000000002f0
[   13.717611] x7 : ffffffc1f5d3d598 x6 : ffffffc1eb86e060
[   13.717612] x5 : 0000000000000000 x4 : ffffffc1eab65780
[   13.717614] x3 : 0000000000000000 x2 : 000000000f8c0f8b
[   13.717615] x1 : 0000000000000000 x0 : ffffffc070394a00
[   13.717616]
[   13.717617] ---[ end trace 1230eeb5e24e02c0 ]---
[   13.717618] Call trace:
[   13.717620] [<ffffffc00089a1e0>] clk_core_disable+0xb0/0x1e8
[   13.717630] [<ffffffbffc0306e0>] aic32x4_set_bias_level+0x100/0x2b0 [tlv320aic32x4]
[   13.717635] [<ffffffc00096516c>] snd_soc_codec_set_bias_level+0x1c/0x28
[   13.717638] [<ffffffc00096c458>] snd_soc_dapm_set_bias_level+0x1e8/0x228
[   13.717641] [<ffffffc00096e434>] dapm_pre_sequence_async+0x3c/0xd0
[   13.717642] [<ffffffc0000c46d8>] async_run_entry_fn+0x40/0x168
[   13.717644] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.717646] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.717648] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.717653] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.717666] ------------[ cut here ]------------
[   13.717667] WARNING: at ffffffc0008995e0 [verbose debug info unavailable]
[   13.717671] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.717672]
[   13.717674] CPU: 4 PID: 149 Comm: kworker/u12:3 Tainted: G        W  O    4.4.38-DTRE-v0.1 #25
[   13.717675] Hardware name: quill (DT)
[   13.717677] Workqueue: events_unbound async_run_entry_fn
[   13.717678] task: ffffffc1eab65780 ti: ffffffc1e6078000 task.ti: ffffffc1e6078000
[   13.717681] PC is at clk_core_unprepare+0x90/0x1b0
[   13.717683] LR is at clk_unprepare+0x28/0x40
[   13.717684] pc : [<ffffffc0008995e0>] lr : [<ffffffc000899930>] pstate: 60000045
[   13.717685] sp : ffffffc1e607bc80
[   13.717687] x29: ffffffc1e607bc80 x28: ffffffc1ecc152e0
[   13.717688] x27: ffffffc00122e000 x26: ffffffc0013ab000
[   13.717690] x25: 0000000000000000 x24: ffffffc0013ab31b
[   13.717691] x23: ffffffc1e5740318 x22: 0000000000000000
[   13.717693] x21: ffffffc070399f98 x20: 0000000000000000
[   13.717694] x19: ffffffc070399300 x18: 0000000000000a03
[   13.717696] x17: 0000007fb2045f00 x16: 000000557d39a990
[   13.717697] x15: 0000000000000008 x14: 0000000000000000
[   13.717699] x13: 000000000000022d x12: 000000000035860d
[   13.717700] x11: 00000000001c0ee4 x10: 0000000000000400
[   13.717702] x9 : 0000000000000400 x8 : 00000000000002f0
[   13.717704] x7 : ffffffc1f5d3d598 x6 : ffffffc1eb86e060
[   13.717705] x5 : 0000000000000000 x4 : ffffffc001472000
[   13.717707] x3 : 0000000000000000 x2 : 0000000000000000
[   13.717708] x1 : 0000000000000001 x0 : ffffffc070394a00
[   13.717709]
[   13.717710] ---[ end trace 1230eeb5e24e02c1 ]---
[   13.717710] Call trace:
[   13.717712] [<ffffffc0008995e0>] clk_core_unprepare+0x90/0x1b0
[   13.717717] [<ffffffbffc0306e8>] aic32x4_set_bias_level+0x108/0x2b0 [tlv320aic32x4]
[   13.717719] [<ffffffc00096516c>] snd_soc_codec_set_bias_level+0x1c/0x28
[   13.717721] [<ffffffc00096c458>] snd_soc_dapm_set_bias_level+0x1e8/0x228
[   13.717723] [<ffffffc00096e434>] dapm_pre_sequence_async+0x3c/0xd0
[   13.717724] [<ffffffc0000c46d8>] async_run_entry_fn+0x40/0x168
[   13.717726] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.717727] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.717729] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.717731] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.720718] input: tegra-snd-t186ref-mobile-rt565x Headphone Jack as /devices/sound/sound/card1/input3
[   13.729823] <b>tegra-snd-t186ref-mobile-rt565x sound: codec link not defined - codec not part of sound card</b>
[   13.729831] <b>Unable to handle kernel NULL pointer dereference at virtual address 00000068</b>
[   13.729832] pgd = ffffffc00148f000
[   13.729837] [00000068] *pgd=000000026cdd6003, *pud=000000026cdd6003, *pmd=000000026cdd7003, *pte=00e8000003881707
[   13.729839] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[   13.729846] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.729850] CPU: 0 PID: 115 Comm: kworker/u12:2 Tainted: G        W  O    4.4.38-DTRE-v0.1 #25
[   13.729851] Hardware name: quill (DT)
[   13.729860] Workqueue: deferwq deferred_probe_work_func
[   13.729861] task: ffffffc1ec2ea580 ti: ffffffc1eaa7c000 task.ti: ffffffc1eaa7c000
[   13.729866] PC is at rt5659_set_jack_detect+0x0/0x48
[   13.729870] LR is at tegra_t186ref_driver_probe+0x508/0x5d0
[   13.729872] pc : [<ffffffc00097d9b8>] lr : [<ffffffc0009987b8>] pstate: 80000045
[   13.729873] sp : ffffffc1eaa7fb10
[   13.729875] x29: ffffffc1eaa7fb10 x28: 0000000000000014
[   13.729877] x27: ffffffc1e5740e18 x26: ffffffbffa829028
[   13.729879] x25: ffffffc00137d000 x24: ffffffc07b163520
[   13.729881] x23: 0000000000000000 x22: 0000000000000000
[   13.729883] x21: ffffffc1ebb1d810 x20: ffffffc07b087e18
[   13.729884] x19: ffffffc07b163518 x18: 0000000000020000
[   13.729886] x17: 0000007f7aac3fc8 x16: 0000007f7aadc000
[   13.729887] x15: ffffffc0012481e8 x14: 6f6e206365646f63
[   13.729889] x13: 202d2064656e6966 x12: 656420746f6e206b
[   13.729891] x11: 6e696c206365646f x10: 63203a646e756f73
[   13.729892] x9 : 207835363574722d x8 : ffffffc0013feb87
[   13.729894] x7 : 0000000000000000 x6 : 00000000124a6964
[   13.729895] x5 : 0000000000000015 x4 : 0000000000000000
[   13.729897] x3 : 0000000000000040 x2 : ffffffc1eaa7c000
[   13.729898] x1 : ffffffc001475828 x0 : 0000000000000000
[   13.729899]
[   13.729900] Process kworker/u12:2 (pid: 115, stack limit = 0xffffffc1eaa7c020)
[   13.729901] Call trace:
[   13.729903] [<ffffffc00097d9b8>] rt5659_set_jack_detect+0x0/0x48
[   13.729906] [<ffffffc0005695f8>] platform_drv_probe+0x50/0xb8
[   13.729909] [<ffffffc0005670f4>] driver_probe_device+0xcc/0x428
[   13.729911] [<ffffffc000567580>] __device_attach_driver+0x90/0xd8
[   13.729913] [<ffffffc0005650d0>] bus_for_each_drv+0x58/0x98
[   13.729914] [<ffffffc000566eec>] __device_attach+0xc4/0x170
[   13.729916] [<ffffffc000567618>] device_initial_probe+0x10/0x18
[   13.729918] [<ffffffc00056620c>] bus_probe_device+0x94/0xa0
[   13.729920] [<ffffffc000566738>] deferred_probe_work_func+0x50/0xe0
[   13.729923] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.729924] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.729927] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.729930] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.729933] ---[ end trace 1230eeb5e24e02c2 ]---
[   13.732851] Unable to handle kernel paging request at virtual address ffffffffffffffd8
[   13.732853] pgd = ffffffc07b140000
[   13.732856] [ffffffffffffffd8] *pgd=00000000fb15a003, *pud=00000000fb15a003, *pmd=0000000000000000
[   13.732859] Internal error: Oops: 96000005 [#2] PREEMPT SMP
[   13.732865] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.732869] CPU: 0 PID: 115 Comm: kworker/u12:2 Tainted: G      D W  O    4.4.38-DTRE-v0.1 #25
[   13.732870] Hardware name: quill (DT)
[   13.732875] task: ffffffc1ec2ea580 ti: ffffffc1eaa7c000 task.ti: ffffffc1eaa7c000
[   13.732881] PC is at kthread_data+0x4/0x10
[   13.732883] LR is at wq_worker_sleeping+0x14/0xd0
[   13.732885] pc : [<ffffffc0000c2264>] lr : [<ffffffc0000bcb7c>] pstate: a00000c5
[   13.732885] sp : ffffffc1eaa7f700
[   13.732888] x29: ffffffc1eaa7f700 x28: ffffffc1ece70000
[   13.732889] x27: 0000000000000000 x26: ffffffc1ec2eab10
[   13.732891] x25: ffffffc1f5cf9500 x24: ffffffc000b4b5bc
[   13.732893] x23: 0000000000000000 x22: ffffffc1ec2ea580
[   13.732894] x21: ffffffc1f5cf9500 x20: ffffffc001231000
[   13.732896] x19: 0000000000000000 x18: 000000000000000e
[   13.732898] x17: 0000000000000007 x16: 0000000000000001
[   13.732899] x15: 00000000000acec1 x14: 0000000000a6a65d
[   13.732901] x13: 0000000000000013 x12: 00000000002bdb55
[   13.732902] x11: 0000000000000000 x10: 0000000000000400
[   13.732904] x9 : 0000000000000400 x8 : 00000000050dfd94
[   13.732905] x7 : 00000000000002f0 x6 : 0000000001e27512
[   13.732907] x5 : 0000000000000400 x4 : 0000000000218720
[   13.732908] x3 : 0000000000000000 x2 : ffffffc0013e8008
[   13.732910] x1 : 0000000000000000 x0 : 0000000000000000
[   13.732910]
[   13.732912] Process kworker/u12:2 (pid: 115, stack limit = 0xffffffc1eaa7c020)
[   13.732913] Call trace:
[   13.732915] [<ffffffc0000c2264>] kthread_data+0x4/0x10
[   13.732919] [<ffffffc000b4b334>] __schedule+0x50c/0x750
[   13.732920] [<ffffffc000b4b5bc>] schedule+0x44/0xb8
[   13.732923] [<ffffffc0000a6170>] do_exit+0x520/0x9d8
[   13.732927] [<ffffffc000089628>] bug_handler.part.1+0x0/0x80
[   13.732931] [<ffffffc00009bee4>] __do_kernel_fault.part.1+0x74/0x90
[   13.732933] [<ffffffc00009a118>] do_translation_fault+0x0/0xe0
[   13.732935] [<ffffffc00009a1cc>] do_translation_fault+0xb4/0xe0
[   13.732937] [<ffffffc000081398>] do_mem_abort+0x40/0x98
[   13.732939] [<ffffffc000084540>] el1_da+0x18/0x78
[   13.732943] [<ffffffc0005695f8>] platform_drv_probe+0x50/0xb8
[   13.732945] [<ffffffc0005670f4>] driver_probe_device+0xcc/0x428
[   13.732947] [<ffffffc000567580>] __device_attach_driver+0x90/0xd8
[   13.732949] [<ffffffc0005650d0>] bus_for_each_drv+0x58/0x98
[   13.732951] [<ffffffc000566eec>] __device_attach+0xc4/0x170
[   13.732953] [<ffffffc000567618>] device_initial_probe+0x10/0x18
[   13.732955] [<ffffffc00056620c>] bus_probe_device+0x94/0xa0
[   13.732957] [<ffffffc000566738>] deferred_probe_work_func+0x50/0xe0
[   13.732958] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.732959] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.732961] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.732963] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.732965] ---[ end trace 1230eeb5e24e02c3 ]---
[   13.734104] Fixing recursive fault but reboot is needed!

tegra_t186ref_mobile_rt565x.c (33.3 KB)

Hi Igal,

Thanks. I took at look at the file and it appears that you haven’t applied the change I mentioned. After applying the diff, you should end up with …

/* check if idx has valid number */
	if (idx == -EINVAL)
		dev_warn(&pdev->dev, "codec link not defined - codec not part of sound card");
	else {
		codec = card->rtd[idx].codec;
		codec_dai_name = card->rtd[idx].dai_link->codec_dai_name;

		dev_info(&pdev->dev,
			"codec-dai \"%s\" registered\n", codec_dai_name);
			
		if (!strcmp("dit-hifi", codec_dai_name)) {
			dev_info(&pdev->dev, "This is a dummy codec\n");
			machine->is_codec_dummy = 1;
		}


	        if (!machine->is_codec_dummy){
		        /* setup for jack detection only in non-dummy case */
		        rt5659_set_jack_detect(codec, &tegra_t186ref_hp_jack);
                }
	}

Jon

Jon,
let me thank you again for your support, and a special thank for noticing the error in my updated code.

The system is not crashing though after logging in it starts to print out some failures which are depicted hereafter within the following log, but I guess it is as a result of earlier errors:

[   13.532124] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.532127] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 10 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.532172] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.532174] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 20 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.532206] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_R
[   13.532208] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_R -> 40 kOhm -> CM_R to Right Mixer Negative Resistor
[   13.542137] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.542140] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 10 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.542179] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.542181] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 20 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.542215] tlv320aic32x4 1-0018: ASoC: no source widget found for CM_L
[   13.542217] tlv320aic32x4 1-0018: ASoC: Failed to add route CM_L -> 40 kOhm -> CM_L to Left Mixer Negative Resistor
[   13.557177] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF1 <-> ADMAIF1 mapping ok
[   13.557262] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF2 <-> ADMAIF2 mapping ok
[   13.557343] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF3 <-> ADMAIF3 mapping ok
[   13.557416] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF4 <-> ADMAIF4 mapping ok
[   13.557497] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF5 <-> ADMAIF5 mapping ok
[   13.557567] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF6 <-> ADMAIF6 mapping ok
[   13.557640] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF7 <-> ADMAIF7 mapping ok
[   13.557716] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF8 <-> ADMAIF8 mapping ok
[   13.557791] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF9 <-> ADMAIF9 mapping ok
[   13.557863] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF10 <-> ADMAIF10 mapping ok
[   13.557936] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF11 <-> ADMAIF11 mapping ok
[   13.558010] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF12 <-> ADMAIF12 mapping ok
[   13.558076] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF13 <-> ADMAIF13 mapping ok
[   13.558149] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF14 <-> ADMAIF14 mapping ok
[   13.558222] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF15 <-> ADMAIF15 mapping ok
[   13.558300] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF16 <-> ADMAIF16 mapping ok
[   13.558371] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF17 <-> ADMAIF17 mapping ok
[   13.558455] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF18 <-> ADMAIF18 mapping ok
[   13.558529] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF19 <-> ADMAIF19 mapping ok
[   13.558613] tegra-snd-t186ref-mobile-rt565x sound: ADMAIF20 <-> ADMAIF20 mapping ok
[   13.565885] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE1 <-> ADSP PCM1 mapping ok
[   13.565964] tegra-snd-t186ref-mobile-rt565x sound: ADSP-FE2 <-> ADSP PCM2 mapping ok
[   13.565990] compress asoc: ADSP-FE3 <-> ADSP COMPR1 mapping ok
[   13.566012] compress asoc: ADSP-FE4 <-> ADSP COMPR2 mapping ok
[   13.608352] tegra-snd-t186ref-mobile-rt565x sound: ASoC: no source widget found for x OUT
[   13.608356] tegra-snd-t186ref-mobile-rt565x sound: ASoC: Failed to add route x OUT -> direct -> x Headphone
[   13.608448] tegra-snd-t186ref-mobile-rt565x sound: ASoC: no sink widget found for x IN
[   13.608450] tegra-snd-t186ref-mobile-rt565x sound: ASoC: Failed to add route x Mic -> direct -> x IN
[   13.720599] tlv320aic32x4 1-0018: ASoC: mux z CM_R to Right Mixer Negative Resistor has no paths
[   13.721678] tlv320aic32x4 1-0018: ASoC: mux z CM_L to Left Mixer Negative Resistor has no paths
[   13.741792] tlv320aic32x4 1-0018: AIC32X4_BCLKN
[   13.743806] ------------[ cut here ]------------
[   13.743809] WARNING: at ffffffc00089a1e0 [verbose debug info unavailable]
[   13.743816] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.743817]
[   13.743822] CPU: 0 PID: 116 Comm: kworker/u12:2 Tainted: G           O    4.4.38-DTRE-v0.1 #27
[   13.743823] Hardware name: quill (DT)
[   13.743831] Workqueue: events_unbound async_run_entry_fn
[   13.743832] task: ffffffc1ec2ea580 ti: ffffffc1eaad0000 task.ti: ffffffc1eaad0000
[   13.743837] PC is at clk_core_disable+0xb0/0x1e8
[   13.743839] LR is at clk_disable+0x2c/0x48
[   13.743841] pc : [<ffffffc00089a1e0>] lr : [<ffffffc00089a60c>] pstate: 800000c5
[   13.743842] sp : ffffffc1eaad3c80
[   13.743844] x29: ffffffc1eaad3c80 x28: ffffffc1ecc152e0
[   13.743846] x27: ffffffc00122e000 x26: ffffffc0013ab000
[   13.743848] x25: 0000000000000000 x24: ffffffc0013ab31b
[   13.743849] x23: ffffffc1e5baeb18 x22: 0000000000000000
[   13.743851] x21: ffffffc1e587d618 x20: 0000000000000040
[   13.743852] x19: ffffffc1e587d880 x18: 0000000000000a03
[   13.743854] x17: 0000007f851c8988 x16: ffffffc0001dde30
[   13.743855] x15: 0000000000000008 x14: 0000000000000000
[   13.743857] x13: 000000000000022f x12: 0000000000286c2e
[   13.743859] x11: 0000000000000000 x10: 0000000000000400
[   13.743860] x9 : 0000000000000400 x8 : 00000000000002f0
[   13.743862] x7 : ffffffc1f5cf9598 x6 : ffffffc1eb4f2860
[   13.743863] x5 : 0000000000000000 x4 : ffffffc1ec2ea580
[   13.743865] x3 : 0000000000000000 x2 : 000000000e7a0e79
[   13.743866] x1 : 0000000000000000 x0 : ffffffc07034e000
[   13.743867]
[   13.743868] ---[ end trace b77a5e45bb4581ce ]---
[   13.743869] Call trace:
[   13.743871] [<ffffffc00089a1e0>] clk_core_disable+0xb0/0x1e8
[   13.743881] [<ffffffbffc0306e0>] aic32x4_set_bias_level+0x100/0x2b0 [tlv320aic32x4]
[   13.743886] [<ffffffc00096516c>] snd_soc_codec_set_bias_level+0x1c/0x28
[   13.743888] [<ffffffc00096c458>] snd_soc_dapm_set_bias_level+0x1e8/0x228
[   13.743891] [<ffffffc00096e434>] dapm_pre_sequence_async+0x3c/0xd0
[   13.743892] [<ffffffc0000c46d8>] async_run_entry_fn+0x40/0x168
[   13.743895] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.743896] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.743898] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.743901] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.743913] ------------[ cut here ]------------
[   13.743914] WARNING: at ffffffc0008995e0 [verbose debug info unavailable]
[   13.743918] Modules linked in: bcmdhd(+) tlv320aic32x4(O) hi8435rada(O) pci_tegra bluedroid_pm
[   13.743918]
[   13.743920] CPU: 0 PID: 116 Comm: kworker/u12:2 Tainted: G        W  O    4.4.38-DTRE-v0.1 #27
[   13.743921] Hardware name: quill (DT)
[   13.743924] Workqueue: events_unbound async_run_entry_fn
[   13.743925] task: ffffffc1ec2ea580 ti: ffffffc1eaad0000 task.ti: ffffffc1eaad0000
[   13.743927] PC is at clk_core_unprepare+0x90/0x1b0
[   13.743928] LR is at clk_unprepare+0x28/0x40
[   13.743930] pc : [<ffffffc0008995e0>] lr : [<ffffffc000899930>] pstate: 60000045
[   13.743930] sp : ffffffc1eaad3c80
[   13.743932] x29: ffffffc1eaad3c80 x28: ffffffc1ecc152e0
[   13.743934] x27: ffffffc00122e000 x26: ffffffc0013ab000
[   13.743935] x25: 0000000000000000 x24: ffffffc0013ab31b
[   13.743937] x23: ffffffc1e5baeb18 x22: 0000000000000000
[   13.743938] x21: ffffffc1e587d618 x20: 0000000000000000
[   13.743940] x19: ffffffc1e587d880 x18: 0000000000000a03
[   13.743942] x17: 0000007f851c8988 x16: ffffffc0001dde30
[   13.743943] x15: 0000000000000008 x14: 0000000000000000
[   13.743945] x13: 000000000000022f x12: 0000000000286c2e
[   13.743946] x11: 0000000000000000 x10: 0000000000000400
[   13.743948] x9 : 0000000000000400 x8 : 00000000000002f0
[   13.743949] x7 : ffffffc1f5cf9598 x6 : ffffffc1eb4f2860
[   13.743951] x5 : 0000000000000000 x4 : ffffffc001472000
[   13.743952] x3 : 0000000000000000 x2 : 0000000000000000
[   13.743954] x1 : 0000000000000001 x0 : ffffffc07034e000
[   13.743954]
[   13.743955] ---[ end trace b77a5e45bb4581cf ]---
[   13.743955] Call trace:
[   13.743957] [<ffffffc0008995e0>] clk_core_unprepare+0x90/0x1b0
[   13.743961] [<ffffffbffc0306e8>] aic32x4_set_bias_level+0x108/0x2b0 [tlv320aic32x4]
[   13.743964] [<ffffffc00096516c>] snd_soc_codec_set_bias_level+0x1c/0x28
[   13.743966] [<ffffffc00096c458>] snd_soc_dapm_set_bias_level+0x1e8/0x228
[   13.743968] [<ffffffc00096e434>] dapm_pre_sequence_async+0x3c/0xd0
[   13.743969] [<ffffffc0000c46d8>] async_run_entry_fn+0x40/0x168
[   13.743971] [<ffffffc0000bbab8>] process_one_work+0x138/0x4c0
[   13.743972] [<ffffffc0000bbf64>] worker_thread+0x124/0x498
[   13.743974] [<ffffffc0000c1cc4>] kthread+0xdc/0xf0
[   13.743976] [<ffffffc000084f90>] ret_from_fork+0x10/0x40
[   13.759187] input: tegra-snd-t186ref-mobile-rt565x Headphone Jack as /devices/sound/sound/card1/input3
[   13.759876] tegra-snd-t186ref-mobile-rt565x sound: <b>codec link not defined - codec not part of sound card</b>
....

[  108.068368] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.075245] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.081426] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.089461] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.096335] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.102511] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.110554] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.117425] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.123603] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.131624] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.138497] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.144673] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.155309] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.162197] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.168378] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.176428] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.183305] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.189483] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.197516] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.204387] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.210566] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.218603] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.225476] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.231659] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.239701] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.246577] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.252755] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.263533] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.270422] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.276605] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.284750] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.291627] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.297805] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.305897] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.312788] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.319005] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.327285] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.334189] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.340411] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.348596] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
[  108.355475] tegra-snd-t186ref-mobile-rt565x sound: Failed dai init
[  108.361654] tegra-snd-t186ref-mobile-rt565x sound: ASoC: machine hw_params failed: -524
[  108.372613] tegra-snd-t186ref-mobile-rt565x sound: codec_dai clock not set
.....

What is the meaning of codec link not defined - codec not part of sound card?

I have then disabled all the tr5956 DAIs and enabled only the one handles the tv320aic32x4 (I have added it)
Then it complained that the clock value which is being set is incorrect 11289600 vs 12000000 (as per the codec file) I think that I should update the DT, but the clock values there are not multiplication of 12M or 24M or 25M as the codec requires:
current audio MCLK (from my DT): 11025 x 1024 = 11289600. So I have tested the updated DT but the clock that the codec was receiving was 11289600 although the value in the DT was modified to 12000000Hz.

Am I in the correct direction?