summaryrefslogtreecommitdiffstats
path: root/dts/src/arm/gemini-dlink-dir-685.dts
diff options
context:
space:
mode:
Diffstat (limited to 'dts/src/arm/gemini-dlink-dir-685.dts')
-rw-r--r--dts/src/arm/gemini-dlink-dir-685.dts510
1 files changed, 0 insertions, 510 deletions
diff --git a/dts/src/arm/gemini-dlink-dir-685.dts b/dts/src/arm/gemini-dlink-dir-685.dts
deleted file mode 100644
index c79a2a02dd..0000000000
--- a/dts/src/arm/gemini-dlink-dir-685.dts
+++ /dev/null
@@ -1,510 +0,0 @@
-/*
- * Device Tree file for D-Link DIR-685 Xtreme N Storage Router
- */
-
-/dts-v1/;
-
-#include "gemini.dtsi"
-#include <dt-bindings/input/input.h>
-
-/ {
- model = "D-Link DIR-685 Xtreme N Storage Router";
- compatible = "dlink,dir-685", "cortina,gemini";
- #address-cells = <1>;
- #size-cells = <1>;
-
- memory@0 {
- /* 128 MB SDRAM in 2 x Hynix HY5DU121622DTP-D43 */
- device_type = "memory";
- reg = <0x00000000 0x8000000>;
- };
-
- chosen {
- bootargs = "console=ttyS0,19200n8 root=/dev/sda1 rw rootwait consoleblank=300";
- stdout-path = "uart0:19200n8";
- };
-
- gpio_keys {
- compatible = "gpio-keys";
-
- button-esc {
- debounce-interval = <100>;
- wakeup-source;
- linux,code = <KEY_ESC>;
- label = "reset";
- /* Collides with LPC_LAD[0], UART DCD, SSP 97RST */
- gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
- };
- button-eject {
- debounce-interval = <100>;
- wakeup-source;
- linux,code = <KEY_EJECTCD>;
- label = "unmount";
- /* Collides with LPC LFRAME, UART RTS, SSP TXD */
- gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
- };
- };
-
- vdisp: regulator {
- compatible = "regulator-fixed";
- regulator-name = "display-power";
- regulator-min-microvolt = <3600000>;
- regulator-max-microvolt = <3600000>;
- /* Collides with LCD E */
- gpio = <&gpio0 16 GPIO_ACTIVE_HIGH>;
- enable-active-high;
- };
-
- spi {
- compatible = "spi-gpio";
- #address-cells = <1>;
- #size-cells = <0>;
-
- /* Collides with IDE pins, that's cool (we do not use them) */
- sck-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
- miso-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
- mosi-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
- cs-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
- num-chipselects = <1>;
-
- panel: display@0 {
- compatible = "dlink,dir-685-panel", "ilitek,ili9322";
- reg = <0>;
- /* 50 ns min period = 20 MHz */
- spi-max-frequency = <20000000>;
- vcc-supply = <&vdisp>;
- iovcc-supply = <&vdisp>;
- vci-supply = <&vdisp>;
-
- port {
- panel_in: endpoint {
- remote-endpoint = <&display_out>;
- };
- };
- };
- };
-
- leds {
- compatible = "gpio-leds";
- led-wps {
- label = "dir685:blue:WPS";
- /* Collides with ICE */
- gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
- default-state = "on";
- linux,default-trigger = "heartbeat";
- };
- /*
- * These two LEDs are on the side of the device.
- * For electrical reasons, both LEDs cannot be active
- * at the same time so only blue or orange can be on at
- * one time. Enabling both makes the LED go dark.
- * The LEDs both sit inside the unmount button and the
- * label on the case says "unmount".
- */
- led-blue-hd {
- label = "dir685:blue:HD";
- /* Collides with LPC_SERIRQ, UART DTR, SSP FSC pins */
- gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
- default-state = "off";
- linux,default-trigger = "disk-read";
- };
- led-orange-hd {
- label = "dir685:orange:HD";
- /* Collides with LPC_LAD[2], UART DSR, SSP ECLK pins */
- gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
- default-state = "off";
- linux,default-trigger = "disk-write";
- };
- };
-
- /*
- * This is a Sunon Maglev GM0502PFV2-8 cooling fan @10000 RPM.
- * sensor. It is turned on when the temperature exceeds 46 degrees
- * and turned off when the temperatures goes below 41 degrees
- * (celsius).
- */
- fan0: gpio-fan {
- compatible = "gpio-fan";
- /* Collides with IDE */
- gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
- gpio-fan,speed-map = <0 0>, <10000 1>;
- #cooling-cells = <2>;
- };
-
- thermal-zones {
- chassis-thermal {
- /* Poll every 20 seconds */
- polling-delay = <20000>;
- /* Poll every 2nd second when cooling */
- polling-delay-passive = <2000>;
- /* Use the thermal sensor in the hard drive */
- thermal-sensors = <&drive0>;
-
- /* Tripping points from the fan.script in the rootfs */
- trips {
- alert: chassis-alert {
- /* At 43 degrees turn on the fan */
- temperature = <43000>;
- hysteresis = <3000>;
- type = "active";
- };
- crit: chassis-crit {
- /* Just shut down at 60 degrees */
- temperature = <60000>;
- hysteresis = <2000>;
- type = "critical";
- };
- };
-
- cooling-maps {
- map0 {
- trip = <&alert>;
- cooling-device = <&fan0 1 1>;
- };
- };
- };
- };
-
- /*
- * The touchpad input is connected to a GPIO bit-banged
- * I2C bus.
- */
- i2c {
- compatible = "i2c-gpio";
- /* Collides with ICE */
- sda-gpios = <&gpio0 5 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
- scl-gpios = <&gpio0 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- touchkeys@26 {
- compatible = "dlink,dir685-touchkeys";
- reg = <0x26>;
- interrupt-parent = <&gpio0>;
- /* Collides with NAND flash */
- interrupts = <17 IRQ_TYPE_EDGE_FALLING>;
- };
- };
-
- /* This is a RealTek RTL8366RB switch and PHY using SMI over GPIO */
- switch {
- compatible = "realtek,rtl8366rb";
- /* 22 = MDIO (has input reads), 21 = MDC (clock, output only) */
- mdc-gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>;
- mdio-gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
- reset-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
- realtek,disable-leds;
-
- switch_intc: interrupt-controller {
- /* GPIO 15 provides the interrupt */
- interrupt-parent = <&gpio0>;
- interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
- interrupt-controller;
- #address-cells = <0>;
- #interrupt-cells = <1>;
- };
-
- ports {
- #address-cells = <1>;
- #size-cells = <0>;
-
- port@0 {
- reg = <0>;
- label = "lan0";
- phy-handle = <&phy0>;
- };
- port@1 {
- reg = <1>;
- label = "lan1";
- phy-handle = <&phy1>;
- };
- port@2 {
- reg = <2>;
- label = "lan2";
- phy-handle = <&phy2>;
- };
- port@3 {
- reg = <3>;
- label = "lan3";
- phy-handle = <&phy3>;
- };
- port@4 {
- reg = <4>;
- label = "wan";
- phy-handle = <&phy4>;
- };
- rtl8366rb_cpu_port: port@5 {
- reg = <5>;
- label = "cpu";
- ethernet = <&gmac0>;
- phy-mode = "rgmii";
- fixed-link {
- speed = <1000>;
- full-duplex;
- pause;
- };
- };
-
- };
-
- mdio {
- compatible = "realtek,smi-mdio";
- #address-cells = <1>;
- #size-cells = <0>;
-
- phy0: phy@0 {
- reg = <0>;
- interrupt-parent = <&switch_intc>;
- interrupts = <0>;
- };
- phy1: phy@1 {
- reg = <1>;
- interrupt-parent = <&switch_intc>;
- interrupts = <1>;
- };
- phy2: phy@2 {
- reg = <2>;
- interrupt-parent = <&switch_intc>;
- interrupts = <2>;
- };
- phy3: phy@3 {
- reg = <3>;
- interrupt-parent = <&switch_intc>;
- interrupts = <3>;
- };
- phy4: phy@4 {
- reg = <4>;
- interrupt-parent = <&switch_intc>;
- interrupts = <12>;
- };
- };
- };
-
- soc {
- flash@30000000 {
- /*
- * Flash access collides with the Chip Enable signal for
- * the display panel, that reuse the parallel flash Chip
- * Select 1 (CS1). We switch the pin control state so we
- * enable these pins for flash access only when we need
- * then, and when disabled they can be used for GPIO which
- * is what the display panel needs.
- */
- status = "okay";
- pinctrl-names = "enabled", "disabled";
- pinctrl-0 = <&pflash_default_pins>;
- pinctrl-1 = <&pflash_disabled_pins>;
-
- /* 32MB of flash */
- reg = <0x30000000 0x02000000>;
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- /*
- * This "RedBoot" is the Storlink derivative.
- */
- partition@0 {
- label = "RedBoot";
- reg = <0x00000000 0x00040000>;
- read-only;
- };
- /*
- * This firmware image contains the kernel catenated
- * with the squashfs root filesystem. For some reason
- * this is called "upgrade" on the vendor system.
- */
- partition@40000 {
- label = "upgrade";
- reg = <0x00040000 0x01f40000>;
- read-only;
- };
- /* RGDB, Residental Gateway Database? */
- partition@1f80000 {
- label = "rgdb";
- reg = <0x01f80000 0x00040000>;
- read-only;
- };
- /*
- * This partition contains MAC addresses for WAN,
- * WLAN and LAN, and the country code (for wireless
- * I guess).
- */
- partition@1fc0000 {
- label = "nvram";
- reg = <0x01fc0000 0x00020000>;
- read-only;
- };
- partition@1fe0000 {
- label = "LangPack";
- reg = <0x01fe0000 0x00020000>;
- read-only;
- };
- };
- };
-
- syscon: syscon@40000000 {
- pinctrl {
- /*
- * gpio0bgrp cover line 5, 6 used by TK I2C
- * gpio0bgrp cover line 7 used by WPS LED
- * gpio0cgrp cover line 8, 13 used by keys
- * and 11, 12 used by the HD LEDs
- * and line 14, 15 used by RTL8366
- * RESET and phy ready
- * gpio0egrp cover line 16 used by VDISP
- * gpio0fgrp cover line 17 used by TK IRQ
- * gpio0ggrp cover line 20 used by panel CS
- * gpio0hgrp cover line 21,22 used by RTL8366RB MDIO
- */
- gpio0_default_pins: pinctrl-gpio0 {
- mux {
- function = "gpio0";
- groups = "gpio0bgrp",
- "gpio0cgrp",
- "gpio0egrp",
- "gpio0fgrp",
- "gpio0hgrp";
- };
- };
- /*
- * gpio1bgrp cover line 5,8,7 used by panel SPI
- * also line 6 used by the fan
- *
- */
- gpio1_default_pins: pinctrl-gpio1 {
- mux {
- function = "gpio1";
- groups = "gpio1bgrp";
- };
- };
- /*
- * These GPIO groups will be mapped in over some
- * of the flash pins when the flash is not in
- * active use.
- */
- pflash_disabled_pins: pinctrl-pflash-disabled {
- mux {
- function = "gpio0";
- groups = "gpio0ggrp", "gpio0igrp", "gpio0jgrp",
- "gpio0kgrp";
- };
- };
- pinctrl-gmii {
- mux {
- function = "gmii";
- groups = "gmii_gmac0_grp";
- };
- conf0 {
- pins = "V8 GMAC0 RXDV", "T10 GMAC1 RXDV",
- "Y7 GMAC0 RXC", "Y11 GMAC1 RXC",
- "T8 GMAC0 TXEN", "W11 GMAC1 TXEN",
- "U8 GMAC0 TXC", "V11 GMAC1 TXC",
- "W8 GMAC0 RXD0", "V9 GMAC0 RXD1",
- "Y8 GMAC0 RXD2", "U9 GMAC0 RXD3",
- "T7 GMAC0 TXD0", "U6 GMAC0 TXD1",
- "V7 GMAC0 TXD2", "U7 GMAC0 TXD3",
- "Y12 GMAC1 RXD0", "V12 GMAC1 RXD1",
- "T11 GMAC1 RXD2", "W12 GMAC1 RXD3",
- "U10 GMAC1 TXD0", "Y10 GMAC1 TXD1",
- "W10 GMAC1 TXD2", "T9 GMAC1 TXD3";
- skew-delay = <7>;
- };
- /* Set up drive strength on GMAC0 to 16 mA */
- conf1 {
- groups = "gmii_gmac0_grp";
- drive-strength = <16>;
- };
- };
- };
- };
-
- sata: sata@46000000 {
- cortina,gemini-ata-muxmode = <0>;
- cortina,gemini-enable-sata-bridge;
- status = "okay";
- };
-
- gpio0: gpio@4d000000 {
- pinctrl-names = "default";
- pinctrl-0 = <&gpio0_default_pins>;
- };
-
- gpio1: gpio@4e000000 {
- pinctrl-names = "default";
- pinctrl-0 = <&gpio1_default_pins>;
- };
-
- pci@50000000 {
- status = "okay";
- interrupt-map-mask = <0xf800 0 0 7>;
- interrupt-map =
- <0x4800 0 0 1 &pci_intc 0>, /* Slot 9 */
- <0x4800 0 0 2 &pci_intc 1>,
- <0x4800 0 0 3 &pci_intc 2>,
- <0x4800 0 0 4 &pci_intc 3>,
- <0x5000 0 0 1 &pci_intc 1>, /* Slot 10 */
- <0x5000 0 0 2 &pci_intc 2>,
- <0x5000 0 0 3 &pci_intc 3>,
- <0x5000 0 0 4 &pci_intc 0>,
- <0x5800 0 0 1 &pci_intc 2>, /* Slot 11 */
- <0x5800 0 0 2 &pci_intc 3>,
- <0x5800 0 0 3 &pci_intc 0>,
- <0x5800 0 0 4 &pci_intc 1>,
- <0x6000 0 0 1 &pci_intc 3>, /* Slot 12 */
- <0x6000 0 0 2 &pci_intc 0>,
- <0x6000 0 0 3 &pci_intc 1>,
- <0x6000 0 0 4 &pci_intc 2>;
- };
-
- ethernet@60000000 {
- status = "okay";
-
- ethernet-port@0 {
- phy-mode = "rgmii";
- fixed-link {
- speed = <1000>;
- full-duplex;
- pause;
- };
- };
- ethernet-port@1 {
- /* Not used in this platform */
- };
- };
-
- ide@63000000 {
- status = "okay";
-
- /*
- * This drive may have a temperature sensor with a
- * thermal zone we can use for thermal control of the
- * chassis temperature using the fan.
- */
- drive0: ide-port@0 {
- reg = <0>;
- #thermal-sensor-cells = <0>;
- };
- };
-
- display-controller@6a000000 {
- status = "okay";
-
- port {
- display_out: endpoint {
- remote-endpoint = <&panel_in>;
- };
- };
- };
-
- usb@68000000 {
- status = "okay";
- };
-
- usb@69000000 {
- status = "okay";
- };
- };
-};