Add Altra LED driver to control NVME LED.
This driver support control LED via SPCI interface on Altra system.
Currently, it is 2-LEDs system(Activity LED, Status LED). Activity
LED is completely controlled by hardware. Status LED is controlled
by this driver.
There are 4 stages of Status LED:
- ON
- OFF
- Locate(blink at 1Hz)
- Rebuild(blink at 4Hz)
Example:
To On, Off the LED on slot 9:
1. Write the seg:bus_number corresponding to LED on slot 9 to
altra:led
echo 000b:03 > /sys/class/leds/altra:led/address
2. Write 1 to brightness attr to ON, 0 to brightness attr to OFF
echo 1 > /sys/class/leds/altra:led/brightness
echo 0 > /sys/class/leds/altra:led/brightness
To blink the LED on slot 9:
1. Write the seg:bus_number corresponding to LED on slot 9 to
altra:led
echo 000b:03 > /sys/class/leds/altra:led/address
2. Write 1 to blink attr to select Locate(blink 1Hz), or 4 to
blink attr to select Rebuild(blink 4Hz)
echo 1 > /sys/class/leds/altra:led/blink
echo 4 > /sys/class/leds/altra:led/blink
3. Write 1 to shot attr to execute blink
echo 1 > /sys/class/leds/altra:led/shot
cherry-pick from: AmpereComputing/ampere-centos-kernel@28c026a
Signed-off-by: Dung Cao <dcao@amperecomputing.com>