How to add Skyworks fem to nrf5340 audio

Hello,

I am using nrf5340 audio sample with the custom board. The nRF Connect SDK version I used is v2.7.0.

I referred to this post and tried to add skyworks fem to my nrf5340 audio application.

The following is the part I modified:

nrf5340_audio_dk_nrf5340_cpunet.overlay

/ {
    nrf_radio_fem: pa_lna {
        compatible = "skyworks,sky66112-11", "generic-fem-two-ctrl-pins";
        ctx-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
        ctx-settle-time-us = < 23 >;
        crx-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
        crx-settle-time-us = < 5 >;
        cps-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
        tx-gain-db = < 13 >;
        rx-gain-db = < 14 >;
    };
};
&radio {
	fem = <&nrf_radio_fem>;
};

nrf5340_audio_dk_nrf5340_cpuapp.overlay

/ {
    nrf_radio_fem: pa_lna {
        compatible = "skyworks,sky66112-11", "generic-fem-two-ctrl-pins";
        ctx-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
        ctx-settle-time-us = < 23 >;
        crx-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
        crx-settle-time-us = < 5 >;
        cps-gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
        tx-gain-db = < 13 >;
        rx-gain-db = < 14 >;
    };
};

prj.conf

CONFIG_MPSL=y
CONFIG_MPSL_FEM_ONLY=y
CONFIG_MPSL_FEM_SIMPLE_GPIO=y

But it doesn't seem to work.

Is there any way to add skyworks fem to nrf5340 audio application?

Parents
  • Hello again, and once again sorry about the wait. Please contact your local RSM if the help you are getting here isn't prompt enough. And let me know if you need his contact info.

    LandyWang said:

    But I don’t quite understand with the step 4 of the document. Does it mean creating a child image/hci_ipc.overlay file to the nrf5340 audio application? But in NCS v2.7.0, the child image has been replaced by sys build. What should I do to apply the devicetree node to the network core?

    Hmm yeah that part is a bit confusing, though it is explaining how one would do it with the legacy/non-sysbuild way. In the old system you would just add a dts overlay file to a childimage folder, like you mentioned. You can build it without sysbuild if you prefer, using "--no-sysbuild" or the 'No sysbuild' checkbox when making a build configuration in VSC:

     

    In order to build it with sysbuild, you essentially do the same thing but call the folder sysbuild. 

    LandyWang said:

    I tried adding hci_ipc.overlay in sysbuild/ipc_radio, but it seems that fem has no effect.

    Could you make sure that the hci_ipc.overlay have any effect there, by for instance adding some jibberish to the overlay and check if it still builds.

    I think you should either place a file called nrf5340dk_nrf5340_cpunet.overlay in sysbuild/hci_ipc/, or in child_image/hci_ipc/, but there are different ways of doing this in sysbuild and it is a bit confusing to me too.

    Regards,

    Elfving

  • Thank you for your reply.

    I tried adding jibberish to the overlay and check if it still builds to ensure that the hci_ipc.overlay have effect.

    Whether hci_ipc.overlay is placed in sysbuild/hci_ipc/ or child_image/hci_ipc/, it seems to have no effect. The same goes for changing the file name to nrf5340dk_nrf5340_cpunet.overlay.

    Selecting the 'No sysbuild' checkbox when making a build configuration in VSC has the same result.

    It looks like I can't apply the devicetree node to the network core.

  • LandyWang said:

    Whether hci_ipc.overlay is placed in sysbuild/hci_ipc/ or child_image/hci_ipc/, it seems to have no effect. The same goes for changing the file name to nrf5340dk_nrf5340_cpunet.overlay.

    My mistake. Call it /sysbuild/ipc_radio.conf for additional configurations on the child image, and call it /sysbuild/nrf5340dk_nrf5340_cpunet.overlay for additional dts configurations.

    You might have to delete the current build and re-build it for it to locate the new configurations. I believe I tried this myself last time, but I've at least tried it now. It works on my side.

    Regards, and have a good week-end

Reply
  • LandyWang said:

    Whether hci_ipc.overlay is placed in sysbuild/hci_ipc/ or child_image/hci_ipc/, it seems to have no effect. The same goes for changing the file name to nrf5340dk_nrf5340_cpunet.overlay.

    My mistake. Call it /sysbuild/ipc_radio.conf for additional configurations on the child image, and call it /sysbuild/nrf5340dk_nrf5340_cpunet.overlay for additional dts configurations.

    You might have to delete the current build and re-build it for it to locate the new configurations. I believe I tried this myself last time, but I've at least tried it now. It works on my side.

    Regards, and have a good week-end

Children
  • Thank you for your reply.

    I tried adding FEM-related config to my sysbuild folder, but a compile error occurred.

    Here are my steps:

    1.Remove build configuration

    2. Add /sysbuild/ipc_radio.conf

    #
    # Copyright (c) 2023 Nordic Semiconductor ASA
    #
    # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
    #
    
    #FEM
    CONFIG_MPSL=y
    CONFIG_MPSL_FEM_ONLY=y
    CONFIG_MPSL_FEM_SIMPLE_GPIO=y

    3. Add /sysbuild/nrf5340_audio_dk_nrf5340_cpunet.overlay

    / {
        nrf_radio_fem: pa_lna {
            compatible = "skyworks,sky66112-11", "generic-fem-two-ctrl-pins";
            ctx-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
            ctx-settle-time-us = < 23 >;
            crx-gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
            crx-settle-time-us = < 5 >;
            cps-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
            tx-gain-db = < 13 >;
            rx-gain-db = < 14 >;
        };
    };
    &radio {
    	fem = <&nrf_radio_fem>;
    };

    4. Add bild configuration(using sysbuild)

    My compile error is as follows:

    It seems that MPSL cannot be used. Is nrf5340 audio unable to configure MPSL? If so, how to configure skyworks fem on nrf5340 audio application?

  • Hello,

    Is anyone still following this issue?

Related