wd-mybooklive.dts 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. // SPDX-License-Identifier: GPL-2.0-only
  2. /*
  3. * Copyright 2008 DENX Software Engineering, Stefan Roese <[email protected]>
  4. * (c) Copyright 2010 Western Digital Technologies, Inc. All Rights Reserved.
  5. */
  6. /dts-v1/;
  7. #include <dt-bindings/leds/common.h>
  8. #include "apm82181.dtsi"
  9. / {
  10. compatible = "wd,mybooklive", "amcc,apollo3g";
  11. model = "MyBook Live";
  12. aliases {
  13. serial0 = &UART0;
  14. };
  15. };
  16. &POB0 {
  17. ebc {
  18. nor_flash@0,0 {
  19. status = "okay";
  20. compatible = "jedec-flash"; /* "microchip,sst39vf040 */
  21. bank-width = <1>;
  22. reg = <0x00000000 0x00000000 0x00080000>;
  23. #address-cells = <1>;
  24. #size-cells = <1>;
  25. partitions {
  26. compatible = "fixed-partitions";
  27. #address-cells = <1>;
  28. #size-cells = <1>;
  29. partition@0 {
  30. /* Part of bootrom - Don't use it without a jump */
  31. label = "free";
  32. reg = <0x00000000 0x0001e000>;
  33. read-only;
  34. };
  35. partition@1e000 {
  36. compatible = "fixed-partitions";
  37. reg = <0x0001e000 0x00002000>;
  38. label = "u-boot-env";
  39. #address-cells = <1>;
  40. #size-cells = <1>;
  41. partition@0 {
  42. compatible = "u-boot,env-redundant-bool";
  43. reg = <0x00000000 0x00001000>;
  44. label = "u-boot-env-1";
  45. ethaddr {
  46. };
  47. };
  48. /*
  49. * Causes the following warning: * sysfs: cannot create duplicate filename '/bus/nvmem/devices/u-boot-env0'
  50. *
  51. * partition@1000 {
  52. * compatible = "u-boot,env-redundant-bool";
  53. * reg = <0x00001000 0x00001000>;
  54. * label = "u-boot-env-2";
  55. *
  56. * };
  57. */
  58. };
  59. partition@20000 {
  60. label = "uboot";
  61. reg = <0x00020000 0x00050000>;
  62. read-only;
  63. };
  64. };
  65. };
  66. };
  67. GPIO1: gpio@e0000000 {
  68. compatible = "wd,mbl-gpio", "ti,74273";
  69. reg-names = "dat";
  70. reg = <0xe0000000 0x1>;
  71. #gpio-cells = <2>;
  72. gpio-controller;
  73. enable-button {
  74. /* Defined in u-boot as: NOT_NOR
  75. * "enables features other than NOR
  76. * specifically, the buffer at CS2"
  77. * (button).
  78. *
  79. * Note: This option is disabled as
  80. * it prevents the system from being
  81. * rebooted successfully.
  82. */
  83. gpio-hog;
  84. line-name = "Enable Reset Button, disable NOR";
  85. gpios = <1 GPIO_ACTIVE_HIGH>;
  86. output-low;
  87. };
  88. };
  89. GPIO2: gpio@e0100000 {
  90. compatible = "wd,mbl-gpio", "ti,74244";
  91. reg-names = "dat";
  92. reg = <0xe0100000 0x1>;
  93. #gpio-cells = <2>;
  94. gpio-controller;
  95. no-output;
  96. };
  97. leds {
  98. compatible = "gpio-leds";
  99. /* There's just one tri-color LED with three separate pins.
  100. * One pin for each color (red, green and blue). Each has
  101. * a different meaning.
  102. */
  103. led-0 {
  104. color = <LED_COLOR_ID_RED>;
  105. function = LED_FUNCTION_FAULT;
  106. gpios = <&GPIO1 4 GPIO_ACTIVE_HIGH>;
  107. panic-indicator;
  108. };
  109. led-1 {
  110. color = <LED_COLOR_ID_GREEN>;
  111. function = LED_FUNCTION_POWER;
  112. gpios = <&GPIO1 5 GPIO_ACTIVE_HIGH>;
  113. };
  114. led-2 {
  115. color = <LED_COLOR_ID_BLUE>;
  116. function = LED_FUNCTION_DISK;
  117. gpios = <&GPIO1 6 GPIO_ACTIVE_HIGH>;
  118. linux,default-trigger = "disk-activity";
  119. };
  120. };
  121. keys {
  122. compatible = "gpio-keys-polled";
  123. poll-interval = <60>; /* 3 * 20 = 60ms */
  124. autorepeat;
  125. button-restart {
  126. label = "Reset button";
  127. linux,code = <KEY_RESTART>;
  128. gpios = <&GPIO2 2 GPIO_ACTIVE_LOW>;
  129. };
  130. };
  131. usbpwr: usb-regulator {
  132. compatible = "regulator-fixed";
  133. regulator-name = "Power USB Core";
  134. gpios = <&GPIO1 2 GPIO_ACTIVE_HIGH>;
  135. regulator-min-microvolt = <5000000>;
  136. regulator-max-microvolt = <5000000>;
  137. regulator-boot-on; /* uboot sets this */
  138. enable-active-high;
  139. };
  140. sata1pwr: sata1-regulator {
  141. compatible = "regulator-fixed";
  142. regulator-name = "Power Drive Port 1";
  143. gpios = <&GPIO1 3 GPIO_ACTIVE_HIGH>;
  144. regulator-min-microvolt = <12000000>;
  145. regulator-max-microvolt = <12000000>;
  146. regulator-boot-on; /* uboot sets this */
  147. regulator-always-on; /* needed to read OS from HDD */
  148. enable-active-high;
  149. };
  150. sata0pwr: sata0-regulator {
  151. compatible = "regulator-fixed";
  152. regulator-name = "Power Drive Port 0";
  153. gpios = <&GPIO1 7 GPIO_ACTIVE_HIGH>;
  154. regulator-min-microvolt = <12000000>;
  155. regulator-max-microvolt = <12000000>;
  156. regulator-boot-on; /* uboot sets this */
  157. regulator-always-on; /* needed to read OS from HDD */
  158. enable-active-high;
  159. };
  160. };
  161. &EMAC0 {
  162. status = "okay";
  163. phy-map = <0x2>;
  164. phy-address = <0x1>;
  165. phy-handle = <&phy>;
  166. phy-mode = "rgmii-id";
  167. mdio {
  168. #address-cells = <1>;
  169. #size-cells = <0>;
  170. reset-gpios = <&GPIO1 0 GPIO_ACTIVE_LOW>;
  171. phy: phy@1 {
  172. compatible = "ethernet-phy-ieee802.3-c22";
  173. reg = <1>;
  174. };
  175. };
  176. };
  177. &CRYPTO {
  178. status = "okay";
  179. };
  180. &PKA {
  181. status = "okay";
  182. };
  183. &TRNG {
  184. status = "okay";
  185. };
  186. &SATA0 {
  187. status = "okay";
  188. drive0: sata-port@0 {
  189. reg = <0>;
  190. #thermal-sensor-cells = <0>;
  191. };
  192. };
  193. &SATA1 {
  194. status = "okay";
  195. drive1: sata-port@0 {
  196. reg = <0>;
  197. #thermal-sensor-cells = <0>;
  198. };
  199. };
  200. &UART0 {
  201. status = "okay";
  202. };
  203. &USBOTG0 {
  204. status = "okay";
  205. dr_mode = "host";
  206. vbus-supply = <&usbpwr>;
  207. };