nPM1300 devicetree required properties does not include "vbus-limit-microamp" and the build fails without it

Good Afternoon,

I am working on getting the npm1300 up and running on my custom board. I have a 1v8 line and a 3v2 line with the load switches being used as LDOs. I am using the new ncs 3.0.0 for reference (I need the LIS2DUXS12 support in that release)

I am stuck in the building phase because after defining everything and having no problems in VSCode, I am getting this error:

In file included from /home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/sys/util_macro.h:34,
                 from /home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/irq_multilevel.h:16,
                 from /home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/devicetree.h:20,
                 from /home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/device.h:12,
                 from /home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/drivers/sensor.h:27,
                 from /home/lagomankor/ncs/v3.0.0/zephyr/drivers/sensor/nordic/npm1300_charger/npm1300_charger.c:9:
/home/lagomankor/workspace/Code/essence-track_db/build/essence-track_db/zephyr/include/generated/zephyr/devicetree_generated.h:12512:44: error: 'DT_N_S_soc_S_peripheral_50000000_S_i2c_8000_S_npm1300_6b_S_npm1300_charger_P_vbus_limit_microamp' undeclared here (not in a function); did you mean 'DT_N_S_soc_S_peripheral_50000000_S_i2c_8000_S_npm1300_6b_S_npm1300_charger_P_dischg_limit_microamp'?
12512 | #define DT_N_INST_0_nordic_npm1300_charger DT_N_S_soc_S_peripheral_50000000_S_i2c_8000_S_npm1300_6b_S_npm1300_charger
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/sys/util_internal.h:72:26: note: in definition of macro '__DEBRACKET'
   72 | #define __DEBRACKET(...) __VA_ARGS__
      |                          ^~~~~~~~~~~
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/sys/util_internal.h:64:9: note: in expansion of macro '__GET_ARG2_DEBRACKET'
   64 |         __GET_ARG2_DEBRACKET(one_or_two_args _if_code, _else_code)
      |         ^~~~~~~~~~~~~~~~~~~~
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/sys/util_internal.h:59:9: note: in expansion of macro '__COND_CODE'
   59 |         __COND_CODE(_XXXX##_flag, _if_1_code, _else_code)
      |         ^~~~~~~~~~~
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/sys/util_macro.h:196:9: note: in expansion of macro 'Z_COND_CODE_1'
  196 |         Z_COND_CODE_1(_flag, _if_1_code, _else_code)
      |         ^~~~~~~~~~~~~
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/devicetree.h:4946:9: note: in expansion of macro 'COND_CODE_1'
 4946 |         COND_CODE_1(DT_HAS_COMPAT_STATUS_OKAY(DT_DRV_COMPAT),   \
      |         ^~~~~~~~~~~
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/devicetree.h:752:32: note: in expansion of macro 'DT_CAT3'
  752 | #define DT_PROP(node_id, prop) DT_CAT3(node_id, _P_, prop)
      |                                ^~~~~~~
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/devicetree.h:4147:34: note: in expansion of macro 'DT_PROP'
 4147 | #define DT_INST_PROP(inst, prop) DT_PROP(DT_DRV_INST(inst), prop)
      |                                  ^~~~~~~
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/sys/util_internal.h:105:36: note: in expansion of macro 'DT_N_INST_0_nordic_npm1300_charger'
  105 | #define UTIL_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__
      |                                    ^
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/sys/util_internal.h:104:26: note: in expansion of macro 'UTIL_PRIMITIVE_CAT'
  104 | #define UTIL_CAT(a, ...) UTIL_PRIMITIVE_CAT(a, __VA_ARGS__)
      |                          ^~~~~~~~~~~~~~~~~~
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/devicetree.h:339:31: note: in expansion of macro 'UTIL_CAT'
  339 | #define DT_INST(inst, compat) UTIL_CAT(DT_N_INST, DT_DASH(inst, compat))
      |                               ^~~~~~~~
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/devicetree.h:3869:27: note: in expansion of macro 'DT_INST'
 3869 | #define DT_DRV_INST(inst) DT_INST(inst, DT_DRV_COMPAT)
      |                           ^~~~~~~
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/devicetree.h:4147:42: note: in expansion of macro 'DT_DRV_INST'
 4147 | #define DT_INST_PROP(inst, prop) DT_PROP(DT_DRV_INST(inst), prop)
      |                                          ^~~~~~~~~~~
/home/lagomankor/ncs/v3.0.0/zephyr/drivers/sensor/nordic/npm1300_charger/npm1300_charger.c:679:40: note: in expansion of macro 'DT_INST_PROP'
  679 |                 .vbus_limit_microamp = DT_INST_PROP(n, vbus_limit_microamp),                       \
      |                                        ^~~~~~~~~~~~
/home/lagomankor/workspace/Code/essence-track_db/build/essence-track_db/zephyr/include/generated/zephyr/devicetree_generated.h:15522:57: note: in expansion of macro 'NPM1300_CHARGER_INIT'
15522 | #define DT_FOREACH_OKAY_INST_nordic_npm1300_charger(fn) fn(0)
      |                                                         ^~
/home/lagomankor/ncs/v3.0.0/zephyr/include/zephyr/sys/util_internal.h:105:36: note: in expansion of macro 'DT_FOREACH_OKAY_INST_nordic_npm1300_charger'
  105 | #define UTIL_PRIMITIVE_CAT(a, ...) a##__VA_ARGS__
      |                                    ^
/home/lagomankor/ncs/v3.0.0/zephyr/drivers/sensor/nordic/npm1300_charger/npm1300_charger.c:701:1: note: in expansion of macro 'DT_INST_FOREACH_STATUS_OKAY'
  701 | DT_INST_FOREACH_STATUS_OKAY(NPM1300_CHARGER_INIT)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
[258/319] Building C object modules/hal_nordic/modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/home/lagomankor/ncs/v3.0.0/modules/hal/nordic/nrfx/drivers/src/nrfx_twi_twim.c.obj
[259/319] Building C object modules/libmetal/libmetal/lib/CMakeFiles/metal.dir/system/zephyr/device.c.obj
[260/319] Building C object modules/libmetal/libmetal/lib/CMakeFiles/metal.dir/system/zephyr/log.c.obj
[261/319] Building C object modules/libmetal/libmetal/lib/CMakeFiles/metal.dir/system/zephyr/shmem.c.obj
[262/319] Building C object modules/libmetal/libmetal/lib/CMakeFiles/metal.dir/system/zephyr/init.c.obj
[263/319] Building C object modules/libmetal/libmetal/lib/CMakeFiles/metal.dir/system/zephyr/time.c.obj
[264/319] Building C object modules/libmetal/libmetal/lib/CMakeFiles/metal.dir/system/zephyr/alloc.c.obj
[265/319] Building C object modules/libmetal/libmetal/lib/CMakeFiles/metal.dir/system/zephyr/irq.c.obj
[266/319] Building C object modules/libmetal/libmetal/lib/CMakeFiles/metal.dir/system/zephyr/sys.c.obj
[267/319] Building C object modules/open-amp/open-amp/lib/CMakeFiles/open_amp.dir/virtio/virtio.c.obj
[268/319] Building C object modules/open-amp/open-amp/lib/CMakeFiles/open_amp.dir/virtio/virtqueue.c.obj
[269/319] Building C object modules/hal_nordic/modules/hal_nordic/nrfx/CMakeFiles/modules__hal_nordic__nrfx.dir/home/lagomankor/ncs/v3.0.0/modules/hal/nordic/nrfx/drivers/src/nrfx_twim.c.obj
[270/319] Building C object modules/open-amp/open-amp/lib/CMakeFiles/open_amp.dir/rpmsg/rpmsg_virtio.c.obj
ninja: build stopped: subcommand failed.
FAILED: _sysbuild/sysbuild/images/essence-track_db-prefix/src/essence-track_db-stamp/essence-track_db-build /home/lagomankor/workspace/Code/essence-track_db/build/_sysbuild/sysbuild/images/essence-track_db-prefix/src/essence-track_db-stamp/essence-track_db-build 
cd /home/lagomankor/workspace/Code/essence-track_db/build/essence-track_db && /home/lagomankor/ncs/toolchains/7cbc0036f4/usr/local/bin/cmake --build .
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /home/lagomankor/ncs/toolchains/7cbc0036f4/usr/local/bin/cmake --build /home/lagomankor/workspace/Code/essence-track_db/build

This line has me puzzled:

error: 'DT_N_S_soc_S_peripheral_50000000_S_i2c_8000_S_npm1300_6b_S_npm1300_charger_P_vbus_limit_microamp' undeclared here (not in a function); did you mean 'DT_N_S_soc_S_peripheral_50000000_S_i2c_8000_S_npm1300_6b_S_npm1300_charger_P_dischg_limit_microamp'?

It is not listed as a required property and yet if it is not set, there I get an error that it is undeclared. Is this actually a required property?

Can you recreate it on your end? Thank you

Related