GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / mvebu-linkstation-gpio-simple.dtsi
1 /*
2  * Device Tree common file for gpio-{keys,leds} on Buffalo Linkstation
3  *
4  * Copyright (C) 2015, 2016
5  * Roger Shimizu <rogershimizu@gmail.com>
6  *
7  * This file is dual-licensed: you can use it either under the terms
8  * of the GPL or the X11 license, at your option. Note that this dual
9  * licensing only applies to this file, and not this project as a
10  * whole.
11  *
12  *  a) This file is free software; you can redistribute it and/or
13  *     modify it under the terms of the GNU General Public License as
14  *     published by the Free Software Foundation; either version 2 of the
15  *     License, or (at your option) any later version.
16  *
17  *     This file is distributed in the hope that it will be useful,
18  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
19  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  *     GNU General Public License for more details.
21  *
22  * Or, alternatively,
23  *
24  *  b) Permission is hereby granted, free of charge, to any person
25  *     obtaining a copy of this software and associated documentation
26  *     files (the "Software"), to deal in the Software without
27  *     restriction, including without limitation the rights to use,
28  *     copy, modify, merge, publish, distribute, sublicense, and/or
29  *     sell copies of the Software, and to permit persons to whom the
30  *     Software is furnished to do so, subject to the following
31  *     conditions:
32  *
33  *     The above copyright notice and this permission notice shall be
34  *     included in all copies or substantial portions of the Software.
35  *
36  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
37  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
38  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
39  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
40  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
41  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
42  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
43  *     OTHER DEALINGS IN THE SOFTWARE.
44  */
45
46 #include <dt-bindings/input/input.h>
47
48 / {
49         gpio_keys {
50                 compatible = "gpio-keys";
51                 #address-cells = <1>;
52                 #size-cells = <0>;
53                 pinctrl-0 = <&pmx_power_switch>;
54                 pinctrl-names = "default";
55
56                 power-on-switch {
57                         label = "Power-on Switch";
58                         linux,code = <KEY_RESERVED>;
59                         linux,input-type = <5>;
60                 };
61
62                 power-auto-switch {
63                         label = "Power-auto Switch";
64                         linux,code = <KEY_ESC>;
65                         linux,input-type = <5>;
66                 };
67         };
68
69         gpio_leds {
70                 compatible = "gpio-leds";
71                 pinctrl-0 = <&pmx_led_power &pmx_led_alarm &pmx_led_info>;
72                 pinctrl-names = "default";
73
74                 blue-power-led {
75                         label = "linkstation:blue:power";
76                         default-state = "keep";
77                 };
78
79                 red-alarm-led {
80                         label = "linkstation:red:alarm";
81                 };
82
83                 amber-info-led {
84                         label = "linkstation:amber:info";
85                 };
86         };
87 };
88
89 &pinctrl {
90         pmx_power_switch: pmx-power-switch {
91                 marvell,function = "gpio";
92         };
93
94         pmx_led_power: pmx-leds {
95                 marvell,function = "gpio";
96         };
97
98         pmx_led_alarm: pmx-leds {
99                 marvell,function = "gpio";
100         };
101
102         pmx_led_info: pmx-leds {
103                 marvell,function = "gpio";
104         };
105 };