Re: [PATCH qemu 2/2] aspeed/fuji : correct the eeprom size

2023-02-16 Thread Cédric Le Goater

Hello Sittisak,

On 2/16/23 15:23, Sittisak Sinprem wrote:

From: Sittisak Sinprem mailto:ssinp...@celestca.com>>

Device 24C64 the size is 64 kilobits = 8kilobyte
Device 24C02 the size is 2 kilobits = 256byte

Signed-off-by: Sittisak Sinprem mailto:ssinp...@celestca.com>>


Could you please address the comments on patch 1 also and resend both
patches as a v2 ?

You can use ./scripts/get_maintainer.pl to get the list of persons to send to,
which should be :

 git send-email --to qemu-...@nongnu.org --to qemu-devel@nongnu.org \
--cc "Joel Stanley " \
--cc "Andrew Jeffery " \
--cc "Peter Maydell " \
--cc "Cédric Le Goater " \
./v2-000*patches

Thanks,

C.



---
  hw/arm/aspeed.c | 36 
  1 file changed, 20 insertions(+), 16 deletions(-)

diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index 27dda58338..40f6076b44 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -840,42 +840,46 @@ static void fuji_bmc_i2c_init(AspeedMachineState *bmc)
      i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4c);
      i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4d);

-    at24c_eeprom_init(i2c[19], 0x52, 64 * KiB);
-    at24c_eeprom_init(i2c[20], 0x50, 2 * KiB);
-    at24c_eeprom_init(i2c[22], 0x52, 2 * KiB);
+    /*
+    * EEPROM 24c64 size is 64Kbits or 8 Kbytes
+    *        24c02 size is 2Kbits or 256 bytes
+    */
+    at24c_eeprom_init(i2c[19], 0x52, 8 * KiB);
+    at24c_eeprom_init(i2c[20], 0x50, 256);
+    at24c_eeprom_init(i2c[22], 0x52, 256);

      i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x48);
      i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x49);
      i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x4a);
      i2c_slave_create_simple(i2c[3], TYPE_TMP422, 0x4c);

-    at24c_eeprom_init(i2c[8], 0x51, 64 * KiB);
+    at24c_eeprom_init(i2c[8], 0x51, 8 * KiB);
      i2c_slave_create_simple(i2c[8], TYPE_LM75, 0x4a);

      i2c_slave_create_simple(i2c[50], TYPE_LM75, 0x4c);
-    at24c_eeprom_init(i2c[50], 0x52, 64 * KiB);
+    at24c_eeprom_init(i2c[50], 0x52, 8 * KiB);
      i2c_slave_create_simple(i2c[51], TYPE_TMP75, 0x48);
      i2c_slave_create_simple(i2c[52], TYPE_TMP75, 0x49);

      i2c_slave_create_simple(i2c[59], TYPE_TMP75, 0x48);
      i2c_slave_create_simple(i2c[60], TYPE_TMP75, 0x49);

-    at24c_eeprom_init(i2c[65], 0x53, 64 * KiB);
+    at24c_eeprom_init(i2c[65], 0x53, 8 * KiB);
      i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x49);
      i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x48);
-    at24c_eeprom_init(i2c[68], 0x52, 64 * KiB);
-    at24c_eeprom_init(i2c[69], 0x52, 64 * KiB);
-    at24c_eeprom_init(i2c[70], 0x52, 64 * KiB);
-    at24c_eeprom_init(i2c[71], 0x52, 64 * KiB);
+    at24c_eeprom_init(i2c[68], 0x52, 8 * KiB);
+    at24c_eeprom_init(i2c[69], 0x52, 8 * KiB);
+    at24c_eeprom_init(i2c[70], 0x52, 8 * KiB);
+    at24c_eeprom_init(i2c[71], 0x52, 8 * KiB);

-    at24c_eeprom_init(i2c[73], 0x53, 64 * KiB);
+    at24c_eeprom_init(i2c[73], 0x53, 8 * KiB);
      i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x49);
      i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x48);
-    at24c_eeprom_init(i2c[76], 0x52, 64 * KiB);
-    at24c_eeprom_init(i2c[77], 0x52, 64 * KiB);
-    at24c_eeprom_init(i2c[78], 0x52, 64 * KiB);
-    at24c_eeprom_init(i2c[79], 0x52, 64 * KiB);
-    at24c_eeprom_init(i2c[28], 0x50, 2 * KiB);
+    at24c_eeprom_init(i2c[76], 0x52, 8 * KiB);
+    at24c_eeprom_init(i2c[77], 0x52, 8 * KiB);
+    at24c_eeprom_init(i2c[78], 0x52, 8 * KiB);
+    at24c_eeprom_init(i2c[79], 0x52, 8 * KiB);
+    at24c_eeprom_init(i2c[28], 0x50, 256);

      for (int i = 0; i < 8; i++) {
          at24c_eeprom_init(i2c[81 + i * 8], 0x56, 64 * KiB);
--
2.34.6






Re: [PATCH qemu 2/2] aspeed/fuji : correct the eeprom size

2023-02-16 Thread Sittisak Sinprem
From: Sittisak Sinprem 

Device 24C64 the size is 64 kilobits = 8kilobyte
Device 24C02 the size is 2 kilobits = 256byte

Signed-off-by: Sittisak Sinprem 
---
 hw/arm/aspeed.c | 36 
 1 file changed, 20 insertions(+), 16 deletions(-)

diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index 27dda58338..40f6076b44 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -840,42 +840,46 @@ static void fuji_bmc_i2c_init(AspeedMachineState *bmc)
 i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4c);
 i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4d);

-at24c_eeprom_init(i2c[19], 0x52, 64 * KiB);
-at24c_eeprom_init(i2c[20], 0x50, 2 * KiB);
-at24c_eeprom_init(i2c[22], 0x52, 2 * KiB);
+/*
+* EEPROM 24c64 size is 64Kbits or 8 Kbytes
+*24c02 size is 2Kbits or 256 bytes
+*/
+at24c_eeprom_init(i2c[19], 0x52, 8 * KiB);
+at24c_eeprom_init(i2c[20], 0x50, 256);
+at24c_eeprom_init(i2c[22], 0x52, 256);

 i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x48);
 i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x49);
 i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x4a);
 i2c_slave_create_simple(i2c[3], TYPE_TMP422, 0x4c);

-at24c_eeprom_init(i2c[8], 0x51, 64 * KiB);
+at24c_eeprom_init(i2c[8], 0x51, 8 * KiB);
 i2c_slave_create_simple(i2c[8], TYPE_LM75, 0x4a);

 i2c_slave_create_simple(i2c[50], TYPE_LM75, 0x4c);
-at24c_eeprom_init(i2c[50], 0x52, 64 * KiB);
+at24c_eeprom_init(i2c[50], 0x52, 8 * KiB);
 i2c_slave_create_simple(i2c[51], TYPE_TMP75, 0x48);
 i2c_slave_create_simple(i2c[52], TYPE_TMP75, 0x49);

 i2c_slave_create_simple(i2c[59], TYPE_TMP75, 0x48);
 i2c_slave_create_simple(i2c[60], TYPE_TMP75, 0x49);

-at24c_eeprom_init(i2c[65], 0x53, 64 * KiB);
+at24c_eeprom_init(i2c[65], 0x53, 8 * KiB);
 i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x49);
 i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x48);
-at24c_eeprom_init(i2c[68], 0x52, 64 * KiB);
-at24c_eeprom_init(i2c[69], 0x52, 64 * KiB);
-at24c_eeprom_init(i2c[70], 0x52, 64 * KiB);
-at24c_eeprom_init(i2c[71], 0x52, 64 * KiB);
+at24c_eeprom_init(i2c[68], 0x52, 8 * KiB);
+at24c_eeprom_init(i2c[69], 0x52, 8 * KiB);
+at24c_eeprom_init(i2c[70], 0x52, 8 * KiB);
+at24c_eeprom_init(i2c[71], 0x52, 8 * KiB);

-at24c_eeprom_init(i2c[73], 0x53, 64 * KiB);
+at24c_eeprom_init(i2c[73], 0x53, 8 * KiB);
 i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x49);
 i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x48);
-at24c_eeprom_init(i2c[76], 0x52, 64 * KiB);
-at24c_eeprom_init(i2c[77], 0x52, 64 * KiB);
-at24c_eeprom_init(i2c[78], 0x52, 64 * KiB);
-at24c_eeprom_init(i2c[79], 0x52, 64 * KiB);
-at24c_eeprom_init(i2c[28], 0x50, 2 * KiB);
+at24c_eeprom_init(i2c[76], 0x52, 8 * KiB);
+at24c_eeprom_init(i2c[77], 0x52, 8 * KiB);
+at24c_eeprom_init(i2c[78], 0x52, 8 * KiB);
+at24c_eeprom_init(i2c[79], 0x52, 8 * KiB);
+at24c_eeprom_init(i2c[28], 0x50, 256);

 for (int i = 0; i < 8; i++) {
 at24c_eeprom_init(i2c[81 + i * 8], 0x56, 64 * KiB);
-- 
2.34.6


Re: [PATCH qemu 2/2] aspeed/fuji : correct the eeprom size

2023-02-15 Thread Peter Delevoryas
On Tue, Feb 14, 2023 at 03:28:58PM +0100, Cédric Le Goater wrote:
> Hello,
> 
> Adding Peter since he contributed the fuji machine,
> 
> On 2/14/23 10:06, ~ssinprem wrote:
> > From: Sittisak Sinprem 
> > 
> > Device 24C64 the size is 64 kilobits
> > Device 24C02 the size is 2 kilobits
> 
> Could you please specify the size in bytes ?
> 
> You will need to add a Signed-off-by tag.
> 
> Thanks,
> 
> C.

Thanks Cedric,

Sittisak, thanks for this fix, I didn't realize the size was in bits (oops lol,
I'm pretty new to embedded systems)

I agree with Cedric though, instead of adding "/ 8", could we just replace 64 *
KiB / 8 with 8 * KiB, and 2 * KiB / 8 with 256?

- Peter

Reviewed-by: Peter Delevoryas 

> 
> > ---
> >   hw/arm/aspeed.c | 32 
> >   1 file changed, 16 insertions(+), 16 deletions(-)
> > 
> > diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
> > index 55f114ef72..8e6a1579e4 100644
> > --- a/hw/arm/aspeed.c
> > +++ b/hw/arm/aspeed.c
> > @@ -846,42 +846,42 @@ static void fuji_bmc_i2c_init(AspeedMachineState *bmc)
> >   i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4c);
> >   i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4d);
> > -aspeed_eeprom_init(i2c[19], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[20], 0x50, 2 * KiB);
> > -aspeed_eeprom_init(i2c[22], 0x52, 2 * KiB);
> > +aspeed_eeprom_init(i2c[19], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[20], 0x50, 2 * KiB / 8);
> > +aspeed_eeprom_init(i2c[22], 0x52, 2 * KiB / 8);
> >   i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x48);
> >   i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x49);
> >   i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x4a);
> >   i2c_slave_create_simple(i2c[3], TYPE_TMP422, 0x4c);
> > -aspeed_eeprom_init(i2c[8], 0x51, 64 * KiB);
> > +aspeed_eeprom_init(i2c[8], 0x51, 64 * KiB / 8);
> >   i2c_slave_create_simple(i2c[8], TYPE_LM75, 0x4a);
> >   i2c_slave_create_simple(i2c[50], TYPE_LM75, 0x4c);
> > -aspeed_eeprom_init(i2c[50], 0x52, 64 * KiB);
> > +aspeed_eeprom_init(i2c[50], 0x52, 64 * KiB / 8);
> >   i2c_slave_create_simple(i2c[51], TYPE_TMP75, 0x48);
> >   i2c_slave_create_simple(i2c[52], TYPE_TMP75, 0x49);
> >   i2c_slave_create_simple(i2c[59], TYPE_TMP75, 0x48);
> >   i2c_slave_create_simple(i2c[60], TYPE_TMP75, 0x49);
> > -aspeed_eeprom_init(i2c[65], 0x53, 64 * KiB);
> > +aspeed_eeprom_init(i2c[65], 0x53, 64 * KiB / 8);
> >   i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x49);
> >   i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x48);
> > -aspeed_eeprom_init(i2c[68], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[69], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[70], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[71], 0x52, 64 * KiB);
> > +aspeed_eeprom_init(i2c[68], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[69], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[70], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[71], 0x52, 64 * KiB / 8);
> > -aspeed_eeprom_init(i2c[73], 0x53, 64 * KiB);
> > +aspeed_eeprom_init(i2c[73], 0x53, 64 * KiB / 8);
> >   i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x49);
> >   i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x48);
> > -aspeed_eeprom_init(i2c[76], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[77], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[78], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[79], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[28], 0x50, 2 * KiB);
> > +aspeed_eeprom_init(i2c[76], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[77], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[78], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[79], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[28], 0x50, 2 * KiB / 8);
> >   for (int i = 0; i < 8; i++) {
> >   aspeed_eeprom_init(i2c[81 + i * 8], 0x56, 64 * KiB);
> 



Re: [PATCH qemu 2/2] aspeed/fuji : correct the eeprom size

2023-02-15 Thread Sittisak Sinprem
Hi,

Follow the question " Could you please specify the size in bytes ? "

Yes, In the source code we need to set the size value as byte.

I add "divide by 8" to convert it to bytes unit.
24c64  size is  64kbit  = 64k / 8  bytes

-aspeed_eeprom_init(i2c[65], 0x53, 64 * KiB);
+aspeed_eeprom_init(i2c[65], 0x53, 64 * KiB / 8);

On Tue, Feb 14, 2023 at 9:29 PM Cédric Le Goater  wrote:

> Hello,
>
> Adding Peter since he contributed the fuji machine,
>
> On 2/14/23 10:06, ~ssinprem wrote:
> > From: Sittisak Sinprem 
> >
> > Device 24C64 the size is 64 kilobits
> > Device 24C02 the size is 2 kilobits
>
> Could you please specify the size in bytes ?
>
> You will need to add a Signed-off-by tag.
>
> Thanks,
>
> C.
>
> > ---
> >   hw/arm/aspeed.c | 32 
> >   1 file changed, 16 insertions(+), 16 deletions(-)
> >
> > diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
> > index 55f114ef72..8e6a1579e4 100644
> > --- a/hw/arm/aspeed.c
> > +++ b/hw/arm/aspeed.c
> > @@ -846,42 +846,42 @@ static void fuji_bmc_i2c_init(AspeedMachineState
> *bmc)
> >   i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4c);
> >   i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4d);
> >
> > -aspeed_eeprom_init(i2c[19], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[20], 0x50, 2 * KiB);
> > -aspeed_eeprom_init(i2c[22], 0x52, 2 * KiB);
> > +aspeed_eeprom_init(i2c[19], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[20], 0x50, 2 * KiB / 8);
> > +aspeed_eeprom_init(i2c[22], 0x52, 2 * KiB / 8);
> >
> >   i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x48);
> >   i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x49);
> >   i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x4a);
> >   i2c_slave_create_simple(i2c[3], TYPE_TMP422, 0x4c);
> >
> > -aspeed_eeprom_init(i2c[8], 0x51, 64 * KiB);
> > +aspeed_eeprom_init(i2c[8], 0x51, 64 * KiB / 8);
> >   i2c_slave_create_simple(i2c[8], TYPE_LM75, 0x4a);
> >
> >   i2c_slave_create_simple(i2c[50], TYPE_LM75, 0x4c);
> > -aspeed_eeprom_init(i2c[50], 0x52, 64 * KiB);
> > +aspeed_eeprom_init(i2c[50], 0x52, 64 * KiB / 8);
> >   i2c_slave_create_simple(i2c[51], TYPE_TMP75, 0x48);
> >   i2c_slave_create_simple(i2c[52], TYPE_TMP75, 0x49);
> >
> >   i2c_slave_create_simple(i2c[59], TYPE_TMP75, 0x48);
> >   i2c_slave_create_simple(i2c[60], TYPE_TMP75, 0x49);
> >
> > -aspeed_eeprom_init(i2c[65], 0x53, 64 * KiB);
> > +aspeed_eeprom_init(i2c[65], 0x53, 64 * KiB / 8);
> >   i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x49);
> >   i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x48);
> > -aspeed_eeprom_init(i2c[68], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[69], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[70], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[71], 0x52, 64 * KiB);
> > +aspeed_eeprom_init(i2c[68], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[69], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[70], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[71], 0x52, 64 * KiB / 8);
> >
> > -aspeed_eeprom_init(i2c[73], 0x53, 64 * KiB);
> > +aspeed_eeprom_init(i2c[73], 0x53, 64 * KiB / 8);
> >   i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x49);
> >   i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x48);
> > -aspeed_eeprom_init(i2c[76], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[77], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[78], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[79], 0x52, 64 * KiB);
> > -aspeed_eeprom_init(i2c[28], 0x50, 2 * KiB);
> > +aspeed_eeprom_init(i2c[76], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[77], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[78], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[79], 0x52, 64 * KiB / 8);
> > +aspeed_eeprom_init(i2c[28], 0x50, 2 * KiB / 8);
> >
> >   for (int i = 0; i < 8; i++) {
> >   aspeed_eeprom_init(i2c[81 + i * 8], 0x56, 64 * KiB);
>
>


Re: [PATCH qemu 2/2] aspeed/fuji : correct the eeprom size

2023-02-14 Thread Cédric Le Goater

Hello,

Adding Peter since he contributed the fuji machine,

On 2/14/23 10:06, ~ssinprem wrote:

From: Sittisak Sinprem 

Device 24C64 the size is 64 kilobits
Device 24C02 the size is 2 kilobits


Could you please specify the size in bytes ?

You will need to add a Signed-off-by tag.

Thanks,

C.


---
  hw/arm/aspeed.c | 32 
  1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index 55f114ef72..8e6a1579e4 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -846,42 +846,42 @@ static void fuji_bmc_i2c_init(AspeedMachineState *bmc)
  i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4c);
  i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4d);
  
-aspeed_eeprom_init(i2c[19], 0x52, 64 * KiB);

-aspeed_eeprom_init(i2c[20], 0x50, 2 * KiB);
-aspeed_eeprom_init(i2c[22], 0x52, 2 * KiB);
+aspeed_eeprom_init(i2c[19], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[20], 0x50, 2 * KiB / 8);
+aspeed_eeprom_init(i2c[22], 0x52, 2 * KiB / 8);
  
  i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x48);

  i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x49);
  i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x4a);
  i2c_slave_create_simple(i2c[3], TYPE_TMP422, 0x4c);
  
-aspeed_eeprom_init(i2c[8], 0x51, 64 * KiB);

+aspeed_eeprom_init(i2c[8], 0x51, 64 * KiB / 8);
  i2c_slave_create_simple(i2c[8], TYPE_LM75, 0x4a);
  
  i2c_slave_create_simple(i2c[50], TYPE_LM75, 0x4c);

-aspeed_eeprom_init(i2c[50], 0x52, 64 * KiB);
+aspeed_eeprom_init(i2c[50], 0x52, 64 * KiB / 8);
  i2c_slave_create_simple(i2c[51], TYPE_TMP75, 0x48);
  i2c_slave_create_simple(i2c[52], TYPE_TMP75, 0x49);
  
  i2c_slave_create_simple(i2c[59], TYPE_TMP75, 0x48);

  i2c_slave_create_simple(i2c[60], TYPE_TMP75, 0x49);
  
-aspeed_eeprom_init(i2c[65], 0x53, 64 * KiB);

+aspeed_eeprom_init(i2c[65], 0x53, 64 * KiB / 8);
  i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x49);
  i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x48);
-aspeed_eeprom_init(i2c[68], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[69], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[70], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[71], 0x52, 64 * KiB);
+aspeed_eeprom_init(i2c[68], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[69], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[70], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[71], 0x52, 64 * KiB / 8);
  
-aspeed_eeprom_init(i2c[73], 0x53, 64 * KiB);

+aspeed_eeprom_init(i2c[73], 0x53, 64 * KiB / 8);
  i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x49);
  i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x48);
-aspeed_eeprom_init(i2c[76], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[77], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[78], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[79], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[28], 0x50, 2 * KiB);
+aspeed_eeprom_init(i2c[76], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[77], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[78], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[79], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[28], 0x50, 2 * KiB / 8);
  
  for (int i = 0; i < 8; i++) {

  aspeed_eeprom_init(i2c[81 + i * 8], 0x56, 64 * KiB);





[PATCH qemu 2/2] aspeed/fuji : correct the eeprom size

2023-02-14 Thread ~ssinprem
From: Sittisak Sinprem 

Device 24C64 the size is 64 kilobits
Device 24C02 the size is 2 kilobits
---
 hw/arm/aspeed.c | 32 
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index 55f114ef72..8e6a1579e4 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -846,42 +846,42 @@ static void fuji_bmc_i2c_init(AspeedMachineState *bmc)
 i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4c);
 i2c_slave_create_simple(i2c[17], TYPE_LM75, 0x4d);
 
-aspeed_eeprom_init(i2c[19], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[20], 0x50, 2 * KiB);
-aspeed_eeprom_init(i2c[22], 0x52, 2 * KiB);
+aspeed_eeprom_init(i2c[19], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[20], 0x50, 2 * KiB / 8);
+aspeed_eeprom_init(i2c[22], 0x52, 2 * KiB / 8);
 
 i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x48);
 i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x49);
 i2c_slave_create_simple(i2c[3], TYPE_LM75, 0x4a);
 i2c_slave_create_simple(i2c[3], TYPE_TMP422, 0x4c);
 
-aspeed_eeprom_init(i2c[8], 0x51, 64 * KiB);
+aspeed_eeprom_init(i2c[8], 0x51, 64 * KiB / 8);
 i2c_slave_create_simple(i2c[8], TYPE_LM75, 0x4a);
 
 i2c_slave_create_simple(i2c[50], TYPE_LM75, 0x4c);
-aspeed_eeprom_init(i2c[50], 0x52, 64 * KiB);
+aspeed_eeprom_init(i2c[50], 0x52, 64 * KiB / 8);
 i2c_slave_create_simple(i2c[51], TYPE_TMP75, 0x48);
 i2c_slave_create_simple(i2c[52], TYPE_TMP75, 0x49);
 
 i2c_slave_create_simple(i2c[59], TYPE_TMP75, 0x48);
 i2c_slave_create_simple(i2c[60], TYPE_TMP75, 0x49);
 
-aspeed_eeprom_init(i2c[65], 0x53, 64 * KiB);
+aspeed_eeprom_init(i2c[65], 0x53, 64 * KiB / 8);
 i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x49);
 i2c_slave_create_simple(i2c[66], TYPE_TMP75, 0x48);
-aspeed_eeprom_init(i2c[68], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[69], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[70], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[71], 0x52, 64 * KiB);
+aspeed_eeprom_init(i2c[68], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[69], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[70], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[71], 0x52, 64 * KiB / 8);
 
-aspeed_eeprom_init(i2c[73], 0x53, 64 * KiB);
+aspeed_eeprom_init(i2c[73], 0x53, 64 * KiB / 8);
 i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x49);
 i2c_slave_create_simple(i2c[74], TYPE_TMP75, 0x48);
-aspeed_eeprom_init(i2c[76], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[77], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[78], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[79], 0x52, 64 * KiB);
-aspeed_eeprom_init(i2c[28], 0x50, 2 * KiB);
+aspeed_eeprom_init(i2c[76], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[77], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[78], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[79], 0x52, 64 * KiB / 8);
+aspeed_eeprom_init(i2c[28], 0x50, 2 * KiB / 8);
 
 for (int i = 0; i < 8; i++) {
 aspeed_eeprom_init(i2c[81 + i * 8], 0x56, 64 * KiB);
-- 
2.34.6