sun50i-h5-orangepi-zero-plus.dts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. /*
  2. * Copyright (C) 2016 ARM Ltd.
  3. * Copyright (C) 2018 Hauke Mehrtens <hauke@hauke-m.de>
  4. *
  5. * SPDX-License-Identifier: (GPL-2.0+ OR X11)
  6. */
  7. /dts-v1/;
  8. #include "sun50i-h5.dtsi"
  9. #include <dt-bindings/gpio/gpio.h>
  10. #include <dt-bindings/input/input.h>
  11. #include <dt-bindings/pinctrl/sun4i-a10.h>
  12. / {
  13. model = "Xunlong Orange Pi Zero Plus";
  14. compatible = "xunlong,orangepi-zero-plus", "allwinner,sun50i-h5";
  15. reg_vcc3v3: vcc3v3 {
  16. compatible = "regulator-fixed";
  17. regulator-name = "vcc3v3";
  18. regulator-min-microvolt = <3300000>;
  19. regulator-max-microvolt = <3300000>;
  20. };
  21. aliases {
  22. ethernet0 = &emac;
  23. ethernet1 = &rtl8189ftv;
  24. serial0 = &uart0;
  25. };
  26. chosen {
  27. stdout-path = "serial0:115200n8";
  28. };
  29. leds {
  30. compatible = "gpio-leds";
  31. pwr {
  32. label = "orangepi:green:pwr";
  33. gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */
  34. default-state = "on";
  35. };
  36. status {
  37. label = "orangepi:red:status";
  38. gpios = <&pio 0 17 GPIO_ACTIVE_HIGH>; /* PA17 */
  39. };
  40. };
  41. reg_gmac_3v3: gmac-3v3 {
  42. compatible = "regulator-fixed";
  43. regulator-name = "gmac-3v3";
  44. regulator-min-microvolt = <3300000>;
  45. regulator-max-microvolt = <3300000>;
  46. startup-delay-us = <100000>;
  47. enable-active-high;
  48. gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */
  49. };
  50. };
  51. &ehci0 {
  52. status = "okay";
  53. };
  54. &ehci1 {
  55. status = "okay";
  56. };
  57. &emac {
  58. pinctrl-names = "default";
  59. pinctrl-0 = <&emac_rgmii_pins>;
  60. phy-supply = <&reg_gmac_3v3>;
  61. phy-handle = <&ext_rgmii_phy>;
  62. phy-mode = "rgmii";
  63. status = "okay";
  64. };
  65. &external_mdio {
  66. ext_rgmii_phy: ethernet-phy@1 {
  67. compatible = "ethernet-phy-ieee802.3-c22";
  68. reg = <1>;
  69. };
  70. };
  71. &mmc0 {
  72. vmmc-supply = <&reg_vcc3v3>;
  73. bus-width = <4>;
  74. cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
  75. status = "okay";
  76. };
  77. &mmc1 {
  78. vmmc-supply = <&reg_vcc3v3>;
  79. bus-width = <4>;
  80. non-removable;
  81. status = "okay";
  82. /*
  83. * Explicitly define the sdio device, so that we can add an ethernet
  84. * alias for it (which e.g. makes u-boot set a mac-address).
  85. */
  86. rtl8189ftv: sdio_wifi@1 {
  87. reg = <1>;
  88. };
  89. };
  90. &spi0 {
  91. status = "okay";
  92. flash@0 {
  93. #address-cells = <1>;
  94. #size-cells = <1>;
  95. compatible = "mxicy,mx25l1606e", "winbond,w25q128";
  96. reg = <0>;
  97. spi-max-frequency = <40000000>;
  98. };
  99. };
  100. &ohci0 {
  101. status = "okay";
  102. };
  103. &ohci1 {
  104. status = "okay";
  105. };
  106. &uart0 {
  107. pinctrl-names = "default";
  108. pinctrl-0 = <&uart0_pins_a>;
  109. status = "okay";
  110. };
  111. &usb_otg {
  112. dr_mode = "peripheral";
  113. status = "okay";
  114. };
  115. &usbphy {
  116. /* USB Type-A ports' VBUS is always on */
  117. usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */
  118. status = "okay";
  119. };