cu1830-neo.dts 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. // SPDX-License-Identifier: GPL-2.0
  2. /dts-v1/;
  3. #include "x1830.dtsi"
  4. #include <dt-bindings/gpio/gpio.h>
  5. #include <dt-bindings/clock/ingenic,sysost.h>
  6. #include <dt-bindings/interrupt-controller/irq.h>
  7. / {
  8. compatible = "yna,cu1830-neo", "ingenic,x1830";
  9. model = "YSH & ATIL General Board CU1830-Neo";
  10. aliases {
  11. serial1 = &uart1;
  12. };
  13. chosen {
  14. stdout-path = "serial1:115200n8";
  15. };
  16. memory {
  17. device_type = "memory";
  18. reg = <0x0 0x08000000>;
  19. };
  20. leds {
  21. compatible = "gpio-leds";
  22. led-0 {
  23. gpios = <&gpc 17 GPIO_ACTIVE_HIGH>;
  24. linux,default-trigger = "mmc0";
  25. };
  26. };
  27. wlan_pwrseq: msc1-pwrseq {
  28. compatible = "mmc-pwrseq-simple";
  29. reset-gpios = <&gpc 13 GPIO_ACTIVE_LOW>;
  30. post-power-on-delay-ms = <200>;
  31. };
  32. };
  33. &exclk {
  34. clock-frequency = <24000000>;
  35. };
  36. &cgu {
  37. /*
  38. * Use the 32.768 kHz oscillator as the parent of the RTC for a higher
  39. * precision.
  40. */
  41. assigned-clocks = <&cgu X1830_CLK_RTC>;
  42. assigned-clock-parents = <&cgu X1830_CLK_RTCLK>;
  43. };
  44. &ost {
  45. /* 1500 kHz for the system timer and clocksource */
  46. assigned-clocks = <&ost OST_CLK_EVENT_TIMER>, <&ost OST_CLK_GLOBAL_TIMER>;
  47. assigned-clock-rates = <1500000>, <1500000>;
  48. };
  49. &uart1 {
  50. status = "okay";
  51. pinctrl-names = "default";
  52. pinctrl-0 = <&pins_uart1>;
  53. };
  54. &ssi0 {
  55. status = "okay";
  56. num-cs = <2>;
  57. pinctrl-names = "default";
  58. pinctrl-0 = <&pins_ssi0>;
  59. sc16is752: expander@0 {
  60. compatible = "nxp,sc16is752";
  61. reg = <0>; /* CE0 */
  62. spi-rx-bus-width = <1>;
  63. spi-tx-bus-width = <1>;
  64. spi-max-frequency = <4000000>;
  65. clocks = <&exclk_sc16is752>;
  66. interrupt-parent = <&gpb>;
  67. interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
  68. gpio-controller;
  69. #gpio-cells = <2>;
  70. exclk_sc16is752: sc16is752 {
  71. compatible = "fixed-clock";
  72. #clock-cells = <0>;
  73. clock-frequency = <48000000>;
  74. };
  75. };
  76. };
  77. &i2c0 {
  78. status = "okay";
  79. clock-frequency = <400000>;
  80. pinctrl-names = "default";
  81. pinctrl-0 = <&pins_i2c0>;
  82. ads7830: adc@48 {
  83. compatible = "ti,ads7830";
  84. reg = <0x48>;
  85. };
  86. };
  87. &dtrng {
  88. status = "okay";
  89. };
  90. &msc0 {
  91. status = "okay";
  92. bus-width = <4>;
  93. max-frequency = <50000000>;
  94. pinctrl-names = "default";
  95. pinctrl-0 = <&pins_msc0>;
  96. non-removable;
  97. };
  98. &msc1 {
  99. status = "okay";
  100. #address-cells = <1>;
  101. #size-cells = <0>;
  102. bus-width = <4>;
  103. max-frequency = <50000000>;
  104. pinctrl-names = "default";
  105. pinctrl-0 = <&pins_msc1>;
  106. non-removable;
  107. mmc-pwrseq = <&wlan_pwrseq>;
  108. ap6212a: wifi@1 {
  109. compatible = "brcm,bcm4329-fmac";
  110. reg = <1>;
  111. interrupt-parent = <&gpc>;
  112. interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
  113. interrupt-names = "host-wake";
  114. brcm,drive-strength = <10>;
  115. };
  116. };
  117. &mac {
  118. status = "okay";
  119. phy-mode = "rmii";
  120. phy-handle = <&ip101gr>;
  121. pinctrl-names = "default";
  122. pinctrl-0 = <&pins_mac>;
  123. snps,reset-gpio = <&gpb 28 GPIO_ACTIVE_LOW>; /* PB28 */
  124. snps,reset-active-low;
  125. snps,reset-delays-us = <0 10000 30000>;
  126. };
  127. &mdio {
  128. status = "okay";
  129. ip101gr: ethernet-phy@0 {
  130. compatible = "ethernet-phy-id0243.0c54", "ethernet-phy-ieee802.3-c22";
  131. reg = <0>;
  132. };
  133. };
  134. &otg_phy {
  135. status = "okay";
  136. };
  137. &otg {
  138. status = "okay";
  139. };
  140. &pinctrl {
  141. pins_uart1: uart1 {
  142. function = "uart1";
  143. groups = "uart1-data";
  144. bias-pull-up;
  145. };
  146. pins_ssi0: ssi0 {
  147. function = "ssi0";
  148. groups = "ssi0-dt", "ssi0-dr", "ssi0-clk", "ssi0-ce0", "ssi0-ce1";
  149. bias-disable;
  150. };
  151. pins_i2c0: i2c0 {
  152. function = "i2c0";
  153. groups = "i2c0-data";
  154. bias-pull-up;
  155. };
  156. pins_msc0: msc0 {
  157. function = "mmc0";
  158. groups = "mmc0-1bit", "mmc0-4bit";
  159. bias-disable;
  160. };
  161. pins_msc1: msc1 {
  162. function = "mmc1";
  163. groups = "mmc1-1bit", "mmc1-4bit";
  164. bias-disable;
  165. };
  166. pins_mac: mac {
  167. function = "mac";
  168. groups = "mac";
  169. bias-disable;
  170. };
  171. };