armada-370-c200-v2.dts 7.0 KB

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