b4b9e4234f
Add PDDF support for Accton as7816-64x platform Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
157 lines
10 KiB
Plaintext
157 lines
10 KiB
Plaintext
# Special arrangement to make PDDF mode default
|
|
# Disable monitor, monitor-fan, monitor-psu (not enabling them would imply they will be disabled by default)
|
|
# Enable pddf-platform-monitor
|
|
|
|
# Steps to check syseeprom i2c address
|
|
modprobe i2c-i801
|
|
modprobe i2c-dev
|
|
at_id=false
|
|
|
|
(i2cset -y -f 0 0x77 0x1) > /dev/null 2>&1
|
|
(i2cset -y -f 0 0x76 0x4) > /dev/null 2>&1
|
|
|
|
|
|
(i2cget -y -f 0 0x60 0xfd) > /dev/null 2>&1
|
|
if [ $? -eq 0 ]; then
|
|
echo "get at_id"
|
|
|
|
at_1=$(i2cget -y -f 0 0x60 0xfd)
|
|
|
|
if [ ${at_1} = '0x41' ]; then
|
|
echo "get at_1 is 0x41"
|
|
at_2=$(i2cget -y -f 0 0x60 0xfe)
|
|
|
|
if [ ${at_2} = '0x54' ]; then
|
|
echo "get at_2 is 0x54"
|
|
at_id=true
|
|
fi
|
|
fi
|
|
|
|
else
|
|
cpld_id=$(i2cget -y -f 1 0x60 0x1) #This CPD version that not support to record at_id
|
|
if [ ${cpld_id} = '0x5' ]; then
|
|
at_id=true
|
|
fi
|
|
fi
|
|
|
|
if $at_id ; then
|
|
echo "This CPLD is for AT used PSU"
|
|
echo "PSU-1 pmbus use parent_bus:0x9, dev_addr:0x58"
|
|
echo "PSU-1 eeprom use parent_bus:0x9, dev_addr:0x50"
|
|
echo "PSU-2 pmbus use parent_bus:0xa, dev_addr:0x5b"
|
|
echo "PSU-2 eeprom use parent_bus:0xa, dev_addr:0x53"
|
|
|
|
#Change the PDDF JSON file
|
|
sed -i 's@{ "chn":"0", "dev":"PSU2"},@\
|
|
{ "chn":"0", "dev":"PSU1" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "chn":"1", "dev":"PSU1"}@\
|
|
{ "chn":"1", "dev":"PSU2" }@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
|
|
sed -i 's@"topo_info":{ "parent_bus":"0xa", "dev_addr":"0x5b", "dev_type":"psu_pmbus"},@\
|
|
"topo_info": {"parent_bus":"0x9", "dev_addr":"0x58" , "dev_type": "psu_pmbus" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_model_name", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0x9a", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"10"},@\
|
|
{ "attr_name":"psu_model_name", "attr_devaddr":"0x58" , "attr_devtype":"pmbus", "attr_offset":"0x9a", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"10" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_mfr_id", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0X99", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"10"},@\
|
|
{ "attr_name":"psu_mfr_id", "attr_devaddr":"0x58" , "attr_devtype":"pmbus", "attr_offset":"0X99", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"10" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_fan_dir", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0xc3", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"5"},@\
|
|
{ "attr_name":"psu_fan_dir", "attr_devaddr":"0x58" , "attr_devtype":"pmbus", "attr_offset":"0xc3", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"5" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_v_out", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0x8b", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"},@\
|
|
{ "attr_name":"psu_v_out", "attr_devaddr":"0x58" , "attr_devtype":"pmbus", "attr_offset":"0x8b", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_i_out", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0x8c", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"},@\
|
|
{ "attr_name":"psu_i_out", "attr_devaddr":"0x58" , "attr_devtype":"pmbus", "attr_offset":"0x8c", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_p_out", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0x96", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"},@\
|
|
{ "attr_name":"psu_p_out", "attr_devaddr":"0x58" , "attr_devtype":"pmbus", "attr_offset":"0x96", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_fan1_speed_rpm", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0x90", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"},@\
|
|
{ "attr_name":"psu_fan1_speed_rpm", "attr_devaddr":"0x58" , "attr_devtype":"pmbus", "attr_offset":"0x90", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_temp1_input", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0x8d", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}@\
|
|
{ "attr_name":"psu_temp1_input", "attr_devaddr":"0x58" , "attr_devtype":"pmbus", "attr_offset":"0x8d", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2" }@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
|
|
sed -i 's@"topo_info":{ "parent_bus":"0xa", "dev_addr":"0x53", "dev_type":"psu_eeprom"},@\
|
|
"topo_info": {"parent_bus":"0x9", "dev_addr":"0x50" , "dev_type": "psu_pmbus" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
|
|
|
|
sed -i 's@"topo_info": { "parent_bus":"0x9", "dev_addr":"0x58", "dev_type":"psu_pmbus"},@\
|
|
"topo_info": {"parent_bus":"0xa", "dev_addr":"0x5b", "dev_type": "psu_pmbus" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
|
|
sed -i 's@{ "attr_name":"psu_model_name", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0x9a", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"10"},@\
|
|
{ "attr_name":"psu_model_name", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0x9a", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"10" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
|
|
sed -i 's@{ "attr_name":"psu_mfr_id", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0X99", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"10"},@\
|
|
{ "attr_name":"psu_mfr_id", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0X99", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"10" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_fan_dir", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0xc3", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"5"},@\
|
|
{ "attr_name":"psu_fan_dir", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0xc3", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"5" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_v_out", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0x8b", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"},@\
|
|
{ "attr_name":"psu_v_out", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0x8b", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_i_out", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0x8c", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"},@\
|
|
{ "attr_name":"psu_i_out", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0x8c", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_p_out", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0x96", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"},@\
|
|
{ "attr_name":"psu_p_out", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0x96", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_fan1_speed_rpm", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0x90", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"},@\
|
|
{ "attr_name":"psu_fan1_speed_rpm", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0x90", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
sed -i 's@{ "attr_name":"psu_temp1_input", "attr_devaddr":"0x58", "attr_devtype":"pmbus", "attr_offset":"0x8d", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2"}@\
|
|
{ "attr_name":"psu_temp1_input", "attr_devaddr":"0x5b", "attr_devtype":"pmbus", "attr_offset":"0x8d", "attr_mask":"0x0", "attr_cmpval":"0xff", "attr_len":"2" }@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
|
|
sed -i 's@"topo_info":{ "parent_bus":"0x9", "dev_addr":"0x50", "dev_type":"psu_eeprom"},@\
|
|
"topo_info": {"parent_bus":"0xa", "dev_addr":"0x53", "dev_type": "psu_pmbus" },@g' \
|
|
/usr/share/sonic/device/x86_64-accton_as7816_64x-r0/pddf/pddf-device.json
|
|
sync
|
|
fi
|
|
|
|
(i2cset -y -f 0 0x76 0x0) > /dev/null 2>&1
|
|
(i2cset -y -f 0 0x77 0x0) > /dev/null 2>&1
|
|
|
|
|
|
#For other CPLD that use below
|
|
#PSU-1 pmbus use "parent_bus":"0x21", "dev_addr":"0x5b"
|
|
#PSU-1 eeprom use "parent_bus":"0x21", "dev_addr":"0x53"
|
|
#PSU-2 pmbus use "parent_bus":"0x20", "dev_addr":"0x58"
|
|
#PSU-2 eeprom use "parent_bus":"0x20", "dev_addr":"0x50"
|
|
|
|
depmod -a
|
|
systemctl enable pddf-platform-init.service
|
|
systemctl start pddf-platform-init.service
|
|
systemctl enable as7816-pddf-platform-monitor.service
|
|
systemctl start as7816-pddf-platform-monitor.service
|