sunxi-h3-h5-emlid-neutis.dtsi 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  2. /*
  3. * DTSI for Emlid Neutis SoMs.
  4. *
  5. * Copyright (C) 2019 Georgii Staroselskii <georgii.staroselskii@emlid.com>
  6. */
  7. #include "sunxi-common-regulators.dtsi"
  8. #include <dt-bindings/gpio/gpio.h>
  9. / {
  10. aliases {
  11. serial0 = &uart0;
  12. };
  13. chosen {
  14. stdout-path = "serial0:115200n8";
  15. };
  16. wifi_pwrseq: wifi_pwrseq {
  17. compatible = "mmc-pwrseq-simple";
  18. reset-gpios = <&pio 2 7 GPIO_ACTIVE_LOW>; /* PC7 */
  19. post-power-on-delay-ms = <200>;
  20. clocks = <&rtc 1>;
  21. clock-names = "ext_clock";
  22. };
  23. };
  24. &cpu0 {
  25. cpu-supply = <&vdd_cpux>;
  26. };
  27. &reg_usb0_vbus {
  28. gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */
  29. status = "okay";
  30. };
  31. &de {
  32. status = "okay";
  33. };
  34. &ohci0 {
  35. status = "okay";
  36. };
  37. &ohci1 {
  38. status = "okay";
  39. };
  40. &ohci2 {
  41. status = "okay";
  42. };
  43. &ohci3 {
  44. status = "okay";
  45. };
  46. &ehci0 {
  47. status = "okay";
  48. };
  49. &ehci1 {
  50. status = "okay";
  51. };
  52. &ehci2 {
  53. status = "okay";
  54. };
  55. &ehci3 {
  56. status = "okay";
  57. };
  58. &mmc0 {
  59. vmmc-supply = <&reg_vcc3v3>;
  60. bus-width = <4>;
  61. cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
  62. status = "okay";
  63. };
  64. &mmc1 {
  65. vmmc-supply = <&reg_vcc3v3>;
  66. vqmmc-supply = <&reg_vcc3v3>;
  67. mmc-pwrseq = <&wifi_pwrseq>;
  68. bus-width = <4>;
  69. non-removable;
  70. status = "okay";
  71. brcmf: wifi@1 {
  72. reg = <1>;
  73. compatible = "brcm,bcm4329-fmac";
  74. interrupt-parent = <&r_pio>;
  75. interrupts = <0 5 IRQ_TYPE_LEVEL_LOW>; /* PL5 */
  76. interrupt-names = "host-wake";
  77. };
  78. };
  79. &mmc2 {
  80. pinctrl-names = "default";
  81. pinctrl-0 = <&mmc2_8bit_pins>;
  82. vmmc-supply = <&reg_vcc3v3>;
  83. bus-width = <8>;
  84. non-removable;
  85. cap-mmc-hw-reset;
  86. status = "okay";
  87. };
  88. &uart0 {
  89. pinctrl-names = "default";
  90. pinctrl-0 = <&uart0_pa_pins>;
  91. status = "okay";
  92. };
  93. &uart1 {
  94. pinctrl-names = "default";
  95. pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
  96. uart-has-rtscts;
  97. status = "okay";
  98. bluetooth {
  99. compatible = "brcm,bcm43438-bt";
  100. clocks = <&rtc 1>;
  101. clock-names = "lpo";
  102. vbat-supply = <&reg_vcc3v3>;
  103. vddio-supply = <&reg_vcc3v3>;
  104. shutdown-gpios = <&pio 2 4 GPIO_ACTIVE_HIGH>; /* PC4 */
  105. device-wakeup-gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */
  106. };
  107. };
  108. &uart2 {
  109. pinctrl-names = "default";
  110. pinctrl-0 = <&uart2_pins>;
  111. status = "okay";
  112. };
  113. &uart3 {
  114. pinctrl-names = "default";
  115. pinctrl-0 = <&uart3_pins>;
  116. status = "okay";
  117. };
  118. &usbphy {
  119. usb0_id_det-gpios = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
  120. usb0_vbus-supply = <&reg_usb0_vbus>;
  121. status = "okay";
  122. };
  123. &usb_otg {
  124. dr_mode = "otg";
  125. status = "okay";
  126. };
  127. &codec {
  128. allwinner,audio-routing =
  129. "Line Out", "LINEOUT",
  130. "LINEIN", "Line In",
  131. "MIC1", "Mic",
  132. "MIC2", "Mic",
  133. "Mic", "MBIAS";
  134. };
  135. &i2c0 {
  136. status = "okay";
  137. };