bcm2835.dtsi 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include "bcm283x.dtsi"
  3. #include "bcm2835-common.dtsi"
  4. #include "bcm2835-rpi-common.dtsi"
  5. / {
  6. compatible = "brcm,bcm2835";
  7. cpus {
  8. #address-cells = <1>;
  9. #size-cells = <0>;
  10. cpu@0 {
  11. device_type = "cpu";
  12. compatible = "arm,arm1176jzf-s";
  13. reg = <0x0>;
  14. /* Source for d/i-cache-line-size and d/i-cache-sets
  15. * https://developer.arm.com/documentation/ddi0301
  16. * /h/level-one-memory-system/cache-organization?lang=en
  17. *
  18. * Source for d/i-cache-size
  19. * https://forums.raspberrypi.com/viewtopic.php?t=98428
  20. *
  21. * NOTE: The BCM2835 has a L2 cache but it is dedicated to the GPU
  22. * It can be shared with the CPU through fw settings,
  23. * but this is not recommended.
  24. */
  25. d-cache-size = <0x4000>;
  26. d-cache-line-size = <16>;
  27. d-cache-sets = <256>; // 16KiB(size)/16(line-size)=1024ways/4-way set
  28. i-cache-size = <0x4000>;
  29. i-cache-line-size = <16>;
  30. i-cache-sets = <256>; // 16KiB(size)/16(line-size)=1024ways/4-way set
  31. };
  32. };
  33. soc {
  34. ranges = <0x7e000000 0x20000000 0x02000000>;
  35. dma-ranges = <0x40000000 0x00000000 0x20000000>;
  36. };
  37. arm-pmu {
  38. compatible = "arm,arm1176-pmu";
  39. };
  40. };
  41. &cpu_thermal {
  42. coefficients = <(-538) 407000>;
  43. };
  44. /* enable thermal sensor with the correct compatible property set */
  45. &thermal {
  46. compatible = "brcm,bcm2835-thermal";
  47. status = "okay";
  48. };