r9a07g043f.dtsi 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. /*
  3. * Device Tree Source for the RZ/Five SoC
  4. *
  5. * Copyright (C) 2022 Renesas Electronics Corp.
  6. */
  7. #include <dt-bindings/interrupt-controller/irq.h>
  8. #define SOC_PERIPHERAL_IRQ(nr) (nr + 32)
  9. #include <arm64/renesas/r9a07g043.dtsi>
  10. / {
  11. cpus {
  12. #address-cells = <1>;
  13. #size-cells = <0>;
  14. timebase-frequency = <12000000>;
  15. cpu0: cpu@0 {
  16. compatible = "andestech,ax45mp", "riscv";
  17. device_type = "cpu";
  18. #cooling-cells = <2>;
  19. reg = <0x0>;
  20. status = "okay";
  21. riscv,isa = "rv64imafdc";
  22. riscv,isa-base = "rv64i";
  23. riscv,isa-extensions = "i", "m", "a", "f", "d", "c",
  24. "zicntr", "zicsr", "zifencei",
  25. "zihpm", "xandespmu";
  26. mmu-type = "riscv,sv39";
  27. i-cache-size = <0x8000>;
  28. i-cache-line-size = <0x40>;
  29. d-cache-size = <0x8000>;
  30. d-cache-line-size = <0x40>;
  31. next-level-cache = <&l2cache>;
  32. clocks = <&cpg CPG_CORE R9A07G043_CLK_I>;
  33. operating-points-v2 = <&cluster0_opp>;
  34. cpu0_intc: interrupt-controller {
  35. #interrupt-cells = <1>;
  36. compatible = "andestech,cpu-intc", "riscv,cpu-intc";
  37. interrupt-controller;
  38. };
  39. };
  40. };
  41. };
  42. &pinctrl {
  43. gpio-ranges = <&pinctrl 0 0 232>;
  44. };
  45. &soc {
  46. dma-noncoherent;
  47. interrupt-parent = <&plic>;
  48. irqc: interrupt-controller@110a0000 {
  49. compatible = "renesas,r9a07g043f-irqc";
  50. reg = <0 0x110a0000 0 0x20000>;
  51. #interrupt-cells = <2>;
  52. #address-cells = <0>;
  53. interrupt-controller;
  54. interrupts = <32 IRQ_TYPE_LEVEL_HIGH>,
  55. <33 IRQ_TYPE_LEVEL_HIGH>,
  56. <34 IRQ_TYPE_LEVEL_HIGH>,
  57. <35 IRQ_TYPE_LEVEL_HIGH>,
  58. <36 IRQ_TYPE_LEVEL_HIGH>,
  59. <37 IRQ_TYPE_LEVEL_HIGH>,
  60. <38 IRQ_TYPE_LEVEL_HIGH>,
  61. <39 IRQ_TYPE_LEVEL_HIGH>,
  62. <40 IRQ_TYPE_LEVEL_HIGH>,
  63. <476 IRQ_TYPE_LEVEL_HIGH>,
  64. <477 IRQ_TYPE_LEVEL_HIGH>,
  65. <478 IRQ_TYPE_LEVEL_HIGH>,
  66. <479 IRQ_TYPE_LEVEL_HIGH>,
  67. <480 IRQ_TYPE_LEVEL_HIGH>,
  68. <481 IRQ_TYPE_LEVEL_HIGH>,
  69. <482 IRQ_TYPE_LEVEL_HIGH>,
  70. <483 IRQ_TYPE_LEVEL_HIGH>,
  71. <484 IRQ_TYPE_LEVEL_HIGH>,
  72. <485 IRQ_TYPE_LEVEL_HIGH>,
  73. <486 IRQ_TYPE_LEVEL_HIGH>,
  74. <487 IRQ_TYPE_LEVEL_HIGH>,
  75. <488 IRQ_TYPE_LEVEL_HIGH>,
  76. <489 IRQ_TYPE_LEVEL_HIGH>,
  77. <490 IRQ_TYPE_LEVEL_HIGH>,
  78. <491 IRQ_TYPE_LEVEL_HIGH>,
  79. <492 IRQ_TYPE_LEVEL_HIGH>,
  80. <493 IRQ_TYPE_LEVEL_HIGH>,
  81. <494 IRQ_TYPE_LEVEL_HIGH>,
  82. <495 IRQ_TYPE_LEVEL_HIGH>,
  83. <496 IRQ_TYPE_LEVEL_HIGH>,
  84. <497 IRQ_TYPE_LEVEL_HIGH>,
  85. <498 IRQ_TYPE_LEVEL_HIGH>,
  86. <499 IRQ_TYPE_LEVEL_HIGH>,
  87. <500 IRQ_TYPE_LEVEL_HIGH>,
  88. <501 IRQ_TYPE_LEVEL_HIGH>,
  89. <502 IRQ_TYPE_LEVEL_HIGH>,
  90. <503 IRQ_TYPE_LEVEL_HIGH>,
  91. <504 IRQ_TYPE_LEVEL_HIGH>,
  92. <505 IRQ_TYPE_LEVEL_HIGH>,
  93. <506 IRQ_TYPE_LEVEL_HIGH>,
  94. <507 IRQ_TYPE_LEVEL_HIGH>,
  95. <57 IRQ_TYPE_LEVEL_HIGH>,
  96. <66 IRQ_TYPE_EDGE_RISING>,
  97. <67 IRQ_TYPE_EDGE_RISING>,
  98. <68 IRQ_TYPE_EDGE_RISING>,
  99. <69 IRQ_TYPE_EDGE_RISING>,
  100. <70 IRQ_TYPE_EDGE_RISING>,
  101. <71 IRQ_TYPE_EDGE_RISING>;
  102. interrupt-names = "nmi",
  103. "irq0", "irq1", "irq2", "irq3",
  104. "irq4", "irq5", "irq6", "irq7",
  105. "tint0", "tint1", "tint2", "tint3",
  106. "tint4", "tint5", "tint6", "tint7",
  107. "tint8", "tint9", "tint10", "tint11",
  108. "tint12", "tint13", "tint14", "tint15",
  109. "tint16", "tint17", "tint18", "tint19",
  110. "tint20", "tint21", "tint22", "tint23",
  111. "tint24", "tint25", "tint26", "tint27",
  112. "tint28", "tint29", "tint30", "tint31",
  113. "bus-err", "ec7tie1-0", "ec7tie2-0",
  114. "ec7tiovf-0", "ec7tie1-1", "ec7tie2-1",
  115. "ec7tiovf-1";
  116. clocks = <&cpg CPG_MOD R9A07G043_IAX45_CLK>,
  117. <&cpg CPG_MOD R9A07G043_IAX45_PCLK>;
  118. clock-names = "clk", "pclk";
  119. power-domains = <&cpg>;
  120. resets = <&cpg R9A07G043_IAX45_RESETN>;
  121. };
  122. plic: interrupt-controller@12c00000 {
  123. compatible = "renesas,r9a07g043-plic", "andestech,nceplic100";
  124. #interrupt-cells = <2>;
  125. #address-cells = <0>;
  126. riscv,ndev = <511>;
  127. interrupt-controller;
  128. reg = <0x0 0x12c00000 0 0x400000>;
  129. clocks = <&cpg CPG_MOD R9A07G043_NCEPLIC_ACLK>;
  130. power-domains = <&cpg>;
  131. resets = <&cpg R9A07G043_NCEPLIC_ARESETN>;
  132. interrupts-extended = <&cpu0_intc 11 &cpu0_intc 9>;
  133. };
  134. l2cache: cache-controller@13400000 {
  135. compatible = "andestech,ax45mp-cache", "cache";
  136. reg = <0x0 0x13400000 0x0 0x100000>;
  137. interrupts = <SOC_PERIPHERAL_IRQ(476) IRQ_TYPE_LEVEL_HIGH>;
  138. cache-size = <0x40000>;
  139. cache-line-size = <64>;
  140. cache-sets = <1024>;
  141. cache-unified;
  142. cache-level = <2>;
  143. };
  144. };