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