1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Device Tree file for HP t5325 Thin Client"
4 *
5 * Copyright (C) 2014
6 *
7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 * Andrew Lunn <andrew@lunn.ch>
9 *
10*/
11
12/dts-v1/;
13
14#include "kirkwood.dtsi"
15#include "kirkwood-6281.dtsi"
16
17/ {
18	model = "HP t5325 Thin Client";
19	compatible = "hp,t5325", "marvell,kirkwood-88f6281", "marvell,kirkwood";
20
21	memory {
22		device_type = "memory";
23		reg = <0x00000000 0x20000000>;
24	};
25
26	chosen {
27		bootargs = "console=ttyS0,115200n8";
28		stdout-path = &uart0;
29	};
30
31	ocp@f1000000 {
32		pinctrl: pin-controller@10000 {
33			pinctrl-0 = <&pmx_i2s &pmx_sysrst>;
34			pinctrl-names = "default";
35
36			pmx_button_power: pmx-button_power {
37				marvell,pins = "mpp45";
38				marvell,function = "gpio";
39			};
40
41			pmx_power_off: pmx-power-off {
42				marvell,pins = "mpp48";
43				marvell,function = "gpio";
44			};
45
46			pmx_led: pmx-led {
47				marvell,pins = "mpp21";
48				marvell,function = "gpio";
49			};
50
51			pmx_usb_sata_power_enable: pmx-usb-sata-power-enable {
52				marvell,pins = "mpp44";
53				marvell,function = "gpio";
54			};
55
56			pmx_spi: pmx-spi {
57				marvell,pins = "mpp1", "mpp2", "mpp3", "mpp7";
58				marvell,function = "spi";
59			};
60
61			pmx_sysrst: pmx-sysrst {
62				marvell,pins = "mpp6";
63				marvell,function = "sysrst";
64			};
65
66			pmx_i2s: pmx-i2s {
67				marvell,pins = "mpp39", "mpp40", "mpp41", "mpp42",
68					       "mpp43";
69				marvell,function = "audio";
70			};
71		};
72
73		spi@10600 {
74			status = "okay";
75
76			flash@0 {
77				#address-cells = <1>;
78				#size-cells = <1>;
79				compatible = "st,m25p80", "jedec,spi-nor";
80				spi-max-frequency = <86000000>;
81				reg = <0>;
82				mode = <0>;
83
84				partition@0 {
85					reg = <0x0 0x80000>;
86					label = "u-boot";
87				};
88
89				partition@1 {
90					reg = <0x80000 0x40000>;
91					label = "SSD firmware";
92				};
93
94				partition@2 {
95					reg = <0xc0000 0x10000>;
96					label = "u-boot env";
97				};
98
99				partition@3 {
100					reg = <0xd0000 0x10000>;
101					label = "permanent u-boot env";
102				};
103
104				partition@4 {
105					reg = <0xd0000 0x10000>;
106					label = "permanent u-boot env";
107				};
108			};
109		};
110
111		i2c@11000 {
112			status = "okay";
113
114			alc5621: alc5621@1a {
115				compatible = "realtek,alc5621";
116				reg = <0x1a>;
117				#sound-dai-cells = <0>;
118				add-ctrl = <0x3700>;
119				jack-det-ctrl = <0x4810>;
120			};
121		};
122
123		serial@12000 {
124			status = "okay";
125		};
126
127		sata@80000 {
128			status = "okay";
129			nr-ports = <2>;
130		};
131
132		audio: audio-controller@a0000 {
133			status = "okay";
134		};
135	};
136
137	regulators {
138		compatible = "simple-bus";
139		#address-cells = <1>;
140		#size-cells = <0>;
141		pinctrl-0 = <&pmx_usb_sata_power_enable>;
142		pinctrl-names = "default";
143
144		usb_power: regulator@1 {
145			compatible = "regulator-fixed";
146			reg = <1>;
147			regulator-name = "USB-SATA Power";
148			regulator-min-microvolt = <5000000>;
149			regulator-max-microvolt = <5000000>;
150			enable-active-high;
151			regulator-always-on;
152			regulator-boot-on;
153			gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
154		};
155	};
156
157	gpio_keys {
158		compatible = "gpio-keys";
159		#address-cells = <1>;
160		#size-cells = <0>;
161		pinctrl-0 = <&pmx_button_power>;
162		pinctrl-names = "default";
163
164		power {
165			label = "Power Button";
166			linux,code = <KEY_POWER>;
167			gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
168		};
169	};
170
171	gpio_poweroff {
172		compatible = "gpio-poweroff";
173		pinctrl-0 = <&pmx_power_off>;
174		pinctrl-names = "default";
175		gpios = <&gpio1 17 GPIO_ACTIVE_HIGH>;
176	};
177
178	sound {
179		compatible = "simple-audio-card";
180		simple-audio-card,format = "i2s";
181		simple-audio-card,routing =
182			"Headphone Jack", "HPL",
183			"Headphone Jack", "HPR",
184			"Speaker", "SPKOUT",
185			"Speaker", "SPKOUTN",
186			"MIC1", "Mic Jack",
187			"MIC2", "Mic Jack";
188		simple-audio-card,widgets =
189			"Headphone", "Headphone Jack",
190			"Speaker", "Speaker",
191			"Microphone", "Mic Jack";
192
193		simple-audio-card,mclk-fs = <256>;
194
195		simple-audio-card,cpu {
196			sound-dai = <&audio>;
197		};
198
199		simple-audio-card,codec {
200			sound-dai = <&alc5621>;
201		};
202	};
203};
204
205&mdio {
206	status = "okay";
207
208	ethphy0: ethernet-phy@8 {
209		device_type = "ethernet-phy";
210		reg = <8>;
211	};
212};
213
214&eth0 {
215	status = "okay";
216	ethernet0-port@0 {
217		phy-handle = <&ethphy0>;
218	};
219};
220
221&pciec {
222	status = "okay";
223};
224
225&pcie0 {
226	status = "okay";
227};
228