Skip to contentSkip to conversation

omap3: i2c: correct register

PATCH In review Adam Ford 3 participants 6 messages Apr 8, 2017 – Apr 28, 2017 Arm (32-bit)

lore
Share & tools
lore

Adam Ford

author
#0 lore raw

PATCH 1/1 omap3: i2c: correct register

The register names and offset were not correct as per the TRM for OMAP3530 and OMAP3630. Correct the naing and offsets per the documentation

arch/arm/include/asm/arch-omap3/i2c.h +13 -1
index b370290..6b3a3da 100644
@@ -17,7 +17,7 @@ struct i2c {
 	unsigned short res2;
 	unsigned short stat;	/* 0x08 */
 	unsigned short res3;
-	unsigned short iv;	/* 0x0C */
+	unsigned short we;	/* 0x0C */
 	unsigned short res4;
 	unsigned short syss;	/* 0x10 */
 	unsigned short res4a;
@@ -43,6 +43,18 @@ struct i2c {
 	unsigned short res14;
 	unsigned short systest;	/* 0x3c */
 	unsigned short res15;
+	unsigned short bufstat;	/* 0x40 */
+	unsigned short res16;
+	unsigned short oa1;	/* 0x44 */
+	unsigned short res17;
+	unsigned short oa2;	/* 0x48 */
+	unsigned short res18;
+	unsigned short oa3;	/* 0x4c */
+	unsigned short res19;
+	unsigned short actoa;	/* 0x50 */
+	unsigned short res20;
+	unsigned short sblock;	/* 0x54 */
+	unsigned short res21;
 };
 
 #endif /* _OMAP3_I2C_H_ */
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 omap3: i2c: correct register

Quoted 25 lines · Adam Ford

The register names and offset were not correct as per the TRM for OMAP3530 and OMAP3630. Correct the naing and offsets per the documentation

arch/arm/include/asm/arch-omap3/i2c.h +4 -1
index b370290..6b3a3da 100644
@@ -17,7 +17,7 @@ struct i2c {
 	unsigned short res2;
 	unsigned short stat;	/* 0x08 */
 	unsigned short res3;
-	unsigned short iv;	/* 0x0C */
+	unsigned short we;	/* 0x0C */
 	unsigned short res4;
 	unsigned short syss;	/* 0x10 */
 	unsigned short res4a;
@@ -43,6 +43,18 @@ struct i2c {
 	unsigned short res14;
 	unsigned short systest;	/* 0x3c */
 	unsigned short res15;
+	unsigned short bufstat;	/* 0x40 */
+	unsigned short res16;
+	unsigned short oa1;	/* 0x44 */

arch/arm/include/asm/arch-omap3/i2c.h struct i2c { · line 58

Quoted 10 lines
arch/arm/include/asm/arch-omap3/i2c.h +9 -0
+	unsigned short res17;
+	unsigned short oa2;	/* 0x48 */
+	unsigned short res18;
+	unsigned short oa3;	/* 0x4c */
+	unsigned short res19;
+	unsigned short actoa;	/* 0x50 */
+	unsigned short res20;
+	unsigned short sblock;	/* 0x54 */
+	unsigned short res21;
 };

Are we making use of any of these new entries?

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170408/84ac2d61/attachment.sig>
author
#2 lore raw

PATCH 1/1 omap3: i2c: correct register

Quoted 32 lines · Tom Rini
Quoted 29 lines · Adam Ford

The register names and offset were not correct as per the TRM for OMAP3530 and OMAP3630. Correct the naing and offsets per the documentation

arch/arm/include/asm/arch-omap3/i2c.h +8 -1
index b370290..6b3a3da 100644
@@ -17,7 +17,7 @@ struct i2c {
      unsigned short res2;
      unsigned short stat;    /* 0x08 */
      unsigned short res3;
-     unsigned short iv;      /* 0x0C */
+     unsigned short we;      /* 0x0C */
      unsigned short res4;
      unsigned short syss;    /* 0x10 */
      unsigned short res4a;
@@ -43,6 +43,18 @@ struct i2c {
      unsigned short res14;
      unsigned short systest; /* 0x3c */
      unsigned short res15;
+     unsigned short bufstat; /* 0x40 */
+     unsigned short res16;
+     unsigned short oa1;     /* 0x44 */
+     unsigned short res17;
+     unsigned short oa2;     /* 0x48 */
+     unsigned short res18;
+     unsigned short oa3;     /* 0x4c */
Quoted 8 lines

arch/arm/include/asm/arch-omap3/i2c.h struct i2c { · line 58

Quoted 6 lines
arch/arm/include/asm/arch-omap3/i2c.h +5 -0
+     unsigned short res19;
+     unsigned short actoa;   /* 0x50 */
+     unsigned short res20;
+     unsigned short sblock;  /* 0x54 */
+     unsigned short res21;
 };

Are we making use of any of these new entries?

Not really. I am trying to get DM_I2C working on OMAP3 and I was looking through the history of what was done to make it work on AM33xx and OMAP4+. Commit 3465f807d4b90378d86b3 ("omap4: i2c: correct register offset for sync register") corrected some incorrect registers, so I thought I'd look through the corresponding file for omap3. I noticed that offset 0x0C was not named right per the TRM, so I read through to the rest. I can see the argument for not pulling in the new stuff, but I was trying to be consistent with what was done for omap4 and omap5.

adam

Quoted 4 lines

--
Tom

#3 lore raw

PATCH 1/1 omap3: i2c: correct register

Quoted 42 lines · Adam Ford
Quoted 32 lines · Tom Rini
Quoted 29 lines · Adam Ford

The register names and offset were not correct as per the TRM for OMAP3530 and OMAP3630. Correct the naing and offsets per the documentation

arch/arm/include/asm/arch-omap3/i2c.h +8 -1
index b370290..6b3a3da 100644
@@ -17,7 +17,7 @@ struct i2c {
      unsigned short res2;
      unsigned short stat;    /* 0x08 */
      unsigned short res3;
-     unsigned short iv;      /* 0x0C */
+     unsigned short we;      /* 0x0C */
      unsigned short res4;
      unsigned short syss;    /* 0x10 */
      unsigned short res4a;
@@ -43,6 +43,18 @@ struct i2c {
      unsigned short res14;
      unsigned short systest; /* 0x3c */
      unsigned short res15;
+     unsigned short bufstat; /* 0x40 */
+     unsigned short res16;
+     unsigned short oa1;     /* 0x44 */
+     unsigned short res17;
+     unsigned short oa2;     /* 0x48 */
+     unsigned short res18;
+     unsigned short oa3;     /* 0x4c */
Quoted 8 lines

arch/arm/include/asm/arch-omap3/i2c.h struct i2c { · line 58

Quoted 6 lines
arch/arm/include/asm/arch-omap3/i2c.h +5 -0
+     unsigned short res19;
+     unsigned short actoa;   /* 0x50 */
+     unsigned short res20;
+     unsigned short sblock;  /* 0x54 */
+     unsigned short res21;
 };

Are we making use of any of these new entries?

Quoted 9 lines

Not really. I am trying to get DM_I2C working on OMAP3 and I was looking through the history of what was done to make it work on AM33xx and OMAP4+. Commit 3465f807d4b90378d86b3 ("omap4: i2c: correct register offset for sync register") corrected some incorrect registers, so I thought I'd look through the corresponding file for omap3. I noticed that offset 0x0C was not named right per the TRM, so I read through to the rest. I can see the argument for not pulling in the new stuff, but I was trying to be consistent with what was done for omap4 and omap5.

OK, thanks.

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170410/55b7df1a/attachment.sig>
#4 lore raw

PATCH 1/1 omap3: i2c: correct register

In reply to Adam Ford

Hello Adam,

Am 09.04.2017 um 04:29 schrieb Adam Ford:

Quoted 42 lines · Tom Rini
Quoted 32 lines · Adam Ford
Quoted 30 lines

The register names and offset were not correct as per the TRM for OMAP3530 and OMAP3630. Correct the naing and offsets per the documentation

arch/arm/include/asm/arch-omap3/i2c.h +8 -1
index b370290..6b3a3da 100644
@@ -17,7 +17,7 @@ struct i2c {
       unsigned short res2;
       unsigned short stat;    /* 0x08 */
       unsigned short res3;
-     unsigned short iv;      /* 0x0C */
+     unsigned short we;      /* 0x0C */
       unsigned short res4;
       unsigned short syss;    /* 0x10 */
       unsigned short res4a;
@@ -43,6 +43,18 @@ struct i2c {
       unsigned short res14;
       unsigned short systest; /* 0x3c */
       unsigned short res15;
+     unsigned short bufstat; /* 0x40 */
+     unsigned short res16;
+     unsigned short oa1;     /* 0x44 */
+     unsigned short res17;
+     unsigned short oa2;     /* 0x48 */
+     unsigned short res18;
+     unsigned short oa3;     /* 0x4c */
Quoted 8 lines

arch/arm/include/asm/arch-omap3/i2c.h struct i2c { · line 58

Quoted 6 lines
arch/arm/include/asm/arch-omap3/i2c.h +5 -0
+     unsigned short res19;
+     unsigned short actoa;   /* 0x50 */
+     unsigned short res20;
+     unsigned short sblock;  /* 0x54 */
+     unsigned short res21;
  };

Are we making use of any of these new entries?

Quoted 9 lines

Not really. I am trying to get DM_I2C working on OMAP3 and I was looking through the history of what was done to make it work on AM33xx and OMAP4+. Commit 3465f807d4b90378d86b3 ("omap4: i2c: correct register offset for sync register") corrected some incorrect registers, so I thought I'd look through the corresponding file for omap3. I noticed that offset 0x0C was not named right per the TRM, so I read through to the rest. I can see the argument for not pulling in the new stuff, but I was trying to be consistent with what was done for omap4 and omap5.

I like to have this corrected version, so:

but last OK should come from Tom, thanks!

bye,
Heiko

Quoted 12 lines

adam

Quoted 4 lines

--
Tom

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
https://lists.denx.de/listinfo/u-boot

Signature · 2 lines
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
#5 lore raw
In reply to Adam Ford

arch/arm/include/asm/arch-omap3/i2c.h

Quoted 9 lines · Adam Ford

The register names and offset were not correct as per the TRM for OMAP3530 and OMAP3630. Correct the naing and offsets per the documentation

arch/arm/include/asm/arch-omap3/i2c.h +0 -0
index b370290..6b3a3da 100644

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170428/bd80c2c9/attachment.sig>