axc003.dtsi 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. / {
  12. compatible = "snps,arc";
  13. clock-frequency = <90000000>;
  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. cpu_intc: archs-intc@cpu {
  22. compatible = "snps,archs-intc";
  23. interrupt-controller;
  24. #interrupt-cells = <1>;
  25. };
  26. /*
  27. * this GPIO block ORs all interrupts on CPU card (creg,..)
  28. * to uplink only 1 IRQ to ARC core intc
  29. */
  30. dw-apb-gpio@0x2000 {
  31. compatible = "snps,dw-apb-gpio";
  32. reg = < 0x2000 0x80 >;
  33. #address-cells = <1>;
  34. #size-cells = <0>;
  35. ictl_intc: gpio-controller@0 {
  36. compatible = "snps,dw-apb-gpio-port";
  37. gpio-controller;
  38. #gpio-cells = <2>;
  39. snps,nr-gpios = <30>;
  40. reg = <0>;
  41. interrupt-controller;
  42. #interrupt-cells = <2>;
  43. interrupt-parent = <&cpu_intc>;
  44. interrupts = <25>;
  45. };
  46. };
  47. debug_uart: dw-apb-uart@0x5000 {
  48. compatible = "snps,dw-apb-uart";
  49. reg = <0x5000 0x100>;
  50. clock-frequency = <33333000>;
  51. interrupt-parent = <&ictl_intc>;
  52. interrupts = <2 4>;
  53. baud = <115200>;
  54. reg-shift = <2>;
  55. reg-io-width = <4>;
  56. };
  57. arcpct0: pct {
  58. compatible = "snps,archs-pct";
  59. #interrupt-cells = <1>;
  60. interrupt-parent = <&cpu_intc>;
  61. interrupts = <20>;
  62. };
  63. };
  64. /*
  65. * The DW APB ICTL intc on MB is connected to CPU intc via a
  66. * DT "invisible" DW APB GPIO block, configured to simply pass thru
  67. * interrupts - setup accordinly in platform init (plat-axs10x/ax10x.c)
  68. *
  69. * So here we mimic a direct connection betwen them, ignoring the
  70. * ABPG GPIO. Thus set "interrupts = <24>" (DW APB GPIO to core)
  71. * instead of "interrupts = <12>" (DW APB ICTL to DW APB GPIO)
  72. *
  73. * This intc actually resides on MB, but we move it here to
  74. * avoid duplicating the MB dtsi file given that IRQ from
  75. * this intc to cpu intc are different for axs101 and axs103
  76. */
  77. mb_intc: dw-apb-ictl@0xe0012000 {
  78. #interrupt-cells = <1>;
  79. compatible = "snps,dw-apb-ictl";
  80. reg = < 0xe0012000 0x200 >;
  81. interrupt-controller;
  82. interrupt-parent = <&cpu_intc>;
  83. interrupts = < 24 >;
  84. };
  85. memory {
  86. #address-cells = <1>;
  87. #size-cells = <1>;
  88. ranges = <0x00000000 0x80000000 0x40000000>;
  89. device_type = "memory";
  90. reg = <0x80000000 0x20000000>; /* 512MiB */
  91. };
  92. };