bcm2836.dtsi 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #include "bcm283x.dtsi"
  2. / {
  3. compatible = "brcm,bcm2836";
  4. soc {
  5. ranges = <0x7e000000 0x3f000000 0x1000000>,
  6. <0x40000000 0x40000000 0x00001000>;
  7. dma-ranges = <0xc0000000 0x00000000 0x3f000000>;
  8. local_intc: local_intc {
  9. compatible = "brcm,bcm2836-l1-intc";
  10. reg = <0x40000000 0x100>;
  11. interrupt-controller;
  12. #interrupt-cells = <1>;
  13. interrupt-parent = <&local_intc>;
  14. };
  15. arm-pmu {
  16. compatible = "arm,cortex-a7-pmu";
  17. interrupt-parent = <&local_intc>;
  18. interrupts = <9>;
  19. };
  20. };
  21. timer {
  22. compatible = "arm,armv7-timer";
  23. interrupt-parent = <&local_intc>;
  24. interrupts = <0>, // PHYS_SECURE_PPI
  25. <1>, // PHYS_NONSECURE_PPI
  26. <3>, // VIRT_PPI
  27. <2>; // HYP_PPI
  28. always-on;
  29. };
  30. cpus: cpus {
  31. #address-cells = <1>;
  32. #size-cells = <0>;
  33. v7_cpu0: cpu@0 {
  34. device_type = "cpu";
  35. compatible = "arm,cortex-a7";
  36. reg = <0xf00>;
  37. clock-frequency = <800000000>;
  38. };
  39. v7_cpu1: cpu@1 {
  40. device_type = "cpu";
  41. compatible = "arm,cortex-a7";
  42. reg = <0xf01>;
  43. clock-frequency = <800000000>;
  44. };
  45. v7_cpu2: cpu@2 {
  46. device_type = "cpu";
  47. compatible = "arm,cortex-a7";
  48. reg = <0xf02>;
  49. clock-frequency = <800000000>;
  50. };
  51. v7_cpu3: cpu@3 {
  52. device_type = "cpu";
  53. compatible = "arm,cortex-a7";
  54. reg = <0xf03>;
  55. clock-frequency = <800000000>;
  56. };
  57. };
  58. };
  59. /* Make the BCM2835-style global interrupt controller be a child of the
  60. * CPU-local interrupt controller.
  61. */
  62. &intc {
  63. compatible = "brcm,bcm2836-armctrl-ic";
  64. reg = <0x7e00b200 0x200>;
  65. interrupt-parent = <&local_intc>;
  66. interrupts = <8>;
  67. };