From f5c7e100c62e6ca727036305e42e9c79538061a8 Mon Sep 17 00:00:00 2001 From: Jostar Yang Date: Wed, 29 Aug 2018 15:51:53 +0800 Subject: [PATCH] Use i2c word mode instead of use block mode for access sys eeprom --- .../onlp/builds/src/module/src/sysi.c | 24 +++++++++++++------ .../x86_64_accton_as7716_32x_r0/__init__.py | 2 +- 2 files changed, 18 insertions(+), 8 deletions(-) mode change 100644 => 100755 packages/platforms/accton/x86-64/x86-64-accton-as7716-32x/onlp/builds/src/module/src/sysi.c mode change 100644 => 100755 packages/platforms/accton/x86-64/x86-64-accton-as7716-32x/platform-config/r0/src/python/x86_64_accton_as7716_32x_r0/__init__.py diff --git a/packages/platforms/accton/x86-64/x86-64-accton-as7716-32x/onlp/builds/src/module/src/sysi.c b/packages/platforms/accton/x86-64/x86-64-accton-as7716-32x/onlp/builds/src/module/src/sysi.c old mode 100644 new mode 100755 index 32aa1030..93502cbb --- a/packages/platforms/accton/x86-64/x86-64-accton-as7716-32x/onlp/builds/src/module/src/sysi.c +++ b/packages/platforms/accton/x86-64/x86-64-accton-as7716-32x/onlp/builds/src/module/src/sysi.c @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -52,17 +53,26 @@ onlp_sysi_platform_get(void) int onlp_sysi_onie_data_get(uint8_t** data, int* size) { + int ret = ONLP_STATUS_OK; + int i = 0; uint8_t* rdata = aim_zmalloc(256); - if(onlp_file_read(rdata, 256, size, IDPROM_PATH) == ONLP_STATUS_OK) { - if(*size == 256) { - *data = rdata; - return ONLP_STATUS_OK; + + for (i = 0; i < 128; i++) { + ret = onlp_i2c_readw(0, 0x56, i*2, ONLP_I2C_F_FORCE); + if (ret < 0) { + aim_free(rdata); + *size = 0; + return ret; } + + rdata[i*2] = ret & 0xff; + rdata[i*2+1] = (ret >> 8) & 0xff; } - aim_free(rdata); - *size = 0; - return ONLP_STATUS_E_INTERNAL; + *size = 256; + *data = rdata; + + return ONLP_STATUS_OK; } int diff --git a/packages/platforms/accton/x86-64/x86-64-accton-as7716-32x/platform-config/r0/src/python/x86_64_accton_as7716_32x_r0/__init__.py b/packages/platforms/accton/x86-64/x86-64-accton-as7716-32x/platform-config/r0/src/python/x86_64_accton_as7716_32x_r0/__init__.py old mode 100644 new mode 100755 index 9ba0f66d..301e607f --- a/packages/platforms/accton/x86-64/x86-64-accton-as7716-32x/platform-config/r0/src/python/x86_64_accton_as7716_32x_r0/__init__.py +++ b/packages/platforms/accton/x86-64/x86-64-accton-as7716-32x/platform-config/r0/src/python/x86_64_accton_as7716_32x_r0/__init__.py @@ -85,7 +85,7 @@ class OnlPlatform_x86_64_accton_as7716_32x_r0(OnlPlatformAccton, ('optoe1', 0x50, 54), ('optoe1', 0x50, 55), ('optoe1', 0x50, 56), - ('24c02', 0x56, 0), + #('24c02', 0x56, 0), ]) subprocess.call('echo port9 > /sys/bus/i2c/devices/25-0050/port_name', shell=True)