update cpld & swpld module attribute (#3362)

Signed-off-by: johnson <JOHNSON.LU@deltaww.com>
This commit is contained in:
JohnsonYJLu 2019-08-20 01:23:48 +08:00 committed by Joe LeVeque
parent 7ca4d32daf
commit cc6642300a
4 changed files with 53 additions and 142 deletions

View File

@ -148,14 +148,12 @@ enum cpld_attributes {
MB_ID,
MB_VER,
CPU0_PWR_OK,
PSU_OVER_TEMP,
PWR_RAIL_OVER_TEMP,
CPU_DISOMIC_OVER_TEMP,
DDR_OVER_TEMP,
CPLD_PWR_ON_RST,
CPLD_HARD_RST,
CPLD_RST,
MB_PWR,
MB_RST,
PSU_FAN_INT,
OP_MODULE_INT,
@ -167,9 +165,6 @@ enum cpld_attributes {
PSU1_INT,
PSU2_PWR_OK,
PSU2_INT,
SYNCE_INT,
SYNCE_RST,
SYNCE_EEPROM_WP,
PSU1_GREEN_LED,
PSU1_RED_LED,
PSU2_GREEN_LED,
@ -192,18 +187,10 @@ enum cpld_attributes {
SB_VER,
PLATFORM_TYPE,
//SWPLD4
SWPLD4_MAJOR_VER,
SWPLD4_MINOR_VER,
SWPLD4_SCRTCH_REG,
BMC_RST,
CPLD_LPC_RST,
CPLD_SW_RST,
MB_CPLD_RST,
BCM56970_RST,
CPLD_UPGRADE_RST,
MB_RST_CPLD,
CPU_RST_MB_OOB,
GPIO_PHY_RST,
SW_BOARD_ID1,
SW_BOARD_ID2,
SWBD_VER,
SWPLD4_VER,
PSU_FAN_EVENT,
CPU_THERMAL_INT,
FAN_INT,
@ -334,11 +321,6 @@ static struct cpld_attribute_data attribute_data[] = {
.reg = 0x08, .mask = 1 << 3,
.note = "“1” =Power rail is good\n“0” = Power rail is failed"
},
[PSU_OVER_TEMP] = {
.bus = BUS0, .addr = CPUPLD_ADDR,
.reg = 0x0b, .mask = 1 << 4,
.note = "“1” = Not over temperature\n“0” = Over temperature"
},
[PWR_RAIL_OVER_TEMP] = {
.bus = BUS0, .addr = CPUPLD_ADDR,
.reg = 0x0b, .mask = 1 << 3,
@ -369,11 +351,6 @@ static struct cpld_attribute_data attribute_data[] = {
.reg = 0x11, .mask = 1 << 0,
.note = "“0” = Reset\n“1” = Normal operation"
},
[MB_PWR] = {
.bus = BUS0, .addr = CPUPLD_ADDR,
.reg = 0x12, .mask = 1 << 2,
.note = "“0” = Power rail is failed\n“1” =Power rail is good"
},
[MB_RST] = {
.bus = BUS0, .addr = CPUPLD_ADDR,
.reg = 0x12, .mask = 1 << 0,
@ -425,21 +402,6 @@ static struct cpld_attribute_data attribute_data[] = {
.reg = 0x02, .mask = 1 << 1,
.note = "0 = Interrupt doesnt occur\n1 = Interrupt occurs"
},
[SYNCE_INT] = {
.bus = BUS0, .addr = SWPLD1_ADDR,
.reg = 0x12, .mask = 1 << 7,
.note = "0 = Interrupt occurs\n1 = Interrupt doesnt occur"
},
[SYNCE_RST] = {
.bus = BUS0, .addr = SWPLD1_ADDR,
.reg = 0x12, .mask = 1 << 6,
.note = "“0” = Reset\n“1” = Normal operation"
},
[SYNCE_EEPROM_WP] = {
.bus = BUS0, .addr = SWPLD1_ADDR,
.reg = 0x12, .mask = 1 << 5,
.note = "“1” = enables the lock-down mechanism.\n“0” = overrides the lock-down function enabling blocks to be erased or programmed using software commands."
},
[PSU1_GREEN_LED] = {
.bus = BUS0, .addr = SWPLD1_ADDR,
.reg = 0x13, .mask = 1 << 7,
@ -538,65 +500,25 @@ static struct cpld_attribute_data attribute_data[] = {
.note = "“0x0”: 64X100G_2U\n“0x1”~”0xF” Reserved"
},
//SWPLD4
[SWPLD4_MAJOR_VER] = {
[SW_BOARD_ID1] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x00, .mask = 0xF0,
.note = "CPLD Major Version, controlled by CPLD editor."
.reg = 0x00, .mask = 0xFF,
.note = "0x00"
},
[SWPLD4_MINOR_VER] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x00, .mask = 0x0F,
.note = "CPLD Minor Version, controlled by CPLD editor."
},
[SWPLD4_SCRTCH_REG] = {
[SW_BOARD_ID2] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x01, .mask = 0xFF,
.note = "CPLD read/write test register, to provide a way to test CPLD access."
.note = "Configured by PLD Editor\n0x03: AG9064"
},
[BMC_RST] = {
[SWBD_VER] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x02, .mask = 1 << 6,
.note = "“0” = Reset\n“1” = Normal operation"
.reg = 0x02, .mask = 0xFF,
.note = "Configured by external resistor\n0x01:EVT1\n0x02:EVT2\n0x03:EVT3\n0x04:EVT4\n0x10:DVT\n0x20:PVT"
},
[CPLD_LPC_RST] = {
[SWPLD4_VER] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x02, .mask = 1 << 5,
.note = "“0” = Reset\n“1” = Normal operation"
},
[CPLD_SW_RST] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x02, .mask = 1 << 3,
.note = "“0” = Reset\n“1” = Normal operation"
},
[MB_CPLD_RST] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x02, .mask = 1 << 2,
.note = "“0” = Reset\n“1” = Normal operation"
},
[BCM56970_RST] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x02, .mask = 1 << 1,
.note = "“0” = Reset\n“1” = Normal operation"
},
[CPLD_UPGRADE_RST] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x03, .mask = 1 << 7,
.note = "“0” = Reset\n“1” = Normal operation"
},
[MB_RST_CPLD] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x03, .mask = 1 << 6,
.note = "“0” = Reset\n“1” = Normal operation"
},
[CPU_RST_MB_OOB] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x03, .mask = 1 << 5,
.note = "“0” = Reset\n“1” = Normal operation"
},
[GPIO_PHY_RST] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x03, .mask = 1 << 4,
.note = "“0” = Reset\n“1” = Normal operation"
.reg = 0x03, .mask = 0xFF,
.note = "-"
},
[PSU_FAN_EVENT] = {
.bus = BUS0, .addr = SWPLD4_ADDR,

View File

@ -772,14 +772,12 @@ static SENSOR_DEVICE_ATTR(cpu_id, S_IRUGO, get_cpld_reg, NU
static SENSOR_DEVICE_ATTR(mb_id, S_IRUGO, get_cpld_reg, NULL, MB_ID);
static SENSOR_DEVICE_ATTR(mb_ver, S_IRUGO, get_cpld_reg, NULL, MB_VER);
static SENSOR_DEVICE_ATTR(cpu0_pwr_ok, S_IRUGO, get_cpld_reg, NULL, CPU0_PWR_OK);
static SENSOR_DEVICE_ATTR(psu_over_temp, S_IRUGO, get_cpld_reg, NULL, PSU_OVER_TEMP);
static SENSOR_DEVICE_ATTR(pwr_rail_over_temp, S_IRUGO, get_cpld_reg, NULL, PWR_RAIL_OVER_TEMP);
static SENSOR_DEVICE_ATTR(cpu_disomic_over_temp, S_IRUGO, get_cpld_reg, NULL, CPU_DISOMIC_OVER_TEMP);
static SENSOR_DEVICE_ATTR(ddr_over_temp, S_IRUGO, get_cpld_reg, NULL, DDR_OVER_TEMP);
static SENSOR_DEVICE_ATTR(cpld_pwr_on_rst, S_IRUGO, get_cpld_reg, NULL, CPLD_PWR_ON_RST);
static SENSOR_DEVICE_ATTR(cpld_hard_rst, S_IRUGO, get_cpld_reg, NULL, CPLD_HARD_RST);
static SENSOR_DEVICE_ATTR(cpld_rst, S_IRUGO | S_IWUSR, get_cpld_reg, set_cpld_reg, CPLD_RST);
static SENSOR_DEVICE_ATTR(mb_pwr, S_IRUGO, get_cpld_reg, NULL, MB_PWR);
static SENSOR_DEVICE_ATTR(mb_rst, S_IRUGO | S_IWUSR, get_cpld_reg, set_cpld_reg, MB_RST);
static SENSOR_DEVICE_ATTR(psu_fan_int, S_IRUGO, get_cpld_reg, NULL, PSU_FAN_INT);
static SENSOR_DEVICE_ATTR(op_module_int, S_IRUGO, get_cpld_reg, NULL, OP_MODULE_INT);
@ -800,14 +798,12 @@ static struct attribute *ag9064_cpld_attrs[] = {
&sensor_dev_attr_mb_id.dev_attr.attr,
&sensor_dev_attr_mb_ver.dev_attr.attr,
&sensor_dev_attr_cpu0_pwr_ok.dev_attr.attr,
&sensor_dev_attr_psu_over_temp.dev_attr.attr,
&sensor_dev_attr_pwr_rail_over_temp.dev_attr.attr,
&sensor_dev_attr_cpu_disomic_over_temp.dev_attr.attr,
&sensor_dev_attr_ddr_over_temp.dev_attr.attr,
&sensor_dev_attr_cpld_pwr_on_rst.dev_attr.attr,
&sensor_dev_attr_cpld_hard_rst.dev_attr.attr,
&sensor_dev_attr_cpld_rst.dev_attr.attr,
&sensor_dev_attr_mb_pwr.dev_attr.attr,
&sensor_dev_attr_mb_rst.dev_attr.attr,
&sensor_dev_attr_psu_fan_int.dev_attr.attr,
&sensor_dev_attr_op_module_int.dev_attr.attr,

View File

@ -110,7 +110,7 @@ static ssize_t get_swpld_reg(struct device *dev, struct device_attribute *dev_at
case SWPLD3_MAJOR_VER ... PLATFORM_TYPE :
cmd_data[1] = SWPLD3_ADDR;
break;
case SWPLD4_MAJOR_VER ... FAN_EEPROM_WP :
case SW_BOARD_ID1 ... FAN_EEPROM_WP :
cmd_data[1] = SWPLD4_ADDR;
break;
default:
@ -244,7 +244,7 @@ static ssize_t set_swpld_reg(struct device *dev, struct device_attribute *dev_at
case SWPLD3_MAJOR_VER ... PLATFORM_TYPE://SWPLD3
cmd_data[1] = SWPLD3_ADDR;
break;
case SWPLD4_MAJOR_VER ... FAN_EEPROM_WP://SWPLD4
case SW_BOARD_ID1 ... FAN_EEPROM_WP://SWPLD4
cmd_data[1] = SWPLD4_ADDR;
break;
default:
@ -303,9 +303,6 @@ static SENSOR_DEVICE_ATTR(psu1_pwr_ok, S_IRUGO, get_swpld_reg, N
static SENSOR_DEVICE_ATTR(psu1_int, S_IRUGO, get_swpld_reg, NULL, PSU1_INT);
static SENSOR_DEVICE_ATTR(psu2_pwr_ok, S_IRUGO, get_swpld_reg, NULL, PSU2_PWR_OK);
static SENSOR_DEVICE_ATTR(psu2_int, S_IRUGO, get_swpld_reg, NULL, PSU2_INT);
static SENSOR_DEVICE_ATTR(synce_int, S_IRUGO, get_swpld_reg, NULL, SYNCE_INT);
static SENSOR_DEVICE_ATTR(synce_rst, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, SYNCE_RST);
static SENSOR_DEVICE_ATTR(synce_eeprom_wp, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, SYNCE_EEPROM_WP);
static SENSOR_DEVICE_ATTR(psu1_green_led, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, PSU1_GREEN_LED);
static SENSOR_DEVICE_ATTR(psu1_red_led, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, PSU1_RED_LED);
static SENSOR_DEVICE_ATTR(psu2_green_led, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, PSU2_GREEN_LED);
@ -329,29 +326,19 @@ static SENSOR_DEVICE_ATTR(sb_ver, S_IRUGO, get_swpld_reg, N
static SENSOR_DEVICE_ATTR(platform_type, S_IRUGO, get_swpld_reg, NULL, PLATFORM_TYPE);
//SWPLD4
static SENSOR_DEVICE_ATTR(swpld4_major_ver, S_IRUGO, get_swpld_reg, NULL, SWPLD4_MAJOR_VER);
static SENSOR_DEVICE_ATTR(swpld4_minor_ver, S_IRUGO, get_swpld_reg, NULL, SWPLD4_MINOR_VER);
static SENSOR_DEVICE_ATTR(swpld4_scrtch_reg, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, SWPLD4_SCRTCH_REG);
static SENSOR_DEVICE_ATTR(bmc_rst, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, BMC_RST);
static SENSOR_DEVICE_ATTR(cpld_lpc_rst, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, CPLD_LPC_RST);
static SENSOR_DEVICE_ATTR(cpld_sw_rst, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, CPLD_SW_RST);
static SENSOR_DEVICE_ATTR(mb_cpld_rst, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, MB_CPLD_RST);
static SENSOR_DEVICE_ATTR(bcm56970_rst, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, BCM56970_RST);
static SENSOR_DEVICE_ATTR(cpld_upgrade_rst, S_IRUGO, get_swpld_reg, NULL, CPLD_UPGRADE_RST);
static SENSOR_DEVICE_ATTR(mb_rst_cpld, S_IRUGO, get_swpld_reg, NULL, MB_RST_CPLD);
static SENSOR_DEVICE_ATTR(cpu_rst_mb_oob, S_IRUGO, get_swpld_reg, NULL, CPU_RST_MB_OOB);
static SENSOR_DEVICE_ATTR(gpio_phy_rst, S_IRUGO, get_swpld_reg, NULL, GPIO_PHY_RST);
static SENSOR_DEVICE_ATTR(psu_fan_event, S_IRUGO, get_swpld_reg, NULL, PSU_FAN_EVENT);
static SENSOR_DEVICE_ATTR(cpu_thermal_int, S_IRUGO, get_swpld_reg, NULL, CPU_THERMAL_INT);
static SENSOR_DEVICE_ATTR(fan_int, S_IRUGO, get_swpld_reg, NULL, FAN_INT);
static SENSOR_DEVICE_ATTR(cpld_spi_wp, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, CPLD_SPI_WP);
static SENSOR_DEVICE_ATTR(rj45_console_sel, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, RJ45_CONSOLE_SEL);
static SENSOR_DEVICE_ATTR(system_int, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, SYSTEM_INT);
static SENSOR_DEVICE_ATTR(cpld_mb_rst_done, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, CPLD_MB_RST_DONE);
static SENSOR_DEVICE_ATTR(mb_pwr_ok, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, MB_PWR_OK);
static SENSOR_DEVICE_ATTR(fan_eeprom_wp, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, FAN_EEPROM_WP);
static SENSOR_DEVICE_ATTR(sw_board_id1, S_IRUGO, get_swpld_reg, NULL, SW_BOARD_ID1);
static SENSOR_DEVICE_ATTR(sw_board_id2, S_IRUGO, get_swpld_reg, NULL, SW_BOARD_ID2);
static SENSOR_DEVICE_ATTR(swbd_ver, S_IRUGO, get_swpld_reg, NULL, SWBD_VER);
static SENSOR_DEVICE_ATTR(swpld4_ver, S_IRUGO, get_swpld_reg, NULL, SWPLD4_VER);
static SENSOR_DEVICE_ATTR(psu_fan_event, S_IRUGO, get_swpld_reg, NULL, PSU_FAN_EVENT);
static SENSOR_DEVICE_ATTR(cpu_thermal_int, S_IRUGO, get_swpld_reg, NULL, CPU_THERMAL_INT);
static SENSOR_DEVICE_ATTR(fan_int, S_IRUGO, get_swpld_reg, NULL, FAN_INT);
static SENSOR_DEVICE_ATTR(cpld_spi_wp, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, CPLD_SPI_WP);
static SENSOR_DEVICE_ATTR(rj45_console_sel, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, RJ45_CONSOLE_SEL);
static SENSOR_DEVICE_ATTR(system_int, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, SYSTEM_INT);
static SENSOR_DEVICE_ATTR(cpld_mb_rst_done, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, CPLD_MB_RST_DONE);
static SENSOR_DEVICE_ATTR(mb_pwr_ok, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, MB_PWR_OK);
static SENSOR_DEVICE_ATTR(fan_eeprom_wp, S_IRUGO | S_IWUSR, get_swpld_reg, set_swpld_reg, FAN_EEPROM_WP);
static struct attribute *swpld1_device_attrs[] = {
&sensor_dev_attr_swpld1_reg_value.dev_attr.attr,
@ -363,9 +350,6 @@ static struct attribute *swpld1_device_attrs[] = {
&sensor_dev_attr_psu1_int.dev_attr.attr,
&sensor_dev_attr_psu2_pwr_ok.dev_attr.attr,
&sensor_dev_attr_psu2_int.dev_attr.attr,
&sensor_dev_attr_synce_int.dev_attr.attr,
&sensor_dev_attr_synce_rst.dev_attr.attr,
&sensor_dev_attr_synce_eeprom_wp.dev_attr.attr,
&sensor_dev_attr_psu1_green_led.dev_attr.attr,
&sensor_dev_attr_psu1_red_led.dev_attr.attr,
&sensor_dev_attr_psu2_green_led.dev_attr.attr,
@ -401,20 +385,10 @@ static struct attribute *swpld3_device_attrs[] = {
};
static struct attribute *swpld4_device_attrs[] = {
&sensor_dev_attr_swpld4_reg_value.dev_attr.attr,
&sensor_dev_attr_swpld4_reg_addr.dev_attr.attr,
&sensor_dev_attr_swpld4_major_ver.dev_attr.attr,
&sensor_dev_attr_swpld4_minor_ver.dev_attr.attr,
&sensor_dev_attr_swpld4_scrtch_reg.dev_attr.attr,
&sensor_dev_attr_bmc_rst.dev_attr.attr,
&sensor_dev_attr_cpld_lpc_rst.dev_attr.attr,
&sensor_dev_attr_cpld_sw_rst.dev_attr.attr,
&sensor_dev_attr_mb_cpld_rst.dev_attr.attr,
&sensor_dev_attr_bcm56970_rst.dev_attr.attr,
&sensor_dev_attr_cpld_upgrade_rst.dev_attr.attr,
&sensor_dev_attr_mb_rst_cpld.dev_attr.attr,
&sensor_dev_attr_cpu_rst_mb_oob.dev_attr.attr,
&sensor_dev_attr_gpio_phy_rst.dev_attr.attr,
&sensor_dev_attr_sw_board_id1.dev_attr.attr,
&sensor_dev_attr_sw_board_id2.dev_attr.attr,
&sensor_dev_attr_swbd_ver.dev_attr.attr,
&sensor_dev_attr_swpld4_ver.dev_attr.attr,
&sensor_dev_attr_psu_fan_event.dev_attr.attr,
&sensor_dev_attr_cpu_thermal_int.dev_attr.attr,
&sensor_dev_attr_fan_int.dev_attr.attr,

View File

@ -0,0 +1,19 @@
# postinst script for ag9064
# Insert kernel module
depmod -a
modprobe i2c-dev
modprobe i2c-i801
modprobe i2c-ismt
modprobe ipmi_devintf
modprobe ipmi_si ports=0xca2
modprobe i2c-mei
modprobe i2c-mux-pca954x
modprobe at24
modprobe optoe
modprobe delta_ag9064_platform
modprobe delta_ag9064_cpld
modprobe delta_ag9064_swpld
#DEBHELPER#