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

  • Hi,

    I would need to have some additional information.
    1. Could you provide more information about your setup? Which devices do you use and how are they connected?
    2. Do you use unmodified nRF5340 audio sample?
    3. Could you please provide more information about the issue? When did it happen first? Did it work well before the error appeared? If it did, for how long?
    4. Could you try swapping the lines in nrf5340_audio_dk_devices.json configuration file several times? What is the result? Does it fail consistently when you change configuration?
    5. Do you build using script or command line? Please provide the steps that you use for building.

    Best regards,
    Dejan

  • Hi, Dejans

    for Q1, the steps;

    1.edit prj.conf, add following config:

    ##############################
    CONFIG_BT_DEBUG_LOG=y
    CONFIG_DEBUG_INFO=y
    CONFIG_BT_LOG_LEVEL_WRN=y
    #########################
    CONFIG_SW_CODEC_SBC=n
    CONFIG_SW_CODEC_LC3=y

    CONFIG_AUDIO_SOURCE_USB=y
    CONFIG_AUDIO_SOURCE_I2S=n

    CONFIG_TRANSPORT_CIS=y
    CONFIG_TRANSPORT_BIS=n

    CONFIG_LOG_MAIN_LEVEL=4
    CONFIG_LOG_AUDIO_CODEC_LEVEL=4
    CONFIG_LOG_AUDIO_DATAPATH_LEVEL=4
    CONFIG_LOG_AUDIO_SYNC_TIMER_LEVEL=4
    CONFIG_LOG_STREAMCTRL_LEVEL=4
    CONFIG_LOG_BLE_LEVEL=4
    #CONFIG_LOG_AUDIO_SERVICES_LEVEL=4
    CONFIG_LOG_CS47L63_LEVEL=4
    CONFIG_LOG_CTRL_EVENTS_LEVEL=4
    CONFIG_LOG_I2S_LEVEL=4
    CONFIG_LOG_AUDIO_USB_LEVEL=4
    CONFIG_LOG_BUTTON_HANDLER_LEVEL=4
    CONFIG_LOG_HW_CODEC_LEVEL=4
    CONFIG_LOG_LED_LEVEL=4
    CONFIG_LOG_PMIC_LEVEL=4
    CONFIG_LOG_POWER_MODULE_LEVEL=4
    CONFIG_LOG_SD_CARD_LEVEL=4
    CONFIG_LOG_BOARD_VERSION_LEVEL=4
    CONFIG_LOG_DEFAULT_LEVEL=4

    2.  edit nrf5340_audio_dk_devices.json to match the Nrf5340 Aduio DK, like previous mentioned;

    3. use two usb cables to connect two Nrf5340 Audio DK with the laptop

    3. build the project by bash cmd: python buildprog.py -c both -b debug -d both -p

    Q2. just edit the prj.conf for debug message

    Q3. we got the nrf5340 audio dk for several days, it is the first time of this issue appeare, and first time to swap the role

    Q4. after swapping the role for several times, this issue was gone, but Not sure if it's permanent

    Q5. build the project by bash cmd: python buildprog.py -c both -b debug -d both -p

    BR,

    Zhongsan

  • Hi Zhongsan,

    Could you plug in battery to the DK board before swapping roles in the nrf5340_audio_dk_devices.json configuration file?

    Best regards,
    Dejan

  • Hi Zhongsan,

    Please let me know the result.

    Best regards,
    Dejan

Related