1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Check Point L-50 Board Description 4 * Copyright 2020 Pawel Dembicki <paweldembicki@gmail.com> 5 */ 6 7/dts-v1/; 8 9#include "kirkwood.dtsi" 10#include "kirkwood-6281.dtsi" 11 12/ { 13 model = "Check Point L-50"; 14 compatible = "checkpoint,l-50", "marvell,kirkwood-88f6281", "marvell,kirkwood"; 15 16 memory { 17 device_type = "memory"; 18 reg = <0x00000000 0x20000000>; 19 }; 20 21 chosen { 22 bootargs = "console=ttyS0,115200n8"; 23 stdout-path = &uart0; 24 }; 25 26 ocp@f1000000 { 27 pinctrl: pin-controller@10000 { 28 pinctrl-0 = <&pmx_led38 &pmx_sysrst &pmx_button29>; 29 pinctrl-names = "default"; 30 31 pmx_sysrst: pmx-sysrst { 32 marvell,pins = "mpp6"; 33 marvell,function = "sysrst"; 34 }; 35 36 pmx_button29: pmx_button29 { 37 marvell,pins = "mpp29"; 38 marvell,function = "gpio"; 39 }; 40 41 pmx_led38: pmx_led38 { 42 marvell,pins = "mpp38"; 43 marvell,function = "gpio"; 44 }; 45 46 pmx_sdio_cd: pmx-sdio-cd { 47 marvell,pins = "mpp46"; 48 marvell,function = "gpio"; 49 }; 50 }; 51 52 serial@12000 { 53 status = "okay"; 54 }; 55 56 mvsdio@90000 { 57 status = "okay"; 58 cd-gpios = <&gpio1 14 9>; 59 }; 60 61 i2c@11000 { 62 status = "okay"; 63 clock-frequency = <400000>; 64 65 gpio2: gpio-expander@20 { 66 #gpio-cells = <2>; 67 #interrupt-cells = <2>; 68 interrupt-controller; 69 compatible = "semtech,sx1505q"; 70 reg = <0x20>; 71 72 gpio-controller; 73 }; 74 75 /* Three GPIOs from 0x21 exp. are undescribed in dts: 76 * 1: DSL module reset (active low) 77 * 5: mPCIE reset (active low) 78 * 6: Express card reset (active low) 79 */ 80 gpio3: gpio-expander@21 { 81 #gpio-cells = <2>; 82 #interrupt-cells = <2>; 83 interrupt-controller; 84 compatible = "semtech,sx1505q"; 85 reg = <0x21>; 86 87 gpio-controller; 88 }; 89 90 rtc@30 { 91 compatible = "s35390a"; 92 reg = <0x30>; 93 }; 94 }; 95 }; 96 97 leds { 98 compatible = "gpio-leds"; 99 100 led-status-green { 101 label = "l-50:green:status"; 102 gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; 103 }; 104 105 led-status-red { 106 label = "l-50:red:status"; 107 gpios = <&gpio3 2 GPIO_ACTIVE_LOW>; 108 }; 109 110 led-wifi { 111 label = "l-50:green:wifi"; 112 gpios = <&gpio2 7 GPIO_ACTIVE_LOW>; 113 linux,default-trigger = "phy0tpt"; 114 }; 115 116 led-internet-green { 117 label = "l-50:green:internet"; 118 gpios = <&gpio2 3 GPIO_ACTIVE_LOW>; 119 }; 120 121 led-internet-red { 122 label = "l-50:red:internet"; 123 gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; 124 }; 125 126 led-usb1-green { 127 label = "l-50:green:usb1"; 128 gpios = <&gpio2 0 GPIO_ACTIVE_LOW>; 129 linux,default-trigger = "usbport"; 130 trigger-sources = <&hub_port3>; 131 }; 132 133 led-usb1-red { 134 label = "l-50:red:usb1"; 135 gpios = <&gpio2 4 GPIO_ACTIVE_LOW>; 136 }; 137 138 led-usb2-green { 139 label = "l-50:green:usb2"; 140 gpios = <&gpio2 2 GPIO_ACTIVE_LOW>; 141 linux,default-trigger = "usbport"; 142 trigger-sources = <&hub_port1>; 143 }; 144 145 led-usb2-red { 146 label = "l-50:red:usb2"; 147 gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; 148 }; 149 }; 150 151 usb2_pwr { 152 compatible = "regulator-fixed"; 153 regulator-name = "usb2_pwr"; 154 155 regulator-min-microvolt = <5000000>; 156 regulator-max-microvolt = <5000000>; 157 gpio = <&gpio3 3 GPIO_ACTIVE_LOW>; 158 regulator-always-on; 159 }; 160 161 usb1_pwr { 162 compatible = "regulator-fixed"; 163 regulator-name = "usb1_pwr"; 164 165 regulator-min-microvolt = <5000000>; 166 regulator-max-microvolt = <5000000>; 167 gpio = <&gpio3 4 GPIO_ACTIVE_LOW>; 168 regulator-always-on; 169 }; 170 171 mpcie_pwr { 172 compatible = "regulator-fixed"; 173 regulator-name = "mpcie_pwr"; 174 175 regulator-min-microvolt = <3300000>; 176 regulator-max-microvolt = <3300000>; 177 gpio = <&gpio3 5 GPIO_ACTIVE_HIGH>; 178 enable-active-high; 179 regulator-always-on; 180 }; 181 182 express_card_pwr { 183 compatible = "regulator-fixed"; 184 regulator-name = "express_card_pwr"; 185 186 regulator-min-microvolt = <3300000>; 187 regulator-max-microvolt = <3300000>; 188 gpio = <&gpio3 7 GPIO_ACTIVE_HIGH>; 189 enable-active-high; 190 regulator-always-on; 191 }; 192 193 keys { 194 compatible = "gpio-keys"; 195 196 button-factory-defaults { 197 label = "factory_defaults"; 198 gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; 199 linux,code = <KEY_RESTART>; 200 }; 201 }; 202}; 203 204&mdio { 205 status = "okay"; 206 207 ethphy8: ethernet-phy@8 { 208 reg = <0x08>; 209 }; 210 211 switch0: switch@10 { 212 compatible = "marvell,mv88e6085"; 213 #address-cells = <1>; 214 #size-cells = <0>; 215 reg = <0x10>; 216 dsa,member = <0 0>; 217 218 ports { 219 #address-cells = <1>; 220 #size-cells = <0>; 221 222 port@0 { 223 reg = <0>; 224 label = "lan5"; 225 }; 226 227 port@1 { 228 reg = <1>; 229 label = "lan1"; 230 }; 231 232 port@2 { 233 reg = <2>; 234 label = "lan6"; 235 }; 236 237 port@3 { 238 reg = <3>; 239 label = "lan2"; 240 }; 241 242 port@4 { 243 reg = <4>; 244 label = "lan7"; 245 }; 246 247 switch0port5: port@5 { 248 reg = <5>; 249 phy-mode = "rgmii-txid"; 250 link = <&switch1port5>; 251 fixed-link { 252 speed = <1000>; 253 full-duplex; 254 }; 255 }; 256 257 port@6 { 258 reg = <6>; 259 phy-mode = "rgmii-id"; 260 ethernet = <ð1port>; 261 fixed-link { 262 speed = <1000>; 263 full-duplex; 264 }; 265 }; 266 }; 267 }; 268 269 switch@11 { 270 compatible = "marvell,mv88e6085"; 271 #address-cells = <1>; 272 #size-cells = <0>; 273 reg = <0x11>; 274 dsa,member = <0 1>; 275 276 ports { 277 #address-cells = <1>; 278 #size-cells = <0>; 279 280 port@0 { 281 reg = <0>; 282 label = "lan3"; 283 }; 284 285 port@1 { 286 reg = <1>; 287 label = "lan8"; 288 }; 289 290 port@2 { 291 reg = <2>; 292 label = "lan4"; 293 }; 294 295 port@3 { 296 reg = <3>; 297 label = "dmz"; 298 }; 299 300 switch1port5: port@5 { 301 reg = <5>; 302 phy-mode = "rgmii-txid"; 303 link = <&switch0port5>; 304 fixed-link { 305 speed = <1000>; 306 full-duplex; 307 }; 308 }; 309 310 port@6 { 311 reg = <6>; 312 label = "dsl"; 313 fixed-link { 314 speed = <100>; 315 full-duplex; 316 }; 317 }; 318 }; 319 }; 320}; 321 322ð0 { 323 status = "okay"; 324 ethernet0-port@0 { 325 phy-handle = <ðphy8>; 326 }; 327}; 328 329ð1 { 330 status = "okay"; 331 ethernet1-port@0 { 332 speed = <1000>; 333 duplex = <1>; 334 phy-mode = "rgmii"; 335 }; 336}; 337 338&nand { 339 status = "okay"; 340 pinctrl-0 = <&pmx_nand>; 341 pinctrl-names = "default"; 342 343 partition@0 { 344 label = "u-boot"; 345 reg = <0x00000000 0x000c0000>; 346 }; 347 348 partition@a0000 { 349 label = "bootldr-env"; 350 reg = <0x000c0000 0x00040000>; 351 }; 352 353 partition@100000 { 354 label = "kernel-1"; 355 reg = <0x00100000 0x00800000>; 356 }; 357 358 partition@900000 { 359 label = "rootfs-1"; 360 reg = <0x00900000 0x07100000>; 361 }; 362 363 partition@7a00000 { 364 label = "kernel-2"; 365 reg = <0x07a00000 0x00800000>; 366 }; 367 368 partition@8200000 { 369 label = "rootfs-2"; 370 reg = <0x08200000 0x07100000>; 371 }; 372 373 partition@f300000 { 374 label = "default_sw"; 375 reg = <0x0f300000 0x07900000>; 376 }; 377 378 partition@16c00000 { 379 label = "logs"; 380 reg = <0x16c00000 0x01800000>; 381 }; 382 383 partition@18400000 { 384 label = "preset_cfg"; 385 reg = <0x18400000 0x00100000>; 386 }; 387 388 partition@18500000 { 389 label = "adsl"; 390 reg = <0x18500000 0x00100000>; 391 }; 392 393 partition@18600000 { 394 label = "storage"; 395 reg = <0x18600000 0x07a00000>; 396 }; 397}; 398 399&rtc { 400 status = "disabled"; 401}; 402 403&pciec { 404 status = "okay"; 405}; 406 407&pcie0 { 408 status = "okay"; 409}; 410 411&sata_phy0 { 412 status = "disabled"; 413}; 414 415&sata_phy1 { 416 status = "disabled"; 417}; 418 419&usb0 { 420 #address-cells = <1>; 421 #size-cells = <0>; 422 status = "okay"; 423 424 port@1 { 425 #address-cells = <1>; 426 #size-cells = <0>; 427 reg = <1>; 428 #trigger-source-cells = <0>; 429 430 hub_port1: port@1 { 431 reg = <1>; 432 #trigger-source-cells = <0>; 433 }; 434 435 hub_port3: port@3 { 436 reg = <3>; 437 #trigger-source-cells = <0>; 438 }; 439 }; 440}; 441