bcm2835.dtsi 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /include/ "skeleton.dtsi"
  2. / {
  3. compatible = "brcm,bcm2835";
  4. model = "BCM2835";
  5. interrupt-parent = <&intc>;
  6. chosen {
  7. bootargs = "earlyprintk console=ttyAMA0";
  8. };
  9. soc {
  10. compatible = "simple-bus";
  11. #address-cells = <1>;
  12. #size-cells = <1>;
  13. ranges = <0x7e000000 0x20000000 0x02000000>;
  14. timer {
  15. compatible = "brcm,bcm2835-system-timer";
  16. reg = <0x7e003000 0x1000>;
  17. interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
  18. clock-frequency = <1000000>;
  19. };
  20. intc: interrupt-controller {
  21. compatible = "brcm,bcm2835-armctrl-ic";
  22. reg = <0x7e00b200 0x200>;
  23. interrupt-controller;
  24. #interrupt-cells = <2>;
  25. };
  26. watchdog {
  27. compatible = "brcm,bcm2835-pm-wdt";
  28. reg = <0x7e100000 0x28>;
  29. };
  30. uart@20201000 {
  31. compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
  32. reg = <0x7e201000 0x1000>;
  33. interrupts = <2 25>;
  34. clock-frequency = <3000000>;
  35. };
  36. gpio: gpio {
  37. compatible = "brcm,bcm2835-gpio";
  38. reg = <0x7e200000 0xb4>;
  39. /*
  40. * The GPIO IP block is designed for 3 banks of GPIOs.
  41. * Each bank has a GPIO interrupt for itself.
  42. * There is an overall "any bank" interrupt.
  43. * In order, these are GIC interrupts 17, 18, 19, 20.
  44. * Since the BCM2835 only has 2 banks, the 2nd bank
  45. * interrupt output appears to be mirrored onto the
  46. * 3rd bank's interrupt signal.
  47. * So, a bank0 interrupt shows up on 17, 20, and
  48. * a bank1 interrupt shows up on 18, 19, 20!
  49. */
  50. interrupts = <2 17>, <2 18>, <2 19>, <2 20>;
  51. gpio-controller;
  52. #gpio-cells = <2>;
  53. interrupt-controller;
  54. #interrupt-cells = <2>;
  55. };
  56. };
  57. };