diff --git a/packages/base/any/kernels/3.2.65-1+deb7u2/patches/platform-accton-as5812_54x-device-drivers.patch b/packages/base/any/kernels/3.2.65-1+deb7u2/patches/platform-accton-as5812_54x-device-drivers.patch index 7f3e1c32..512715df 100644 --- a/packages/base/any/kernels/3.2.65-1+deb7u2/patches/platform-accton-as5812_54x-device-drivers.patch +++ b/packages/base/any/kernels/3.2.65-1+deb7u2/patches/platform-accton-as5812_54x-device-drivers.patch @@ -42,14 +42,6 @@ index ea97f4a..818dd01 100644 obj-$(CONFIG_SENSORS_AD7314) += ad7314.o obj-$(CONFIG_SENSORS_AD7414) += ad7414.o obj-$(CONFIG_SENSORS_AD7418) += ad7418.o -@@ -141,7 +143,6 @@ obj-$(CONFIG_SENSORS_W83L786NG) += w83l786ng.o - obj-$(CONFIG_SENSORS_WM831X) += wm831x-hwmon.o - obj-$(CONFIG_SENSORS_WM8350) += wm8350-hwmon.o - obj-$(CONFIG_SENSORS_QUANTA_LY_HWMON) += quanta-ly-hwmon.o --obj-$(CONFIG_SENSORS_YM2651Y) += ym2651y.o - - obj-$(CONFIG_PMBUS) += pmbus/ - diff --git a/drivers/hwmon/accton_as5812_54x_fan.c b/drivers/hwmon/accton_as5812_54x_fan.c new file mode 100644 index 0000000..3e25db1 diff --git a/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/fani.c b/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/fani.c index d81a89fc..7480a76e 100644 --- a/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/fani.c +++ b/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/fani.c @@ -57,7 +57,7 @@ typedef struct fan_path_S #define _MAKE_FAN_PATH_ON_MAIN_BOARD(prj,id) \ { #prj"fan"#id"_fault", #prj"fan"#id"_front_speed_rpm", \ - #prj"fan"#id"_duty_cycle_percentage", #prj"fan"#id"_rear_speed_rpm" } + #prj"fan_duty_cycle_percentage", #prj"fan"#id"_rear_speed_rpm" } #define MAKE_FAN_PATH_ON_MAIN_BOARD(prj,id) _MAKE_FAN_PATH_ON_MAIN_BOARD(prj,id) @@ -74,8 +74,8 @@ static fan_path_T fan_path[] = /* must map with onlp_fan_id */ MAKE_FAN_PATH_ON_MAIN_BOARD(PROJECT_NAME, FAN_4_ON_MAIN_BOARD), MAKE_FAN_PATH_ON_MAIN_BOARD(PROJECT_NAME, FAN_5_ON_MAIN_BOARD), MAKE_FAN_PATH_ON_MAIN_BOARD(PROJECT_NAME, FAN_6_ON_MAIN_BOARD), - MAKE_FAN_PATH_ON_PSU(10-0058), - MAKE_FAN_PATH_ON_PSU(11-005b) + MAKE_FAN_PATH_ON_PSU(11-005b), + MAKE_FAN_PATH_ON_PSU(10-0058) }; #define MAKE_FAN_INFO_NODE_ON_MAIN_BOARD(id) \ diff --git a/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/platform_lib.h b/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/platform_lib.h index 3d9ba77b..d2a032b4 100644 --- a/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/platform_lib.h +++ b/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/platform_lib.h @@ -29,7 +29,7 @@ #include "x86_64_accton_as7712_32x_log.h" #define CHASSIS_FAN_COUNT 6 -#define CHASSIS_THERMAL_COUNT 3 +#define CHASSIS_THERMAL_COUNT 5 #define PSU1_ID 1 #define PSU2_ID 2 diff --git a/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/psui.c b/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/psui.c index 7335fe22..72e11cc6 100644 --- a/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/psui.c +++ b/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/psui.c @@ -193,6 +193,11 @@ onlp_psui_info_get(onlp_oid_t id, onlp_psu_info_t* info) case PSU_TYPE_AC_B2F: ret = psu_ym2651y_info_get(info); break; + case PSU_TYPE_UNKNOWN: /* User insert a unknown PSU or unplugged.*/ + info->status |= ONLP_PSU_STATUS_UNPLUGGED; + info->status &= ~ONLP_PSU_STATUS_FAILED; + ret = ONLP_STATUS_OK; + break; default: ret = ONLP_STATUS_E_UNSUPPORTED; break; diff --git a/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/sysi.c b/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/sysi.c index aba92b88..50016fcb 100644 --- a/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/sysi.c +++ b/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/sysi.c @@ -38,8 +38,8 @@ #include "platform_lib.h" -#define NUM_OF_THERMAL_ON_MAIN_BROAD 3 -#define NUM_OF_FAN_ON_MAIN_BROAD 6 +#define NUM_OF_THERMAL_ON_MAIN_BROAD CHASSIS_THERMAL_COUNT +#define NUM_OF_FAN_ON_MAIN_BROAD CHASSIS_FAN_COUNT #define NUM_OF_PSU_ON_MAIN_BROAD 2 #define NUM_OF_LED_ON_MAIN_BROAD 5 diff --git a/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/thermali.c b/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/thermali.c index 9f3b5297..e58abf35 100644 --- a/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/thermali.c +++ b/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/onlp/builds/src/module/src/thermali.c @@ -25,6 +25,7 @@ ***********************************************************/ #include #include +#include #include #include #include "platform_lib.h" @@ -52,6 +53,7 @@ enum onlp_thermal_id { THERMAL_RESERVED = 0, + THERMAL_CPU_CORE, THERMAL_1_ON_MAIN_BROAD, THERMAL_2_ON_MAIN_BROAD, THERMAL_3_ON_MAIN_BROAD, @@ -59,28 +61,47 @@ enum onlp_thermal_id THERMAL_1_ON_PSU2, }; -static char last_path[][30] = /* must map with onlp_thermal_id */ +static char* last_path[] = /* must map with onlp_thermal_id */ { "reserved", + NULL, /* CPU_CORE files */ "3-0048/temp1_input", "3-0049/temp1_input", "3-004a/temp1_input", + "3-004b/temp1_input", "11-005b/psu_temp1_input", "10-0058/psu_temp1_input", }; +static char* cpu_coretemp_files[] = + { + "/sys/devices/platform/coretemp.0/temp2_input", + "/sys/devices/platform/coretemp.0/temp3_input", + "/sys/devices/platform/coretemp.0/temp4_input", + "/sys/devices/platform/coretemp.0/temp5_input", + NULL, + }; + /* Static values */ static onlp_thermal_info_t linfo[] = { { }, /* Not used */ - { { ONLP_THERMAL_ID_CREATE(THERMAL_1_ON_MAIN_BROAD), "Chassis Thermal Sensor 1", 0}, + { { ONLP_THERMAL_ID_CREATE(THERMAL_CPU_CORE), "CPU Core", 0}, + ONLP_THERMAL_STATUS_PRESENT, + ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS + }, + { { ONLP_THERMAL_ID_CREATE(THERMAL_1_ON_MAIN_BROAD), "tmp75-MAC_up-1-48", 0}, ONLP_THERMAL_STATUS_PRESENT, ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS }, - { { ONLP_THERMAL_ID_CREATE(THERMAL_2_ON_MAIN_BROAD), "Chassis Thermal Sensor 2", 0}, + { { ONLP_THERMAL_ID_CREATE(THERMAL_2_ON_MAIN_BROAD), "tmp75-MAC_down-2-49", 0}, ONLP_THERMAL_STATUS_PRESENT, ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS }, - { { ONLP_THERMAL_ID_CREATE(THERMAL_3_ON_MAIN_BROAD), "Chassis Thermal Sensor 3", 0}, + { { ONLP_THERMAL_ID_CREATE(THERMAL_3_ON_MAIN_BROAD), "tmp75-MAC_left-3-4A", 0}, + ONLP_THERMAL_STATUS_PRESENT, + ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS + }, + { { ONLP_THERMAL_ID_CREATE(THERMAL_3_ON_MAIN_BROAD), "tmp75-CPU-4-4B", 0}, ONLP_THERMAL_STATUS_PRESENT, ONLP_THERMAL_CAPS_ALL, 0, ONLP_THERMAL_THRESHOLD_INIT_DEFAULTS }, @@ -122,14 +143,19 @@ onlp_thermali_info_get(onlp_oid_t id, onlp_thermal_info_t* info) VALIDATE(id); local_id = ONLP_OID_ID_GET(id); - DEBUG_PRINT("\n[Debug][%s][%d][local_id: %d]", __FUNCTION__, __LINE__, local_id); - - /* get fullpath */ - sprintf(fullpath, "%s%s", prefix_path, last_path[local_id]); + DEBUG_PRINT("\n[Debug][%s][%d][local_id: %d]", __FUNCTION__, __LINE__, local_id); /* Set the onlp_oid_hdr_t and capabilities */ *info = linfo[local_id]; + if(local_id == THERMAL_CPU_CORE) { + int rv = onlp_file_read_int_max(&info->mcelsius, cpu_coretemp_files); + return rv; + } + + /* get fullpath */ + sprintf(fullpath, "%s%s", prefix_path, last_path[local_id]); + OPEN_READ_FILE(fd, fullpath, r_data, nbytes, len); info->mcelsius = atoi(r_data) / temp_base; DEBUG_PRINT("\n[Debug][%s][%d][save data: %d]\n", __FUNCTION__, __LINE__, info->mcelsius); diff --git a/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/platform-config/r0/src/python/x86_64_accton_as7712_32x_r0/__init__.py b/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/platform-config/r0/src/python/x86_64_accton_as7712_32x_r0/__init__.py index 4cb6cb97..c6013ede 100644 --- a/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/platform-config/r0/src/python/x86_64_accton_as7712_32x_r0/__init__.py +++ b/packages/platforms/accton/x86-64/x86-64-accton-as7712-32x/platform-config/r0/src/python/x86_64_accton_as7712_32x_r0/__init__.py @@ -26,6 +26,7 @@ class OnlPlatform_x86_64_accton_as7712_32x_r0(OnlPlatformAccton): ('lm75', 0x48, 3), ('lm75', 0x49, 3), ('lm75', 0x4a, 3), + ('lm75', 0x4b, 3), ('accton_i2c_cpld', 0x60, 4), ('accton_i2c_cpld', 0x62, 5),