nRF52840 I2C address in master mode not setting above 6th bit

Hi All,

i have been working on two i2c devices

1. MPR121, which has slave address (0x5A)

2. PCF8583, its address is (0xA0).

I am using Zephyr I2c api for the same.

Issue is when i try to set i2c address of pcf8583 i.e(0xA0), its getting masked at 7th bit.

for eg.

if i set (0xA0) its sending (0x20) and if i set (0xB0) it sends (0x30).

with MPR121 its working fine since the address is below 6th bit.

my overlay file details:

&i2c1 {
compatible = "nordic,nrf-twim";
status = "okay";
pinctrl-0 = <&i2c1_alt_default>;
pinctrl-1 = <&i2c1_alt_sleep>;
pinctrl-names = "default", "sleep"; //sda-pin = <8>; /* Pin P1.07--->39 == 33*/
//scl-pin = <11>; /* Pin P1.08--->40 == 17*/
pcf8583@a0{
compatible = "nxp,pcf8583";
label = "PCF8583";
reg = <0xA0>;
};

mpr121@5a{
compatible = "nxp,mpr121";
label = "MPR121";
reg = <0x5A>;
//irq-pin = <&gpio0 38 0>;
};

};

please anyone can help me with this issue.

thank you

Related