ae350.dts 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. /dts-v1/;
  2. / {
  3. #address-cells = <2>;
  4. #size-cells = <2>;
  5. compatible = "andestech,ax25";
  6. model = "andestech,ax25";
  7. aliases {
  8. uart0 = &serial0;
  9. spi0 = &spi;
  10. } ;
  11. chosen {
  12. bootargs = "console=ttyS0,38400n8 earlyprintk=uart8250-32bit,0xf0300000 debug loglevel=7";
  13. stdout-path = "uart0:38400n8";
  14. };
  15. cpus {
  16. #address-cells = <1>;
  17. #size-cells = <0>;
  18. timebase-frequency = <10000000>;
  19. CPU0: cpu@0 {
  20. device_type = "cpu";
  21. reg = <0>;
  22. status = "okay";
  23. compatible = "riscv";
  24. riscv,isa = "rv64imafdc";
  25. mmu-type = "riscv,sv39";
  26. clock-frequency = <60000000>;
  27. CPU0_intc: interrupt-controller {
  28. #interrupt-cells = <1>;
  29. interrupt-controller;
  30. compatible = "riscv,cpu-intc";
  31. };
  32. };
  33. };
  34. memory@0 {
  35. device_type = "memory";
  36. reg = <0x0 0x00000000 0x0 0x40000000>;
  37. };
  38. soc {
  39. #address-cells = <2>;
  40. #size-cells = <2>;
  41. compatible = "andestech,riscv-ae350-soc";
  42. ranges;
  43. };
  44. plmt0@e6000000 {
  45. compatible = "riscv,plmt0";
  46. interrupts-extended = <&CPU0_intc 7>;
  47. reg = <0x0 0xe6000000 0x0 0x100000>;
  48. };
  49. plic0: interrupt-controller@e4000000 {
  50. compatible = "riscv,plic0";
  51. #address-cells = <2>;
  52. #interrupt-cells = <2>;
  53. interrupt-controller;
  54. reg = <0x0 0xe4000000 0x0 0x2000000>;
  55. riscv,ndev=<31>;
  56. interrupts-extended = <&CPU0_intc 11 &CPU0_intc 9>;
  57. };
  58. plic1: interrupt-controller@e6400000 {
  59. compatible = "riscv,plic1";
  60. #address-cells = <2>;
  61. #interrupt-cells = <2>;
  62. interrupt-controller;
  63. reg = <0x0 0xe6400000 0x0 0x400000>;
  64. riscv,ndev=<1>;
  65. interrupts-extended = <&CPU0_intc 3>;
  66. };
  67. spiclk: virt_100mhz {
  68. #clock-cells = <0>;
  69. compatible = "fixed-clock";
  70. clock-frequency = <100000000>;
  71. };
  72. timer0: timer@f0400000 {
  73. compatible = "andestech,atcpit100";
  74. reg = <0x0 0xf0400000 0x0 0x1000>;
  75. clock-frequency = <40000000>;
  76. interrupts = <3 4>;
  77. interrupt-parent = <&plic0>;
  78. };
  79. serial0: serial@f0300000 {
  80. compatible = "andestech,uart16550", "ns16550a";
  81. reg = <0x0 0xf0300000 0x0 0x1000>;
  82. interrupts = <9 4>;
  83. clock-frequency = <19660800>;
  84. reg-shift = <2>;
  85. reg-offset = <32>;
  86. no-loopback-test = <1>;
  87. interrupt-parent = <&plic0>;
  88. };
  89. mac0: mac@e0100000 {
  90. compatible = "andestech,atmac100";
  91. reg = <0x0 0xe0100000 0x0 0x1000>;
  92. interrupts = <19 4>;
  93. interrupt-parent = <&plic0>;
  94. };
  95. mmc0: mmc@f0e00000 {
  96. compatible = "andestech,atfsdc010";
  97. max-frequency = <100000000>;
  98. clock-freq-min-max = <400000 100000000>;
  99. fifo-depth = <0x10>;
  100. reg = <0x0 0xf0e00000 0x0 0x1000>;
  101. interrupts = <18 4>;
  102. cap-sd-highspeed;
  103. interrupt-parent = <&plic0>;
  104. };
  105. smc0: smc@e0400000 {
  106. compatible = "andestech,atfsmc020";
  107. reg = <0x0 0xe0400000 0x0 0x1000>;
  108. };
  109. nor@0,0 {
  110. compatible = "cfi-flash";
  111. reg = <0x0 0x88000000 0x0 0x1000>;
  112. bank-width = <2>;
  113. device-width = <1>;
  114. };
  115. spi: spi@f0b00000 {
  116. compatible = "andestech,atcspi200";
  117. reg = <0x0 0xf0b00000 0x0 0x1000>;
  118. #address-cells = <1>;
  119. #size-cells = <0>;
  120. num-cs = <1>;
  121. clocks = <&spiclk>;
  122. interrupts = <3 4>;
  123. interrupt-parent = <&plic0>;
  124. flash@0 {
  125. compatible = "spi-flash";
  126. spi-max-frequency = <50000000>;
  127. reg = <0>;
  128. spi-cpol;
  129. spi-cpha;
  130. };
  131. };
  132. };