GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / boot / dts / kirkwood-topkick.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
3
4 #include "kirkwood.dtsi"
5 #include "kirkwood-6282.dtsi"
6
7 / {
8         model = "Universal Scientific Industrial Co. Topkick-1281P2";
9         compatible = "usi,topkick-1281P2", "usi,topkick", "marvell,kirkwood-88f6282", "marvell,kirkwood";
10
11         memory {
12                 device_type = "memory";
13                 reg = <0x00000000 0x10000000>;
14         };
15
16         chosen {
17                 bootargs = "console=ttyS0,115200n8 earlyprintk";
18                 stdout-path = &uart0;
19         };
20
21         ocp@f1000000 {
22                 pinctrl: pin-controller@10000 {
23                         /*
24                          * Switch positions
25                          *
26                          *     /-SW_LEFT(2)
27                          *     |
28                          *     |   /-SW_IDLE
29                          *     |   |
30                          *     |   |   /-SW_RIGHT
31                          *     |   |   |
32                          * PS [L] [I] [R] LEDS
33                          */
34                         pinctrl-0 = <&pmx_sw_left &pmx_sw_right
35                                      &pmx_sw_idle &pmx_sw_left2>;
36                         pinctrl-names = "default";
37
38                         pmx_led_disk_yellow: pmx-led-disk-yellow {
39                                 marvell,pins = "mpp21";
40                                 marvell,function = "gpio";
41                         };
42
43                         pmx_sata0_pwr_enable: pmx-sata0-pwr-enable {
44                                 marvell,pins = "mpp36";
45                                 marvell,function = "gpio";
46                         };
47
48                         pmx_led_sys_red: pmx-led-sys-red {
49                                 marvell,pins = "mpp37";
50                                 marvell,function = "gpio";
51                         };
52
53                         pmx_led_sys_blue: pmx-led-sys-blue {
54                                 marvell,pins = "mpp38";
55                                 marvell,function = "gpio";
56                         };
57
58                         pmx_led_wifi_green: pmx-led-wifi-green {
59                                 marvell,pins = "mpp39";
60                                 marvell,function = "gpio";
61                         };
62
63                         pmx_sw_left: pmx-sw-left {
64                                 marvell,pins = "mpp43";
65                                 marvell,function = "gpio";
66                         };
67
68                         pmx_sw_right: pmx-sw-right {
69                                 marvell,pins = "mpp44";
70                                 marvell,function = "gpio";
71                         };
72
73                         pmx_sw_idle: pmx-sw-idle {
74                                 marvell,pins = "mpp45";
75                                 marvell,function = "gpio";
76                         };
77
78                         pmx_sw_left2: pmx-sw-left2 {
79                                 marvell,pins = "mpp46";
80                                 marvell,function = "gpio";
81                         };
82
83                         pmx_led_wifi_yellow: pmx-led-wifi-yellow {
84                                 marvell,pins = "mpp48";
85                                 marvell,function = "gpio";
86                         };
87                 };
88
89                 serial@12000 {
90                         status = "okay";
91                 };
92
93                 sata@80000 {
94                         status = "okay";
95                         nr-ports = <1>;
96                 };
97
98                 i2c@11000 {
99                         status = "okay";
100                 };
101
102                 mvsdio@90000 {
103                         pinctrl-0 = <&pmx_sdio>;
104                         pinctrl-names = "default";
105                         status = "okay";
106                         /* No CD or WP GPIOs */
107                         broken-cd;
108                 };
109         };
110
111         gpio-leds {
112                 /*
113                  * GPIO LED layout
114                  *
115                  *       /-SYS_LED(2)
116                  *       |
117                  *       |   /-DISK_LED
118                  *       |   |
119                  *       |   |   /-WLAN_LED(2)
120                  *       |   |   |
121                  * [SW] [*] [*] [*]
122                  */
123
124                 compatible = "gpio-leds";
125                 pinctrl-0 = <&pmx_led_disk_yellow &pmx_led_sys_red
126                              &pmx_led_sys_blue &pmx_led_wifi_green
127                              &pmx_led_wifi_yellow>;
128                 pinctrl-names = "default";
129
130                 disk {
131                         label = "topkick:yellow:disk";
132                         gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
133                         linux,default-trigger = "disk-activity";
134                 };
135                 system2 {
136                         label = "topkick:red:system";
137                         gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
138                 };
139                 system {
140                         label = "topkick:blue:system";
141                         gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
142                         default-state = "on";
143                 };
144                 wifi {
145                         label = "topkick:green:wifi";
146                         gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
147                 };
148                 wifi2 {
149                         label = "topkick:yellow:wifi";
150                         gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;
151                 };
152         };
153         regulators {
154                 compatible = "simple-bus";
155                 #address-cells = <1>;
156                 #size-cells = <0>;
157                 pinctrl-0 = <&pmx_sata0_pwr_enable>;
158                 pinctrl-names = "default";
159
160                 sata0_power: regulator@1 {
161                         compatible = "regulator-fixed";
162                         reg = <1>;
163                         regulator-name = "SATA0 Power";
164                         regulator-min-microvolt = <5000000>;
165                         regulator-max-microvolt = <5000000>;
166                         enable-active-high;
167                         regulator-always-on;
168                         regulator-boot-on;
169                         gpio = <&gpio1 4 0>;
170                 };
171         };
172 };
173
174 &nand {
175         status = "okay";
176
177         partition@0 {
178                 label = "u-boot";
179                 reg = <0x0000000 0x180000>;
180         };
181
182         partition@180000 {
183                 label = "u-boot env";
184                 reg = <0x0180000 0x20000>;
185         };
186
187         partition@200000 {
188                 label = "uImage";
189                 reg = <0x0200000 0x600000>;
190         };
191
192         partition@800000 {
193                 label = "uInitrd";
194                 reg = <0x0800000 0x1000000>;
195         };
196
197         partition@1800000 {
198                 label = "rootfs";
199                 reg = <0x1800000 0xe800000>;
200         };
201 };
202
203 &mdio {
204         status = "okay";
205
206         ethphy0: ethernet-phy@0 {
207                 reg = <0>;
208         };
209 };
210
211 &eth0 {
212         status = "okay";
213         ethernet0-port@0 {
214                 phy-handle = <&ethphy0>;
215         };
216 };