cu1000-neo.dts 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. // SPDX-License-Identifier: GPL-2.0
  2. /dts-v1/;
  3. #include "x1000.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,cu1000-neo", "ingenic,x1000e";
  9. model = "YSH & ATIL General Board CU1000-Neo";
  10. aliases {
  11. serial2 = &uart2;
  12. };
  13. chosen {
  14. stdout-path = "serial2:115200n8";
  15. };
  16. memory {
  17. device_type = "memory";
  18. reg = <0x0 0x04000000>;
  19. };
  20. leds {
  21. compatible = "gpio-leds";
  22. led-0 {
  23. gpios = <&gpb 21 GPIO_ACTIVE_HIGH>;
  24. linux,default-trigger = "mmc0";
  25. };
  26. };
  27. wlan_pwrseq: msc1-pwrseq {
  28. compatible = "mmc-pwrseq-simple";
  29. reset-gpios = <&gpc 17 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 X1000_CLK_RTC>;
  42. assigned-clock-parents = <&cgu X1000_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. &uart2 {
  50. status = "okay";
  51. pinctrl-names = "default";
  52. pinctrl-0 = <&pins_uart2>;
  53. };
  54. &ssi {
  55. status = "okay";
  56. num-cs = <2>;
  57. cs-gpios = <0>, <&gpc 20 GPIO_ACTIVE_LOW>;
  58. pinctrl-names = "default";
  59. pinctrl-0 = <&pins_ssi>;
  60. sc16is752: expander@0 {
  61. compatible = "nxp,sc16is752";
  62. reg = <0>; /* CE0 */
  63. spi-rx-bus-width = <1>;
  64. spi-tx-bus-width = <1>;
  65. spi-max-frequency = <4000000>;
  66. clocks = <&exclk_sc16is752>;
  67. interrupt-parent = <&gpc>;
  68. interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
  69. gpio-controller;
  70. #gpio-cells = <2>;
  71. exclk_sc16is752: sc16is752 {
  72. compatible = "fixed-clock";
  73. #clock-cells = <0>;
  74. clock-frequency = <48000000>;
  75. };
  76. };
  77. };
  78. &i2c0 {
  79. status = "okay";
  80. clock-frequency = <400000>;
  81. pinctrl-names = "default";
  82. pinctrl-0 = <&pins_i2c0>;
  83. ads7830: adc@48 {
  84. compatible = "ti,ads7830";
  85. reg = <0x48>;
  86. };
  87. };
  88. &msc0 {
  89. status = "okay";
  90. bus-width = <8>;
  91. max-frequency = <50000000>;
  92. pinctrl-names = "default";
  93. pinctrl-0 = <&pins_msc0>;
  94. non-removable;
  95. };
  96. &msc1 {
  97. status = "okay";
  98. #address-cells = <1>;
  99. #size-cells = <0>;
  100. bus-width = <4>;
  101. max-frequency = <50000000>;
  102. pinctrl-names = "default";
  103. pinctrl-0 = <&pins_msc1>;
  104. non-removable;
  105. mmc-pwrseq = <&wlan_pwrseq>;
  106. ap6212a: wifi@1 {
  107. compatible = "brcm,bcm4329-fmac";
  108. reg = <1>;
  109. interrupt-parent = <&gpc>;
  110. interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
  111. interrupt-names = "host-wake";
  112. brcm,drive-strength = <10>;
  113. };
  114. };
  115. &mac {
  116. status = "okay";
  117. phy-mode = "rmii";
  118. phy-handle = <&lan8720a>;
  119. pinctrl-names = "default";
  120. pinctrl-0 = <&pins_mac>;
  121. snps,reset-gpio = <&gpc 23 GPIO_ACTIVE_LOW>; /* PC23 */
  122. snps,reset-active-low;
  123. snps,reset-delays-us = <0 10000 30000>;
  124. };
  125. &mdio {
  126. status = "okay";
  127. lan8720a: ethernet-phy@0 {
  128. compatible = "ethernet-phy-id0007.c0f0", "ethernet-phy-ieee802.3-c22";
  129. reg = <0>;
  130. };
  131. };
  132. &otg_phy {
  133. status = "okay";
  134. };
  135. &otg {
  136. status = "okay";
  137. };
  138. &pinctrl {
  139. pins_uart2: uart2 {
  140. function = "uart2";
  141. groups = "uart2-data-d";
  142. bias-pull-up;
  143. };
  144. pins_ssi: ssi {
  145. function = "ssi";
  146. groups = "ssi-dt-d", "ssi-dr-d", "ssi-clk-d", "ssi-ce0-d";
  147. bias-disable;
  148. };
  149. pins_i2c0: i2c0 {
  150. function = "i2c0";
  151. groups = "i2c0-data";
  152. bias-pull-up;
  153. };
  154. pins_msc0: msc0 {
  155. function = "mmc0";
  156. groups = "mmc0-1bit", "mmc0-4bit", "mmc0-8bit";
  157. bias-disable;
  158. };
  159. pins_msc1: msc1 {
  160. function = "mmc1";
  161. groups = "mmc1-1bit", "mmc1-4bit";
  162. bias-disable;
  163. };
  164. pins_mac: mac {
  165. function = "mac";
  166. groups = "mac";
  167. bias-disable;
  168. };
  169. };