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

NCS 1.9.99: How to set sda and scl pins for I2C

With an earlier version of NCS  I could set the sda and scl pins using an overlay file:

boards/nrf52840dk_nrf52840.overlay:

&i2c0 {
    status = "okay";
    compatible = "nordic,nrf-twim";
    sda-pin = < 45 >;
    scl-pin = < 47 >;
    sht3xd@45 {
		compatible = "sensirion,sht3xd";
		reg = <0x45>;
		label = "SHT3XD";
		alert-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
	};
};

With NCS 1.9.99 I get this error:

In file included from /home/k/ncs1999/zephyr/include/zephyr/toolchain.h:50,
                 from /home/k/ncs1999/zephyr/include/zephyr/init.h:10,
                 from /home/k/ncs1999/zephyr/include/zephyr/device.h:29,
                 from /home/k/ncs1999/zephyr/include/zephyr/drivers/i2c.h:23,
                 from /home/k/ncs1999/zephyr/drivers/i2c/i2c_nrfx_twim.c:8:
/home/k/ncs1999/zephyr/include/zephyr/toolchain/gcc.h:77:36: error: static assertion failed: "/soc/i2c@40003000 has legacy *-pin properties defined although PINCTRL is enabled"
   77 | #define BUILD_ASSERT(EXPR, MSG...) _Static_assert(EXPR, "" MSG)
      |                                    ^~~~~~~~~~~~~~
/home/k/ncs1999/zephyr/soc/arm/nordic_nrf/common/./soc_nrf_common.h:229:2: note: in expansion of macro 'BUILD_ASSERT'
  229 |  BUILD_ASSERT(!IS_ENABLED(CONFIG_PINCTRL) ||   \
      |  ^~~~~~~~~~~~
/home/k/ncs1999/zephyr/drivers/i2c/i2c_nrfx_twim.c:396:2: note: in expansion of macro 'NRF_DT_CHECK_PIN_ASSIGNMENTS'
  396 |  NRF_DT_CHECK_PIN_ASSIGNMENTS(I2C(idx), 1, scl_pin, sda_pin);        \
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/k/ncs1999/zephyr/drivers/i2c/i2c_nrfx_twim.c:448:1: note: in expansion of macro 'I2C_NRFX_TWIM_DEVICE'
  448 | I2C_NRFX_TWIM_DEVICE(0);
      | ^~~~~~~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.

How do I change the sda and scl pin assignments using NCS 1.9.99?

Thanks,

Jan Erik

Related