axc003.dtsi 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. /*
  2. * Copyright (C) 2014-15 Synopsys, Inc. (www.synopsys.com)
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 as
  6. * published by the Free Software Foundation.
  7. */
  8. /*
  9. * Device tree for AXC003 CPU card: HS38x UP configuration
  10. */
  11. /include/ "skeleton_hs.dtsi"
  12. / {
  13. compatible = "snps,arc";
  14. #address-cells = <1>;
  15. #size-cells = <1>;
  16. cpu_card {
  17. compatible = "simple-bus";
  18. #address-cells = <1>;
  19. #size-cells = <1>;
  20. ranges = <0x00000000 0xf0000000 0x10000000>;
  21. core_clk: core_clk {
  22. #clock-cells = <0>;
  23. compatible = "fixed-clock";
  24. clock-frequency = <90000000>;
  25. };
  26. core_intc: archs-intc@cpu {
  27. compatible = "snps,archs-intc";
  28. interrupt-controller;
  29. #interrupt-cells = <1>;
  30. };
  31. /*
  32. * this GPIO block ORs all interrupts on CPU card (creg,..)
  33. * to uplink only 1 IRQ to ARC core intc
  34. */
  35. dw-apb-gpio@0x2000 {
  36. compatible = "snps,dw-apb-gpio";
  37. reg = < 0x2000 0x80 >;
  38. #address-cells = <1>;
  39. #size-cells = <0>;
  40. ictl_intc: gpio-controller@0 {
  41. compatible = "snps,dw-apb-gpio-port";
  42. gpio-controller;
  43. #gpio-cells = <2>;
  44. snps,nr-gpios = <30>;
  45. reg = <0>;
  46. interrupt-controller;
  47. #interrupt-cells = <2>;
  48. interrupt-parent = <&core_intc>;
  49. interrupts = <25>;
  50. };
  51. };
  52. debug_uart: dw-apb-uart@0x5000 {
  53. compatible = "snps,dw-apb-uart";
  54. reg = <0x5000 0x100>;
  55. clock-frequency = <33333000>;
  56. interrupt-parent = <&ictl_intc>;
  57. interrupts = <2 4>;
  58. baud = <115200>;
  59. reg-shift = <2>;
  60. reg-io-width = <4>;
  61. };
  62. arcpct0: pct {
  63. compatible = "snps,archs-pct";
  64. #interrupt-cells = <1>;
  65. interrupt-parent = <&core_intc>;
  66. interrupts = <20>;
  67. };
  68. };
  69. /*
  70. * The DW APB ICTL intc on MB is connected to CPU intc via a
  71. * DT "invisible" DW APB GPIO block, configured to simply pass thru
  72. * interrupts - setup accordinly in platform init (plat-axs10x/ax10x.c)
  73. *
  74. * So here we mimic a direct connection betwen them, ignoring the
  75. * ABPG GPIO. Thus set "interrupts = <24>" (DW APB GPIO to core)
  76. * instead of "interrupts = <12>" (DW APB ICTL to DW APB GPIO)
  77. *
  78. * This intc actually resides on MB, but we move it here to
  79. * avoid duplicating the MB dtsi file given that IRQ from
  80. * this intc to cpu intc are different for axs101 and axs103
  81. */
  82. mb_intc: dw-apb-ictl@0xe0012000 {
  83. #interrupt-cells = <1>;
  84. compatible = "snps,dw-apb-ictl";
  85. reg = < 0xe0012000 0x200 >;
  86. interrupt-controller;
  87. interrupt-parent = <&core_intc>;
  88. interrupts = < 24 >;
  89. };
  90. memory {
  91. #address-cells = <1>;
  92. #size-cells = <1>;
  93. ranges = <0x00000000 0x80000000 0x40000000>;
  94. device_type = "memory";
  95. reg = <0x80000000 0x20000000>; /* 512MiB */
  96. };
  97. reserved-memory {
  98. #address-cells = <1>;
  99. #size-cells = <1>;
  100. ranges;
  101. /*
  102. * Move frame buffer out of IOC aperture (0x8z-0xAz).
  103. */
  104. frame_buffer: frame_buffer@be000000 {
  105. compatible = "shared-dma-pool";
  106. reg = <0xbe000000 0x2000000>;
  107. no-map;
  108. };
  109. };
  110. };