2020-11-18 19:00:40 -06:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Platform init script for Nokia IXS 7215
|
|
|
|
|
|
|
|
# Load required kernel-mode drivers
|
|
|
|
load_kernel_drivers() {
|
|
|
|
# Remove modules loaded during Linux init
|
|
|
|
# FIX-ME: This will be removed in the future when Linux init no longer loads these
|
|
|
|
rmmod i2c_mux_gpio
|
|
|
|
rmmod i2c_dev
|
|
|
|
rmmod i2c_mv64xxx
|
|
|
|
|
|
|
|
# Carefully control the load order here to ensure consistent i2c bus numbering
|
|
|
|
modprobe i2c_mv64xxx
|
|
|
|
modprobe i2c_dev
|
|
|
|
modprobe i2c_mux_gpio
|
|
|
|
modprobe eeprom
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
nokia_7215_profile()
|
|
|
|
{
|
|
|
|
MAC_ADDR=$(sudo decode-syseeprom -m)
|
|
|
|
sed -i "s/switchMacAddress=.*/switchMacAddress=$MAC_ADDR/g" /usr/share/sonic/device/armhf-nokia_ixs7215_52x-r0/Nokia-7215/profile.ini
|
|
|
|
echo "Nokia-7215: Updating switch mac address ${MAC_ADDR}"
|
|
|
|
}
|
|
|
|
|
|
|
|
# - Main entry
|
|
|
|
|
|
|
|
# Install kernel drivers required for i2c bus access
|
|
|
|
load_kernel_drivers
|
|
|
|
|
|
|
|
# LOGIC to enumerate SFP eeprom devices - send 0x50 to kernel i2c driver - initialize devices
|
|
|
|
# the mux may be enumerated at number 4 or 5 so we check for the mux and skip if needed
|
|
|
|
|
|
|
|
# Get list of the mux channels
|
|
|
|
ismux_bus=$(i2cdetect -l|grep mux|cut -f1)
|
|
|
|
|
|
|
|
# Enumerate the SFP eeprom device on each mux channel
|
|
|
|
for mux in ${ismux_bus}
|
|
|
|
do
|
|
|
|
echo optoe2 0x50 > /sys/class/i2c-adapter/${mux}/new_device
|
|
|
|
done
|
|
|
|
|
|
|
|
# Enumerate system eeprom
|
|
|
|
echo 24c02 0x53 > /sys/class/i2c-adapter/i2c-0/new_device
|
|
|
|
sleep 2
|
|
|
|
chmod 644 /sys/class/i2c-adapter/i2c-0/0-0053/eeprom
|
|
|
|
|
|
|
|
# Enumerate fan eeprom devices
|
|
|
|
echo eeprom 0x55 > /sys/class/i2c-adapter/i2c-0/new_device
|
|
|
|
echo eeprom 0x56 > /sys/class/i2c-adapter/i2c-0/new_device
|
|
|
|
|
2021-02-23 11:25:14 -06:00
|
|
|
# Enumerate PSU eeprom devices
|
2021-02-11 15:17:00 -06:00
|
|
|
echo eeprom 0x51 > /sys/class/i2c-adapter/i2c-1/new_device
|
|
|
|
echo eeprom 0x52 > /sys/class/i2c-adapter/i2c-1/new_device
|
|
|
|
|
2020-11-18 19:00:40 -06:00
|
|
|
# Enable optical SFP Tx
|
|
|
|
i2cset -y -m 0x0f 0 0x41 0x5 0x00
|
|
|
|
|
|
|
|
# Ensure switch is programmed with chassis base MAC addr
|
|
|
|
nokia_7215_profile
|
|
|
|
|
|
|
|
echo "Nokia-7215 - completed platform init script"
|
|
|
|
exit 0
|