0001 // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
0002 /*
0003 * Device Tree file for Ctera C200-V2
0004 *
0005 * Copyright (C) 2022 Pawel Dembicki <paweldembicki@gmail.com>
0006 */
0007
0008 /dts-v1/;
0009
0010 #include "armada-370.dtsi"
0011 #include <dt-bindings/gpio/gpio.h>
0012 #include <dt-bindings/input/input.h>
0013 #include <dt-bindings/thermal/thermal.h>
0014 #include <dt-bindings/leds/common.h>
0015
0016 / {
0017 model = "Ctera C200 V2";
0018 compatible = "ctera,c200-v2", "marvell,armada370", "marvell,armada-370-xp";
0019
0020 chosen {
0021 bootargs = "console=ttyS0,115200";
0022 stdout-path = "serial0:115200n8";
0023 };
0024
0025 memory {
0026 device_type = "memory";
0027 reg = <0x00000000 0x40000000>; /* 1024 MB */
0028 };
0029
0030 soc {
0031 ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
0032 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000
0033 MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>;
0034 };
0035
0036 thermal-zones {
0037 ethphy-thermal {
0038 polling-delay = <20000>;
0039 polling-delay-passive = <2000>;
0040
0041 thermal-sensors = <ðphy0>;
0042
0043 trips {
0044 ethphy_alert1: trip1 {
0045 temperature = <65000>;
0046 hysteresis = <4000>;
0047 type = "passive";
0048 };
0049
0050 ethphy_crit: trip2 {
0051 temperature = <100000>;
0052 hysteresis = <2000>;
0053 type = "critical";
0054 };
0055 };
0056 };
0057 };
0058
0059 beeper {
0060 compatible = "pwm-beeper";
0061 pinctrl-0 = <&pmx_beeper>;
0062 pinctrl-names = "default";
0063 pwms = <&gpio1 31 4000>;
0064 };
0065
0066 gpio-poweroff {
0067 compatible = "gpio-poweroff";
0068 pinctrl-0 = <&pmx_poweroff>;
0069 pinctrl-names = "default";
0070 gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
0071 };
0072
0073 keys {
0074 compatible = "gpio-keys";
0075 pinctrl-0 = <&pmx_buttons>;
0076 pinctrl-names = "default";
0077
0078 button-power {
0079 label = "Power Button";
0080 linux,code = <KEY_POWER>;
0081 gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
0082 };
0083
0084 button-reset {
0085 label = "Reset Button";
0086 linux,code = <KEY_RESTART>;
0087 gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
0088 };
0089
0090 button-usb1 {
0091 label = "USB1 Button";
0092 linux,code = <BTN_0>;
0093 gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
0094 };
0095
0096 button-usb2 {
0097 label = "USB2 Button";
0098 linux,code = <BTN_1>;
0099 gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
0100 };
0101 };
0102
0103 leds {
0104 compatible = "gpio-leds";
0105 pinctrl-0 = <&pmx_leds1 &pmx_leds2>;
0106 pinctrl-names = "default";
0107
0108 led-0 {
0109 function = LED_FUNCTION_USB;
0110 function-enumerator = <2>;
0111 color = <LED_COLOR_ID_RED>;
0112 gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
0113 };
0114
0115 led-1 {
0116 function = LED_FUNCTION_USB;
0117 function-enumerator = <2>;
0118 color = <LED_COLOR_ID_GREEN>;
0119 gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
0120 };
0121
0122 led-2 {
0123 function = LED_FUNCTION_USB;
0124 function-enumerator = <1>;
0125 color = <LED_COLOR_ID_RED>;
0126 gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
0127 };
0128
0129 led-3 {
0130 function = LED_FUNCTION_USB;
0131 function-enumerator = <1>;
0132 color = <LED_COLOR_ID_GREEN>;
0133 gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
0134 };
0135
0136 led-4 {
0137 function = LED_FUNCTION_DISK;
0138 function-enumerator = <2>;
0139 color = <LED_COLOR_ID_GREEN>;
0140 gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
0141 };
0142
0143 led-5 {
0144 function = LED_FUNCTION_DISK;
0145 function-enumerator = <1>;
0146 color = <LED_COLOR_ID_RED>;
0147 gpios = <&gpio1 18 GPIO_ACTIVE_LOW>;
0148 };
0149
0150 led-6 {
0151 function = LED_FUNCTION_DISK;
0152 function-enumerator = <2>;
0153 color = <LED_COLOR_ID_RED>;
0154 gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
0155 };
0156
0157 led-7 {
0158 function = LED_FUNCTION_INDICATOR;
0159 color = <LED_COLOR_ID_BLUE>;
0160 gpios = <&gpio1 20 GPIO_ACTIVE_HIGH>;
0161 };
0162
0163 led-8 {
0164 function = LED_FUNCTION_DISK_ERR;
0165 color = <LED_COLOR_ID_RED>;
0166 gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
0167 };
0168
0169 led-9 {
0170 function = LED_FUNCTION_DISK_ERR;
0171 color = <LED_COLOR_ID_GREEN>;
0172 gpios = <&gpio1 23 GPIO_ACTIVE_LOW>;
0173 };
0174
0175 led-10 {
0176 function = LED_FUNCTION_STATUS;
0177 color = <LED_COLOR_ID_RED>;
0178 gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
0179 };
0180
0181 led-11 {
0182 function = LED_FUNCTION_DISK;
0183 function-enumerator = <1>;
0184 color = <LED_COLOR_ID_GREEN>;
0185 gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
0186 };
0187
0188 led-12 {
0189 function = LED_FUNCTION_STATUS;
0190 color = <LED_COLOR_ID_GREEN>;
0191 gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
0192 };
0193 };
0194 };
0195
0196 &coherencyfab {
0197 broken-idle;
0198 };
0199
0200 ð1 {
0201 pinctrl-0 = <&ge1_rgmii_pins>;
0202 pinctrl-names = "default";
0203 status = "okay";
0204 phy-handle = <ðphy0>;
0205 phy-connection-type = "rgmii-id";
0206 };
0207
0208 &i2c0 {
0209 pinctrl-0 = <&i2c0_pins>;
0210 pinctrl-names = "default";
0211 clock-frequency = <100000>;
0212 status = "okay";
0213
0214 hwmon@2a {
0215 compatible = "nuvoton,nct7802";
0216 reg = <0x2a>;
0217 };
0218
0219 rtc@30 {
0220 compatible = "sii,s35390a";
0221 reg = <0x30>;
0222 };
0223 };
0224
0225 &mdio {
0226 pinctrl-0 = <&mdio_pins>;
0227 pinctrl-names = "default";
0228
0229 ethphy0: ethernet-phy@0 { /* Marvell 88E1318 */
0230 reg = <0>;
0231 #thermal-sensor-cells = <0>;
0232 };
0233 };
0234
0235 &nand_controller {
0236 status = "okay";
0237
0238 nand@0 {
0239 reg = <0>;
0240 label = "pxa3xx_nand-0";
0241 nand-rb = <0>;
0242 marvell,nand-keep-config;
0243 nand-on-flash-bbt;
0244 nand-ecc-strength = <4>;
0245 nand-ecc-step-size = <512>;
0246
0247 partitions {
0248 compatible = "fixed-partitions";
0249 #address-cells = <1>;
0250 #size-cells = <1>;
0251
0252 partition@0 {
0253 label = "uboot";
0254 reg = <0x0000000 0x200000>;
0255 read-only;
0256 };
0257
0258 partition@200000 {
0259 label = "certificate";
0260 reg = <0x0200000 0x100000>;
0261 read-only;
0262 };
0263
0264 partition@300000 {
0265 label = "preset_cfg";
0266 reg = <0x0300000 0x100000>;
0267 read-only;
0268 };
0269
0270 partition@400000 {
0271 label = "dev_params";
0272 reg = <0x0400000 0x100000>;
0273 read-only;
0274 };
0275 partition@500000 {
0276 label = "active_bank";
0277 reg = <0x0500000 0x0100000>;
0278 };
0279
0280 partition@600000 {
0281 label = "magic";
0282 reg = <0x0600000 0x0100000>;
0283 read-only;
0284 };
0285
0286 partition@700000 {
0287 label = "bank1";
0288 reg = <0x0700000 0x2800000>;
0289 };
0290
0291 partition@2f00000 {
0292 label = "bank2";
0293 reg = <0x2f00000 0x2800000>;
0294 };
0295
0296 /* 0x5700000-0x5a00000 undefined in vendor firmware */
0297
0298 partition@5a00000 {
0299 label = "reserved";
0300 reg = <0x5a00000 0x2000000>;
0301 };
0302
0303 partition@7a00000 {
0304 label = "rootfs";
0305 reg = <0x7a00000 0x8600000>;
0306 };
0307 };
0308 };
0309 };
0310
0311 &pciec {
0312 status = "okay";
0313
0314 pcie@1,0 { /* Renesas uPD720202 USB 3.0 controller */
0315 pinctrl-0 = <&pmx_pcie>;
0316 pinctrl-names = "default";
0317 status = "okay";
0318 reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
0319 };
0320 };
0321
0322 &pinctrl {
0323 pmx_poweroff: pmx-poweroff {
0324 marvell,pins = "mpp7";
0325 marvell,function = "gpo";
0326 };
0327
0328 pmx_power_cpu: pmx-power-cpu {
0329 marvell,pins = "mpp4";
0330 marvell,function = "vdd";
0331 };
0332
0333 pmx_buttons: pmx-buttons {
0334 marvell,pins = "mpp6", "mpp10", "mpp14", "mpp32";
0335 marvell,function = "gpio";
0336 };
0337
0338 pmx_leds1: pmx-leds1 {
0339 marvell,pins = "mpp47";
0340 marvell,function = "gpo";
0341 };
0342
0343 pmx_leds2: pmx-leds2 {
0344 marvell,pins = "mpp12", "mpp13", "mpp15", "mpp16", "mpp50", "mpp51",
0345 "mpp52", "mpp53", "mpp55", "mpp56", "mpp57", "mpp58";
0346 marvell,function = "gpio";
0347 };
0348
0349 pmx_pcie: pmx-pcie {
0350 marvell,pins = "mpp59";
0351 marvell,function = "gpio";
0352 };
0353
0354 pmx_beeper: pmx-beeper {
0355 marvell,pins = "mpp63";
0356 marvell,function = "gpio";
0357 };
0358 };
0359
0360 &pmsu {
0361 pinctrl-0 = <&pmx_power_cpu>;
0362 pinctrl-names = "default";
0363 };
0364
0365 &rtc {
0366 status = "disabled";
0367 };
0368
0369 &sata {
0370 nr-ports = <2>;
0371 status = "okay";
0372 #address-cells = <1>;
0373 #size-cells = <0>;
0374
0375 hdd0_temp: sata-port@0 {
0376 reg = <0>;
0377 #thermal-sensor-cells = <0>;
0378 };
0379
0380 hdd1_temp: sata-port@1 {
0381 reg = <1>;
0382 #thermal-sensor-cells = <0>;
0383 };
0384 };
0385
0386 &uart0 {
0387 status = "okay";
0388 };