bcm63138.dtsi 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. /*
  2. * Broadcom BCM63138 DSL SoCs Device Tree
  3. */
  4. #include <dt-bindings/interrupt-controller/arm-gic.h>
  5. #include <dt-bindings/interrupt-controller/irq.h>
  6. #include "skeleton.dtsi"
  7. / {
  8. compatible = "brcm,bcm63138";
  9. model = "Broadcom BCM63138 DSL SoC";
  10. interrupt-parent = <&gic>;
  11. aliases {
  12. uart0 = &serial0;
  13. uart1 = &serial1;
  14. };
  15. cpus {
  16. #address-cells = <1>;
  17. #size-cells = <0>;
  18. cpu@0 {
  19. device_type = "cpu";
  20. compatible = "arm,cortex-a9";
  21. next-level-cache = <&L2>;
  22. reg = <0>;
  23. };
  24. cpu@1 {
  25. device_type = "cpu";
  26. compatible = "arm,cortex-a9";
  27. next-level-cache = <&L2>;
  28. reg = <1>;
  29. };
  30. };
  31. clocks {
  32. #address-cells = <1>;
  33. #size-cells = <0>;
  34. arm_timer_clk: arm_timer_clk {
  35. #clock-cells = <0>;
  36. compatible = "fixed-clock";
  37. clock-frequency = <500000000>;
  38. };
  39. periph_clk: periph_clk {
  40. #clock-cells = <0>;
  41. compatible = "fixed-clock";
  42. clock-frequency = <50000000>;
  43. clock-output-names = "periph";
  44. };
  45. };
  46. /* ARM bus */
  47. axi@80000000 {
  48. compatible = "simple-bus";
  49. ranges = <0 0x80000000 0x784000>;
  50. #address-cells = <1>;
  51. #size-cells = <1>;
  52. L2: cache-controller@1d000 {
  53. compatible = "arm,pl310-cache";
  54. reg = <0x1d000 0x1000>;
  55. cache-unified;
  56. cache-level = <2>;
  57. cache-size = <524288>;
  58. cache-sets = <1024>;
  59. cache-line-size = <32>;
  60. interrupts = <GIC_PPI 0 IRQ_TYPE_LEVEL_HIGH>;
  61. };
  62. scu: scu@1e000 {
  63. compatible = "arm,cortex-a9-scu";
  64. reg = <0x1e000 0x100>;
  65. };
  66. gic: interrupt-controller@1e100 {
  67. compatible = "arm,cortex-a9-gic";
  68. reg = <0x1f000 0x1000
  69. 0x1e100 0x100>;
  70. #interrupt-cells = <3>;
  71. #address-cells = <0>;
  72. interrupt-controller;
  73. };
  74. global_timer: timer@1e200 {
  75. compatible = "arm,cortex-a9-global-timer";
  76. reg = <0x1e200 0x20>;
  77. interrupts = <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>;
  78. clocks = <&arm_timer_clk>;
  79. };
  80. local_timer: local-timer@1e600 {
  81. compatible = "arm,cortex-a9-twd-timer";
  82. reg = <0x1e600 0x20>;
  83. interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>;
  84. clocks = <&arm_timer_clk>;
  85. };
  86. twd_watchdog: watchdog@1e620 {
  87. compatible = "arm,cortex-a9-twd-wdt";
  88. reg = <0x1e620 0x20>;
  89. interupts = <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>;
  90. };
  91. };
  92. /* Legacy UBUS base */
  93. ubus@fffe8000 {
  94. compatible = "simple-bus";
  95. #address-cells = <1>;
  96. #size-cells = <1>;
  97. ranges = <0 0xfffe8000 0x8100>;
  98. serial0: serial@600 {
  99. compatible = "brcm,bcm6345-uart";
  100. reg = <0x600 0x1b>;
  101. interrupts = <GIC_SPI 32 0>;
  102. clocks = <&periph_clk>;
  103. clock-names = "periph";
  104. status = "disabled";
  105. };
  106. serial1: serial@620 {
  107. compatible = "brcm,bcm6345-uart";
  108. reg = <0x620 0x1b>;
  109. interrupts = <GIC_SPI 33 0>;
  110. clocks = <&periph_clk>;
  111. clock-names = "periph";
  112. status = "disabled";
  113. };
  114. };
  115. };