diff mbox series

[1/1] power: pmic_pca9450: fix PCA9450A I2C address

Message ID 20200629084215.25006-1-sebastien.szymanski@armadeus.com
State New
Headers show
Series [1/1] power: pmic_pca9450: fix PCA9450A I2C address | expand

Commit Message

Sébastien Szymanski June 29, 2020, 8:42 a.m. UTC
PCA9450A I2C address is 0x25. Fix it.

Signed-off-by: S?bastien Szymanski <sebastien.szymanski at armadeus.com>
---
 drivers/power/pmic/pmic_pca9450.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ye Li June 29, 2020, 9:51 a.m. UTC | #1
On Mon, 2020-06-29 at 10:42 +0200, S?bastien Szymanski wrote:
> Caution: EXT Email
> 
> PCA9450A I2C address is 0x25. Fix it.
> 
> Signed-off-by: S?bastien Szymanski <sebastien.szymanski at armadeus.com>
> ---
> ?drivers/power/pmic/pmic_pca9450.c | 2 +-
> ?1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/power/pmic/pmic_pca9450.c
> b/drivers/power/pmic/pmic_pca9450.c
> index 67a9090200..c0fb78c4cd 100644
> --- a/drivers/power/pmic/pmic_pca9450.c
> +++ b/drivers/power/pmic/pmic_pca9450.c
> @@ -23,7 +23,7 @@ int power_pca9450a_init(unsigned char bus)
> ????????p->name = pca9450_name;
> ????????p->interface = PMIC_I2C;
> ????????p->number_of_regs = PCA9450_REG_NUM;
> -???????p->hw.i2c.addr = 0x35;
> +???????p->hw.i2c.addr = 0x25;

The address 0x35 is correct for PCA9540A. You are probably using
PCA9540B/C which address is 0x25. If so, please
call?power_pca9450b_init.

Best regards,
Ye Li
> ????????p->hw.i2c.tx_num = 1;
> ????????p->bus = bus;
> 
> --
> 2.26.2
>
Sébastien Szymanski June 29, 2020, 10:11 a.m. UTC | #2
On 6/29/20 11:51 AM, Ye Li wrote:
> On Mon, 2020-06-29 at 10:42 +0200, S?bastien Szymanski wrote:
>> Caution: EXT Email
>>
>> PCA9450A I2C address is 0x25. Fix it.
>>
>> Signed-off-by: S?bastien Szymanski <sebastien.szymanski at armadeus.com>
>> ---
>> ?drivers/power/pmic/pmic_pca9450.c | 2 +-
>> ?1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/power/pmic/pmic_pca9450.c
>> b/drivers/power/pmic/pmic_pca9450.c
>> index 67a9090200..c0fb78c4cd 100644
>> --- a/drivers/power/pmic/pmic_pca9450.c
>> +++ b/drivers/power/pmic/pmic_pca9450.c
>> @@ -23,7 +23,7 @@ int power_pca9450a_init(unsigned char bus)
>> ????????p->name = pca9450_name;
>> ????????p->interface = PMIC_I2C;
>> ????????p->number_of_regs = PCA9450_REG_NUM;
>> -???????p->hw.i2c.addr = 0x35;
>> +???????p->hw.i2c.addr = 0x25;
> 
> The address 0x35 is correct for PCA9540A. You are probably using
> PCA9540B/C which address is 0x25. If so, please
> call?power_pca9450b_init.

No.
I am using a PCA9450A chip and its address is 0x25:

# i2cget -f -y 0 0x25 0x00
0x10

Moreover, the datasheet says it's 0x25. [1]

[1] https://www.nxp.com/docs/en/data-sheet/PCA9450DS.pdf

Regards,

> 
> Best regards,
> Ye Li
>> ????????p->hw.i2c.tx_num = 1;
>> ????????p->bus = bus;
>>
>> --
>> 2.26.2
Ye Li June 29, 2020, 1:45 p.m. UTC | #3
On Mon, 2020-06-29 at 12:11 +0200, S?bastien Szymanski wrote:
> Caution: EXT Email
> 
> On 6/29/20 11:51 AM, Ye Li wrote:
> > 
> > On Mon, 2020-06-29 at 10:42 +0200, S?bastien Szymanski wrote:
> > > 
> > > Caution: EXT Email
> > > 
> > > PCA9450A I2C address is 0x25. Fix it.
> > > 
> > > Signed-off-by: S?bastien Szymanski <sebastien.szymanski at armadeus.
> > > com>
> > > ---
> > > ?drivers/power/pmic/pmic_pca9450.c | 2 +-
> > > ?1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/power/pmic/pmic_pca9450.c
> > > b/drivers/power/pmic/pmic_pca9450.c
> > > index 67a9090200..c0fb78c4cd 100644
> > > --- a/drivers/power/pmic/pmic_pca9450.c
> > > +++ b/drivers/power/pmic/pmic_pca9450.c
> > > @@ -23,7 +23,7 @@ int power_pca9450a_init(unsigned char bus)
> > > ????????p->name = pca9450_name;
> > > ????????p->interface = PMIC_I2C;
> > > ????????p->number_of_regs = PCA9450_REG_NUM;
> > > -???????p->hw.i2c.addr = 0x35;
> > > +???????p->hw.i2c.addr = 0x25;
> > The address 0x35 is correct for PCA9540A. You are probably using
> > PCA9540B/C which address is 0x25. If so, please
> > call power_pca9450b_init.
> No.
> I am using a PCA9450A chip and its address is 0x25:
> 
> # i2cget -f -y 0 0x25 0x00
> 0x10
> 
> Moreover, the datasheet says it's 0x25. [1]
> 
> [1] https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2
> Fwww.nxp.com%2Fdocs%2Fen%2Fdata-
> sheet%2FPCA9450DS.pdf&amp;data=02%7C01%7Cye.li%40nxp.com%7Cf58d2e0f30
> 7045ca2b7408d81c14d040%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C1%7C6
> 37290222999360806&amp;sdata=cLYNDpYxwFaDrMSq%2B%2F2bivTXw9a8BAkUgTf3%
> 2B5mWcWg%3D&amp;reserved=0
> 
> Regards,

Our doc shows the i2c address has a choice by MTP.?

The I2C address at Power-On Reset is as follows:
? Write address: 0x6A ( MTP Option : 4A )
? Read address: 0x6B ( MTP Option : 4B )


And we also has an 8MM board (not for customer) using PCA9450A with
0x35 address.?

Best regards,
Ye Li
> 
> > 
> > 
> > Best regards,
> > Ye Li
> > > 
> > > ????????p->hw.i2c.tx_num = 1;
> > > ????????p->bus = bus;
> > > 
> > > --
> > > 2.26.2
> 
> --
> S?bastien Szymanski, Armadeus Systems
> Software engineer
diff mbox series

Patch

diff --git a/drivers/power/pmic/pmic_pca9450.c b/drivers/power/pmic/pmic_pca9450.c
index 67a9090200..c0fb78c4cd 100644
--- a/drivers/power/pmic/pmic_pca9450.c
+++ b/drivers/power/pmic/pmic_pca9450.c
@@ -23,7 +23,7 @@  int power_pca9450a_init(unsigned char bus)
 	p->name = pca9450_name;
 	p->interface = PMIC_I2C;
 	p->number_of_regs = PCA9450_REG_NUM;
-	p->hw.i2c.addr = 0x35;
+	p->hw.i2c.addr = 0x25;
 	p->hw.i2c.tx_num = 1;
 	p->bus = bus;