thingy53 using twic qwiic boards.

I am using a thingy53 and trying to get i2c devices to work via the qwiic/twic interface.

I bought:
SparkFun Qwiic Buzzer - BOB-24474 - SparkFun Electronics and https://www.sparkfun.com/products/14558

I know that they are connected correctly using the qwiic cable since I can't flip the connector as it is keyed.
The RTC is 0x69 and the buzzer is at address 0x34.
I've tried them separately and individually, the buzzer has a lit power led and I've verified 3.3v on the rtc board.

I'm using the shell as described here: How to use Zephyr shell for interactive prototyping with I2C sensors - Golioth

i2c scan i2c@9000
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- --
10: 10 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --
4 devices found on i2c@9000

i2c scan always returns only 4 devices, the ones that come defined as default in thingy53_nrf5340_common.dtsi.
I can read and interact with these devices just fine.

I have tried many things like placing the following in the overlay.   (thingy53_nrf5340_cpuapp.overlay)
&i2c1 {
buzz34: buzz34@34 {
compatible= "i2c-device";
reg = <0x34>;
label = "BUZZ34";
};
};

Or modifying the dtsi file directly adding in the devices there.

&i2c1 {
    compatible = "nordic,nrf-twim";
    status = "okay";
    clock-frequency = <I2C_BITRATE_FAST>;

    pinctrl-0 = <&i2c1_default>;
    pinctrl-1 = <&i2c1_sleep>;
    pinctrl-names = "default", "sleep";
    bmm150: bmm150@10 {
        compatible = "bosch,bmm150";
        reg = <0x10>;
    };

    bh1749: bh1749@38 {
        compatible = "rohm,bh1749";
        reg = <0x38>;
        int-gpios = <&gpio1 5 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
    };

    bme688: bme688@76 {
        compatible = "bosch,bme680";
        reg = <0x76>;
    };
    rv1805: rv1805@69 {
        compatible= "i2c-device";
        reg = <0x69>;
        label = "RV1805";
    //  compatible= "ambiq,am1805";
    //  // am1805-gpios = <&gpio1 15 (GPIO_PULL_UP | GPIO_ACTIVE_HIGH)>;
    //  reg = <0x69>;
    //  status = "okay";
    };
    buzz34: buzz34@34 {
        compatible= "i2c-device";
        reg = <0x34>;
        label = "BUZZ34";
    };
};


I am using an RV1805 and not a AM1805.  At this point I'm just trying to get the devices to show up in the scan as a simple i2c-device.
This all compiles and runs but does not show the devices on the i2c scan.

When I do use the ambiq,am1805 driver, it shows in the device list as disabled and still remains unseen in the scan.

I saw some other issues refer to CONFIG_I2C_NRFX=y; I tried this and it does not help.

Related