sun50i-h5-nanopi-neo-plus2.dts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2. // Copyright (C) 2017 Antony Antony <[email protected]>
  3. // Copyright (C) 2016 ARM Ltd.
  4. /dts-v1/;
  5. #include "sun50i-h5.dtsi"
  6. #include <dt-bindings/gpio/gpio.h>
  7. #include <dt-bindings/input/input.h>
  8. #include <dt-bindings/pinctrl/sun4i-a10.h>
  9. / {
  10. model = "FriendlyARM NanoPi NEO Plus2";
  11. compatible = "friendlyarm,nanopi-neo-plus2", "allwinner,sun50i-h5";
  12. aliases {
  13. ethernet0 = &emac;
  14. serial0 = &uart0;
  15. };
  16. chosen {
  17. stdout-path = "serial0:115200n8";
  18. };
  19. leds {
  20. compatible = "gpio-leds";
  21. led-0 {
  22. label = "nanopi:green:pwr";
  23. gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
  24. default-state = "on";
  25. };
  26. led-1 {
  27. label = "nanopi:red:status";
  28. gpios = <&pio 0 20 GPIO_ACTIVE_HIGH>;
  29. };
  30. };
  31. reg_gmac_3v3: gmac-3v3 {
  32. compatible = "regulator-fixed";
  33. regulator-name = "gmac-3v3";
  34. regulator-min-microvolt = <3300000>;
  35. regulator-max-microvolt = <3300000>;
  36. startup-delay-us = <100000>;
  37. enable-active-high;
  38. gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>;
  39. };
  40. reg_vcc3v3: vcc3v3 {
  41. compatible = "regulator-fixed";
  42. regulator-name = "vcc3v3";
  43. regulator-min-microvolt = <3300000>;
  44. regulator-max-microvolt = <3300000>;
  45. };
  46. vdd_cpux: gpio-regulator {
  47. compatible = "regulator-gpio";
  48. regulator-name = "vdd-cpux";
  49. regulator-type = "voltage";
  50. regulator-boot-on;
  51. regulator-always-on;
  52. regulator-min-microvolt = <1100000>;
  53. regulator-max-microvolt = <1300000>;
  54. regulator-ramp-delay = <50>; /* 4ms */
  55. gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>;
  56. gpios-states = <0x1>;
  57. states = <1100000 0>, <1300000 1>;
  58. };
  59. wifi_pwrseq: wifi_pwrseq {
  60. compatible = "mmc-pwrseq-simple";
  61. reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */
  62. post-power-on-delay-ms = <200>;
  63. };
  64. };
  65. &codec {
  66. allwinner,audio-routing =
  67. "Line Out", "LINEOUT",
  68. "MIC1", "Mic",
  69. "Mic", "MBIAS";
  70. status = "okay";
  71. };
  72. &ehci0 {
  73. status = "okay";
  74. };
  75. &ehci3 {
  76. status = "okay";
  77. };
  78. &emac {
  79. pinctrl-names = "default";
  80. pinctrl-0 = <&emac_rgmii_pins>;
  81. phy-supply = <&reg_gmac_3v3>;
  82. phy-handle = <&ext_rgmii_phy>;
  83. phy-mode = "rgmii-id";
  84. status = "okay";
  85. };
  86. &external_mdio {
  87. ext_rgmii_phy: ethernet-phy@7 {
  88. compatible = "ethernet-phy-ieee802.3-c22";
  89. reg = <7>;
  90. };
  91. };
  92. &mmc0 {
  93. vmmc-supply = <&reg_vcc3v3>;
  94. bus-width = <4>;
  95. cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
  96. status = "okay";
  97. };
  98. &mmc1 {
  99. vmmc-supply = <&reg_vcc3v3>;
  100. vqmmc-supply = <&reg_vcc3v3>;
  101. mmc-pwrseq = <&wifi_pwrseq>;
  102. bus-width = <4>;
  103. non-removable;
  104. status = "okay";
  105. brcmf: wifi@1 {
  106. reg = <1>;
  107. compatible = "brcm,bcm4329-fmac";
  108. };
  109. };
  110. &mmc2 {
  111. pinctrl-names = "default";
  112. pinctrl-0 = <&mmc2_8bit_pins>;
  113. vmmc-supply = <&reg_vcc3v3>;
  114. bus-width = <8>;
  115. non-removable;
  116. cap-mmc-hw-reset;
  117. status = "okay";
  118. };
  119. &ohci0 {
  120. status = "okay";
  121. };
  122. &ohci3 {
  123. status = "okay";
  124. };
  125. &uart0 {
  126. pinctrl-names = "default";
  127. pinctrl-0 = <&uart0_pa_pins>;
  128. status = "okay";
  129. };
  130. &usb_otg {
  131. dr_mode = "host";
  132. status = "okay";
  133. };
  134. &usbphy {
  135. /* USB Type-A ports' VBUS is always on */
  136. status = "okay";
  137. };