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