mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-27 05:55:18 +07:00
2976b17989
This patch adds device tree support for the netxbig LEDs. This also introduces a additionnal DT binding for the GPIO extension bus (netxbig-gpio-ext) used to configure the LEDs. Since this bus could also be used to control other devices, then it seems more suitable to have it in a separate DT binding. Signed-off-by: Simon Guinot <simon.guinot@sequanux.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
93 lines
2.3 KiB
Plaintext
93 lines
2.3 KiB
Plaintext
Binding for the CPLD LEDs (GPIO extension bus) found on some LaCie/Seagate
|
|
boards (Example: 2Big/5Big Network v2, 2Big NAS).
|
|
|
|
Required properties:
|
|
- compatible: "lacie,netxbig-leds".
|
|
- gpio-ext: Phandle for the gpio-ext bus.
|
|
|
|
Optional properties:
|
|
- timers: Timer array. Each timer entry is represented by three integers:
|
|
Mode (gpio-ext bus), delay_on and delay_off.
|
|
|
|
Each LED is represented as a sub-node of the netxbig-leds device.
|
|
|
|
Required sub-node properties:
|
|
- mode-addr: Mode register address on gpio-ext bus.
|
|
- mode-val: Mode to value mapping. Each entry is represented by two integers:
|
|
A mode and the corresponding value on the gpio-ext bus.
|
|
- bright-addr: Brightness register address on gpio-ext bus.
|
|
- max-brightness: Maximum brightness value.
|
|
|
|
Optional sub-node properties:
|
|
- label: Name for this LED. If omitted, the label is taken from the node name.
|
|
- linux,default-trigger: Trigger assigned to the LED.
|
|
|
|
Example:
|
|
|
|
netxbig-leds {
|
|
compatible = "lacie,netxbig-leds";
|
|
|
|
gpio-ext = &gpio_ext;
|
|
|
|
timers = <NETXBIG_LED_TIMER1 500 500
|
|
NETXBIG_LED_TIMER2 500 1000>;
|
|
|
|
blue-power {
|
|
label = "netxbig:blue:power";
|
|
mode-addr = <0>;
|
|
mode-val = <NETXBIG_LED_OFF 0
|
|
NETXBIG_LED_ON 1
|
|
NETXBIG_LED_TIMER1 3
|
|
NETXBIG_LED_TIMER2 7>;
|
|
bright-addr = <1>;
|
|
max-brightness = <7>;
|
|
};
|
|
red-power {
|
|
label = "netxbig:red:power";
|
|
mode-addr = <0>;
|
|
mode-val = <NETXBIG_LED_OFF 0
|
|
NETXBIG_LED_ON 2
|
|
NETXBIG_LED_TIMER1 4>;
|
|
bright-addr = <1>;
|
|
max-brightness = <7>;
|
|
};
|
|
blue-sata0 {
|
|
label = "netxbig:blue:sata0";
|
|
mode-addr = <3>;
|
|
mode-val = <NETXBIG_LED_OFF 0
|
|
NETXBIG_LED_ON 7
|
|
NETXBIG_LED_SATA 1
|
|
NETXBIG_LED_TIMER1 3>;
|
|
bright-addr = <2>;
|
|
max-brightness = <7>;
|
|
};
|
|
red-sata0 {
|
|
label = "netxbig:red:sata0";
|
|
mode-addr = <3>;
|
|
mode-val = <NETXBIG_LED_OFF 0
|
|
NETXBIG_LED_ON 2
|
|
NETXBIG_LED_TIMER1 4>;
|
|
bright-addr = <2>;
|
|
max-brightness = <7>;
|
|
};
|
|
blue-sata1 {
|
|
label = "netxbig:blue:sata1";
|
|
mode-addr = <4>;
|
|
mode-val = <NETXBIG_LED_OFF 0
|
|
NETXBIG_LED_ON 7
|
|
NETXBIG_LED_SATA 1
|
|
NETXBIG_LED_TIMER1 3>;
|
|
bright-addr = <2>;
|
|
max-brightness = <7>;
|
|
};
|
|
red-sata1 {
|
|
label = "netxbig:red:sata1";
|
|
mode-addr = <4>;
|
|
mode-val = <NETXBIG_LED_OFF 0
|
|
NETXBIG_LED_ON 2
|
|
NETXBIG_LED_TIMER1 4>;
|
|
bright-addr = <2>;
|
|
max-brightness = <7>;
|
|
};
|
|
};
|