1f126890aSEmmanuel Vadot/* 2f126890aSEmmanuel Vadot * Device Tree file for D-Link DIR-685 Xtreme N Storage Router 3f126890aSEmmanuel Vadot */ 4f126890aSEmmanuel Vadot 5f126890aSEmmanuel Vadot/dts-v1/; 6f126890aSEmmanuel Vadot 7f126890aSEmmanuel Vadot#include "gemini.dtsi" 8f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h> 9f126890aSEmmanuel Vadot 10f126890aSEmmanuel Vadot/ { 11f126890aSEmmanuel Vadot model = "D-Link DIR-685 Xtreme N Storage Router"; 12f126890aSEmmanuel Vadot compatible = "dlink,dir-685", "cortina,gemini"; 13f126890aSEmmanuel Vadot #address-cells = <1>; 14f126890aSEmmanuel Vadot #size-cells = <1>; 15f126890aSEmmanuel Vadot 16f126890aSEmmanuel Vadot memory@0 { 17f126890aSEmmanuel Vadot /* 128 MB SDRAM in 2 x Hynix HY5DU121622DTP-D43 */ 18f126890aSEmmanuel Vadot device_type = "memory"; 19f126890aSEmmanuel Vadot reg = <0x00000000 0x8000000>; 20f126890aSEmmanuel Vadot }; 21f126890aSEmmanuel Vadot 22f126890aSEmmanuel Vadot chosen { 23f126890aSEmmanuel Vadot bootargs = "console=ttyS0,19200n8 root=/dev/sda1 rw rootwait consoleblank=300"; 24f126890aSEmmanuel Vadot stdout-path = "uart0:19200n8"; 25f126890aSEmmanuel Vadot }; 26f126890aSEmmanuel Vadot 27f126890aSEmmanuel Vadot gpio_keys { 28f126890aSEmmanuel Vadot compatible = "gpio-keys"; 29f126890aSEmmanuel Vadot 30*01950c46SEmmanuel Vadot button-reset { 31f126890aSEmmanuel Vadot debounce-interval = <100>; 32f126890aSEmmanuel Vadot wakeup-source; 33*01950c46SEmmanuel Vadot linux,code = <KEY_RESTART>; 34f126890aSEmmanuel Vadot label = "reset"; 35f126890aSEmmanuel Vadot /* Collides with LPC_LAD[0], UART DCD, SSP 97RST */ 36f126890aSEmmanuel Vadot gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; 37f126890aSEmmanuel Vadot }; 38f126890aSEmmanuel Vadot button-eject { 39f126890aSEmmanuel Vadot debounce-interval = <100>; 40f126890aSEmmanuel Vadot wakeup-source; 41f126890aSEmmanuel Vadot linux,code = <KEY_EJECTCD>; 42f126890aSEmmanuel Vadot label = "unmount"; 43f126890aSEmmanuel Vadot /* Collides with LPC LFRAME, UART RTS, SSP TXD */ 44f126890aSEmmanuel Vadot gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; 45f126890aSEmmanuel Vadot }; 46f126890aSEmmanuel Vadot }; 47f126890aSEmmanuel Vadot 48f126890aSEmmanuel Vadot vdisp: regulator { 49f126890aSEmmanuel Vadot compatible = "regulator-fixed"; 50f126890aSEmmanuel Vadot regulator-name = "display-power"; 51f126890aSEmmanuel Vadot regulator-min-microvolt = <3600000>; 52f126890aSEmmanuel Vadot regulator-max-microvolt = <3600000>; 53f126890aSEmmanuel Vadot /* Collides with LCD E */ 54f126890aSEmmanuel Vadot gpio = <&gpio0 16 GPIO_ACTIVE_HIGH>; 55f126890aSEmmanuel Vadot enable-active-high; 56f126890aSEmmanuel Vadot }; 57f126890aSEmmanuel Vadot 58f126890aSEmmanuel Vadot spi { 59f126890aSEmmanuel Vadot compatible = "spi-gpio"; 60f126890aSEmmanuel Vadot #address-cells = <1>; 61f126890aSEmmanuel Vadot #size-cells = <0>; 62f126890aSEmmanuel Vadot 63f126890aSEmmanuel Vadot /* Collides with IDE pins, that's cool (we do not use them) */ 64f126890aSEmmanuel Vadot sck-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; 65f126890aSEmmanuel Vadot miso-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; 66f126890aSEmmanuel Vadot mosi-gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; 67f126890aSEmmanuel Vadot cs-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>; 68f126890aSEmmanuel Vadot num-chipselects = <1>; 69f126890aSEmmanuel Vadot 70f126890aSEmmanuel Vadot panel: display@0 { 71f126890aSEmmanuel Vadot compatible = "dlink,dir-685-panel", "ilitek,ili9322"; 72f126890aSEmmanuel Vadot reg = <0>; 73f126890aSEmmanuel Vadot /* 50 ns min period = 20 MHz */ 74f126890aSEmmanuel Vadot spi-max-frequency = <20000000>; 75f126890aSEmmanuel Vadot vcc-supply = <&vdisp>; 76f126890aSEmmanuel Vadot iovcc-supply = <&vdisp>; 77f126890aSEmmanuel Vadot vci-supply = <&vdisp>; 78f126890aSEmmanuel Vadot 79f126890aSEmmanuel Vadot port { 80f126890aSEmmanuel Vadot panel_in: endpoint { 81f126890aSEmmanuel Vadot remote-endpoint = <&display_out>; 82f126890aSEmmanuel Vadot }; 83f126890aSEmmanuel Vadot }; 84f126890aSEmmanuel Vadot }; 85f126890aSEmmanuel Vadot }; 86f126890aSEmmanuel Vadot 87f126890aSEmmanuel Vadot leds { 88f126890aSEmmanuel Vadot compatible = "gpio-leds"; 89f126890aSEmmanuel Vadot led-wps { 90f126890aSEmmanuel Vadot label = "dir685:blue:WPS"; 91f126890aSEmmanuel Vadot /* Collides with ICE */ 92f126890aSEmmanuel Vadot gpios = <&gpio0 7 GPIO_ACTIVE_LOW>; 93f126890aSEmmanuel Vadot default-state = "on"; 94f126890aSEmmanuel Vadot linux,default-trigger = "heartbeat"; 95f126890aSEmmanuel Vadot }; 96f126890aSEmmanuel Vadot /* 97f126890aSEmmanuel Vadot * These two LEDs are on the side of the device. 98f126890aSEmmanuel Vadot * For electrical reasons, both LEDs cannot be active 99f126890aSEmmanuel Vadot * at the same time so only blue or orange can be on at 100f126890aSEmmanuel Vadot * one time. Enabling both makes the LED go dark. 101f126890aSEmmanuel Vadot * The LEDs both sit inside the unmount button and the 102f126890aSEmmanuel Vadot * label on the case says "unmount". 103f126890aSEmmanuel Vadot */ 104f126890aSEmmanuel Vadot led-blue-hd { 105f126890aSEmmanuel Vadot label = "dir685:blue:HD"; 106f126890aSEmmanuel Vadot /* Collides with LPC_SERIRQ, UART DTR, SSP FSC pins */ 107f126890aSEmmanuel Vadot gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>; 108f126890aSEmmanuel Vadot default-state = "off"; 109f126890aSEmmanuel Vadot linux,default-trigger = "disk-read"; 110f126890aSEmmanuel Vadot }; 111f126890aSEmmanuel Vadot led-orange-hd { 112f126890aSEmmanuel Vadot label = "dir685:orange:HD"; 113f126890aSEmmanuel Vadot /* Collides with LPC_LAD[2], UART DSR, SSP ECLK pins */ 114f126890aSEmmanuel Vadot gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; 115f126890aSEmmanuel Vadot default-state = "off"; 116f126890aSEmmanuel Vadot linux,default-trigger = "disk-write"; 117f126890aSEmmanuel Vadot }; 118f126890aSEmmanuel Vadot }; 119f126890aSEmmanuel Vadot 120f126890aSEmmanuel Vadot /* 121f126890aSEmmanuel Vadot * This is a Sunon Maglev GM0502PFV2-8 cooling fan @10000 RPM. 122f126890aSEmmanuel Vadot * sensor. It is turned on when the temperature exceeds 46 degrees 123f126890aSEmmanuel Vadot * and turned off when the temperatures goes below 41 degrees 124f126890aSEmmanuel Vadot * (celsius). 125f126890aSEmmanuel Vadot */ 126f126890aSEmmanuel Vadot fan0: gpio-fan { 127f126890aSEmmanuel Vadot compatible = "gpio-fan"; 128f126890aSEmmanuel Vadot /* Collides with IDE */ 129f126890aSEmmanuel Vadot gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; 130f126890aSEmmanuel Vadot gpio-fan,speed-map = <0 0>, <10000 1>; 131f126890aSEmmanuel Vadot #cooling-cells = <2>; 132f126890aSEmmanuel Vadot }; 133f126890aSEmmanuel Vadot 134f126890aSEmmanuel Vadot thermal-zones { 135f126890aSEmmanuel Vadot chassis-thermal { 136f126890aSEmmanuel Vadot /* Poll every 20 seconds */ 137f126890aSEmmanuel Vadot polling-delay = <20000>; 138f126890aSEmmanuel Vadot /* Poll every 2nd second when cooling */ 139f126890aSEmmanuel Vadot polling-delay-passive = <2000>; 140f126890aSEmmanuel Vadot /* Use the thermal sensor in the hard drive */ 141f126890aSEmmanuel Vadot thermal-sensors = <&drive0>; 142f126890aSEmmanuel Vadot 143f126890aSEmmanuel Vadot /* Tripping points from the fan.script in the rootfs */ 144f126890aSEmmanuel Vadot trips { 145f126890aSEmmanuel Vadot alert: chassis-alert { 146f126890aSEmmanuel Vadot /* At 43 degrees turn on the fan */ 147f126890aSEmmanuel Vadot temperature = <43000>; 148f126890aSEmmanuel Vadot hysteresis = <3000>; 149f126890aSEmmanuel Vadot type = "active"; 150f126890aSEmmanuel Vadot }; 151f126890aSEmmanuel Vadot crit: chassis-crit { 152f126890aSEmmanuel Vadot /* Just shut down at 60 degrees */ 153f126890aSEmmanuel Vadot temperature = <60000>; 154f126890aSEmmanuel Vadot hysteresis = <2000>; 155f126890aSEmmanuel Vadot type = "critical"; 156f126890aSEmmanuel Vadot }; 157f126890aSEmmanuel Vadot }; 158f126890aSEmmanuel Vadot 159f126890aSEmmanuel Vadot cooling-maps { 160f126890aSEmmanuel Vadot map0 { 161f126890aSEmmanuel Vadot trip = <&alert>; 162f126890aSEmmanuel Vadot cooling-device = <&fan0 1 1>; 163f126890aSEmmanuel Vadot }; 164f126890aSEmmanuel Vadot }; 165f126890aSEmmanuel Vadot }; 166f126890aSEmmanuel Vadot }; 167f126890aSEmmanuel Vadot 168f126890aSEmmanuel Vadot /* 169f126890aSEmmanuel Vadot * The touchpad input is connected to a GPIO bit-banged 170f126890aSEmmanuel Vadot * I2C bus. 171f126890aSEmmanuel Vadot */ 172f126890aSEmmanuel Vadot i2c { 173f126890aSEmmanuel Vadot compatible = "i2c-gpio"; 174f126890aSEmmanuel Vadot /* Collides with ICE */ 175f126890aSEmmanuel Vadot sda-gpios = <&gpio0 5 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 176f126890aSEmmanuel Vadot scl-gpios = <&gpio0 6 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>; 177f126890aSEmmanuel Vadot #address-cells = <1>; 178f126890aSEmmanuel Vadot #size-cells = <0>; 179f126890aSEmmanuel Vadot 180f126890aSEmmanuel Vadot touchkeys@26 { 181f126890aSEmmanuel Vadot compatible = "dlink,dir685-touchkeys"; 182f126890aSEmmanuel Vadot reg = <0x26>; 183f126890aSEmmanuel Vadot interrupt-parent = <&gpio0>; 184f126890aSEmmanuel Vadot /* Collides with NAND flash */ 185f126890aSEmmanuel Vadot interrupts = <17 IRQ_TYPE_EDGE_FALLING>; 186f126890aSEmmanuel Vadot }; 187f126890aSEmmanuel Vadot }; 188f126890aSEmmanuel Vadot 189f126890aSEmmanuel Vadot /* This is a RealTek RTL8366RB switch and PHY using SMI over GPIO */ 190*01950c46SEmmanuel Vadot ethernet-switch { 191f126890aSEmmanuel Vadot compatible = "realtek,rtl8366rb"; 192f126890aSEmmanuel Vadot /* 22 = MDIO (has input reads), 21 = MDC (clock, output only) */ 193f126890aSEmmanuel Vadot mdc-gpios = <&gpio0 21 GPIO_ACTIVE_HIGH>; 194f126890aSEmmanuel Vadot mdio-gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>; 195f126890aSEmmanuel Vadot reset-gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; 196f126890aSEmmanuel Vadot realtek,disable-leds; 197f126890aSEmmanuel Vadot 198f126890aSEmmanuel Vadot switch_intc: interrupt-controller { 199f126890aSEmmanuel Vadot /* GPIO 15 provides the interrupt */ 200f126890aSEmmanuel Vadot interrupt-parent = <&gpio0>; 201f126890aSEmmanuel Vadot interrupts = <15 IRQ_TYPE_LEVEL_LOW>; 202f126890aSEmmanuel Vadot interrupt-controller; 203f126890aSEmmanuel Vadot #address-cells = <0>; 204f126890aSEmmanuel Vadot #interrupt-cells = <1>; 205f126890aSEmmanuel Vadot }; 206f126890aSEmmanuel Vadot 207*01950c46SEmmanuel Vadot ethernet-ports { 208f126890aSEmmanuel Vadot #address-cells = <1>; 209f126890aSEmmanuel Vadot #size-cells = <0>; 210f126890aSEmmanuel Vadot 211*01950c46SEmmanuel Vadot ethernet-port@0 { 212f126890aSEmmanuel Vadot reg = <0>; 213f126890aSEmmanuel Vadot label = "lan0"; 214f126890aSEmmanuel Vadot phy-handle = <&phy0>; 215f126890aSEmmanuel Vadot }; 216*01950c46SEmmanuel Vadot ethernet-port@1 { 217f126890aSEmmanuel Vadot reg = <1>; 218f126890aSEmmanuel Vadot label = "lan1"; 219f126890aSEmmanuel Vadot phy-handle = <&phy1>; 220f126890aSEmmanuel Vadot }; 221*01950c46SEmmanuel Vadot ethernet-port@2 { 222f126890aSEmmanuel Vadot reg = <2>; 223f126890aSEmmanuel Vadot label = "lan2"; 224f126890aSEmmanuel Vadot phy-handle = <&phy2>; 225f126890aSEmmanuel Vadot }; 226*01950c46SEmmanuel Vadot ethernet-port@3 { 227f126890aSEmmanuel Vadot reg = <3>; 228f126890aSEmmanuel Vadot label = "lan3"; 229f126890aSEmmanuel Vadot phy-handle = <&phy3>; 230f126890aSEmmanuel Vadot }; 231*01950c46SEmmanuel Vadot ethernet-port@4 { 232f126890aSEmmanuel Vadot reg = <4>; 233f126890aSEmmanuel Vadot label = "wan"; 234f126890aSEmmanuel Vadot phy-handle = <&phy4>; 235f126890aSEmmanuel Vadot }; 236*01950c46SEmmanuel Vadot rtl8366rb_cpu_port: ethernet-port@5 { 237f126890aSEmmanuel Vadot reg = <5>; 238f126890aSEmmanuel Vadot label = "cpu"; 239f126890aSEmmanuel Vadot ethernet = <&gmac0>; 240f126890aSEmmanuel Vadot phy-mode = "rgmii"; 241f126890aSEmmanuel Vadot fixed-link { 242f126890aSEmmanuel Vadot speed = <1000>; 243f126890aSEmmanuel Vadot full-duplex; 244f126890aSEmmanuel Vadot pause; 245f126890aSEmmanuel Vadot }; 246f126890aSEmmanuel Vadot }; 247f126890aSEmmanuel Vadot 248f126890aSEmmanuel Vadot }; 249f126890aSEmmanuel Vadot 250f126890aSEmmanuel Vadot mdio { 251f126890aSEmmanuel Vadot compatible = "realtek,smi-mdio"; 252f126890aSEmmanuel Vadot #address-cells = <1>; 253f126890aSEmmanuel Vadot #size-cells = <0>; 254f126890aSEmmanuel Vadot 255*01950c46SEmmanuel Vadot phy0: ethernet-phy@0 { 256f126890aSEmmanuel Vadot reg = <0>; 257f126890aSEmmanuel Vadot interrupt-parent = <&switch_intc>; 258f126890aSEmmanuel Vadot interrupts = <0>; 259f126890aSEmmanuel Vadot }; 260*01950c46SEmmanuel Vadot phy1: ethernet-phy@1 { 261f126890aSEmmanuel Vadot reg = <1>; 262f126890aSEmmanuel Vadot interrupt-parent = <&switch_intc>; 263f126890aSEmmanuel Vadot interrupts = <1>; 264f126890aSEmmanuel Vadot }; 265*01950c46SEmmanuel Vadot phy2: ethernet-phy@2 { 266f126890aSEmmanuel Vadot reg = <2>; 267f126890aSEmmanuel Vadot interrupt-parent = <&switch_intc>; 268f126890aSEmmanuel Vadot interrupts = <2>; 269f126890aSEmmanuel Vadot }; 270*01950c46SEmmanuel Vadot phy3: ethernet-phy@3 { 271f126890aSEmmanuel Vadot reg = <3>; 272f126890aSEmmanuel Vadot interrupt-parent = <&switch_intc>; 273f126890aSEmmanuel Vadot interrupts = <3>; 274f126890aSEmmanuel Vadot }; 275*01950c46SEmmanuel Vadot phy4: ethernet-phy@4 { 276f126890aSEmmanuel Vadot reg = <4>; 277f126890aSEmmanuel Vadot interrupt-parent = <&switch_intc>; 278f126890aSEmmanuel Vadot interrupts = <12>; 279f126890aSEmmanuel Vadot }; 280f126890aSEmmanuel Vadot }; 281f126890aSEmmanuel Vadot }; 282f126890aSEmmanuel Vadot 283f126890aSEmmanuel Vadot soc { 284f126890aSEmmanuel Vadot flash@30000000 { 285f126890aSEmmanuel Vadot /* 286f126890aSEmmanuel Vadot * Flash access collides with the Chip Enable signal for 287f126890aSEmmanuel Vadot * the display panel, that reuse the parallel flash Chip 288f126890aSEmmanuel Vadot * Select 1 (CS1). We switch the pin control state so we 289f126890aSEmmanuel Vadot * enable these pins for flash access only when we need 290f126890aSEmmanuel Vadot * then, and when disabled they can be used for GPIO which 291f126890aSEmmanuel Vadot * is what the display panel needs. 292f126890aSEmmanuel Vadot */ 293f126890aSEmmanuel Vadot status = "okay"; 294f126890aSEmmanuel Vadot pinctrl-names = "enabled", "disabled"; 295f126890aSEmmanuel Vadot pinctrl-0 = <&pflash_default_pins>; 296f126890aSEmmanuel Vadot pinctrl-1 = <&pflash_disabled_pins>; 297f126890aSEmmanuel Vadot 298f126890aSEmmanuel Vadot /* 32MB of flash */ 299f126890aSEmmanuel Vadot reg = <0x30000000 0x02000000>; 300f126890aSEmmanuel Vadot 301f126890aSEmmanuel Vadot partitions { 302f126890aSEmmanuel Vadot compatible = "fixed-partitions"; 303f126890aSEmmanuel Vadot #address-cells = <1>; 304f126890aSEmmanuel Vadot #size-cells = <1>; 305f126890aSEmmanuel Vadot 306f126890aSEmmanuel Vadot /* 307f126890aSEmmanuel Vadot * This "RedBoot" is the Storlink derivative. 308f126890aSEmmanuel Vadot */ 309f126890aSEmmanuel Vadot partition@0 { 310f126890aSEmmanuel Vadot label = "RedBoot"; 311f126890aSEmmanuel Vadot reg = <0x00000000 0x00040000>; 312f126890aSEmmanuel Vadot read-only; 313f126890aSEmmanuel Vadot }; 314f126890aSEmmanuel Vadot /* 315f126890aSEmmanuel Vadot * This firmware image contains the kernel catenated 316f126890aSEmmanuel Vadot * with the squashfs root filesystem. For some reason 317f126890aSEmmanuel Vadot * this is called "upgrade" on the vendor system. 318f126890aSEmmanuel Vadot */ 319f126890aSEmmanuel Vadot partition@40000 { 320f126890aSEmmanuel Vadot label = "upgrade"; 321f126890aSEmmanuel Vadot reg = <0x00040000 0x01f40000>; 322f126890aSEmmanuel Vadot read-only; 323f126890aSEmmanuel Vadot }; 324f126890aSEmmanuel Vadot /* RGDB, Residental Gateway Database? */ 325f126890aSEmmanuel Vadot partition@1f80000 { 326f126890aSEmmanuel Vadot label = "rgdb"; 327f126890aSEmmanuel Vadot reg = <0x01f80000 0x00040000>; 328f126890aSEmmanuel Vadot read-only; 329f126890aSEmmanuel Vadot }; 330f126890aSEmmanuel Vadot /* 331f126890aSEmmanuel Vadot * This partition contains MAC addresses for WAN, 332f126890aSEmmanuel Vadot * WLAN and LAN, and the country code (for wireless 333f126890aSEmmanuel Vadot * I guess). 334f126890aSEmmanuel Vadot */ 335f126890aSEmmanuel Vadot partition@1fc0000 { 336f126890aSEmmanuel Vadot label = "nvram"; 337f126890aSEmmanuel Vadot reg = <0x01fc0000 0x00020000>; 338f126890aSEmmanuel Vadot read-only; 339f126890aSEmmanuel Vadot }; 340f126890aSEmmanuel Vadot partition@1fe0000 { 341f126890aSEmmanuel Vadot label = "LangPack"; 342f126890aSEmmanuel Vadot reg = <0x01fe0000 0x00020000>; 343f126890aSEmmanuel Vadot read-only; 344f126890aSEmmanuel Vadot }; 345f126890aSEmmanuel Vadot }; 346f126890aSEmmanuel Vadot }; 347f126890aSEmmanuel Vadot 348f126890aSEmmanuel Vadot syscon: syscon@40000000 { 349f126890aSEmmanuel Vadot pinctrl { 350f126890aSEmmanuel Vadot /* 351f126890aSEmmanuel Vadot * gpio0bgrp cover line 5, 6 used by TK I2C 352f126890aSEmmanuel Vadot * gpio0bgrp cover line 7 used by WPS LED 353f126890aSEmmanuel Vadot * gpio0cgrp cover line 8, 13 used by keys 354f126890aSEmmanuel Vadot * and 11, 12 used by the HD LEDs 355f126890aSEmmanuel Vadot * and line 14, 15 used by RTL8366 356f126890aSEmmanuel Vadot * RESET and phy ready 357f126890aSEmmanuel Vadot * gpio0egrp cover line 16 used by VDISP 358f126890aSEmmanuel Vadot * gpio0fgrp cover line 17 used by TK IRQ 359f126890aSEmmanuel Vadot * gpio0ggrp cover line 20 used by panel CS 360f126890aSEmmanuel Vadot * gpio0hgrp cover line 21,22 used by RTL8366RB MDIO 361f126890aSEmmanuel Vadot */ 362f126890aSEmmanuel Vadot gpio0_default_pins: pinctrl-gpio0 { 363f126890aSEmmanuel Vadot mux { 364f126890aSEmmanuel Vadot function = "gpio0"; 365f126890aSEmmanuel Vadot groups = "gpio0bgrp", 366f126890aSEmmanuel Vadot "gpio0cgrp", 367f126890aSEmmanuel Vadot "gpio0egrp", 368f126890aSEmmanuel Vadot "gpio0fgrp", 369f126890aSEmmanuel Vadot "gpio0hgrp"; 370f126890aSEmmanuel Vadot }; 371f126890aSEmmanuel Vadot }; 372f126890aSEmmanuel Vadot /* 373f126890aSEmmanuel Vadot * gpio1bgrp cover line 5,8,7 used by panel SPI 374f126890aSEmmanuel Vadot * also line 6 used by the fan 375f126890aSEmmanuel Vadot * 376f126890aSEmmanuel Vadot */ 377f126890aSEmmanuel Vadot gpio1_default_pins: pinctrl-gpio1 { 378f126890aSEmmanuel Vadot mux { 379f126890aSEmmanuel Vadot function = "gpio1"; 380f126890aSEmmanuel Vadot groups = "gpio1bgrp"; 381f126890aSEmmanuel Vadot }; 382f126890aSEmmanuel Vadot }; 383f126890aSEmmanuel Vadot /* 384f126890aSEmmanuel Vadot * These GPIO groups will be mapped in over some 385f126890aSEmmanuel Vadot * of the flash pins when the flash is not in 386f126890aSEmmanuel Vadot * active use. 387f126890aSEmmanuel Vadot */ 388f126890aSEmmanuel Vadot pflash_disabled_pins: pinctrl-pflash-disabled { 389f126890aSEmmanuel Vadot mux { 390f126890aSEmmanuel Vadot function = "gpio0"; 391f126890aSEmmanuel Vadot groups = "gpio0ggrp", "gpio0igrp", "gpio0jgrp", 392f126890aSEmmanuel Vadot "gpio0kgrp"; 393f126890aSEmmanuel Vadot }; 394f126890aSEmmanuel Vadot }; 395f126890aSEmmanuel Vadot pinctrl-gmii { 396f126890aSEmmanuel Vadot mux { 397f126890aSEmmanuel Vadot function = "gmii"; 398f126890aSEmmanuel Vadot groups = "gmii_gmac0_grp"; 399f126890aSEmmanuel Vadot }; 400f126890aSEmmanuel Vadot conf0 { 401f126890aSEmmanuel Vadot pins = "V8 GMAC0 RXDV", "T10 GMAC1 RXDV", 402f126890aSEmmanuel Vadot "Y7 GMAC0 RXC", "Y11 GMAC1 RXC", 403f126890aSEmmanuel Vadot "T8 GMAC0 TXEN", "W11 GMAC1 TXEN", 404f126890aSEmmanuel Vadot "U8 GMAC0 TXC", "V11 GMAC1 TXC", 405f126890aSEmmanuel Vadot "W8 GMAC0 RXD0", "V9 GMAC0 RXD1", 406f126890aSEmmanuel Vadot "Y8 GMAC0 RXD2", "U9 GMAC0 RXD3", 407f126890aSEmmanuel Vadot "T7 GMAC0 TXD0", "U6 GMAC0 TXD1", 408f126890aSEmmanuel Vadot "V7 GMAC0 TXD2", "U7 GMAC0 TXD3", 409f126890aSEmmanuel Vadot "Y12 GMAC1 RXD0", "V12 GMAC1 RXD1", 410f126890aSEmmanuel Vadot "T11 GMAC1 RXD2", "W12 GMAC1 RXD3", 411f126890aSEmmanuel Vadot "U10 GMAC1 TXD0", "Y10 GMAC1 TXD1", 412f126890aSEmmanuel Vadot "W10 GMAC1 TXD2", "T9 GMAC1 TXD3"; 413f126890aSEmmanuel Vadot skew-delay = <7>; 414f126890aSEmmanuel Vadot }; 415f126890aSEmmanuel Vadot /* Set up drive strength on GMAC0 to 16 mA */ 416f126890aSEmmanuel Vadot conf1 { 417f126890aSEmmanuel Vadot groups = "gmii_gmac0_grp"; 418f126890aSEmmanuel Vadot drive-strength = <16>; 419f126890aSEmmanuel Vadot }; 420f126890aSEmmanuel Vadot }; 421f126890aSEmmanuel Vadot }; 422f126890aSEmmanuel Vadot }; 423f126890aSEmmanuel Vadot 424f126890aSEmmanuel Vadot sata: sata@46000000 { 425f126890aSEmmanuel Vadot cortina,gemini-ata-muxmode = <0>; 426f126890aSEmmanuel Vadot cortina,gemini-enable-sata-bridge; 427f126890aSEmmanuel Vadot status = "okay"; 428f126890aSEmmanuel Vadot }; 429f126890aSEmmanuel Vadot 430f126890aSEmmanuel Vadot gpio0: gpio@4d000000 { 431f126890aSEmmanuel Vadot pinctrl-names = "default"; 432f126890aSEmmanuel Vadot pinctrl-0 = <&gpio0_default_pins>; 433f126890aSEmmanuel Vadot }; 434f126890aSEmmanuel Vadot 435f126890aSEmmanuel Vadot gpio1: gpio@4e000000 { 436f126890aSEmmanuel Vadot pinctrl-names = "default"; 437f126890aSEmmanuel Vadot pinctrl-0 = <&gpio1_default_pins>; 438f126890aSEmmanuel Vadot }; 439f126890aSEmmanuel Vadot 440f126890aSEmmanuel Vadot pci@50000000 { 441f126890aSEmmanuel Vadot status = "okay"; 442f126890aSEmmanuel Vadot }; 443f126890aSEmmanuel Vadot 444f126890aSEmmanuel Vadot ethernet@60000000 { 445f126890aSEmmanuel Vadot status = "okay"; 446f126890aSEmmanuel Vadot 447f126890aSEmmanuel Vadot ethernet-port@0 { 448f126890aSEmmanuel Vadot phy-mode = "rgmii"; 449f126890aSEmmanuel Vadot fixed-link { 450f126890aSEmmanuel Vadot speed = <1000>; 451f126890aSEmmanuel Vadot full-duplex; 452f126890aSEmmanuel Vadot pause; 453f126890aSEmmanuel Vadot }; 454f126890aSEmmanuel Vadot }; 455f126890aSEmmanuel Vadot ethernet-port@1 { 456f126890aSEmmanuel Vadot /* Not used in this platform */ 457f126890aSEmmanuel Vadot }; 458f126890aSEmmanuel Vadot }; 459f126890aSEmmanuel Vadot 460f126890aSEmmanuel Vadot ide@63000000 { 461f126890aSEmmanuel Vadot status = "okay"; 462f126890aSEmmanuel Vadot 463f126890aSEmmanuel Vadot /* 464f126890aSEmmanuel Vadot * This drive may have a temperature sensor with a 465f126890aSEmmanuel Vadot * thermal zone we can use for thermal control of the 466f126890aSEmmanuel Vadot * chassis temperature using the fan. 467f126890aSEmmanuel Vadot */ 468f126890aSEmmanuel Vadot drive0: ide-port@0 { 469f126890aSEmmanuel Vadot reg = <0>; 470f126890aSEmmanuel Vadot #thermal-sensor-cells = <0>; 471f126890aSEmmanuel Vadot }; 472f126890aSEmmanuel Vadot }; 473f126890aSEmmanuel Vadot 474f126890aSEmmanuel Vadot display-controller@6a000000 { 475f126890aSEmmanuel Vadot status = "okay"; 476f126890aSEmmanuel Vadot 477f126890aSEmmanuel Vadot port { 478f126890aSEmmanuel Vadot display_out: endpoint { 479f126890aSEmmanuel Vadot remote-endpoint = <&panel_in>; 480f126890aSEmmanuel Vadot }; 481f126890aSEmmanuel Vadot }; 482f126890aSEmmanuel Vadot }; 483f126890aSEmmanuel Vadot 484f126890aSEmmanuel Vadot usb@68000000 { 485f126890aSEmmanuel Vadot status = "okay"; 486f126890aSEmmanuel Vadot }; 487f126890aSEmmanuel Vadot 488f126890aSEmmanuel Vadot usb@69000000 { 489f126890aSEmmanuel Vadot status = "okay"; 490f126890aSEmmanuel Vadot }; 491f126890aSEmmanuel Vadot }; 492f126890aSEmmanuel Vadot}; 493