Can't set CONFIG_BOARD_ENABLE_DCDC=n on custom board

Hi there,

I have a small custom board with the nRF52810 that uses the LDO instead of the DC-DC, it also doesn't have the 32KHz LF crystal.

Was able to add this to the defconfig file / prj.conf which compiles fine:
CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y

But in trying to add CONFIG_BOARD_ENABLE_DCDC=n and re-compiling results in an error:
warning: attempt to assign the value 'n' to the undefined symbol BOARD_ENABLE_DCDC

Does anyone know how to solve this? The other threads I've seen show it works for others but that was a year ago or more.

Thank you!

  • Hi,

    Try adding a filename "Kconfig" in your custom board folder with following contents:

    config BOARD_ENABLE_DCDC
        bool "DCDC mode"
        select SOC_DCDC_NRF52X
        default n
        depends on BOARD_YOUR_BOARD_NAME

    Regards

  • Thank you for the quick reply! I added it and it seems to compile but I don't know if it's been set properly?

    I say that because if I click on "SOC_DCDC_NRF52X" and go to it's definition it says:

    config SOC_DCDC_NRF52X

        bool
        select DEPRECATED
        help
          This option is deprecated, use devicetree instead. Example
          configuration:

          &reg/reg1 {
            regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
          };

          Enable nRF52 series System on Chip DC/DC converter.

    And then if I try to add the &reg/reg1 to the device tree dts file, it says this register doesn't exist.
  • Which NCS you're using? This link gives:

    Internal regulators present in nRF52/53 series can now be configured using devicetree. The Kconfig options CONFIG_SOC_DCDC_NRF52X, CONFIG_SOC_DCDC_NRF52X_HV, CONFIG_SOC_DCDC_NRF53X_APP, CONFIG_SOC_DCDC_NRF53X_NET and CONFIG_SOC_DCDC_NRF53X_HV selected by board-level Kconfig options have been deprecated.

    Example for nRF52 series:

    /* configure REG/REG1 in DC/DC mode */
    &reg/reg1 {
        regulator-initial-mode = <NRF5X_REG_MODE_DCDC>;
    };
    
    /* enable REG0 (HV mode) */
    &reg0 {
        status = "okay";
    };

    Look for reg or reg1 nodes in dts of your specific SoC and use that node.

    Regards

  • Hello,

    What do you see if you run this command nrfjprog --memrd 0x40000578 --n 4?

  • Hi, this is the result:
    0x40000578: 00000000

    I'm new to this environment, using nRF Connect SDK v2.8.0 on Visual Studio Code.

    While I have you, is there a delay_ms function available? I think the small nRF52810 custom board I'm using kind of is working but something isn't quite right so it would be good to validate if the clock is set correctly. (Wireless packet received takes 8s to process and turn on an LED when not debugging but when debugging and holding down F10 it updates quicker. If pressing F5 a few times, it stalls. On the DK itself, it works perfectly). Might need to open another support request if needed.

    (Edit: I reflashed the DK board and the 8s lag was also present on it, reverted back to the old files I have and the DK board works so now I need to figure out what happened - code didn't change at all).
    It seems like adding "CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y" causes the slow down but I think that line is needed if you don't have the 32.KHz crystal populated?

Related