Back to home page

OSCL-LXR

 
 

    


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 = <&ethphy0>;
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 &eth1 {
0201         pinctrl-0 = <&ge1_rgmii_pins>;
0202         pinctrl-names = "default";
0203         status = "okay";
0204         phy-handle = <&ethphy0>;
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 };