What:		/sys/class/leds/<led>/pattern
Date:		September 2018
KernelVersion:	4.20
Description:
		Specify a software pattern for the LED, that supports altering
		the brightness for the specified duration with one software
		timer. It can do gradual dimming and step change of brightness.

		The pattern is given by a series of tuples, of brightness and
		duration (ms). The LED is expected to traverse the series and
		each brightness value for the specified duration. Duration of
		0 means brightness should immediately change to new value, and
		writing malformed pattern deactivates any active one.

		1. For gradual dimming, the dimming interval now is set as 50
		milliseconds. So the tuple with duration less than dimming
		interval (50ms) is treated as a step change of brightness,
		i.e. the subsequent brightness will be applied without adding
		intervening dimming intervals.

		The gradual dimming format of the software pattern values should be:
		"brightness_1 duration_1 brightness_2 duration_2 brightness_3
		duration_3 ...". For example:

		echo 0 1000 255 2000 > pattern

		It will make the LED go gradually from zero-intensity to max (255)
		intensity in 1000 milliseconds, then back to zero intensity in 2000
		milliseconds:

		LED brightness
		    ^
		255-|       / \            / \            /
		    |      /    \         /    \         /
		    |     /       \      /       \      /
		    |    /          \   /          \   /
		  0-|   /             \/             \/
		    +---0----1----2----3----4----5----6------------> time (s)

		2. To make the LED go instantly from one brightness value to another,
		we should use zero-time lengths (the brightness must be same as
		the previous tuple's). So the format should be:
		"brightness_1 duration_1 brightness_1 0 brightness_2 duration_2
		brightness_2 0 ...". For example:

		echo 0 1000 0 0 255 2000 255 0 > pattern

		It will make the LED stay off for one second, then stay at max brightness
		for two seconds:

		LED brightness
		    ^
		255-|        +---------+    +---------+
		    |        |         |    |         |
		    |        |         |    |         |
		    |        |         |    |         |
		  0-|   -----+         +----+         +----
		    +---0----1----2----3----4----5----6------------> time (s)

What:		/sys/class/leds/<led>/hw_pattern
Date:		September 2018
KernelVersion:	4.20
Description:
		Specify a hardware pattern for the LED, for LED hardware that
		supports autonomously controlling brightness over time, according
		to some preprogrammed hardware patterns. It deactivates any active
		software pattern.

		Since different LED hardware can have different semantics of
		hardware patterns, each driver is expected to provide its own
		description for the hardware patterns in their ABI documentation
		file.

What:		/sys/class/leds/<led>/repeat
Date:		September 2018
KernelVersion:	4.20
Description:
		Specify a pattern repeat number. -1 means repeat indefinitely,
		other negative numbers and number 0 are invalid.

		This file will always return the originally written repeat
		number.
