nsimosci_hs_idu.dts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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. /dts-v1/;
  9. /include/ "skeleton_hs_idu.dtsi"
  10. / {
  11. model = "snps,nsimosci_hs-smp";
  12. compatible = "snps,nsimosci_hs";
  13. #address-cells = <1>;
  14. #size-cells = <1>;
  15. interrupt-parent = <&core_intc>;
  16. chosen {
  17. /* this is for console on serial */
  18. bootargs = "earlycon=uart8250,mmio32,0xf0000000,115200n8 console=tty0 console=ttyS0,115200n8 consoleblan=0 debug video=640x480-24";
  19. };
  20. aliases {
  21. serial0 = &uart0;
  22. };
  23. fpga {
  24. compatible = "simple-bus";
  25. #address-cells = <1>;
  26. #size-cells = <1>;
  27. /* child and parent address space 1:1 mapped */
  28. ranges;
  29. core_clk: core_clk {
  30. #clock-cells = <0>;
  31. compatible = "fixed-clock";
  32. clock-frequency = <5000000>;
  33. };
  34. core_intc: core-interrupt-controller {
  35. compatible = "snps,archs-intc";
  36. interrupt-controller;
  37. #interrupt-cells = <1>;
  38. /* interrupts = <16 17 18 19 20 21 22 23 24 25>; */
  39. };
  40. idu_intc: idu-interrupt-controller {
  41. compatible = "snps,archs-idu-intc";
  42. interrupt-controller;
  43. interrupt-parent = <&core_intc>;
  44. /*
  45. * <hwirq distribution>
  46. * distribution: 0=RR; 1=cpu0, 2=cpu1, 4=cpu2, 8=cpu3
  47. */
  48. #interrupt-cells = <2>;
  49. /*
  50. * upstream irqs to core intc - downstream these are
  51. * "COMMON" irq 0,1..
  52. */
  53. interrupts = <24 25 26 27 28 29 30 31>;
  54. };
  55. uart0: serial@f0000000 {
  56. compatible = "ns8250";
  57. reg = <0xf0000000 0x2000>;
  58. interrupt-parent = <&idu_intc>;
  59. interrupts = <0 0>; /* cmn irq 0 -> cpu irq 24
  60. RR distribute to all cpus */
  61. clock-frequency = <3686400>;
  62. baud = <115200>;
  63. reg-shift = <2>;
  64. reg-io-width = <4>;
  65. no-loopback-test = <1>;
  66. };
  67. pguclk: pguclk {
  68. #clock-cells = <0>;
  69. compatible = "fixed-clock";
  70. clock-frequency = <25175000>;
  71. };
  72. pgu@f9000000 {
  73. compatible = "snps,arcpgu";
  74. reg = <0xf9000000 0x400>;
  75. clocks = <&pguclk>;
  76. clock-names = "pxlclk";
  77. };
  78. ps2: ps2@f9001000 {
  79. compatible = "snps,arc_ps2";
  80. reg = <0xf9000400 0x14>;
  81. interrupts = <3 0>;
  82. interrupt-parent = <&idu_intc>;
  83. interrupt-names = "arc_ps2_irq";
  84. };
  85. eth0: ethernet@f0003000 {
  86. compatible = "ezchip,nps-mgt-enet";
  87. reg = <0xf0003000 0x44>;
  88. interrupt-parent = <&idu_intc>;
  89. interrupts = <1 2>;
  90. };
  91. arcpct0: pct {
  92. compatible = "snps,archs-pct";
  93. #interrupt-cells = <1>;
  94. interrupts = <20>;
  95. };
  96. };
  97. };