bcm2837.dtsi 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #include "bcm283x.dtsi"
  2. / {
  3. compatible = "brcm,bcm2837";
  4. soc {
  5. ranges = <0x7e000000 0x3f000000 0x1000000>,
  6. <0x40000000 0x40000000 0x00001000>;
  7. dma-ranges = <0xc0000000 0x00000000 0x3f000000>;
  8. local_intc: local_intc@40000000 {
  9. compatible = "brcm,bcm2836-l1-intc";
  10. reg = <0x40000000 0x100>;
  11. interrupt-controller;
  12. #interrupt-cells = <2>;
  13. interrupt-parent = <&local_intc>;
  14. };
  15. };
  16. arm-pmu {
  17. compatible = "arm,cortex-a53-pmu";
  18. interrupt-parent = <&local_intc>;
  19. interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
  20. };
  21. timer {
  22. compatible = "arm,armv7-timer";
  23. interrupt-parent = <&local_intc>;
  24. interrupts = <0 IRQ_TYPE_LEVEL_HIGH>, // PHYS_SECURE_PPI
  25. <1 IRQ_TYPE_LEVEL_HIGH>, // PHYS_NONSECURE_PPI
  26. <3 IRQ_TYPE_LEVEL_HIGH>, // VIRT_PPI
  27. <2 IRQ_TYPE_LEVEL_HIGH>; // HYP_PPI
  28. always-on;
  29. };
  30. cpus: cpus {
  31. #address-cells = <1>;
  32. #size-cells = <0>;
  33. enable-method = "brcm,bcm2836-smp"; // for ARM 32-bit
  34. cpu0: cpu@0 {
  35. device_type = "cpu";
  36. compatible = "arm,cortex-a53";
  37. reg = <0>;
  38. enable-method = "spin-table";
  39. cpu-release-addr = <0x0 0x000000d8>;
  40. };
  41. cpu1: cpu@1 {
  42. device_type = "cpu";
  43. compatible = "arm,cortex-a53";
  44. reg = <1>;
  45. enable-method = "spin-table";
  46. cpu-release-addr = <0x0 0x000000e0>;
  47. };
  48. cpu2: cpu@2 {
  49. device_type = "cpu";
  50. compatible = "arm,cortex-a53";
  51. reg = <2>;
  52. enable-method = "spin-table";
  53. cpu-release-addr = <0x0 0x000000e8>;
  54. };
  55. cpu3: cpu@3 {
  56. device_type = "cpu";
  57. compatible = "arm,cortex-a53";
  58. reg = <3>;
  59. enable-method = "spin-table";
  60. cpu-release-addr = <0x0 0x000000f0>;
  61. };
  62. };
  63. };
  64. /* Make the BCM2835-style global interrupt controller be a child of the
  65. * CPU-local interrupt controller.
  66. */
  67. &intc {
  68. compatible = "brcm,bcm2836-armctrl-ic";
  69. reg = <0x7e00b200 0x200>;
  70. interrupt-parent = <&local_intc>;
  71. interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
  72. };
  73. &cpu_thermal {
  74. coefficients = <(-538) 412000>;
  75. };
  76. /* enable thermal sensor with the correct compatible property set */
  77. &thermal {
  78. compatible = "brcm,bcm2837-thermal";
  79. status = "okay";
  80. };