1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright 2024 Linus Walleij <[email protected]> 4 */ 5 6/dts-v1/; 7 8#include "bcm6846.dtsi" 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/input/input.h> 11#include <dt-bindings/leds/common.h> 12 13/ { 14 model = "Genexis XG6846B Ethernet layer 2/3 router"; 15 compatible = "genexis,xg6846b", "brcm,bcm6846", "brcm,bcmbca"; 16 17 aliases { 18 serial0 = &uart0; 19 }; 20 21 chosen { 22 stdout-path = "serial0:115200n8"; 23 }; 24 25 /* Micron D9PTK 256 MB RAM */ 26 memory@0 { 27 device_type = "memory"; 28 reg = <0x0 0x10000000>; 29 }; 30 31 reserved-memory { 32 #address-cells = <1>; 33 #size-cells = <1>; 34 ranges; 35 36 secondary-boot@0 { 37 no-map; 38 reg = <0x00000000 0x00008000>; 39 }; 40 pmc3-firmware@8000 { 41 no-map; 42 reg = <0x00008000 0x00100000>; 43 }; 44 }; 45 46 gpio-keys { 47 compatible = "gpio-keys-polled"; 48 poll-interval = <20000>; 49 50 /* Called "canyon rescue button" in the vendor DTB */ 51 button-restart { 52 label = "Reset"; 53 linux,code = <KEY_RESTART>; 54 gpios = <&gpio0 41 GPIO_ACTIVE_LOW>; 55 }; 56 }; 57}; 58 59&gpio0 { 60 status = "okay"; 61}; 62 63&gpio1 { 64 status = "okay"; 65}; 66 67&gpio2 { 68 status = "okay"; 69 /* Totally 79 GPIOs are available */ 70 ngpios = <15>; 71}; 72 73&uart0 { 74 status = "okay"; 75}; 76 77&leds { 78 status = "okay"; 79 brcm,serial-shift-bits = <16>; 80 81 led@0 { 82 reg = <0>; 83 active-low; 84 function = "ext"; 85 color = <LED_COLOR_ID_GREEN>; 86 }; 87 88 led@1 { 89 reg = <1>; 90 active-low; 91 function = "ext"; 92 color = <LED_COLOR_ID_AMBER>; 93 }; 94 95 led@3 { 96 reg = <3>; 97 active-low; 98 function = LED_FUNCTION_WAN; 99 color = <LED_COLOR_ID_AMBER>; 100 }; 101 102 led@4 { 103 reg = <4>; 104 active-low; 105 function = LED_FUNCTION_WAN; 106 color = <LED_COLOR_ID_GREEN>; 107 }; 108 109 led@5 { 110 reg = <5>; 111 active-low; 112 function = LED_FUNCTION_POWER; 113 color = <LED_COLOR_ID_GREEN>; 114 }; 115 116 led@6 { 117 reg = <6>; 118 active-low; 119 function = LED_FUNCTION_POWER; 120 color = <LED_COLOR_ID_RED>; 121 }; 122 123 led@15 { 124 reg = <15>; 125 active-low; 126 function = LED_FUNCTION_USB; 127 color = <LED_COLOR_ID_GREEN>; 128 }; 129 130 led@7 { 131 /* Activity 03 */ 132 reg = <7>; 133 active-low; 134 function = "lan1"; 135 color = <LED_COLOR_ID_AMBER>; 136 }; 137 138 led@8 { 139 /* Activity 04 */ 140 reg = <8>; 141 active-low; 142 function = "lan1"; 143 color = <LED_COLOR_ID_GREEN>; 144 }; 145 146 led@9 { 147 /* Activity 03 */ 148 reg = <9>; 149 active-low; 150 function = "lan2"; 151 color = <LED_COLOR_ID_AMBER>; 152 }; 153 154 led@10 { 155 /* Activity 04 */ 156 reg = <10>; 157 active-low; 158 function = "lan2"; 159 color = <LED_COLOR_ID_GREEN>; 160 }; 161 162 led@11 { 163 /* Activity 03 */ 164 reg = <11>; 165 active-low; 166 function = "lan3"; 167 color = <LED_COLOR_ID_AMBER>; 168 }; 169 170 led@12 { 171 /* Activity 04 */ 172 reg = <12>; 173 active-low; 174 function = "lan3"; 175 color = <LED_COLOR_ID_GREEN>; 176 }; 177 178 led@13 { 179 /* Activity 03 */ 180 reg = <13>; 181 active-low; 182 function = "lan4"; 183 color = <LED_COLOR_ID_AMBER>; 184 }; 185 186 led@14 { 187 /* Activity 04 */ 188 reg = <14>; 189 active-low; 190 function = "lan4"; 191 color = <LED_COLOR_ID_GREEN>; 192 }; 193}; 194 195&hsspi { 196 status = "okay"; 197}; 198 199&nand_controller { 200 brcm,wp-not-connected; 201 status = "okay"; 202}; 203 204&nandcs { 205 nand-on-flash-bbt; 206 brcm,nand-ecc-use-strap; 207 208 /* Winbond W29N02GV, 256MB with 128KB erase blocks */ 209 partitions { 210 compatible = "fixed-partitions"; 211 #address-cells = <1>; 212 #size-cells = <1>; 213 214 loader@0 { 215 label = "loader"; 216 reg = <0x00000000 0x00400000>; 217 }; 218 image@400000 { 219 label = "image"; 220 reg = <0x00400000 0x0fb00000>; 221 }; 222 /* 0x00ff0000-0x00ffffff: bad block list */ 223 }; 224}; 225 226&mdio { 227 status = "okay"; 228 229 phy1: ethernet-phy@1 { 230 reg = <1>; 231 }; 232 phy2: ethernet-phy@2 { 233 reg = <2>; 234 }; 235 phy3: ethernet-phy@3 { 236 reg = <3>; 237 }; 238 phy4: ethernet-phy@4 { 239 reg = <4>; 240 }; 241 phy21: ethernet-phy@21 { 242 reg = <21>; 243 }; 244}; 245