1// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 2/* 3 * Device Tree file for Ctera C200-V2 4 * 5 * Copyright (C) 2022 Pawel Dembicki <paweldembicki@gmail.com> 6 */ 7 8/dts-v1/; 9 10#include "armada-370.dtsi" 11#include <dt-bindings/gpio/gpio.h> 12#include <dt-bindings/input/input.h> 13#include <dt-bindings/thermal/thermal.h> 14#include <dt-bindings/leds/common.h> 15 16/ { 17 model = "Ctera C200 V2"; 18 compatible = "ctera,c200-v2", "marvell,armada370", "marvell,armada-370-xp"; 19 20 chosen { 21 bootargs = "console=ttyS0,115200"; 22 stdout-path = "serial0:115200n8"; 23 }; 24 25 memory { 26 device_type = "memory"; 27 reg = <0x00000000 0x40000000>; /* 1024 MB */ 28 }; 29 30 soc { 31 ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000 32 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000 33 MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>; 34 }; 35 36 thermal-zones { 37 ethphy-thermal { 38 polling-delay = <20000>; 39 polling-delay-passive = <2000>; 40 41 thermal-sensors = <ðphy0>; 42 43 trips { 44 ethphy_alert1: trip1 { 45 temperature = <65000>; 46 hysteresis = <4000>; 47 type = "passive"; 48 }; 49 50 ethphy_crit: trip2 { 51 temperature = <100000>; 52 hysteresis = <2000>; 53 type = "critical"; 54 }; 55 }; 56 }; 57 }; 58 59 beeper { 60 compatible = "pwm-beeper"; 61 pinctrl-0 = <&pmx_beeper>; 62 pinctrl-names = "default"; 63 pwms = <&gpio1 31 4000>; 64 }; 65 66 gpio-poweroff { 67 compatible = "gpio-poweroff"; 68 pinctrl-0 = <&pmx_poweroff>; 69 pinctrl-names = "default"; 70 gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; 71 }; 72 73 keys { 74 compatible = "gpio-keys"; 75 pinctrl-0 = <&pmx_buttons>; 76 pinctrl-names = "default"; 77 78 button-power { 79 label = "Power Button"; 80 linux,code = <KEY_POWER>; 81 gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>; 82 }; 83 84 button-reset { 85 label = "Reset Button"; 86 linux,code = <KEY_RESTART>; 87 gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; 88 }; 89 90 button-usb1 { 91 label = "USB1 Button"; 92 linux,code = <BTN_0>; 93 gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; 94 }; 95 96 button-usb2 { 97 label = "USB2 Button"; 98 linux,code = <BTN_1>; 99 gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; 100 }; 101 }; 102 103 leds { 104 compatible = "gpio-leds"; 105 pinctrl-0 = <&pmx_leds1 &pmx_leds2>; 106 pinctrl-names = "default"; 107 108 led-0 { 109 function = LED_FUNCTION_USB; 110 function-enumerator = <2>; 111 color = <LED_COLOR_ID_RED>; 112 gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; 113 }; 114 115 led-1 { 116 function = LED_FUNCTION_USB; 117 function-enumerator = <2>; 118 color = <LED_COLOR_ID_GREEN>; 119 gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; 120 }; 121 122 led-2 { 123 function = LED_FUNCTION_USB; 124 function-enumerator = <1>; 125 color = <LED_COLOR_ID_RED>; 126 gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; 127 }; 128 129 led-3 { 130 function = LED_FUNCTION_USB; 131 function-enumerator = <1>; 132 color = <LED_COLOR_ID_GREEN>; 133 gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; 134 }; 135 136 led-4 { 137 function = LED_FUNCTION_DISK; 138 function-enumerator = <2>; 139 color = <LED_COLOR_ID_GREEN>; 140 gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; 141 }; 142 143 led-5 { 144 function = LED_FUNCTION_DISK; 145 function-enumerator = <1>; 146 color = <LED_COLOR_ID_RED>; 147 gpios = <&gpio1 18 GPIO_ACTIVE_LOW>; 148 }; 149 150 led-6 { 151 function = LED_FUNCTION_DISK; 152 function-enumerator = <2>; 153 color = <LED_COLOR_ID_RED>; 154 gpios = <&gpio1 19 GPIO_ACTIVE_LOW>; 155 }; 156 157 led-7 { 158 function = LED_FUNCTION_INDICATOR; 159 color = <LED_COLOR_ID_BLUE>; 160 gpios = <&gpio1 20 GPIO_ACTIVE_HIGH>; 161 }; 162 163 led-8 { 164 function = LED_FUNCTION_DISK_ERR; 165 color = <LED_COLOR_ID_RED>; 166 gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; 167 }; 168 169 led-9 { 170 function = LED_FUNCTION_DISK_ERR; 171 color = <LED_COLOR_ID_GREEN>; 172 gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; 173 }; 174 175 led-10 { 176 function = LED_FUNCTION_STATUS; 177 color = <LED_COLOR_ID_RED>; 178 gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; 179 }; 180 181 led-11 { 182 function = LED_FUNCTION_DISK; 183 function-enumerator = <1>; 184 color = <LED_COLOR_ID_GREEN>; 185 gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; 186 }; 187 188 led-12 { 189 function = LED_FUNCTION_STATUS; 190 color = <LED_COLOR_ID_GREEN>; 191 gpios = <&gpio1 26 GPIO_ACTIVE_LOW>; 192 }; 193 }; 194}; 195 196&coherencyfab { 197 broken-idle; 198}; 199 200ð1 { 201 pinctrl-0 = <&ge1_rgmii_pins>; 202 pinctrl-names = "default"; 203 status = "okay"; 204 phy-handle = <ðphy0>; 205 phy-connection-type = "rgmii-id"; 206}; 207 208&i2c0 { 209 pinctrl-0 = <&i2c0_pins>; 210 pinctrl-names = "default"; 211 clock-frequency = <100000>; 212 status = "okay"; 213 214 hwmon@2a { 215 compatible = "nuvoton,nct7802"; 216 reg = <0x2a>; 217 }; 218 219 rtc@30 { 220 compatible = "sii,s35390a"; 221 reg = <0x30>; 222 }; 223}; 224 225&mdio { 226 pinctrl-0 = <&mdio_pins>; 227 pinctrl-names = "default"; 228 229 ethphy0: ethernet-phy@0 { /* Marvell 88E1318 */ 230 reg = <0>; 231 #thermal-sensor-cells = <0>; 232 }; 233}; 234 235&nand_controller { 236 status = "okay"; 237 238 nand@0 { 239 reg = <0>; 240 label = "pxa3xx_nand-0"; 241 nand-rb = <0>; 242 marvell,nand-keep-config; 243 nand-on-flash-bbt; 244 nand-ecc-strength = <4>; 245 nand-ecc-step-size = <512>; 246 247 partitions { 248 compatible = "fixed-partitions"; 249 #address-cells = <1>; 250 #size-cells = <1>; 251 252 partition@0 { 253 label = "uboot"; 254 reg = <0x0000000 0x200000>; 255 read-only; 256 }; 257 258 partition@200000 { 259 label = "certificate"; 260 reg = <0x0200000 0x100000>; 261 read-only; 262 }; 263 264 partition@300000 { 265 label = "preset_cfg"; 266 reg = <0x0300000 0x100000>; 267 read-only; 268 }; 269 270 partition@400000 { 271 label = "dev_params"; 272 reg = <0x0400000 0x100000>; 273 read-only; 274 }; 275 partition@500000 { 276 label = "active_bank"; 277 reg = <0x0500000 0x0100000>; 278 }; 279 280 partition@600000 { 281 label = "magic"; 282 reg = <0x0600000 0x0100000>; 283 read-only; 284 }; 285 286 partition@700000 { 287 label = "bank1"; 288 reg = <0x0700000 0x2800000>; 289 }; 290 291 partition@2f00000 { 292 label = "bank2"; 293 reg = <0x2f00000 0x2800000>; 294 }; 295 296 /* 0x5700000-0x5a00000 undefined in vendor firmware */ 297 298 partition@5a00000 { 299 label = "reserved"; 300 reg = <0x5a00000 0x2000000>; 301 }; 302 303 partition@7a00000 { 304 label = "rootfs"; 305 reg = <0x7a00000 0x8600000>; 306 }; 307 }; 308 }; 309}; 310 311&pciec { 312 status = "okay"; 313 314 pcie@1,0 { /* Renesas uPD720202 USB 3.0 controller */ 315 pinctrl-0 = <&pmx_pcie>; 316 pinctrl-names = "default"; 317 status = "okay"; 318 reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>; 319 }; 320}; 321 322&pinctrl { 323 pmx_poweroff: pmx-poweroff { 324 marvell,pins = "mpp7"; 325 marvell,function = "gpo"; 326 }; 327 328 pmx_power_cpu: pmx-power-cpu { 329 marvell,pins = "mpp4"; 330 marvell,function = "vdd"; 331 }; 332 333 pmx_buttons: pmx-buttons { 334 marvell,pins = "mpp6", "mpp10", "mpp14", "mpp32"; 335 marvell,function = "gpio"; 336 }; 337 338 pmx_leds1: pmx-leds1 { 339 marvell,pins = "mpp47"; 340 marvell,function = "gpo"; 341 }; 342 343 pmx_leds2: pmx-leds2 { 344 marvell,pins = "mpp12", "mpp13", "mpp15", "mpp16", "mpp50", "mpp51", 345 "mpp52", "mpp53", "mpp55", "mpp56", "mpp57", "mpp58"; 346 marvell,function = "gpio"; 347 }; 348 349 pmx_pcie: pmx-pcie { 350 marvell,pins = "mpp59"; 351 marvell,function = "gpio"; 352 }; 353 354 pmx_beeper: pmx-beeper { 355 marvell,pins = "mpp63"; 356 marvell,function = "gpio"; 357 }; 358}; 359 360&pmsu { 361 pinctrl-0 = <&pmx_power_cpu>; 362 pinctrl-names = "default"; 363}; 364 365&rtc { 366 status = "disabled"; 367}; 368 369&sata { 370 nr-ports = <2>; 371 status = "okay"; 372 #address-cells = <1>; 373 #size-cells = <0>; 374 375 hdd0_temp: sata-port@0 { 376 reg = <0>; 377 #thermal-sensor-cells = <0>; 378 }; 379 380 hdd1_temp: sata-port@1 { 381 reg = <1>; 382 #thermal-sensor-cells = <0>; 383 }; 384}; 385 386&uart0 { 387 status = "okay"; 388}; 389