Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update cpld & swpld module attribute and add postinst #3362

Merged
merged 1 commit into from
Aug 19, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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,
Expand All @@ -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,
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -425,21 +402,6 @@ static struct cpld_attribute_data attribute_data[] = {
.reg = 0x02, .mask = 1 << 1,
.note = "‘0’ = Interrupt doesn’t occur\n‘1’ = Interrupt occurs"
},
[SYNCE_INT] = {
.bus = BUS0, .addr = SWPLD1_ADDR,
.reg = 0x12, .mask = 1 << 7,
.note = "‘0’ = Interrupt occurs\n‘1’ = Interrupt doesn’t 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,
Expand Down Expand Up @@ -538,65 +500,25 @@ static struct cpld_attribute_data attribute_data[] = {
.note = "“0x0”: 64X100G_2U\n“0x1”~”0xF” Reserved"
},
//SWPLD4
[SWPLD4_MAJOR_VER] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x00, .mask = 0xF0,
.note = "CPLD Major Version, controlled by CPLD editor."
},
[SWPLD4_MINOR_VER] = {
[SW_BOARD_ID1] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x00, .mask = 0x0F,
.note = "CPLD Minor Version, controlled by CPLD editor."
.reg = 0x00, .mask = 0xFF,
.note = "0x00"
},
[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."
},
[BMC_RST] = {
.bus = BUS0, .addr = SWPLD4_ADDR,
.reg = 0x02, .mask = 1 << 6,
.note = "“0” = Reset\n“1” = Normal operation"
.note = "Configured by PLD Editor\n0x03: AG9064"
},
[CPLD_LPC_RST] = {
[SWBD_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"
.reg = 0x02, .mask = 0xFF,
.note = "Configured by external resistor\n0x01:EVT1\n0x02:EVT2\n0x03:EVT3\n0x04:EVT4\n0x10:DVT\n0x20:PVT"
},
[GPIO_PHY_RST] = {
[SWPLD4_VER] = {
.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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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);
Expand All @@ -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,
Expand All @@ -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,
Expand Down Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
@@ -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#