053-ARM-dts-Add-SolidRun-Armada-388-Clearfog-A1-DT-file.patch 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611
  1. From 4c945e8556ec7ea5b19d4f8721b212f468656e0d Mon Sep 17 00:00:00 2001
  2. From: Russell King <rmk+kernel@arm.linux.org.uk>
  3. Date: Sun, 6 Dec 2015 21:52:06 +0000
  4. Subject: [PATCH] ARM: dts: Add SolidRun Armada 388 Clearfog A1 DT file
  5. Add support for the SolidRun Armada 388 Clearfog A1 board. This board
  6. has an Armada 388 microsom, dedicated gigabit ethernet, six switched
  7. gigabit ethernet ports, SFP cage, two Mini-PCIe/mSATA slots, a m.2 SATA
  8. slot, and a MikroBUS connector to allow MikroBUS modules to be added.
  9. This DT file adds support for all board facilities with the exception
  10. of full SFP support.
  11. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  12. Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
  13. Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
  14. ---
  15. arch/arm/boot/dts/Makefile | 1 +
  16. arch/arm/boot/dts/armada-388-clearfog.dts | 456 +++++++++++++++++++++
  17. .../arm/boot/dts/armada-38x-solidrun-microsom.dtsi | 115 ++++++
  18. 3 files changed, 572 insertions(+)
  19. create mode 100644 arch/arm/boot/dts/armada-388-clearfog.dts
  20. create mode 100644 arch/arm/boot/dts/armada-38x-solidrun-microsom.dtsi
  21. --- a/arch/arm/boot/dts/Makefile
  22. +++ b/arch/arm/boot/dts/Makefile
  23. @@ -750,6 +750,7 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \
  24. armada-385-linksys-cobra.dtb \
  25. armada-385-linksys-rango.dtb \
  26. armada-385-linksys-shelby.dtb \
  27. + armada-388-clearfog.dtb \
  28. armada-388-db.dtb \
  29. armada-388-gp.dtb \
  30. armada-388-rd.dtb
  31. --- /dev/null
  32. +++ b/arch/arm/boot/dts/armada-388-clearfog.dts
  33. @@ -0,0 +1,456 @@
  34. +/*
  35. + * Device Tree file for SolidRun Clearfog revision A1 rev 2.0 (88F6828)
  36. + *
  37. + * Copyright (C) 2015 Russell King
  38. + *
  39. + * This board is in development; the contents of this file work with
  40. + * the A1 rev 2.0 of the board, which does not represent final
  41. + * production board. Things will change, don't expect this file to
  42. + * remain compatible info the future.
  43. + *
  44. + * This file is dual-licensed: you can use it either under the terms
  45. + * of the GPL or the X11 license, at your option. Note that this dual
  46. + * licensing only applies to this file, and not this project as a
  47. + * whole.
  48. + *
  49. + * a) This file is free software; you can redistribute it and/or
  50. + * modify it under the terms of the GNU General Public License
  51. + * version 2 as published by the Free Software Foundation.
  52. + *
  53. + * This file is distributed in the hope that it will be useful
  54. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  55. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  56. + * GNU General Public License for more details.
  57. + *
  58. + * Or, alternatively
  59. + *
  60. + * b) Permission is hereby granted, free of charge, to any person
  61. + * obtaining a copy of this software and associated documentation
  62. + * files (the "Software"), to deal in the Software without
  63. + * restriction, including without limitation the rights to use
  64. + * copy, modify, merge, publish, distribute, sublicense, and/or
  65. + * sell copies of the Software, and to permit persons to whom the
  66. + * Software is furnished to do so, subject to the following
  67. + * conditions:
  68. + *
  69. + * The above copyright notice and this permission notice shall be
  70. + * included in all copies or substantial portions of the Software.
  71. + *
  72. + * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
  73. + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  74. + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  75. + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  76. + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
  77. + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  78. + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  79. + * OTHER DEALINGS IN THE SOFTWARE.
  80. + */
  81. +
  82. +/dts-v1/;
  83. +#include "armada-388.dtsi"
  84. +#include "armada-38x-solidrun-microsom.dtsi"
  85. +
  86. +/ {
  87. + model = "SolidRun Clearfog A1";
  88. + compatible = "solidrun,clearfog-a1", "marvell,armada388",
  89. + "marvell,armada385", "marvell,armada380";
  90. +
  91. + aliases {
  92. + /* So that mvebu u-boot can update the MAC addresses */
  93. + ethernet1 = &eth0;
  94. + ethernet2 = &eth1;
  95. + ethernet3 = &eth2;
  96. + };
  97. +
  98. + chosen {
  99. + stdout-path = "serial0:115200n8";
  100. + };
  101. +
  102. + reg_3p3v: regulator-3p3v {
  103. + compatible = "regulator-fixed";
  104. + regulator-name = "3P3V";
  105. + regulator-min-microvolt = <3300000>;
  106. + regulator-max-microvolt = <3300000>;
  107. + regulator-always-on;
  108. + };
  109. +
  110. + soc {
  111. + internal-regs {
  112. + ethernet@30000 {
  113. + phy-mode = "sgmii";
  114. + status = "okay";
  115. +
  116. + fixed-link {
  117. + speed = <1000>;
  118. + full-duplex;
  119. + };
  120. + };
  121. +
  122. + ethernet@34000 {
  123. + phy-mode = "sgmii";
  124. + status = "okay";
  125. +
  126. + fixed-link {
  127. + speed = <1000>;
  128. + full-duplex;
  129. + };
  130. + };
  131. +
  132. + i2c@11000 {
  133. + /* Is there anything on this? */
  134. + clock-frequency = <100000>;
  135. + pinctrl-0 = <&i2c0_pins>;
  136. + pinctrl-names = "default";
  137. + status = "okay";
  138. +
  139. + /*
  140. + * PCA9655 GPIO expander, up to 1MHz clock.
  141. + * 0-CON3 CLKREQ#
  142. + * 1-CON3 PERST#
  143. + * 2-CON2 PERST#
  144. + * 3-CON3 W_DISABLE
  145. + * 4-CON2 CLKREQ#
  146. + * 5-USB3 overcurrent
  147. + * 6-USB3 power
  148. + * 7-CON2 W_DISABLE
  149. + * 8-JP4 P1
  150. + * 9-JP4 P4
  151. + * 10-JP4 P5
  152. + * 11-m.2 DEVSLP
  153. + * 12-SFP_LOS
  154. + * 13-SFP_TX_FAULT
  155. + * 14-SFP_TX_DISABLE
  156. + * 15-SFP_MOD_DEF0
  157. + */
  158. + expander0: gpio-expander@20 {
  159. + /*
  160. + * This is how it should be:
  161. + * compatible = "onnn,pca9655",
  162. + * "nxp,pca9555";
  163. + * but you can't do this because of
  164. + * the way I2C works.
  165. + */
  166. + compatible = "nxp,pca9555";
  167. + gpio-controller;
  168. + #gpio-cells = <2>;
  169. + reg = <0x20>;
  170. +
  171. + pcie1_0_clkreq {
  172. + gpio-hog;
  173. + gpios = <0 GPIO_ACTIVE_LOW>;
  174. + input;
  175. + line-name = "pcie1.0-clkreq";
  176. + };
  177. + pcie1_0_w_disable {
  178. + gpio-hog;
  179. + gpios = <3 GPIO_ACTIVE_LOW>;
  180. + output-low;
  181. + line-name = "pcie1.0-w-disable";
  182. + };
  183. + pcie2_0_clkreq {
  184. + gpio-hog;
  185. + gpios = <4 GPIO_ACTIVE_LOW>;
  186. + input;
  187. + line-name = "pcie2.0-clkreq";
  188. + };
  189. + pcie2_0_w_disable {
  190. + gpio-hog;
  191. + gpios = <7 GPIO_ACTIVE_LOW>;
  192. + output-low;
  193. + line-name = "pcie2.0-w-disable";
  194. + };
  195. + usb3_ilimit {
  196. + gpio-hog;
  197. + gpios = <5 GPIO_ACTIVE_LOW>;
  198. + input;
  199. + line-name = "usb3-current-limit";
  200. + };
  201. + usb3_power {
  202. + gpio-hog;
  203. + gpios = <6 GPIO_ACTIVE_HIGH>;
  204. + output-high;
  205. + line-name = "usb3-power";
  206. + };
  207. + m2_devslp {
  208. + gpio-hog;
  209. + gpios = <11 GPIO_ACTIVE_HIGH>;
  210. + output-low;
  211. + line-name = "m.2 devslp";
  212. + };
  213. + sfp_los {
  214. + /* SFP loss of signal */
  215. + gpio-hog;
  216. + gpios = <12 GPIO_ACTIVE_HIGH>;
  217. + input;
  218. + line-name = "sfp-los";
  219. + };
  220. + sfp_tx_fault {
  221. + /* SFP laser fault */
  222. + gpio-hog;
  223. + gpios = <13 GPIO_ACTIVE_HIGH>;
  224. + input;
  225. + line-name = "sfp-tx-fault";
  226. + };
  227. + sfp_tx_disable {
  228. + /* SFP transmit disable */
  229. + gpio-hog;
  230. + gpios = <14 GPIO_ACTIVE_HIGH>;
  231. + output-low;
  232. + line-name = "sfp-tx-disable";
  233. + };
  234. + sfp_mod_def0 {
  235. + /* SFP module present */
  236. + gpio-hog;
  237. + gpios = <15 GPIO_ACTIVE_LOW>;
  238. + input;
  239. + line-name = "sfp-mod-def0";
  240. + };
  241. + };
  242. +
  243. + /* The MCP3021 is 100kHz clock only */
  244. + mikrobus_adc: mcp3021@4c {
  245. + compatible = "microchip,mcp3021";
  246. + reg = <0x4c>;
  247. + };
  248. +
  249. + /* Also something at 0x64 */
  250. + };
  251. +
  252. + i2c@11100 {
  253. + /*
  254. + * Routed to SFP, mikrobus, and PCIe.
  255. + * SFP limits this to 100kHz, and requires
  256. + * an AT24C01A/02/04 with address pins tied
  257. + * low, which takes addresses 0x50 and 0x51.
  258. + * Mikrobus doesn't specify beyond an I2C
  259. + * bus being present.
  260. + * PCIe uses ARP to assign addresses, or
  261. + * 0x63-0x64.
  262. + */
  263. + clock-frequency = <100000>;
  264. + pinctrl-0 = <&clearfog_i2c1_pins>;
  265. + pinctrl-names = "default";
  266. + status = "okay";
  267. + };
  268. +
  269. + mdio@72004 {
  270. + pinctrl-0 = <&mdio_pins>;
  271. + pinctrl-names = "default";
  272. +
  273. + phy_dedicated: ethernet-phy@0 {
  274. + /*
  275. + * Annoyingly, the marvell phy driver
  276. + * configures the LED register, rather
  277. + * than preserving reset-loaded setting.
  278. + * We undo that rubbish here.
  279. + */
  280. + marvell,reg-init = <3 16 0 0x101e>;
  281. + reg = <0>;
  282. + };
  283. + };
  284. +
  285. + pinctrl@18000 {
  286. + clearfog_dsa0_clk_pins: clearfog-dsa0-clk-pins {
  287. + marvell,pins = "mpp46";
  288. + marvell,function = "ref";
  289. + };
  290. + clearfog_dsa0_pins: clearfog-dsa0-pins {
  291. + marvell,pins = "mpp23", "mpp41";
  292. + marvell,function = "gpio";
  293. + };
  294. + clearfog_i2c1_pins: i2c1-pins {
  295. + /* SFP, PCIe, mSATA, mikrobus */
  296. + marvell,pins = "mpp26", "mpp27";
  297. + marvell,function = "i2c1";
  298. + };
  299. + clearfog_sdhci_cd_pins: clearfog-sdhci-cd-pins {
  300. + marvell,pins = "mpp20";
  301. + marvell,function = "gpio";
  302. + };
  303. + clearfog_sdhci_pins: clearfog-sdhci-pins {
  304. + marvell,pins = "mpp21", "mpp28",
  305. + "mpp37", "mpp38",
  306. + "mpp39", "mpp40";
  307. + marvell,function = "sd0";
  308. + };
  309. + clearfog_spi1_cs_pins: spi1-cs-pins {
  310. + marvell,pins = "mpp55";
  311. + marvell,function = "spi1";
  312. + };
  313. + mikro_pins: mikro-pins {
  314. + /* int: mpp22 rst: mpp29 */
  315. + marvell,pins = "mpp22", "mpp29";
  316. + marvell,function = "gpio";
  317. + };
  318. + mikro_spi_pins: mikro-spi-pins {
  319. + marvell,pins = "mpp43";
  320. + marvell,function = "spi1";
  321. + };
  322. + mikro_uart_pins: mikro-uart-pins {
  323. + marvell,pins = "mpp24", "mpp25";
  324. + marvell,function = "ua1";
  325. + };
  326. + rear_button_pins: rear-button-pins {
  327. + marvell,pins = "mpp34";
  328. + marvell,function = "gpio";
  329. + };
  330. + };
  331. +
  332. + sata@a8000 {
  333. + /* pinctrl? */
  334. + status = "okay";
  335. + };
  336. +
  337. + sata@e0000 {
  338. + /* pinctrl? */
  339. + status = "okay";
  340. + };
  341. +
  342. + sdhci@d8000 {
  343. + bus-width = <4>;
  344. + cd-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
  345. + no-1-8-v;
  346. + pinctrl-0 = <&clearfog_sdhci_pins
  347. + &clearfog_sdhci_cd_pins>;
  348. + pinctrl-names = "default";
  349. + status = "okay";
  350. + vmmc = <&reg_3p3v>;
  351. + wp-inverted;
  352. + };
  353. +
  354. + serial@12100 {
  355. + /* mikrobus uart */
  356. + pinctrl-0 = <&mikro_uart_pins>;
  357. + pinctrl-names = "default";
  358. + status = "okay";
  359. + };
  360. +
  361. + spi@10680 {
  362. + /*
  363. + * We don't seem to have the W25Q32 on the
  364. + * A1 Rev 2.0 boards, so disable SPI.
  365. + * CS0: W25Q32 (doesn't appear to be present)
  366. + * CS1:
  367. + * CS2: mikrobus
  368. + */
  369. + pinctrl-0 = <&spi1_pins
  370. + &clearfog_spi1_cs_pins
  371. + &mikro_spi_pins>;
  372. + pinctrl-names = "default";
  373. + status = "okay";
  374. +
  375. + spi-flash@0 {
  376. + #address-cells = <1>;
  377. + #size-cells = <0>;
  378. + compatible = "w25q32", "jedec,spi-nor";
  379. + reg = <0>; /* Chip select 0 */
  380. + spi-max-frequency = <3000000>;
  381. + status = "disabled";
  382. + };
  383. + };
  384. +
  385. + usb@58000 {
  386. + /* CON3, nearest power. */
  387. + status = "okay";
  388. + };
  389. +
  390. + usb3@f0000 {
  391. + /* CON2, nearest CPU, USB2 only. */
  392. + status = "okay";
  393. + };
  394. +
  395. + usb3@f8000 {
  396. + /* CON7 */
  397. + status = "okay";
  398. + };
  399. + };
  400. +
  401. + pcie-controller {
  402. + status = "okay";
  403. + /*
  404. + * The two PCIe units are accessible through
  405. + * the mini-PCIe connectors on the board.
  406. + */
  407. + pcie@2,0 {
  408. + /* Port 1, Lane 0. CON3, nearest power. */
  409. + reset-gpios = <&expander0 1 GPIO_ACTIVE_LOW>;
  410. + status = "okay";
  411. + };
  412. + pcie@3,0 {
  413. + /* Port 2, Lane 0. CON2, nearest CPU. */
  414. + reset-gpios = <&expander0 2 GPIO_ACTIVE_LOW>;
  415. + status = "okay";
  416. + };
  417. + };
  418. + };
  419. +
  420. + dsa@0 {
  421. + compatible = "marvell,dsa";
  422. + dsa,ethernet = <&eth1>;
  423. + dsa,mii-bus = <&mdio>;
  424. + pinctrl-0 = <&clearfog_dsa0_clk_pins &clearfog_dsa0_pins>;
  425. + pinctrl-names = "default";
  426. + #address-cells = <2>;
  427. + #size-cells = <0>;
  428. +
  429. + switch@0 {
  430. + #address-cells = <1>;
  431. + #size-cells = <0>;
  432. + reg = <4 0>;
  433. +
  434. + port@0 {
  435. + reg = <0>;
  436. + label = "lan1";
  437. + };
  438. +
  439. + port@1 {
  440. + reg = <1>;
  441. + label = "lan2";
  442. + };
  443. +
  444. + port@2 {
  445. + reg = <2>;
  446. + label = "lan3";
  447. + };
  448. +
  449. + port@3 {
  450. + reg = <3>;
  451. + label = "lan4";
  452. + };
  453. +
  454. + port@4 {
  455. + reg = <4>;
  456. + label = "lan5";
  457. + };
  458. +
  459. + port@5 {
  460. + reg = <5>;
  461. + label = "cpu";
  462. + };
  463. +
  464. + port@6 {
  465. + /* 88E1512 external phy */
  466. + reg = <6>;
  467. + label = "lan6";
  468. + fixed-link {
  469. + speed = <1000>;
  470. + full-duplex;
  471. + };
  472. + };
  473. + };
  474. + };
  475. +
  476. + gpio-keys {
  477. + compatible = "gpio-keys";
  478. + pinctrl-0 = <&rear_button_pins>;
  479. + pinctrl-names = "default";
  480. +
  481. + button_0 {
  482. + /* The rear SW3 button */
  483. + label = "Rear Button";
  484. + gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
  485. + linux,can-disable;
  486. + linux,code = <BTN_0>;
  487. + };
  488. + };
  489. +};
  490. --- /dev/null
  491. +++ b/arch/arm/boot/dts/armada-38x-solidrun-microsom.dtsi
  492. @@ -0,0 +1,115 @@
  493. +/*
  494. + * Device Tree file for SolidRun Armada 38x Microsom
  495. + *
  496. + * Copyright (C) 2015 Russell King
  497. + *
  498. + * This board is in development; the contents of this file work with
  499. + * the A1 rev 2.0 of the board, which does not represent final
  500. + * production board. Things will change, don't expect this file to
  501. + * remain compatible info the future.
  502. + *
  503. + * This file is dual-licensed: you can use it either under the terms
  504. + * of the GPL or the X11 license, at your option. Note that this dual
  505. + * licensing only applies to this file, and not this project as a
  506. + * whole.
  507. + *
  508. + * a) This file is free software; you can redistribute it and/or
  509. + * modify it under the terms of the GNU General Public License
  510. + * version 2 as published by the Free Software Foundation.
  511. + *
  512. + * This file is distributed in the hope that it will be useful
  513. + * but WITHOUT ANY WARRANTY; without even the implied warranty of
  514. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  515. + * GNU General Public License for more details.
  516. + *
  517. + * Or, alternatively
  518. + *
  519. + * b) Permission is hereby granted, free of charge, to any person
  520. + * obtaining a copy of this software and associated documentation
  521. + * files (the "Software"), to deal in the Software without
  522. + * restriction, including without limitation the rights to use
  523. + * copy, modify, merge, publish, distribute, sublicense, and/or
  524. + * sell copies of the Software, and to permit persons to whom the
  525. + * Software is furnished to do so, subject to the following
  526. + * conditions:
  527. + *
  528. + * The above copyright notice and this permission notice shall be
  529. + * included in all copies or substantial portions of the Software.
  530. + *
  531. + * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
  532. + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  533. + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  534. + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  535. + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
  536. + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  537. + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  538. + * OTHER DEALINGS IN THE SOFTWARE.
  539. + */
  540. +#include <dt-bindings/input/input.h>
  541. +#include <dt-bindings/gpio/gpio.h>
  542. +
  543. +/ {
  544. + memory {
  545. + device_type = "memory";
  546. + reg = <0x00000000 0x10000000>; /* 256 MB */
  547. + };
  548. +
  549. + soc {
  550. + ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
  551. + MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
  552. + MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
  553. + MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000>;
  554. +
  555. + internal-regs {
  556. + ethernet@70000 {
  557. + pinctrl-0 = <&ge0_rgmii_pins>;
  558. + pinctrl-names = "default";
  559. + phy = <&phy_dedicated>;
  560. + phy-mode = "rgmii-id";
  561. + status = "okay";
  562. + };
  563. +
  564. + mdio@72004 {
  565. + /*
  566. + * Add the phy clock here, so the phy can be
  567. + * accessed to read its IDs prior to binding
  568. + * with the driver.
  569. + */
  570. + pinctrl-0 = <&mdio_pins &microsom_phy_clk_pins>;
  571. + pinctrl-names = "default";
  572. +
  573. + phy_dedicated: ethernet-phy@0 {
  574. + /*
  575. + * Annoyingly, the marvell phy driver
  576. + * configures the LED register, rather
  577. + * than preserving reset-loaded setting.
  578. + * We undo that rubbish here.
  579. + */
  580. + marvell,reg-init = <3 16 0 0x101e>;
  581. + reg = <0>;
  582. + };
  583. + };
  584. +
  585. + pinctrl@18000 {
  586. + microsom_phy_clk_pins: microsom-phy-clk-pins {
  587. + marvell,pins = "mpp45";
  588. + marvell,function = "ref";
  589. + };
  590. + };
  591. +
  592. + rtc@a3800 {
  593. + /*
  594. + * If the rtc doesn't work, run "date reset"
  595. + * twice in u-boot.
  596. + */
  597. + status = "okay";
  598. + };
  599. +
  600. + serial@12000 {
  601. + pinctrl-0 = <&uart0_pins>;
  602. + pinctrl-names = "default";
  603. + status = "okay";
  604. + };
  605. + };
  606. + };
  607. +};