Home | History | Annotate | Line # | Download | only in marvell
      1 // SPDX-License-Identifier: GPL-2.0-or-later
      2 /*
      3  * Ctera C200 V1 Board Description
      4  * Copyright 2021-2022 Pawel Dembicki <paweldembicki (a] gmail.com>
      5  */
      6 
      7 /dts-v1/;
      8 
      9 #include "kirkwood.dtsi"
     10 #include "kirkwood-6281.dtsi"
     11 #include <dt-bindings/leds/common.h>
     12 
     13 / {
     14 	model = "Ctera C200 V1";
     15 	compatible = "ctera,c200-v1", "marvell,kirkwood-88f6281", "marvell,kirkwood";
     16 
     17 	chosen {
     18 		bootargs = "console=ttyS0,115200";
     19 		stdout-path = &uart0;
     20 	};
     21 
     22 	memory@0 {
     23 		device_type = "memory";
     24 		reg = <0x00000000 0x20000000>;
     25 	};
     26 
     27 	keys {
     28 		compatible = "gpio-keys";
     29 		pinctrl-0 = <&pmx_buttons>;
     30 		pinctrl-names = "default";
     31 
     32 		button-power {
     33 			label = "Power Button";
     34 			linux,code = <KEY_POWER>;
     35 			gpios = <&gpio1 16 GPIO_ACTIVE_HIGH>;
     36 		};
     37 
     38 		button-reset {
     39 			label = "Reset Button";
     40 			linux,code = <KEY_RESTART>;
     41 			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
     42 		};
     43 
     44 		button-usb1 {
     45 			label = "USB1 Button";
     46 			linux,code = <BTN_0>;
     47 			gpios = <&gpio0 28 GPIO_ACTIVE_LOW>;
     48 		};
     49 
     50 		button-usb2 {
     51 			label = "USB2 Button";
     52 			linux,code = <BTN_1>;
     53 			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
     54 		};
     55 	};
     56 
     57 	gpio-poweroff {
     58 		compatible = "gpio-poweroff";
     59 		pinctrl-0 = <&pmx_poweroff>;
     60 		pinctrl-names = "default";
     61 		gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
     62 	};
     63 
     64 	leds {
     65 		compatible = "gpio-leds";
     66 		pinctrl-0 = <&pmx_leds>;
     67 		pinctrl-names = "default";
     68 
     69 		led-0 {
     70 			function = LED_FUNCTION_DISK;
     71 			function-enumerator = <2>;
     72 			color = <LED_COLOR_ID_RED>;
     73 			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
     74 		};
     75 
     76 		led-1 {
     77 			function = LED_FUNCTION_DISK;
     78 			function-enumerator = <1>;
     79 			color = <LED_COLOR_ID_GREEN>;
     80 			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
     81 		};
     82 
     83 		led-2 {
     84 			function = LED_FUNCTION_DISK;
     85 			function-enumerator = <2>;
     86 			color = <LED_COLOR_ID_GREEN>;
     87 			gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
     88 		};
     89 
     90 		led-3 {
     91 			function = LED_FUNCTION_DISK;
     92 			function-enumerator = <1>;
     93 			color = <LED_COLOR_ID_RED>;
     94 			gpios = <&gpio0 17 GPIO_ACTIVE_LOW>;
     95 		};
     96 
     97 		led-4 {
     98 			function = LED_FUNCTION_STATUS;
     99 			color = <LED_COLOR_ID_RED>;
    100 			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
    101 		};
    102 
    103 		led-5 {
    104 			function = LED_FUNCTION_STATUS;
    105 			color = <LED_COLOR_ID_GREEN>;
    106 			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
    107 		};
    108 
    109 		led-6 {
    110 			function = LED_FUNCTION_INDICATOR;
    111 			color = <LED_COLOR_ID_BLUE>;
    112 			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
    113 		};
    114 
    115 		led-7 {
    116 			function = LED_FUNCTION_DISK_ERR;
    117 			color = <LED_COLOR_ID_RED>;
    118 			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
    119 		};
    120 
    121 		led-8 {
    122 			function = LED_FUNCTION_DISK_ERR;
    123 			color = <LED_COLOR_ID_GREEN>;
    124 			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
    125 		};
    126 
    127 		led-9 {
    128 			function = LED_FUNCTION_USB;
    129 			function-enumerator = <1>;
    130 			color = <LED_COLOR_ID_RED>;
    131 			gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
    132 		};
    133 
    134 		led-10 {
    135 			function = LED_FUNCTION_USB;
    136 			function-enumerator = <1>;
    137 			color = <LED_COLOR_ID_GREEN>;
    138 			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
    139 			linux,default-trigger = "usbport";
    140 			trigger-sources = <&hub_port2>;
    141 		};
    142 
    143 		led-11 {
    144 			function = LED_FUNCTION_USB;
    145 			function-enumerator = <2>;
    146 			color = <LED_COLOR_ID_RED>;
    147 			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
    148 		};
    149 
    150 		led-12 {
    151 			function = LED_FUNCTION_USB;
    152 			function-enumerator = <2>;
    153 			color = <LED_COLOR_ID_GREEN>;
    154 			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
    155 			linux,default-trigger = "usbport";
    156 			trigger-sources = <&hub_port1>;
    157 		};
    158 	};
    159 };
    160 
    161 &eth0 {
    162 	status = "okay";
    163 };
    164 
    165 &eth0port {
    166 	phy-handle = <&ethphy9>;
    167 };
    168 
    169 &i2c0 {
    170 	status = "okay";
    171 
    172 	rtc@30 {
    173 		compatible = "s35390a";
    174 		reg = <0x30>;
    175 	};
    176 
    177 	lm63@4c {
    178 		compatible = "national,lm63";
    179 		reg = <0x4c>;
    180 	};
    181 };
    182 
    183 &mdio {
    184 	status = "okay";
    185 
    186 	ethphy9: ethernet-phy@9 {
    187 		reg = <9>;
    188 	};
    189 };
    190 
    191 &nand {
    192 	status = "okay";
    193 	chip-delay = <40>;
    194 
    195 	partition@0 {
    196 		label = "uboot";
    197 		reg = <0x0000000 0x200000>;
    198 	};
    199 
    200 	partition@200000 {
    201 		label = "certificate";
    202 		reg = <0x0200000 0x100000>;
    203 	};
    204 
    205 	partition@300000 {
    206 		label = "preset_cfg";
    207 		reg = <0x0300000 0x100000>;
    208 	};
    209 
    210 	partition@400000 {
    211 		label = "dev_params";
    212 		reg = <0x0400000 0x100000>;
    213 	};
    214 
    215 	partition@500000 {
    216 		label = "active_bank";
    217 		reg = <0x0500000 0x0100000>;
    218 	};
    219 
    220 	partition@600000 {
    221 		label = "magic";
    222 		reg = <0x0600000 0x0100000>;
    223 	};
    224 
    225 	partition@700000 {
    226 		label = "bank1";
    227 		reg = <0x0700000 0x2800000>;
    228 	};
    229 
    230 	partition@2f00000 {
    231 		label = "bank2";
    232 		reg = <0x2f00000 0x2800000>;
    233 	};
    234 
    235 	/* 0x5700000-0x5a00000 undefined in vendor firmware */
    236 
    237 	partition@5a00000 {
    238 		label = "reserved";
    239 		reg = <0x5a00000 0x2000000>;
    240 	};
    241 
    242 	partition@7a00000 {
    243 		label = "rootfs";
    244 		reg = <0x7a00000 0x8600000>;
    245 	};
    246 };
    247 
    248 &pinctrl {
    249 	/* Buzzer gpios are connected to two pins of buzzer.
    250 	 * This buzzer require a modulated signal from gpio.
    251 	 * Leave it as is due lack of proper driver.
    252 	 */
    253 	pmx_buzzer: pmx-buzzer {
    254 		marvell,pins = "mpp12", "mpp13";
    255 		marvell,function = "gpio";
    256 	};
    257 
    258 	pmx_leds: pmx-leds {
    259 		marvell,pins = "mpp14", "mpp15", "mpp16", "mpp17", "mpp38",
    260 			       "mpp39", "mpp40", "mpp42", "mpp43", "mpp44",
    261 			       "mpp45", "mpp46", "mpp47";
    262 		marvell,function = "gpio";
    263 	};
    264 
    265 	pmx_buttons: pmx-buttons {
    266 		marvell,pins = "mpp28", "mpp29", "mpp48", "mpp49";
    267 		marvell,function = "gpio";
    268 	};
    269 
    270 	pmx_poweroff: pmx-poweroff {
    271 		marvell,pins = "mpp34";
    272 		marvell,function = "gpio";
    273 	};
    274 };
    275 
    276 &rtc {
    277 	status = "disabled";
    278 };
    279 
    280 &sata {
    281 	status = "okay";
    282 	nr-ports = <2>;
    283 };
    284 
    285 &uart0 {
    286 	status = "okay";
    287 };
    288 
    289 &usb0 {
    290 	#address-cells = <1>;
    291 	#size-cells = <0>;
    292 	status = "okay";
    293 
    294 	port@1 {
    295 		#address-cells = <1>;
    296 		#size-cells = <0>;
    297 		reg = <1>;
    298 		#trigger-source-cells = <0>;
    299 
    300 		hub_port1: port@1 {
    301 			reg = <1>;
    302 			#trigger-source-cells = <0>;
    303 		};
    304 
    305 		hub_port2: port@2 {
    306 			reg = <2>;
    307 			#trigger-source-cells = <0>;
    308 		};
    309 	};
    310 };
    311