kirkwood-c200-v1.dts 5.4 KB

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