Another "undefined reference to __device_dts_ord_xx' linker error

Here's the error:

.... src/gnssI2c.c:21: undefined reference to `__device_dts_ord_105'

Here's line 21

Device tree snippet:

/* I2C */
&i2c2 {
    compatible = "nordic,nrf-twim";
    status = "okay";
    pinctrl-0 = <&i2c2_default>;
    pinctrl-1 = <&i2c2_sleep>;
    pinctrl-names = "default", "sleep";
    clock-frequency = <400000>;

    nfcST25DV64KC_UserMem: st25dv64@53{
        compatible = "i2c-device";
        status = "okay";
        reg = < 0x53 >;
    };

    nfcST25DV64KC_SystemMem: st25dv64@57{
        compatible = "i2c-device";
        status = "okay";
        reg = < 0x57 >;
    };

    fuelCellMAX17055: max17055@36{
        compatible = "i2c-device";
        status = "okay";
        reg = < 0x36 >;
    };

    lis2dh: lis2dh@32{
        compatible = "st,lis2dh";
        status = "okay";
        reg = < 0x32 >;
    };

    ubloxm10s: ubloxm10s@42{
        compatible = "i2c-device";
        status = "okay";
        reg = < 0x42 >;
    };
};

The code compiles okay, so the ublox10ms label is found in the device tree .h file, but I think I must be missing a CONFIG_XX line that enables the linking of the generic Zephyr I2C driver. Note that the linker can find the lis2dh driver without a problem.  I've got CONFIG_I2C=y in my prj.conf file.

It's for a custom board; this is the entire .dts file:

aetherisremote.dts

And this is the resultant zephyr.dts

85111.zephyr.dts

Related