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