GNU Linux-libre 4.14.303-gnu1
[releases.git] / arch / arm / boot / dts / kirkwood-lsxl.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 #include "kirkwood.dtsi"
3 #include "kirkwood-6281.dtsi"
4
5 / {
6         chosen {
7                 bootargs = "console=ttyS0,115200n8 earlyprintk";
8                 stdout-path = &uart0;
9         };
10
11         ocp@f1000000 {
12                 pinctrl: pin-controller@10000 {
13                         /* Non-default UART pins */
14                         pmx_uart0: pmx-uart0 {
15                                 marvell,pins = "mpp4", "mpp5";
16                         };
17
18                         pmx_power_hdd: pmx-power-hdd {
19                                 marvell,pins = "mpp10";
20                                 marvell,function = "gpo";
21                         };
22                         pmx_usb_vbus: pmx-usb-vbus {
23                                 marvell,pins = "mpp11";
24                                 marvell,function = "gpio";
25                         };
26                         pmx_fan_high: pmx-fan-high {
27                                 marvell,pins = "mpp18";
28                                 marvell,function = "gpo";
29                         };
30                         pmx_fan_low: pmx-fan-low {
31                                 marvell,pins = "mpp19";
32                                 marvell,function = "gpo";
33                         };
34                         pmx_led_function_blue: pmx-led-function-blue {
35                                 marvell,pins = "mpp36";
36                                 marvell,function = "gpio";
37                         };
38                         pmx_led_alarm: pmx-led-alarm {
39                                 marvell,pins = "mpp37";
40                                 marvell,function = "gpio";
41                         };
42                         pmx_led_info: pmx-led-info {
43                                 marvell,pins = "mpp38";
44                                 marvell,function = "gpio";
45                         };
46                         pmx_led_power: pmx-led-power {
47                                 marvell,pins = "mpp39";
48                                 marvell,function = "gpio";
49                         };
50                         pmx_fan_lock: pmx-fan-lock {
51                                 marvell,pins = "mpp40";
52                                 marvell,function = "gpio";
53                         };
54                         pmx_button_function: pmx-button-function {
55                                 marvell,pins = "mpp41";
56                                 marvell,function = "gpio";
57                         };
58                         pmx_power_switch: pmx-power-switch {
59                                 marvell,pins = "mpp42";
60                                 marvell,function = "gpio";
61                         };
62                         pmx_power_auto_switch: pmx-power-auto-switch {
63                                 marvell,pins = "mpp43";
64                                 marvell,function = "gpio";
65                         };
66                         pmx_led_function_red: pmx-led-function_red {
67                                 marvell,pins = "mpp48";
68                                 marvell,function = "gpio";
69                         };
70
71                 };
72                 sata@80000 {
73                         status = "okay";
74                         nr-ports = <1>;
75                 };
76
77                 spi@10600 {
78                         status = "okay";
79
80                         m25p40@0 {
81                                 #address-cells = <1>;
82                                 #size-cells = <1>;
83                                 compatible = "m25p40", "jedec,spi-nor";
84                                 reg = <0>;
85                                 spi-max-frequency = <25000000>;
86                                 mode = <0>;
87
88                                 partition@0 {
89                                         reg = <0x0 0x60000>;
90                                         label = "uboot";
91                                         read-only;
92                                 };
93
94                                 partition@60000 {
95                                         reg = <0x60000 0x10000>;
96                                         label = "dtb";
97                                         read-only;
98                                 };
99
100                                 partition@70000 {
101                                         reg = <0x70000 0x10000>;
102                                         label = "uboot_env";
103                                 };
104                         };
105                 };
106         };
107
108         gpio_keys {
109                 compatible = "gpio-keys";
110                 #address-cells = <1>;
111                 #size-cells = <0>;
112                 pinctrl-0 = <&pmx_button_function &pmx_power_switch
113                              &pmx_power_auto_switch>;
114                 pinctrl-names = "default";
115
116                 option {
117                         label = "Function Button";
118                         linux,code = <KEY_OPTION>;
119                         gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
120                 };
121                 reserved {
122                         label = "Power-on Switch";
123                         linux,code = <KEY_RESERVED>;
124                         linux,input-type = <5>;
125                         gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
126                 };
127                 power {
128                         label = "Power-auto Switch";
129                         linux,code = <KEY_ESC>;
130                         linux,input-type = <5>;
131                         gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
132                 };
133         };
134
135         gpio_leds {
136                 compatible = "gpio-leds";
137                 pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
138                              &pmx_led_info &pmx_led_power
139                              &pmx_led_function_blue>;
140                 pinctrl-names = "default";
141
142                 func_blue {
143                         label = "lsxl:blue:func";
144                         gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
145                 };
146
147                 alarm {
148                         label = "lsxl:red:alarm";
149                         gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
150                 };
151
152                 info {
153                         label = "lsxl:amber:info";
154                         gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
155                 };
156
157                 power {
158                         label = "lsxl:blue:power";
159                         gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
160                         default-state = "keep";
161                 };
162
163                 func_red {
164                         label = "lsxl:red:func";
165                         gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
166                 };
167         };
168
169         gpio_fan {
170                 compatible = "gpio-fan";
171                 pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
172                 pinctrl-names = "default";
173                 gpios = <&gpio0 19 GPIO_ACTIVE_LOW
174                          &gpio0 18 GPIO_ACTIVE_LOW>;
175                 gpio-fan,speed-map = <0    3
176                                       1500 2
177                                       3250 1
178                                       5000 0>;
179                 alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
180         };
181
182         restart_poweroff {
183                 compatible = "restart-poweroff";
184         };
185
186         regulators {
187                 compatible = "simple-bus";
188                 #address-cells = <1>;
189                 #size-cells = <0>;
190                 pinctrl-0 = <&pmx_power_hdd &pmx_usb_vbus>;
191                 pinctrl-names = "default";
192
193                 usb_power: regulator@1 {
194                         compatible = "regulator-fixed";
195                         reg = <1>;
196                         regulator-name = "USB Power";
197                         regulator-min-microvolt = <5000000>;
198                         regulator-max-microvolt = <5000000>;
199                         enable-active-high;
200                         regulator-always-on;
201                         regulator-boot-on;
202                         gpio = <&gpio0 11 0>;
203                 };
204                 hdd_power: regulator@2 {
205                         compatible = "regulator-fixed";
206                         reg = <2>;
207                         regulator-name = "HDD Power";
208                         regulator-min-microvolt = <5000000>;
209                         regulator-max-microvolt = <5000000>;
210                         enable-active-high;
211                         regulator-always-on;
212                         regulator-boot-on;
213                         gpio = <&gpio0 10 0>;
214                 };
215         };
216 };
217
218 &mdio {
219         status = "okay";
220
221         ethphy1: ethernet-phy@8 {
222                 reg = <8>;
223         };
224 };
225
226 &eth1 {
227         status = "okay";
228         ethernet1-port@0 {
229                 phy-handle = <&ethphy1>;
230         };
231 };