Merge remote-tracking branches 'spi/fix/qup' and 'spi/fix/topcliff-pch' into spi...
[cascardo/linux.git] / arch / arm / boot / dts / kirkwood-t5325.dts
1 /*
2  * Device Tree file for HP t5325 Thin Client"
3  *
4  * Copyright (C) 2014
5  *
6  * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
7  * Andrew Lunn <andrew@lunn.ch>
8  *
9  * This file is licensed under the terms of the GNU General Public
10  * License version 2.  This program is licensed "as is" without any
11  * warranty of any kind, whether express or implied.
12 */
13
14 /dts-v1/;
15
16 #include "kirkwood.dtsi"
17 #include "kirkwood-6281.dtsi"
18
19 / {
20         model = "HP t5325 Thin Client";
21         compatible = "hp,t5325", "marvell,kirkwood-88f6281", "marvell,kirkwood";
22
23         memory {
24                 device_type = "memory";
25                 reg = <0x00000000 0x20000000>;
26         };
27
28         chosen {
29                 bootargs = "console=ttyS0,115200n8";
30         };
31
32         mbus {
33                 pcie-controller {
34                         status = "okay";
35
36                         pcie@1,0 {
37                                 status = "okay";
38                         };
39                 };
40         };
41
42         ocp@f1000000 {
43                 pinctrl: pinctrl@10000 {
44                         pinctrl-0 = <&pmx_i2s &pmx_sysrst>;
45                         pinctrl-names = "default";
46
47                         pmx_button_power: pmx-button_power {
48                                 marvell,pins = "mpp45";
49                                 marvell,function = "gpio";
50                         };
51
52                         pmx_power_off: pmx-power-off {
53                                 marvell,pins = "mpp48";
54                                 marvell,function = "gpio";
55                         };
56
57                         pmx_led: pmx-led {
58                                 marvell,pins = "mpp21";
59                                 marvell,function = "gpio";
60                         };
61
62                         pmx_usb_sata_power_enable: pmx-usb-sata-power-enable {
63                                 marvell,pins = "mpp44";
64                                 marvell,function = "gpio";
65                         };
66
67                         /*
68                          * Redefined from kirkwood-6281.dtsi, because
69                          * we don't use SPI CS on MPP0, but on MPP7.
70                          */
71                         pmx_spi: pmx-spi {
72                                 marvell,pins = "mpp1", "mpp2", "mpp3", "mpp7";
73                                 marvell,function = "spi";
74                         };
75
76                         pmx_sysrst: pmx-sysrst {
77                                 marvell,pins = "mpp6";
78                                 marvell,function = "sysrst";
79                         };
80
81                         pmx_i2s: pmx-i2s {
82                                 marvell,pins = "mpp39", "mpp40", "mpp41", "mpp42",
83                                                "mpp43";
84                                 marvell,function = "audio";
85                         };
86                 };
87
88                 spi@10600 {
89                         pinctrl-0 = <&pmx_spi>;
90                         pinctrl-names = "default";
91                         status = "okay";
92
93                         flash@0 {
94                                 #address-cells = <1>;
95                                 #size-cells = <1>;
96                                 compatible = "st,m25p80";
97                                 spi-max-frequency = <86000000>;
98                                 reg = <0>;
99                                 mode = <0>;
100
101                                 partition@0 {
102                                         reg = <0x0 0x80000>;
103                                         label = "u-boot";
104                                 };
105
106                                 partition@1 {
107                                         reg = <0x80000 0x40000>;
108                                         label = "SSD firmware";
109                                 };
110
111                                 partition@2 {
112                                         reg = <0xc0000 0x10000>;
113                                         label = "u-boot env";
114                                 };
115
116                                 partition@3 {
117                                         reg = <0xd0000 0x10000>;
118                                         label = "permanent u-boot env";
119                                 };
120
121                                 partition@4 {
122                                         reg = <0xd0000 0x10000>;
123                                         label = "permanent u-boot env";
124                                 };
125                         };
126                 };
127
128                 i2c@11000 {
129                         status = "okay";
130                 };
131
132                 serial@12000 {
133                         status = "okay";
134                 };
135
136                 sata@80000 {
137                         status = "okay";
138                         nr-ports = <2>;
139                 };
140
141                 audio: audio-controller@a0000 {
142                         status = "okay";
143                 };
144         };
145
146         regulators {
147                 compatible = "simple-bus";
148                 #address-cells = <1>;
149                 #size-cells = <0>;
150                 pinctrl-0 = <&pmx_usb_sata_power_enable>;
151                 pinctrl-names = "default";
152
153                 usb_power: regulator@1 {
154                         compatible = "regulator-fixed";
155                         reg = <1>;
156                         regulator-name = "USB-SATA Power";
157                         regulator-min-microvolt = <5000000>;
158                         regulator-max-microvolt = <5000000>;
159                         enable-active-high;
160                         regulator-always-on;
161                         regulator-boot-on;
162                         gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
163                 };
164         };
165
166         gpio_keys {
167                 compatible = "gpio-keys";
168                 #address-cells = <1>;
169                 #size-cells = <0>;
170                 pinctrl-0 = <&pmx_button_power>;
171                 pinctrl-names = "default";
172
173                 button@1 {
174                         label = "Power Button";
175                         linux,code = <KEY_POWER>;
176                         gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
177                 };
178         };
179
180         gpio_poweroff {
181                 compatible = "gpio-poweroff";
182                 pinctrl-0 = <&pmx_power_off>;
183                 pinctrl-names = "default";
184                 gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
185         };
186
187 };
188
189 &mdio {
190         status = "okay";
191
192         ethphy0: ethernet-phy {
193                 device_type = "ethernet-phy";
194                 reg = <8>;
195         };
196 };
197
198 &eth0 {
199         status = "okay";
200         ethernet0-port@0 {
201                 phy-handle = <&ethphy0>;
202         };
203 };