147 lines
5.3 KiB
Plaintext
147 lines
5.3 KiB
Plaintext
|
Dell S6100 64x40G support
|
||
|
------------------------
|
||
|
|
||
|
summary:-
|
||
|
S6100 has 64 x 40G port capacity
|
||
|
S6100 supports 4 IO Modules which are pluggable. Below section covers how to power on IO modules
|
||
|
and initialize the device drivers and configure necessary mux to send traffic.
|
||
|
|
||
|
|
||
|
Necessary drivers and scripts to package
|
||
|
|
||
|
1) Users are expected to build necessary drivers for kernel and package to acess it on the target
|
||
|
|
||
|
a) Mgmt phy driver
|
||
|
This supports BCM 54616 phy driver ( enable CONFIG_IGB in kernel config)
|
||
|
b) driver-support-sff-8436-eeprom.patch
|
||
|
c) driver-support-sff-8436-eeprom-update.patch
|
||
|
This driver supports QSFP EEPROM
|
||
|
d) dell_s6100_iom_cpld.ko
|
||
|
This driver provides support for cpld on 4 x 40Gig-IOM modules
|
||
|
e) i2c_mux_pca954x.ko
|
||
|
This driver provides support for i2c mux/switch (pca954x)
|
||
|
f) dell_s6100_lpc.ko
|
||
|
This driver porivide support for reading all the platform info from SMF.
|
||
|
|
||
|
|
||
|
2) Users are also expected to package below scripts for platform initialization and i2c tree creation
|
||
|
|
||
|
a) iom_power.sh
|
||
|
This script is used to power on IO modules on S6100
|
||
|
b) io_rd_wr.py
|
||
|
This script is generic LPC/io read/write utility (can also access system cpld)
|
||
|
|
||
|
steps to platform initialization (Tested with 3.16)
|
||
|
|
||
|
1) After power up of S6100
|
||
|
|
||
|
a) power up the io modules by executing (./iom_power.sh)
|
||
|
b) insert i2c_mux_pca954x.ko,dell_s6100_iom_cpld.ko,dell_s6100_lpc.ko
|
||
|
|
||
|
Above 2 steps can be called by including them in below 2 step
|
||
|
|
||
|
2) Build i2c device tree/device initialization by calling below script
|
||
|
|
||
|
./s6100_platform_init.sh
|
||
|
|
||
|
3) IOM cpld devices are created under "/sys/bus/i2c/drivers/dell_s6100_iom_cpld/"
|
||
|
QSFP handles via sysfs i2c bus #( 15,16,17,18-003e)
|
||
|
iom_cpld_vers -- Displays CPLD version(RO)
|
||
|
qsfp_lpmode -- lpmode settings(RW)
|
||
|
qsfp_modprs -- modules presence (RO)
|
||
|
qsfp_reset -- reset settings (RW)
|
||
|
|
||
|
ls /sys/bus/i2c/drivers/dell_s6100_iom_cpld/15-003e/
|
||
|
driver/ iom_cpld_vers modalias name power/ qsfp_lpmode qsfp_modprs qsfp_reset subsystem/ uevent
|
||
|
|
||
|
4) step 2 script also builds/attach sfp device tress in sysfs
|
||
|
|
||
|
Example for reading EEPROM data
|
||
|
|
||
|
cat /sys/bus/i2c/devices/19-0050/eeprom | hexdump -C
|
||
|
00000000 0d 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 |................|
|
||
|
00000010 00 00 00 00 00 00 18 1b 00 00 82 20 00 00 00 00 |........... ....|
|
||
|
00000020 00 00 00 00 00 00 00 00 00 00 16 4d 16 4d 16 4d |...........M.M.M|
|
||
|
00000030 16 4d 34 bf 44 bf 54 bf 64 bf 00 00 00 00 00 00 |.M4.D.T.d.......|
|
||
|
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
|
||
|
*
|
||
|
00000070 00 00 00 00 00 00 00 ff ff ff ff ff ff ff ff 00 |................|
|
||
|
00000080 0d 00 0c 04 00 00 00 40 40 02 d5 05 69 00 00 32 |.......@@...i..2|
|
||
|
00000090 00 00 00 00 46 49 4e 49 53 41 52 20 43 4f 52 50 |....FINISAR CORP|
|
||
|
000000a0 20 20 20 20 07 00 90 65 46 54 4c 34 31 30 51 45 | ...eFTL410QE|
|
||
|
000000b0 31 43 20 20 20 20 20 20 41 33 42 68 07 d0 46 70 |1C A3Bh..Fp|
|
||
|
000000c0 00 01 04 d0 4d 4c 54 30 30 51 33 20 20 20 20 20 |....MLT00Q3 |
|
||
|
000000d0 20 20 20 20 31 32 30 31 31 35 20 20 08 00 00 38 | 120115 ...8|
|
||
|
000000e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
|
||
|
000000f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
|
||
|
*
|
||
|
00000200 4b 00 fb 00 46 00 00 00 00 00 00 00 00 00 00 00 |K...F...........|
|
||
|
00000210 94 70 6e f0 86 c4 7b 0c 00 00 00 00 00 00 00 00 |.pn...{.........|
|
||
|
00000220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
|
||
|
*
|
||
|
00000260 00 00 11 11 00 00 00 00 00 00 00 00 00 00 22 22 |..............""|
|
||
|
00000270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
|
||
|
00000280
|
||
|
|
||
|
5)SMF driver details/Readme are as below
|
||
|
|
||
|
S6100 SMF
|
||
|
---------
|
||
|
|
||
|
S6100 has one SMF soc on CPU board. This is via LPC interface, provide access to all the below functionality
|
||
|
|
||
|
a) Read sensors details on the system
|
||
|
b) Read PSU details on the system
|
||
|
c) Read fans/Fan tray details on the system
|
||
|
d) Read/Write to system led
|
||
|
|
||
|
dell_s6100_lpc create entry for all the above necessary platform components as attributes in below path.
|
||
|
|
||
|
/sys/devices/platform/dell_s6100_lpc/
|
||
|
|
||
|
|
||
|
LED:-
|
||
|
----
|
||
|
|
||
|
Get /set operations on sys_led
|
||
|
|
||
|
Get operation
|
||
|
cat /sys/devices/platform/dell_s6100_lpc/sys_led
|
||
|
0x80
|
||
|
|
||
|
Set operation
|
||
|
echo 83 > sys/devices/platform/dell_s6100_lpc/sys_led
|
||
|
|
||
|
Sensors:-
|
||
|
--------
|
||
|
|
||
|
Max no of sensors on the system ( 11 sensors are available on fully loaded system)
|
||
|
|
||
|
cat /sys/devices/platform/dell_s6100_lpc/max_num_temp_sensors
|
||
|
b
|
||
|
|
||
|
cat /sys/devices/platform/dell_s6100_lpc/temp_sensor_1 ( temp_sensor_1 <85>.temp_sensor_11)
|
||
|
|
||
|
Fan tray speed:-
|
||
|
--------------
|
||
|
|
||
|
/sys/devices/platform/dell_s6100_lpc/fan_tray_1_speed (fan_tray_1_speed - fan_tray_4_speed)
|
||
|
13700
|
||
|
|
||
|
cat /sys/devices/platform/dell_s6100_lpc/psu1_max_pwr
|
||
|
110
|
||
|
cat /sys/devices/platform/dell_s6100_lpc/psu2_max_pwr
|
||
|
110
|
||
|
|
||
|
cat /sys/devices/platform/dell_s6100_lpc/psu_total_pwr
|
||
|
232
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|