This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Kconfig options on custom board

Hi,

We are using nRF52810 on a custom board, and when creating that board in NCS (in VScode), the Kconfig options are limited. We are not able to enable/disable the DCDC regulator:

attempt to assign the value 'y' to the undefined symbol BOARD_ENABLE_DCDC

What is the correct way to make sure that all the relevant options are available for our own board, like they are on the dev kit?

Best regards,

Erik

Parents
  • Hi,

    What are the contents of your board's Kconfig file? BOARD_ENABLE_DCDC should be defined there. Perhaps take a look at the board files of the DK to see how it is done there.

    And what is the path to the board files?

  • Hi Øivind,

    I have "investigated" this issue a bit more, including upgrading to 1.8.0 just to be on the latest version. When I create a build configuration based on the DKs for 840 or 810, the "Enable DCDC" option is available. But if I use a custom board based on the 810 or 840 chip or on the nrf52810dmouse_nrf52810 board, the option is not available.

    I assume that I am missing something, so I hope you can point me in the right direction. This is the Kconfig.modules file from the custom board:

    menu "nrf (C:\NordicSemi\v1.8.0\nrf)"
    osource "C:/NordicSemi/v1.8.0/nrf/Kconfig.nrf"
    config ZEPHYR_NRF_MODULE
    	bool
    	default y
    endmenu
    menu "mcuboot (C:\NordicSemi\v1.8.0\bootloader\mcuboot)"
    osource "$(ZEPHYR_MCUBOOT_KCONFIG)"
    config ZEPHYR_MCUBOOT_MODULE
    	bool
    	default y
    endmenu
    menu "trusted-firmware-m (C:\NordicSemi\v1.8.0\modules\tee\tfm)"
    osource "$(ZEPHYR_TRUSTED_FIRMWARE_M_KCONFIG)"
    config ZEPHYR_TRUSTED_FIRMWARE_M_MODULE
    	bool
    	default y
    endmenu
    menu "cjson (C:\NordicSemi\v1.8.0\modules\lib\cjson)"
    osource "$(ZEPHYR_CJSON_KCONFIG)"
    config ZEPHYR_CJSON_MODULE
    	bool
    	default y
    endmenu
    menu "pelion-dm (C:\NordicSemi\v1.8.0\modules\lib\pelion-dm)"
    osource "C:/NordicSemi/v1.8.0/modules/lib/pelion-dm/zephyr/Kconfig"
    config ZEPHYR_PELION_DM_MODULE
    	bool
    	default y
    endmenu
    menu "cddl-gen (C:\NordicSemi\v1.8.0\modules\lib\cddl-gen)"
    osource "$(ZEPHYR_CDDL_GEN_KCONFIG)"
    config ZEPHYR_CDDL_GEN_MODULE
    	bool
    	default y
    endmenu
    menu "memfault-firmware-sdk (C:\NordicSemi\v1.8.0\modules\lib\memfault-firmware-sdk)"
    osource "C:/NordicSemi/v1.8.0/modules/lib/memfault-firmware-sdk/ports/zephyr/Kconfig"
    config ZEPHYR_MEMFAULT_FIRMWARE_SDK_MODULE
    	bool
    	default y
    endmenu
    menu "CANopenNode (C:\NordicSemi\v1.8.0\modules\lib\canopennode)"
    osource "$(ZEPHYR_CANOPENNODE_KCONFIG)"
    config ZEPHYR_CANOPENNODE_MODULE
    	bool
    	default y
    endmenu
    menu "hal_nordic (C:\NordicSemi\v1.8.0\modules\hal\nordic)"
    osource "$(ZEPHYR_HAL_NORDIC_KCONFIG)"
    config ZEPHYR_HAL_NORDIC_MODULE
    	bool
    	default y
    endmenu
    menu "loramac-node (C:\NordicSemi\v1.8.0\modules\lib\loramac-node)"
    osource "$(ZEPHYR_LORAMAC_NODE_KCONFIG)"
    config ZEPHYR_LORAMAC_NODE_MODULE
    	bool
    	default y
    endmenu
    menu "lz4 (C:\NordicSemi\v1.8.0\modules\lib\lz4)"
    osource "$(ZEPHYR_LZ4_KCONFIG)"
    config ZEPHYR_LZ4_MODULE
    	bool
    	default y
    endmenu
    menu "mbedtls (C:\NordicSemi\v1.8.0\modules\crypto\mbedtls)"
    osource "$(ZEPHYR_MBEDTLS_KCONFIG)"
    config ZEPHYR_MBEDTLS_MODULE
    	bool
    	default y
    endmenu
    menu "nanopb (C:\NordicSemi\v1.8.0\modules\lib\nanopb)"
    osource "$(ZEPHYR_NANOPB_KCONFIG)"
    config ZEPHYR_NANOPB_MODULE
    	bool
    	default y
    endmenu
    menu "TraceRecorder (C:\NordicSemi\v1.8.0\modules\debug\TraceRecorder)"
    osource "C:/NordicSemi/v1.8.0/modules/debug/TraceRecorder/kernelports/Zephyr/Kconfig"
    config ZEPHYR_TRACERECORDER_MODULE
    	bool
    	default y
    endmenu
    menu "nrfxlib (C:\NordicSemi\v1.8.0\nrfxlib)"
    osource "C:/NordicSemi/v1.8.0/nrfxlib/Kconfig.nrfxlib"
    config ZEPHYR_NRFXLIB_MODULE
    	bool
    	default y
    endmenu
    menu "connectedhomeip (C:\NordicSemi\v1.8.0\modules\lib\matter)"
    osource "C:/NordicSemi/v1.8.0/modules/lib/matter/config/nrfconnect/chip-module/Kconfig"
    config ZEPHYR_CONNECTEDHOMEIP_MODULE
    	bool
    	default y
    endmenu
    

    Best regards,

    Erik

  • I asked a colleague who is a bit more hardware familiar with the hardware.

    He said that the reference design for the nrf52810 mouse does not have the external LC filter which is needed for the DCDC regulator.
    Enabling DCDC without the required hardware will cause issues during start-up and may lead to the board being bricked.

    For a custom board you should always make new board files.
    If the custom board is based on a board in the SDK, then you can use that board's files as a starting point.
    You still need to make sure that any changes to the board are represented accurately in the board files.
    So if your custom board has the required hardware, you should add the option in the board files, like it is done on other boards.

    Here is a board porting guide from Zephyr: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/porting/board_porting.html

  • Thanks Øivind,

    I managed to do the porting and have the DCDC option etc available.

    Erik

Reply Children
No Data
Related