162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Device Tree file for Ctera C200-V2 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2022 Pawel Dembicki <paweldembicki@gmail.com> 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/dts-v1/; 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#include "armada-370.dtsi" 1162306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1262306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 1362306a36Sopenharmony_ci#include <dt-bindings/thermal/thermal.h> 1462306a36Sopenharmony_ci#include <dt-bindings/leds/common.h> 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci/ { 1762306a36Sopenharmony_ci model = "Ctera C200 V2"; 1862306a36Sopenharmony_ci compatible = "ctera,c200-v2", "marvell,armada370", "marvell,armada-370-xp"; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci chosen { 2162306a36Sopenharmony_ci bootargs = "console=ttyS0,115200"; 2262306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci memory { 2662306a36Sopenharmony_ci device_type = "memory"; 2762306a36Sopenharmony_ci reg = <0x00000000 0x40000000>; /* 1024 MB */ 2862306a36Sopenharmony_ci }; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci soc { 3162306a36Sopenharmony_ci ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000 3262306a36Sopenharmony_ci MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000 3362306a36Sopenharmony_ci MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>; 3462306a36Sopenharmony_ci }; 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci thermal-zones { 3762306a36Sopenharmony_ci ethphy-thermal { 3862306a36Sopenharmony_ci polling-delay = <20000>; 3962306a36Sopenharmony_ci polling-delay-passive = <2000>; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci thermal-sensors = <ðphy0>; 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci trips { 4462306a36Sopenharmony_ci ethphy_alert1: trip1 { 4562306a36Sopenharmony_ci temperature = <65000>; 4662306a36Sopenharmony_ci hysteresis = <4000>; 4762306a36Sopenharmony_ci type = "passive"; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci ethphy_crit: trip2 { 5162306a36Sopenharmony_ci temperature = <100000>; 5262306a36Sopenharmony_ci hysteresis = <2000>; 5362306a36Sopenharmony_ci type = "critical"; 5462306a36Sopenharmony_ci }; 5562306a36Sopenharmony_ci }; 5662306a36Sopenharmony_ci }; 5762306a36Sopenharmony_ci }; 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci beeper { 6062306a36Sopenharmony_ci compatible = "pwm-beeper"; 6162306a36Sopenharmony_ci pinctrl-0 = <&pmx_beeper>; 6262306a36Sopenharmony_ci pinctrl-names = "default"; 6362306a36Sopenharmony_ci pwms = <&gpio1 31 4000>; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci gpio-poweroff { 6762306a36Sopenharmony_ci compatible = "gpio-poweroff"; 6862306a36Sopenharmony_ci pinctrl-0 = <&pmx_poweroff>; 6962306a36Sopenharmony_ci pinctrl-names = "default"; 7062306a36Sopenharmony_ci gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; 7162306a36Sopenharmony_ci }; 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci keys { 7462306a36Sopenharmony_ci compatible = "gpio-keys"; 7562306a36Sopenharmony_ci pinctrl-0 = <&pmx_buttons>; 7662306a36Sopenharmony_ci pinctrl-names = "default"; 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci button-power { 7962306a36Sopenharmony_ci label = "Power Button"; 8062306a36Sopenharmony_ci linux,code = <KEY_POWER>; 8162306a36Sopenharmony_ci gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci button-reset { 8562306a36Sopenharmony_ci label = "Reset Button"; 8662306a36Sopenharmony_ci linux,code = <KEY_RESTART>; 8762306a36Sopenharmony_ci gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; 8862306a36Sopenharmony_ci }; 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci button-usb1 { 9162306a36Sopenharmony_ci label = "USB1 Button"; 9262306a36Sopenharmony_ci linux,code = <BTN_0>; 9362306a36Sopenharmony_ci gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; 9462306a36Sopenharmony_ci }; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci button-usb2 { 9762306a36Sopenharmony_ci label = "USB2 Button"; 9862306a36Sopenharmony_ci linux,code = <BTN_1>; 9962306a36Sopenharmony_ci gpios = <&gpio0 14 GPIO_ACTIVE_LOW>; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci }; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci leds { 10462306a36Sopenharmony_ci compatible = "gpio-leds"; 10562306a36Sopenharmony_ci pinctrl-0 = <&pmx_leds1 &pmx_leds2>; 10662306a36Sopenharmony_ci pinctrl-names = "default"; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci led-0 { 10962306a36Sopenharmony_ci function = LED_FUNCTION_USB; 11062306a36Sopenharmony_ci function-enumerator = <2>; 11162306a36Sopenharmony_ci color = <LED_COLOR_ID_RED>; 11262306a36Sopenharmony_ci gpios = <&gpio0 12 GPIO_ACTIVE_LOW>; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci led-1 { 11662306a36Sopenharmony_ci function = LED_FUNCTION_USB; 11762306a36Sopenharmony_ci function-enumerator = <2>; 11862306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 11962306a36Sopenharmony_ci gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; 12062306a36Sopenharmony_ci }; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci led-2 { 12362306a36Sopenharmony_ci function = LED_FUNCTION_USB; 12462306a36Sopenharmony_ci function-enumerator = <1>; 12562306a36Sopenharmony_ci color = <LED_COLOR_ID_RED>; 12662306a36Sopenharmony_ci gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci led-3 { 13062306a36Sopenharmony_ci function = LED_FUNCTION_USB; 13162306a36Sopenharmony_ci function-enumerator = <1>; 13262306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 13362306a36Sopenharmony_ci gpios = <&gpio0 16 GPIO_ACTIVE_LOW>; 13462306a36Sopenharmony_ci }; 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci led-4 { 13762306a36Sopenharmony_ci function = LED_FUNCTION_DISK; 13862306a36Sopenharmony_ci function-enumerator = <2>; 13962306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 14062306a36Sopenharmony_ci gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; 14162306a36Sopenharmony_ci }; 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci led-5 { 14462306a36Sopenharmony_ci function = LED_FUNCTION_DISK; 14562306a36Sopenharmony_ci function-enumerator = <1>; 14662306a36Sopenharmony_ci color = <LED_COLOR_ID_RED>; 14762306a36Sopenharmony_ci gpios = <&gpio1 18 GPIO_ACTIVE_LOW>; 14862306a36Sopenharmony_ci }; 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci led-6 { 15162306a36Sopenharmony_ci function = LED_FUNCTION_DISK; 15262306a36Sopenharmony_ci function-enumerator = <2>; 15362306a36Sopenharmony_ci color = <LED_COLOR_ID_RED>; 15462306a36Sopenharmony_ci gpios = <&gpio1 19 GPIO_ACTIVE_LOW>; 15562306a36Sopenharmony_ci }; 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ci led-7 { 15862306a36Sopenharmony_ci function = LED_FUNCTION_INDICATOR; 15962306a36Sopenharmony_ci color = <LED_COLOR_ID_BLUE>; 16062306a36Sopenharmony_ci gpios = <&gpio1 20 GPIO_ACTIVE_HIGH>; 16162306a36Sopenharmony_ci }; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci led-8 { 16462306a36Sopenharmony_ci function = LED_FUNCTION_DISK_ERR; 16562306a36Sopenharmony_ci color = <LED_COLOR_ID_RED>; 16662306a36Sopenharmony_ci gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; 16762306a36Sopenharmony_ci }; 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci led-9 { 17062306a36Sopenharmony_ci function = LED_FUNCTION_DISK_ERR; 17162306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 17262306a36Sopenharmony_ci gpios = <&gpio1 23 GPIO_ACTIVE_LOW>; 17362306a36Sopenharmony_ci }; 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_ci led-10 { 17662306a36Sopenharmony_ci function = LED_FUNCTION_STATUS; 17762306a36Sopenharmony_ci color = <LED_COLOR_ID_RED>; 17862306a36Sopenharmony_ci gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; 17962306a36Sopenharmony_ci }; 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci led-11 { 18262306a36Sopenharmony_ci function = LED_FUNCTION_DISK; 18362306a36Sopenharmony_ci function-enumerator = <1>; 18462306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 18562306a36Sopenharmony_ci gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci led-12 { 18962306a36Sopenharmony_ci function = LED_FUNCTION_STATUS; 19062306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 19162306a36Sopenharmony_ci gpios = <&gpio1 26 GPIO_ACTIVE_LOW>; 19262306a36Sopenharmony_ci }; 19362306a36Sopenharmony_ci }; 19462306a36Sopenharmony_ci}; 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ci&coherencyfab { 19762306a36Sopenharmony_ci broken-idle; 19862306a36Sopenharmony_ci}; 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_cið1 { 20162306a36Sopenharmony_ci pinctrl-0 = <&ge1_rgmii_pins>; 20262306a36Sopenharmony_ci pinctrl-names = "default"; 20362306a36Sopenharmony_ci status = "okay"; 20462306a36Sopenharmony_ci phy-handle = <ðphy0>; 20562306a36Sopenharmony_ci phy-connection-type = "rgmii-id"; 20662306a36Sopenharmony_ci}; 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ci&i2c0 { 20962306a36Sopenharmony_ci pinctrl-0 = <&i2c0_pins>; 21062306a36Sopenharmony_ci pinctrl-names = "default"; 21162306a36Sopenharmony_ci clock-frequency = <100000>; 21262306a36Sopenharmony_ci status = "okay"; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci hwmon@2a { 21562306a36Sopenharmony_ci compatible = "nuvoton,nct7802"; 21662306a36Sopenharmony_ci reg = <0x2a>; 21762306a36Sopenharmony_ci }; 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci rtc@30 { 22062306a36Sopenharmony_ci compatible = "sii,s35390a"; 22162306a36Sopenharmony_ci reg = <0x30>; 22262306a36Sopenharmony_ci }; 22362306a36Sopenharmony_ci}; 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci&mdio { 22662306a36Sopenharmony_ci pinctrl-0 = <&mdio_pins>; 22762306a36Sopenharmony_ci pinctrl-names = "default"; 22862306a36Sopenharmony_ci 22962306a36Sopenharmony_ci ethphy0: ethernet-phy@0 { /* Marvell 88E1318 */ 23062306a36Sopenharmony_ci reg = <0>; 23162306a36Sopenharmony_ci #thermal-sensor-cells = <0>; 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci}; 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci&nand_controller { 23662306a36Sopenharmony_ci status = "okay"; 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_ci nand@0 { 23962306a36Sopenharmony_ci reg = <0>; 24062306a36Sopenharmony_ci label = "pxa3xx_nand-0"; 24162306a36Sopenharmony_ci nand-rb = <0>; 24262306a36Sopenharmony_ci marvell,nand-keep-config; 24362306a36Sopenharmony_ci nand-on-flash-bbt; 24462306a36Sopenharmony_ci nand-ecc-strength = <4>; 24562306a36Sopenharmony_ci nand-ecc-step-size = <512>; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ci partitions { 24862306a36Sopenharmony_ci compatible = "fixed-partitions"; 24962306a36Sopenharmony_ci #address-cells = <1>; 25062306a36Sopenharmony_ci #size-cells = <1>; 25162306a36Sopenharmony_ci 25262306a36Sopenharmony_ci partition@0 { 25362306a36Sopenharmony_ci label = "uboot"; 25462306a36Sopenharmony_ci reg = <0x0000000 0x200000>; 25562306a36Sopenharmony_ci read-only; 25662306a36Sopenharmony_ci }; 25762306a36Sopenharmony_ci 25862306a36Sopenharmony_ci partition@200000 { 25962306a36Sopenharmony_ci label = "certificate"; 26062306a36Sopenharmony_ci reg = <0x0200000 0x100000>; 26162306a36Sopenharmony_ci read-only; 26262306a36Sopenharmony_ci }; 26362306a36Sopenharmony_ci 26462306a36Sopenharmony_ci partition@300000 { 26562306a36Sopenharmony_ci label = "preset_cfg"; 26662306a36Sopenharmony_ci reg = <0x0300000 0x100000>; 26762306a36Sopenharmony_ci read-only; 26862306a36Sopenharmony_ci }; 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ci partition@400000 { 27162306a36Sopenharmony_ci label = "dev_params"; 27262306a36Sopenharmony_ci reg = <0x0400000 0x100000>; 27362306a36Sopenharmony_ci read-only; 27462306a36Sopenharmony_ci }; 27562306a36Sopenharmony_ci partition@500000 { 27662306a36Sopenharmony_ci label = "active_bank"; 27762306a36Sopenharmony_ci reg = <0x0500000 0x0100000>; 27862306a36Sopenharmony_ci }; 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ci partition@600000 { 28162306a36Sopenharmony_ci label = "magic"; 28262306a36Sopenharmony_ci reg = <0x0600000 0x0100000>; 28362306a36Sopenharmony_ci read-only; 28462306a36Sopenharmony_ci }; 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_ci partition@700000 { 28762306a36Sopenharmony_ci label = "bank1"; 28862306a36Sopenharmony_ci reg = <0x0700000 0x2800000>; 28962306a36Sopenharmony_ci }; 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ci partition@2f00000 { 29262306a36Sopenharmony_ci label = "bank2"; 29362306a36Sopenharmony_ci reg = <0x2f00000 0x2800000>; 29462306a36Sopenharmony_ci }; 29562306a36Sopenharmony_ci 29662306a36Sopenharmony_ci /* 0x5700000-0x5a00000 undefined in vendor firmware */ 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ci partition@5a00000 { 29962306a36Sopenharmony_ci label = "reserved"; 30062306a36Sopenharmony_ci reg = <0x5a00000 0x2000000>; 30162306a36Sopenharmony_ci }; 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ci partition@7a00000 { 30462306a36Sopenharmony_ci label = "rootfs"; 30562306a36Sopenharmony_ci reg = <0x7a00000 0x8600000>; 30662306a36Sopenharmony_ci }; 30762306a36Sopenharmony_ci }; 30862306a36Sopenharmony_ci }; 30962306a36Sopenharmony_ci}; 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ci&pciec { 31262306a36Sopenharmony_ci status = "okay"; 31362306a36Sopenharmony_ci 31462306a36Sopenharmony_ci pcie@1,0 { /* Renesas uPD720202 USB 3.0 controller */ 31562306a36Sopenharmony_ci pinctrl-0 = <&pmx_pcie>; 31662306a36Sopenharmony_ci pinctrl-names = "default"; 31762306a36Sopenharmony_ci status = "okay"; 31862306a36Sopenharmony_ci reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>; 31962306a36Sopenharmony_ci }; 32062306a36Sopenharmony_ci}; 32162306a36Sopenharmony_ci 32262306a36Sopenharmony_ci&pinctrl { 32362306a36Sopenharmony_ci pmx_poweroff: pmx-poweroff { 32462306a36Sopenharmony_ci marvell,pins = "mpp7"; 32562306a36Sopenharmony_ci marvell,function = "gpo"; 32662306a36Sopenharmony_ci }; 32762306a36Sopenharmony_ci 32862306a36Sopenharmony_ci pmx_power_cpu: pmx-power-cpu { 32962306a36Sopenharmony_ci marvell,pins = "mpp4"; 33062306a36Sopenharmony_ci marvell,function = "vdd"; 33162306a36Sopenharmony_ci }; 33262306a36Sopenharmony_ci 33362306a36Sopenharmony_ci pmx_buttons: pmx-buttons { 33462306a36Sopenharmony_ci marvell,pins = "mpp6", "mpp10", "mpp14", "mpp32"; 33562306a36Sopenharmony_ci marvell,function = "gpio"; 33662306a36Sopenharmony_ci }; 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_ci pmx_leds1: pmx-leds1 { 33962306a36Sopenharmony_ci marvell,pins = "mpp47"; 34062306a36Sopenharmony_ci marvell,function = "gpo"; 34162306a36Sopenharmony_ci }; 34262306a36Sopenharmony_ci 34362306a36Sopenharmony_ci pmx_leds2: pmx-leds2 { 34462306a36Sopenharmony_ci marvell,pins = "mpp12", "mpp13", "mpp15", "mpp16", "mpp50", "mpp51", 34562306a36Sopenharmony_ci "mpp52", "mpp53", "mpp55", "mpp56", "mpp57", "mpp58"; 34662306a36Sopenharmony_ci marvell,function = "gpio"; 34762306a36Sopenharmony_ci }; 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ci pmx_pcie: pmx-pcie { 35062306a36Sopenharmony_ci marvell,pins = "mpp59"; 35162306a36Sopenharmony_ci marvell,function = "gpio"; 35262306a36Sopenharmony_ci }; 35362306a36Sopenharmony_ci 35462306a36Sopenharmony_ci pmx_beeper: pmx-beeper { 35562306a36Sopenharmony_ci marvell,pins = "mpp63"; 35662306a36Sopenharmony_ci marvell,function = "gpio"; 35762306a36Sopenharmony_ci }; 35862306a36Sopenharmony_ci}; 35962306a36Sopenharmony_ci 36062306a36Sopenharmony_ci&pmsu { 36162306a36Sopenharmony_ci pinctrl-0 = <&pmx_power_cpu>; 36262306a36Sopenharmony_ci pinctrl-names = "default"; 36362306a36Sopenharmony_ci}; 36462306a36Sopenharmony_ci 36562306a36Sopenharmony_ci&rtc { 36662306a36Sopenharmony_ci status = "disabled"; 36762306a36Sopenharmony_ci}; 36862306a36Sopenharmony_ci 36962306a36Sopenharmony_ci&sata { 37062306a36Sopenharmony_ci nr-ports = <2>; 37162306a36Sopenharmony_ci status = "okay"; 37262306a36Sopenharmony_ci #address-cells = <1>; 37362306a36Sopenharmony_ci #size-cells = <0>; 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_ci hdd0_temp: sata-port@0 { 37662306a36Sopenharmony_ci reg = <0>; 37762306a36Sopenharmony_ci #thermal-sensor-cells = <0>; 37862306a36Sopenharmony_ci }; 37962306a36Sopenharmony_ci 38062306a36Sopenharmony_ci hdd1_temp: sata-port@1 { 38162306a36Sopenharmony_ci reg = <1>; 38262306a36Sopenharmony_ci #thermal-sensor-cells = <0>; 38362306a36Sopenharmony_ci }; 38462306a36Sopenharmony_ci}; 38562306a36Sopenharmony_ci 38662306a36Sopenharmony_ci&uart0 { 38762306a36Sopenharmony_ci status = "okay"; 38862306a36Sopenharmony_ci}; 389