Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.15.
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Device Tree file for D-Link DNS-313 1-Bay Network Storage Enclosure
  4 */
  5
  6/dts-v1/;
  7
  8#include "gemini.dtsi"
  9#include <dt-bindings/input/input.h>
 10#include <dt-bindings/thermal/thermal.h>
 11
 12/ {
 13	model = "D-Link DNS-313 1-Bay Network Storage Enclosure";
 14	compatible = "dlink,dir-313", "cortina,gemini";
 15	#address-cells = <1>;
 16	#size-cells = <1>;
 17
 18	memory {
 19		/* 64 MB SDRAM in a Nanya NT5DS32M16BS-6K package */
 20		device_type = "memory";
 21		reg = <0x00000000 0x4000000>;
 22	};
 23
 24	aliases {
 25		mdio-gpio0 = &mdio0;
 26	};
 27
 28	chosen {
 29		stdout-path = "uart0:19200n8";
 30	};
 31
 32	gpio_keys {
 33		compatible = "gpio-keys";
 34		#address-cells = <1>;
 35		#size-cells = <0>;
 36		button-esc {
 37			debounce_interval = <50>;
 38			wakeup-source;
 39			linux,code = <KEY_ESC>;
 40			label = "reset";
 41			gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
 42		};
 43	};
 44
 45	leds {
 46		compatible = "gpio-leds";
 47		led-power {
 48			label = "dns313:blue:power";
 49			gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
 50			default-state = "on";
 51			linux,default-trigger = "heartbeat";
 52		};
 53		led-disk-blue {
 54			label = "dns313:blue:disk";
 55			gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
 56			default-state = "off";
 57		};
 58		led-disk-green {
 59			label = "dns313:green:disk";
 60			gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
 61			default-state = "off";
 62			linux,default-trigger = "ide-disk";
 63			/* Ideally should activate while reading */
 64		};
 65		led-disk-red {
 66			label = "dns313:red:disk";
 67			gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
 68			default-state = "off";
 69			/* Ideally should activate while writing */
 70		};
 71	};
 72
 73	/*
 74	 * This is a ADDA AD0405GB-G73 fan @3000 and 6000 RPM.
 75	 */
 76	fan0: gpio-fan {
 77		compatible = "gpio-fan";
 78		gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>,
 79			<&gpio0 12 GPIO_ACTIVE_HIGH>;
 80		gpio-fan,speed-map = <0 0>, <3000 1>, <6000 2>;
 81		#cooling-cells = <2>;
 82	};
 83
 84
 85	/* Global Mixed-Mode Technology G751 mounted on GPIO I2C */
 86	gpio-i2c {
 87		compatible = "i2c-gpio";
 88		sda-gpios = <&gpio0 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
 89		scl-gpios = <&gpio0 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
 90		#address-cells = <1>;
 91		#size-cells = <0>;
 92
 93		g751: temperature-sensor@48 {
 94			compatible = "gmt,g751";
 95			reg = <0x48>;
 96			#thermal-sensor-cells = <0>;
 97		};
 98	};
 99
100	thermal-zones {
101		chassis-thermal {
102			/* Poll every 20 seconds */
103			polling-delay = <20000>;
104			/* Poll every 2nd second when cooling */
105			polling-delay-passive = <2000>;
106
107			thermal-sensors = <&g751>;
108
109			/* Tripping points from the fan.script in the rootfs */
110			trips {
111				chassis_alert0: chassis-alert0 {
112					/* At 43 degrees turn on low speed */
113					temperature = <43000>;
114					hysteresis = <3000>;
115					type = "active";
116				};
117				chassis_alert1: chassis-alert1 {
118					/* At 47 degrees turn on high speed */
119					temperature = <47000>;
120					hysteresis = <3000>;
121					type = "active";
122				};
123				chassis_crit: chassis-crit {
124					/* Just shut down at 60 degrees */
125					temperature = <60000>;
126					hysteresis = <2000>;
127					type = "critical";
128				};
129			};
130
131			cooling-maps {
132				map0 {
133					trip = <&chassis_alert0>;
134					cooling-device = <&fan0 1 1>;
135				};
136				map1 {
137					trip = <&chassis_alert1>;
138					cooling-device = <&fan0 2 2>;
139				};
140			};
141		};
142	};
143
144	mdio0: ethernet-phy {
145		compatible = "virtual,mdio-gpio";
146		/* Uses MDC and MDIO */
147		gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
148			<&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
149		#address-cells = <1>;
150		#size-cells = <0>;
151
152		/* This is a Realtek RTL8211B Gigabit ethernet transceiver */
153		phy0: ethernet-phy@1 {
154			reg = <1>;
155			device_type = "ethernet-phy";
156		};
157	};
158
159	soc {
160		flash@30000000 {
161			status = "okay";
162			/* 512KB of flash */
163			reg = <0x30000000 0x00080000>;
164
165			/*
166			 * This "RedBoot" is the Storlink derivative.
167			 */
168			partition@0 {
169				label = "RedBoot";
170				reg = <0x00000000 0x00040000>;
171				read-only;
172			};
173			partition@40000 {
174				label = "MTD1";
175				reg = <0x00040000 0x00020000>;
176				read-only;
177			};
178			partition@60000 {
179				label = "MTD2";
180				reg = <0x00060000 0x00020000>;
181				read-only;
182			};
183		};
184
185		syscon: syscon@40000000 {
186			pinctrl {
187				/*
188				 */
189				gpio0_default_pins: pinctrl-gpio0 {
190					mux {
191						function = "gpio0";
192						groups =
193						/* Used by LEDs conflicts ICE */
194						"gpio0bgrp",
195						/* Used by ? conflicts ICE */
196						"gpio0cgrp",
197						/*
198						 * Used by fan & G751, conflicts LPC,
199						 * UART modem lines, SSP
200						 */
201						"gpio0egrp",
202						/* Used by G751 */
203						"gpio0fgrp",
204						/* Used by MDIO */
205						"gpio0igrp";
206					};
207				};
208				gpio1_default_pins: pinctrl-gpio1 {
209					mux {
210						function = "gpio1";
211						/* Used by "reset" button */
212						groups = "gpio1dgrp";
213					};
214				};
215				pinctrl-gmii {
216					mux {
217						function = "gmii";
218						groups = "gmii_gmac0_grp";
219					};
220					/*
221					 * In the vendor Linux tree, these values are set for the C3
222					 * version of the SL3512 ASIC with the comment "benson suggest"
223					 */
224					conf0 {
225						pins = "R8 GMAC0 RXDV", "U11 GMAC1 RXDV";
226						skew-delay = <0>;
227					};
228					conf1 {
229						pins = "T8 GMAC0 RXC";
230						skew-delay = <10>;
231					};
232					conf2 {
233						pins = "T11 GMAC1 RXC";
234						skew-delay = <15>;
235					};
236					conf3 {
237						pins = "P8 GMAC0 TXEN", "V11 GMAC1 TXEN";
238						skew-delay = <7>;
239					};
240					conf4 {
241						pins = "V7 GMAC0 TXC", "P10 GMAC1 TXC";
242						skew-delay = <10>;
243					};
244					conf5 {
245						/* The data lines all have default skew */
246						pins = "U8 GMAC0 RXD0", "V8 GMAC0 RXD1",
247						       "P9 GMAC0 RXD2", "R9 GMAC0 RXD3",
248						       "R11 GMAC1 RXD0", "P11 GMAC1 RXD1",
249						       "V12 GMAC1 RXD2", "U12 GMAC1 RXD3",
250						       "R10 GMAC1 TXD0", "T10 GMAC1 TXD1",
251						       "U10 GMAC1 TXD2", "V10 GMAC1 TXD3";
252						skew-delay = <7>;
253					};
254					conf6 {
255						pins = "U7 GMAC0 TXD0", "T7 GMAC0 TXD1",
256						       "R7 GMAC0 TXD2", "P7 GMAC0 TXD3";
257						skew-delay = <5>;
258					};
259					/* Set up drive strength on GMAC0 to 16 mA */
260					conf7 {
261						groups = "gmii_gmac0_grp";
262						drive-strength = <16>;
263					};
264				};
265			};
266		};
267
268		sata: sata@46000000 {
269			/* The ROM uses this muxmode */
270			cortina,gemini-ata-muxmode = <0>;
271			cortina,gemini-enable-sata-bridge;
272			status = "okay";
273		};
274
275		gpio0: gpio@4d000000 {
276			pinctrl-names = "default";
277			pinctrl-0 = <&gpio0_default_pins>;
278		};
279
280		gpio1: gpio@4e000000 {
281			pinctrl-names = "default";
282			pinctrl-0 = <&gpio1_default_pins>;
283		};
284
285		ethernet@60000000 {
286			status = "okay";
287
288			ethernet-port@0 {
289				phy-mode = "rgmii";
290				phy-handle = <&phy0>;
291			};
292			ethernet-port@1 {
293				/* Not used in this platform */
294			};
295		};
296
297		ata@63000000 {
298			status = "okay";
299		};
300	};
301};