Failed to reset CS47L63

Hi,

Failed to reset CS47L63 when swapping the role,

if use the configuration like this:

[
{
"nrf5340_audio_dk_snr": 1050140236,
"nrf5340_audio_dk_dev": "headset",
"channel": "left"
},
{
"nrf5340_audio_dk_snr": 1050167579,
"nrf5340_audio_dk_dev": "gateway",
"channel": "NA"
},
{
"nrf5340_audio_dk_snr": 1000,
"nrf5340_audio_dk_dev": "headset",
"channel": "right"
}
]

everything is fine

if swapping the role like this:

[
{
"nrf5340_audio_dk_snr": 1050167579,
"nrf5340_audio_dk_dev": "headset",
"channel": "left"
},
{
"nrf5340_audio_dk_snr": 1050140236,
"nrf5340_audio_dk_dev": "gateway",
"channel": "NA"
},
{
"nrf5340_audio_dk_snr": 1000,
"nrf5340_audio_dk_dev": "headset",
"channel": "right"
}
]

will be failed:

$ *** Booting Zephyr OS build v3.0.99-ncs1-rc1 ***
HL [00:00:00.252,990] <dbg> nrf5340_audio_dk_nrf5340_cpuapp: core_config: Setting gpiote latency to r
HL [00:00:00.253,051] <dbg> nrf5340_audio_dk_nrf5340_cpuapp: remoteproc_mgr_boot: Network MCU releas.
HL [00:00:00.257,598] <dbg> main: main: nRF5340 APP core started
HL [00:00:00.257,995] <dbg> led: transfer_pin_to_net: Pin 28 transferred on device GPIO_0
HL [00:00:00.257,995] <dbg> led: led_device_tree_parse: APP core: LED belongs to NET core. Skipping
HL [00:00:00.258,026] <dbg> led: transfer_pin_to_net: Pin 29 transferred on device GPIO_0
HL [00:00:00.258,026] <dbg> led: led_device_tree_parse: APP core: LED belongs to NET core. Skipping
HL [00:00:00.258,056] <dbg> led: transfer_pin_to_net: Pin 30 transferred on device GPIO_0
HL [00:00:00.258,056] <dbg> led: led_device_tree_parse: APP core: LED belongs to NET core. Skipping
HL [00:00:00.258,178] <inf> fw_info:
nRF5340 Audio nRF5340 Audio DK cpuapp
FW Version: 0.5.99
Cmake run : Sat Jun 18 09:40:35 2022
HL [00:00:00.258,209] <inf> fw_info: ------- DEBUG BUILD -------
HL [00:00:00.258,209] <inf> fw_info:
HEADSET left device
HL [00:00:00.268,798] <dbg> board_version: version_search: Board ver search OK!. ADC reg val: 1749
HL [00:00:00.268,829] <inf> board_version: Compatible board/HW version found: 1.0.0
HL [00:00:00.279,418] <dbg> board_version: version_search: Board ver search OK!. ADC reg val: 1764
HL [00:00:00.282,318] <dbg> sd_card: sd_card_init: SD card init failed, please check if SD card insed
HL [00:00:00.284,912] <dbg> pwr_module: power_module_measurement_stop: Stopping measurement on: 0
HL [00:00:00.287,963] <dbg> pwr_module: power_module_measurement_stop: Stopping measurement on: 1
HL [00:00:00.291,015] <dbg> pwr_module: power_module_measurement_stop: Stopping measurement on: 2
HL [00:00:00.294,067] <dbg> pwr_module: power_module_measurement_stop: Stopping measurement on: 3
HL [00:00:00.294,555] <dbg> pwr_module: power_module_init: Power module initialized
HL [00:00:00.299,316] <inf> CS47L63: Tried to set supply, not supported
HL [00:00:00.514,190] <err> CS47L63: Failed to reset CS47L63
HL [00:00:00.514,190] <err> main: ERR_CHK Err_code: [-6] @ line: 194
HL [00:00:00.514,221] <err> os: r0/a1: 0x00000003 r1/a2: 0x00000002 r2/a3: 0x00000001
HL [00:00:00.514,221] <err> os: r3/a4: 0x20001e10 r12/ip: 0x00000004 r14/lr: 0x0001a655
HL [00:00:00.514,221] <err> os: xpsr: 0x49100000
HL [00:00:00.514,221] <err> os: s[ 0]: 0x00000000 s[ 1]: 0x00000000 s[ 2]: 0x00000000 s[ 3]: 0
HL [00:00:00.514,251] <err> os: s[ 4]: 0x00000000 s[ 5]: 0x00000000 s[ 6]: 0x00000000 s[ 7]: 0
HL [00:00:00.514,251] <err> os: s[ 8]: 0x00000000 s[ 9]: 0x00000000 s[10]: 0x00000000 s[11]: 0
HL [00:00:00.514,251] <err> os: s[12]: 0x00000000 s[13]: 0x00000000 s[14]: 0x00000000 s[15]: 0
HL [00:00:00.514,251] <err> os: fpscr: 0xaaaaaaaa
HL [00:00:00.514,282] <err> os: Faulting instruction address (r15/pc): 0x000031f4
HL [00:00:00.514,282] <err> os: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
HL [00:00:00.514,312] <err> os: Current thread: 0x20002f70 (main)
HL [00:00:00.514,312] <err> error_handler: Caught system error -- reason 3. Entering infinite loop

why? Is the DK broken?

thanks

  • I was having similar issues as   - here is the information asked of him in this thread but pertaining to my situation (in case anyone in the future comes along to find this):

    • Board Specs:
      • PCA10121
      • 1.0.0
      • 2022.20
    • The board that was showing this behavior has modified antenna we're experimenting with (not sure the PN or anything)
    • I've enabled 'CONFIG_AUDIO_SOURCE_I2S' and 'CONFIG_STREAM_BIDIRECTIONAL' in prj.conf
      • I have tried some other options but this is what I currently have and did not record the others
    • Building & Programming with buildprog.py
    • I've added debug prints to try and diagnose this before finding this thread - removing them has no effect.

    I was originally testing with only USB providing power; when I plugged the battery into the board giving me trouble a simple power cycle "solved" the issue.

    Is it known why having the battery power impacts this (and presumably other things)? It would be nice to know and be able to account for with future development.

  • Hi,

    It was known issue where PMIC failed to start CS47L63 chip and battery helped in this process. This issue was fixed in later versions.

    Best regards,
    Dejan

Related