1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2724ba675SRob Herring/* 3724ba675SRob Herring * Device tree for D-Link DIR-890L 4724ba675SRob Herring * D-Link calls this board "WRGAC36" 5724ba675SRob Herring * this router has the same looks and form factor as D-Link DIR-885L. 6724ba675SRob Herring * 7724ba675SRob Herring * Some differences from DIR-885L include a separate USB2 port, separate LEDs 8724ba675SRob Herring * for USB2 and USB3, a separate VCC supply for the USB2 slot and no 9724ba675SRob Herring * router/extender switch is mounted (there is an empty mount point on the 10724ba675SRob Herring * PCB) so this device is a pure router. Also the LAN ports are in the right 11724ba675SRob Herring * order. 12724ba675SRob Herring * 13724ba675SRob Herring * Based on the device tree for DIR-885L 14724ba675SRob Herring * Copyright (C) 2016 Rafał Miłecki <zajec5@gmail.com> 15724ba675SRob Herring * Copyright (C) 2022 Linus Walleij 16724ba675SRob Herring */ 17724ba675SRob Herring 18724ba675SRob Herring/dts-v1/; 19724ba675SRob Herring 20724ba675SRob Herring#include "bcm47094.dtsi" 21724ba675SRob Herring#include "bcm5301x-nand-cs0-bch1.dtsi" 22724ba675SRob Herring 23724ba675SRob Herring/ { 24724ba675SRob Herring compatible = "dlink,dir-890l", "brcm,bcm47094", "brcm,bcm4708"; 25724ba675SRob Herring model = "D-Link DIR-890L"; 26724ba675SRob Herring 27724ba675SRob Herring chosen { 28724ba675SRob Herring bootargs = "console=ttyS0,115200 earlycon"; 29724ba675SRob Herring }; 30724ba675SRob Herring 31724ba675SRob Herring memory@0 { 32724ba675SRob Herring device_type = "memory"; 33724ba675SRob Herring reg = <0x00000000 0x08000000>, 34724ba675SRob Herring <0x88000000 0x08000000>; 35724ba675SRob Herring }; 36724ba675SRob Herring 37724ba675SRob Herring leds { 38724ba675SRob Herring /* 39724ba675SRob Herring * LED information is derived from the boot log which 40724ba675SRob Herring * conveniently lists all the LEDs. 41724ba675SRob Herring */ 42724ba675SRob Herring compatible = "gpio-leds"; 43724ba675SRob Herring 44724ba675SRob Herring led-power-white { 45724ba675SRob Herring label = "bcm53xx:white:power"; 46724ba675SRob Herring gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>; 47724ba675SRob Herring linux,default-trigger = "default-on"; 48724ba675SRob Herring }; 49724ba675SRob Herring 50724ba675SRob Herring led-wan-white { 51724ba675SRob Herring label = "bcm53xx:white:wan"; 52724ba675SRob Herring gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>; 53724ba675SRob Herring }; 54724ba675SRob Herring 55724ba675SRob Herring led-power-amber { 56724ba675SRob Herring label = "bcm53xx:amber:power"; 57724ba675SRob Herring gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>; 58724ba675SRob Herring }; 59724ba675SRob Herring 60724ba675SRob Herring led-wan-amber { 61724ba675SRob Herring label = "bcm53xx:amber:wan"; 62724ba675SRob Herring gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; 63724ba675SRob Herring }; 64724ba675SRob Herring 65724ba675SRob Herring led-usb3-white { 66724ba675SRob Herring label = "bcm53xx:white:usb3"; 67724ba675SRob Herring gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>; 68724ba675SRob Herring trigger-sources = <&xhci_port1>; 69724ba675SRob Herring linux,default-trigger = "usbport"; 70724ba675SRob Herring }; 71724ba675SRob Herring 72724ba675SRob Herring led-usb2-white { 73724ba675SRob Herring label = "bcm53xx:white:usb2"; 74724ba675SRob Herring gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>; 75724ba675SRob Herring trigger-sources = <&ohci_port1>, <&ehci_port1>; 76724ba675SRob Herring linux,default-trigger = "usbport"; 77724ba675SRob Herring }; 78724ba675SRob Herring 79724ba675SRob Herring led-2ghz { 80724ba675SRob Herring label = "bcm53xx:white:2ghz"; 81724ba675SRob Herring gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>; 82724ba675SRob Herring }; 83724ba675SRob Herring 84724ba675SRob Herring led-5ghz { 85724ba675SRob Herring label = "bcm53xx:white:5ghz"; 86724ba675SRob Herring gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>; 87724ba675SRob Herring }; 88724ba675SRob Herring }; 89724ba675SRob Herring 90724ba675SRob Herring gpio-keys { 91724ba675SRob Herring compatible = "gpio-keys"; 92724ba675SRob Herring 93724ba675SRob Herring button-wps { 94724ba675SRob Herring label = "WPS"; 95724ba675SRob Herring linux,code = <KEY_WPS_BUTTON>; 96724ba675SRob Herring gpios = <&chipcommon 7 GPIO_ACTIVE_LOW>; 97724ba675SRob Herring }; 98724ba675SRob Herring 99724ba675SRob Herring /* Called "factory reset" in the vendor dmesg */ 100724ba675SRob Herring button-restart { 101724ba675SRob Herring label = "Reset"; 102724ba675SRob Herring linux,code = <KEY_RESTART>; 103724ba675SRob Herring gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>; 104724ba675SRob Herring }; 105724ba675SRob Herring }; 106724ba675SRob Herring 107724ba675SRob Herring /* 108724ba675SRob Herring * The flash memory is memory mapped at 0x1e000000-0x1fffffff 109724ba675SRob Herring * 64KB blocks; total size 2MB, same that can be 110724ba675SRob Herring * found attached to the spi_nor SPI controller. 111724ba675SRob Herring */ 112724ba675SRob Herring nvram@1e1f0000 { 113724ba675SRob Herring compatible = "brcm,nvram"; 114724ba675SRob Herring reg = <0x1e1f0000 0x00010000>; 115724ba675SRob Herring 116724ba675SRob Herring et0macaddr: et0macaddr { 117724ba675SRob Herring }; 118724ba675SRob Herring }; 119724ba675SRob Herring}; 120724ba675SRob Herring 121724ba675SRob Herring&gmac2 { 122724ba675SRob Herring /* 123724ba675SRob Herring * The NVRAM curiously does not contain a MAC address 124724ba675SRob Herring * for et2 so since that is the only ethernet interface 125724ba675SRob Herring * actually in use on the platform, we use this et0 MAC 126724ba675SRob Herring * address for et2. 127724ba675SRob Herring */ 128724ba675SRob Herring nvmem-cells = <&et0macaddr>; 129724ba675SRob Herring nvmem-cell-names = "mac-address"; 130724ba675SRob Herring}; 131724ba675SRob Herring 132724ba675SRob Herring&spi_nor { 133724ba675SRob Herring status = "okay"; 134724ba675SRob Herring}; 135724ba675SRob Herring 136724ba675SRob Herring&nandcs { 137724ba675SRob Herring /* Spansion S34ML01G2, 128MB with 128KB erase blocks */ 138724ba675SRob Herring partitions { 139724ba675SRob Herring compatible = "fixed-partitions"; 140724ba675SRob Herring #address-cells = <1>; 141724ba675SRob Herring #size-cells = <1>; 142724ba675SRob Herring 143724ba675SRob Herring /* 144724ba675SRob Herring * This is called "nflash" in the vendor kernel with 145724ba675SRob Herring * "upgrade" and "rootfs" (probably using OpenWrt 146724ba675SRob Herring * splitpart). We call it "firmware" like standard tools 147724ba675SRob Herring * assume. The CFE loader contains incorrect information 148724ba675SRob Herring * about TRX partitions, ignore this, there are no TRX 149724ba675SRob Herring * partitions: this device uses SEAMA. 150724ba675SRob Herring */ 151724ba675SRob Herring firmware@0 { 15272ec77d7SLinus Walleij compatible = "seama"; 153724ba675SRob Herring label = "firmware"; 154724ba675SRob Herring reg = <0x00000000 0x08000000>; 155724ba675SRob Herring }; 156724ba675SRob Herring }; 157724ba675SRob Herring}; 158724ba675SRob Herring 159724ba675SRob Herring&usb2 { 160724ba675SRob Herring vcc-gpios = <&chipcommon 21 GPIO_ACTIVE_HIGH>; 161724ba675SRob Herring}; 162724ba675SRob Herring 163724ba675SRob Herring&usb3 { 164724ba675SRob Herring vcc-gpios = <&chipcommon 18 GPIO_ACTIVE_HIGH>; 165724ba675SRob Herring}; 166724ba675SRob Herring 167724ba675SRob Herring&usb3_phy { 168724ba675SRob Herring status = "okay"; 169724ba675SRob Herring}; 170724ba675SRob Herring 171724ba675SRob Herring&srab { 172724ba675SRob Herring status = "okay"; 173724ba675SRob Herring 174724ba675SRob Herring ports { 175724ba675SRob Herring port@0 { 176724ba675SRob Herring label = "lan1"; 177724ba675SRob Herring }; 178724ba675SRob Herring 179724ba675SRob Herring port@1 { 180724ba675SRob Herring label = "lan2"; 181724ba675SRob Herring }; 182724ba675SRob Herring 183724ba675SRob Herring port@2 { 184724ba675SRob Herring label = "lan3"; 185724ba675SRob Herring }; 186724ba675SRob Herring 187724ba675SRob Herring port@3 { 188724ba675SRob Herring label = "lan4"; 189724ba675SRob Herring }; 190724ba675SRob Herring 191724ba675SRob Herring port@4 { 192724ba675SRob Herring label = "wan"; 193724ba675SRob Herring }; 194724ba675SRob Herring 195*473baeabSRafał Miłecki port@5 { 196*473baeabSRafał Miłecki status = "disabled"; 197*473baeabSRafał Miłecki }; 198*473baeabSRafał Miłecki 199*473baeabSRafał Miłecki port@7 { 200*473baeabSRafał Miłecki status = "disabled"; 201*473baeabSRafał Miłecki }; 202*473baeabSRafał Miłecki 203724ba675SRob Herring port@8 { 204724ba675SRob Herring label = "cpu"; 205724ba675SRob Herring phy-mode = "rgmii"; 206724ba675SRob Herring }; 207724ba675SRob Herring }; 208724ba675SRob Herring}; 209