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