diff mbox series

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

Message ID 167636845806.2107.2382940753543768501-2@git.sr.ht
State New
Headers show
Series hw/at24c support eeprom size less than equal 256 byte | expand

Commit Message

~ssinprem Feb. 14, 2023, 9:06 a.m. UTC
From: Sittisak Sinprem <ssinprem@celestca.com>

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(-)

Comments

Cédric Le Goater Feb. 14, 2023, 2:28 p.m. UTC | #1
Hello,

Adding Peter since he contributed the fuji machine,

On 2/14/23 10:06, ~ssinprem wrote:
> From: Sittisak Sinprem <ssinprem@celestca.com>
> 
> 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);
Sittisak Sinprem Feb. 15, 2023, 3:17 a.m. UTC | #2
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 <clg@kaod.org> wrote:

> Hello,
>
> Adding Peter since he contributed the fuji machine,
>
> On 2/14/23 10:06, ~ssinprem wrote:
> > From: Sittisak Sinprem <ssinprem@celestca.com>
> >
> > 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);
>
>
Peter Delevoryas Feb. 15, 2023, 8:34 p.m. UTC | #3
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 <ssinprem@celestca.com>
> > 
> > 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 <peter@pjd.dev>

> 
> > ---
> >   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);
>
Sittisak Sinprem Feb. 16, 2023, 2:23 p.m. UTC | #4
From: Sittisak Sinprem <ssinprem@celestca.com>

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

Signed-off-by: Sittisak Sinprem <ssinprem@celestca.com>
---
 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);
Cédric Le Goater Feb. 16, 2023, 6:43 p.m. UTC | #5
Hello Sittisak,

On 2/16/23 15:23, Sittisak Sinprem wrote:
> From: Sittisak Sinprem <ssinprem@celestca.com <mailto:ssinprem@celestca.com>>
> 
> Device 24C64 the size is 64 kilobits = 8kilobyte
> Device 24C02 the size is 2 kilobits = 256byte
> 
> Signed-off-by: Sittisak Sinprem <ssinprem@celestca.com <mailto:ssinprem@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-arm@nongnu.org --to qemu-devel@nongnu.org \
     --cc "Joel Stanley <joel@jms.id.au>" \
     --cc "Andrew Jeffery <andrew@aj.id.au>" \
     --cc "Peter Maydell <peter.maydell@linaro.org>" \
     --cc "Cédric Le Goater <clg@kaod.org>" \
     ./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
>
diff mbox series

Patch

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);