1f126890aSEmmanuel Vadot/* 2f126890aSEmmanuel Vadot * Broadcom BCM470X / BCM5301X ARM platform code. 3f126890aSEmmanuel Vadot * DTS for Netgear R8000 4f126890aSEmmanuel Vadot * 5f126890aSEmmanuel Vadot * Copyright (C) 2015 Rafał Miłecki <zajec5@gmail.com> 6f126890aSEmmanuel Vadot * 7f126890aSEmmanuel Vadot * Permission to use, copy, modify, and/or distribute this software for any 8f126890aSEmmanuel Vadot * purpose with or without fee is hereby granted, provided that the above 9f126890aSEmmanuel Vadot * copyright notice and this permission notice appear in all copies. 10f126890aSEmmanuel Vadot * 11f126890aSEmmanuel Vadot * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 12f126890aSEmmanuel Vadot * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 13f126890aSEmmanuel Vadot * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 14f126890aSEmmanuel Vadot * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 15f126890aSEmmanuel Vadot * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 16f126890aSEmmanuel Vadot * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17f126890aSEmmanuel Vadot * PERFORMANCE OF THIS SOFTWARE. 18f126890aSEmmanuel Vadot */ 19f126890aSEmmanuel Vadot 20f126890aSEmmanuel Vadot/dts-v1/; 21f126890aSEmmanuel Vadot 22f126890aSEmmanuel Vadot#include "bcm4709.dtsi" 23f126890aSEmmanuel Vadot#include "bcm5301x-nand-cs0-bch8.dtsi" 24f126890aSEmmanuel Vadot 25f126890aSEmmanuel Vadot/ { 26f126890aSEmmanuel Vadot compatible = "netgear,r8000", "brcm,bcm4709", "brcm,bcm4708"; 27f126890aSEmmanuel Vadot model = "Netgear R8000 (BCM4709)"; 28f126890aSEmmanuel Vadot 29f126890aSEmmanuel Vadot chosen { 30f126890aSEmmanuel Vadot bootargs = "console=ttyS0,115200"; 31f126890aSEmmanuel Vadot }; 32f126890aSEmmanuel Vadot 33f126890aSEmmanuel Vadot memory@0 { 34f126890aSEmmanuel Vadot device_type = "memory"; 35f126890aSEmmanuel Vadot reg = <0x00000000 0x08000000>, 36f126890aSEmmanuel Vadot <0x88000000 0x08000000>; 37f126890aSEmmanuel Vadot }; 38f126890aSEmmanuel Vadot 39f126890aSEmmanuel Vadot leds { 40f126890aSEmmanuel Vadot compatible = "gpio-leds"; 41f126890aSEmmanuel Vadot 42f126890aSEmmanuel Vadot led-power-white { 43f126890aSEmmanuel Vadot label = "bcm53xx:white:power"; 44f126890aSEmmanuel Vadot gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>; 45f126890aSEmmanuel Vadot linux,default-trigger = "default-on"; 46f126890aSEmmanuel Vadot }; 47f126890aSEmmanuel Vadot 48f126890aSEmmanuel Vadot led-power-amber { 49f126890aSEmmanuel Vadot label = "bcm53xx:amber:power"; 50f126890aSEmmanuel Vadot gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>; 51f126890aSEmmanuel Vadot }; 52f126890aSEmmanuel Vadot 53f126890aSEmmanuel Vadot led-wan-white { 54f126890aSEmmanuel Vadot label = "bcm53xx:white:wan"; 55f126890aSEmmanuel Vadot gpios = <&chipcommon 8 GPIO_ACTIVE_LOW>; 56f126890aSEmmanuel Vadot linux,default-trigger = "default-on"; 57f126890aSEmmanuel Vadot }; 58f126890aSEmmanuel Vadot 59f126890aSEmmanuel Vadot led-wan-amber { 60f126890aSEmmanuel Vadot label = "bcm53xx:amber:wan"; 61f126890aSEmmanuel Vadot gpios = <&chipcommon 9 GPIO_ACTIVE_HIGH>; 62f126890aSEmmanuel Vadot }; 63f126890aSEmmanuel Vadot 64f126890aSEmmanuel Vadot led-5ghz-1 { 65f126890aSEmmanuel Vadot label = "bcm53xx:white:5ghz-1"; 66f126890aSEmmanuel Vadot gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>; 67f126890aSEmmanuel Vadot }; 68f126890aSEmmanuel Vadot 69f126890aSEmmanuel Vadot led-2ghz { 70f126890aSEmmanuel Vadot label = "bcm53xx:white:2ghz"; 71f126890aSEmmanuel Vadot gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>; 72f126890aSEmmanuel Vadot }; 73f126890aSEmmanuel Vadot 74f126890aSEmmanuel Vadot led-wireless { 75f126890aSEmmanuel Vadot label = "bcm53xx:white:wireless"; 76f126890aSEmmanuel Vadot gpios = <&chipcommon 14 GPIO_ACTIVE_HIGH>; 77f126890aSEmmanuel Vadot }; 78f126890aSEmmanuel Vadot 79f126890aSEmmanuel Vadot led-wps { 80f126890aSEmmanuel Vadot label = "bcm53xx:white:wps"; 81f126890aSEmmanuel Vadot gpios = <&chipcommon 15 GPIO_ACTIVE_HIGH>; 82f126890aSEmmanuel Vadot }; 83f126890aSEmmanuel Vadot 84f126890aSEmmanuel Vadot led-5ghz-2 { 85f126890aSEmmanuel Vadot label = "bcm53xx:white:5ghz-2"; 86f126890aSEmmanuel Vadot gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>; 87f126890aSEmmanuel Vadot }; 88f126890aSEmmanuel Vadot 89f126890aSEmmanuel Vadot led-usb3 { 90f126890aSEmmanuel Vadot label = "bcm53xx:white:usb3"; 91f126890aSEmmanuel Vadot gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>; 92f126890aSEmmanuel Vadot }; 93f126890aSEmmanuel Vadot 94f126890aSEmmanuel Vadot led-usb2 { 95f126890aSEmmanuel Vadot label = "bcm53xx:white:usb2"; 96f126890aSEmmanuel Vadot gpios = <&chipcommon 18 GPIO_ACTIVE_LOW>; 97f126890aSEmmanuel Vadot }; 98f126890aSEmmanuel Vadot }; 99f126890aSEmmanuel Vadot 100f126890aSEmmanuel Vadot gpio-keys { 101f126890aSEmmanuel Vadot compatible = "gpio-keys"; 102f126890aSEmmanuel Vadot 103f126890aSEmmanuel Vadot button-rfkill { 104f126890aSEmmanuel Vadot label = "WiFi"; 105f126890aSEmmanuel Vadot linux,code = <KEY_RFKILL>; 106f126890aSEmmanuel Vadot gpios = <&chipcommon 4 GPIO_ACTIVE_LOW>; 107f126890aSEmmanuel Vadot }; 108f126890aSEmmanuel Vadot 109f126890aSEmmanuel Vadot button-wps { 110f126890aSEmmanuel Vadot label = "WPS"; 111f126890aSEmmanuel Vadot linux,code = <KEY_WPS_BUTTON>; 112f126890aSEmmanuel Vadot gpios = <&chipcommon 5 GPIO_ACTIVE_LOW>; 113f126890aSEmmanuel Vadot }; 114f126890aSEmmanuel Vadot 115f126890aSEmmanuel Vadot button-restart { 116f126890aSEmmanuel Vadot label = "Reset"; 117f126890aSEmmanuel Vadot linux,code = <KEY_RESTART>; 118f126890aSEmmanuel Vadot gpios = <&chipcommon 6 GPIO_ACTIVE_LOW>; 119f126890aSEmmanuel Vadot }; 120f126890aSEmmanuel Vadot 121f126890aSEmmanuel Vadot button-brightness { 122f126890aSEmmanuel Vadot label = "Backlight"; 123f126890aSEmmanuel Vadot linux,code = <KEY_BRIGHTNESS_ZERO>; 124f126890aSEmmanuel Vadot gpios = <&chipcommon 19 GPIO_ACTIVE_LOW>; 125f126890aSEmmanuel Vadot }; 126f126890aSEmmanuel Vadot }; 127f126890aSEmmanuel Vadot}; 128f126890aSEmmanuel Vadot 129f126890aSEmmanuel Vadot&pcie0 { 130f126890aSEmmanuel Vadot #address-cells = <3>; 131f126890aSEmmanuel Vadot #size-cells = <2>; 132f126890aSEmmanuel Vadot 133f126890aSEmmanuel Vadot bridge@0,0,0 { 134f126890aSEmmanuel Vadot reg = <0x0000 0 0 0 0>; 135f126890aSEmmanuel Vadot 136f126890aSEmmanuel Vadot #address-cells = <3>; 137f126890aSEmmanuel Vadot #size-cells = <2>; 138f126890aSEmmanuel Vadot 139f126890aSEmmanuel Vadot wifi@0,1,0 { 140f126890aSEmmanuel Vadot compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac"; 141f126890aSEmmanuel Vadot reg = <0x0000 0 0 0 0>; 142f126890aSEmmanuel Vadot ieee80211-freq-limit = <5735000 5835000>; 143f126890aSEmmanuel Vadot brcm,ccode-map = "JP-JP-78", "US-Q2-86"; 144f126890aSEmmanuel Vadot }; 145f126890aSEmmanuel Vadot }; 146f126890aSEmmanuel Vadot}; 147f126890aSEmmanuel Vadot 148f126890aSEmmanuel Vadot&pcie1 { 149f126890aSEmmanuel Vadot #address-cells = <3>; 150f126890aSEmmanuel Vadot #size-cells = <2>; 151f126890aSEmmanuel Vadot 152f126890aSEmmanuel Vadot bridge@1,0,0 { 153f126890aSEmmanuel Vadot reg = <0x0000 0 0 0 0>; 154f126890aSEmmanuel Vadot 155f126890aSEmmanuel Vadot #address-cells = <3>; 156f126890aSEmmanuel Vadot #size-cells = <2>; 157f126890aSEmmanuel Vadot 158f126890aSEmmanuel Vadot bridge@1,1,0 { 159f126890aSEmmanuel Vadot reg = <0x0000 0 0 0 0>; 160f126890aSEmmanuel Vadot 161f126890aSEmmanuel Vadot #address-cells = <3>; 162f126890aSEmmanuel Vadot #size-cells = <2>; 163f126890aSEmmanuel Vadot 164f126890aSEmmanuel Vadot bridge@1,0 { 165f126890aSEmmanuel Vadot reg = <0x800 0 0 0 0>; 166f126890aSEmmanuel Vadot 167f126890aSEmmanuel Vadot #address-cells = <3>; 168f126890aSEmmanuel Vadot #size-cells = <2>; 169f126890aSEmmanuel Vadot 170f126890aSEmmanuel Vadot wifi@0,0 { 171f126890aSEmmanuel Vadot compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac"; 172f126890aSEmmanuel Vadot reg = <0x0000 0 0 0 0>; 173f126890aSEmmanuel Vadot brcm,ccode-map = "JP-JP-78", "US-Q2-86"; 174f126890aSEmmanuel Vadot }; 175f126890aSEmmanuel Vadot }; 176f126890aSEmmanuel Vadot 177f126890aSEmmanuel Vadot bridge@1,2,2 { 178f126890aSEmmanuel Vadot reg = <0x1000 0 0 0 0>; 179f126890aSEmmanuel Vadot 180f126890aSEmmanuel Vadot #address-cells = <3>; 181f126890aSEmmanuel Vadot #size-cells = <2>; 182f126890aSEmmanuel Vadot 183f126890aSEmmanuel Vadot wifi@1,4,0 { 184f126890aSEmmanuel Vadot compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac"; 185f126890aSEmmanuel Vadot reg = <0x0000 0 0 0 0>; 186f126890aSEmmanuel Vadot ieee80211-freq-limit = <5170000 5730000>; 187f126890aSEmmanuel Vadot brcm,ccode-map = "JP-JP-78", "US-Q2-86"; 188f126890aSEmmanuel Vadot }; 189f126890aSEmmanuel Vadot }; 190f126890aSEmmanuel Vadot }; 191f126890aSEmmanuel Vadot }; 192f126890aSEmmanuel Vadot}; 193f126890aSEmmanuel Vadot 194f126890aSEmmanuel Vadot&usb2 { 195f126890aSEmmanuel Vadot vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>; 196f126890aSEmmanuel Vadot}; 197f126890aSEmmanuel Vadot 198f126890aSEmmanuel Vadot&usb3 { 199f126890aSEmmanuel Vadot vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>; 200f126890aSEmmanuel Vadot}; 201f126890aSEmmanuel Vadot 202f126890aSEmmanuel Vadot&usb3_phy { 203f126890aSEmmanuel Vadot status = "okay"; 204f126890aSEmmanuel Vadot}; 205f126890aSEmmanuel Vadot 206f126890aSEmmanuel Vadot&srab { 207f126890aSEmmanuel Vadot status = "okay"; 208f126890aSEmmanuel Vadot 209f126890aSEmmanuel Vadot ports { 210f126890aSEmmanuel Vadot port@0 { 211f126890aSEmmanuel Vadot label = "lan1"; 212f126890aSEmmanuel Vadot }; 213f126890aSEmmanuel Vadot 214f126890aSEmmanuel Vadot port@1 { 215f126890aSEmmanuel Vadot label = "lan2"; 216f126890aSEmmanuel Vadot }; 217f126890aSEmmanuel Vadot 218f126890aSEmmanuel Vadot port@2 { 219f126890aSEmmanuel Vadot label = "lan3"; 220f126890aSEmmanuel Vadot }; 221f126890aSEmmanuel Vadot 222f126890aSEmmanuel Vadot port@3 { 223f126890aSEmmanuel Vadot label = "lan4"; 224f126890aSEmmanuel Vadot }; 225f126890aSEmmanuel Vadot 226f126890aSEmmanuel Vadot port@4 { 227f126890aSEmmanuel Vadot label = "wan"; 228f126890aSEmmanuel Vadot }; 229f126890aSEmmanuel Vadot 230*84943d6fSEmmanuel Vadot port@5 { 231*84943d6fSEmmanuel Vadot status = "disabled"; 232*84943d6fSEmmanuel Vadot 233*84943d6fSEmmanuel Vadot fixed-link { 234*84943d6fSEmmanuel Vadot speed = <1000>; 235*84943d6fSEmmanuel Vadot full-duplex; 236*84943d6fSEmmanuel Vadot }; 237*84943d6fSEmmanuel Vadot }; 238*84943d6fSEmmanuel Vadot 239*84943d6fSEmmanuel Vadot port@7 { 240*84943d6fSEmmanuel Vadot status = "disabled"; 241*84943d6fSEmmanuel Vadot 242*84943d6fSEmmanuel Vadot fixed-link { 243*84943d6fSEmmanuel Vadot speed = <1000>; 244*84943d6fSEmmanuel Vadot full-duplex; 245*84943d6fSEmmanuel Vadot }; 246*84943d6fSEmmanuel Vadot }; 247*84943d6fSEmmanuel Vadot 248f126890aSEmmanuel Vadot port@8 { 249f126890aSEmmanuel Vadot label = "cpu"; 250f126890aSEmmanuel Vadot }; 251f126890aSEmmanuel Vadot }; 252f126890aSEmmanuel Vadot}; 253