baikal,bt1-apb.yaml 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. # Copyright (C) 2020 BAIKAL ELECTRONICS, JSC
  3. %YAML 1.2
  4. ---
  5. $id: http://devicetree.org/schemas/bus/baikal,bt1-apb.yaml#
  6. $schema: http://devicetree.org/meta-schemas/core.yaml#
  7. title: Baikal-T1 APB-bus
  8. maintainers:
  9. - Serge Semin <fancer.lancer@gmail.com>
  10. description: |
  11. Baikal-T1 CPU or DMAC MMIO requests are handled by the AMBA 3 AXI Interconnect
  12. which routes them to the AXI-APB bridge. This interface is a single master
  13. multiple slaves bus in turn serializing IO accesses and routing them to the
  14. addressed APB slave devices. In case of any APB protocol collisions, slave
  15. device not responding on timeout an IRQ is raised with an erroneous address
  16. reported to the APB terminator (APB Errors Handler Block).
  17. allOf:
  18. - $ref: /schemas/simple-bus.yaml#
  19. properties:
  20. compatible:
  21. contains:
  22. const: baikal,bt1-apb
  23. reg:
  24. items:
  25. - description: APB EHB MMIO registers
  26. - description: APB MMIO region with no any device mapped
  27. reg-names:
  28. items:
  29. - const: ehb
  30. - const: nodev
  31. interrupts:
  32. maxItems: 1
  33. clocks:
  34. items:
  35. - description: APB reference clock
  36. clock-names:
  37. items:
  38. - const: pclk
  39. resets:
  40. items:
  41. - description: APB domain reset line
  42. reset-names:
  43. items:
  44. - const: prst
  45. unevaluatedProperties: false
  46. required:
  47. - compatible
  48. - reg
  49. - reg-names
  50. - interrupts
  51. - clocks
  52. - clock-names
  53. examples:
  54. - |
  55. #include <dt-bindings/interrupt-controller/mips-gic.h>
  56. bus@1f059000 {
  57. compatible = "baikal,bt1-apb", "simple-bus";
  58. reg = <0x1f059000 0x1000>,
  59. <0x1d000000 0x2040000>;
  60. reg-names = "ehb", "nodev";
  61. #address-cells = <1>;
  62. #size-cells = <1>;
  63. ranges;
  64. interrupts = <GIC_SHARED 16 IRQ_TYPE_LEVEL_HIGH>;
  65. clocks = <&ccu_sys 1>;
  66. clock-names = "pclk";
  67. resets = <&ccu_sys 1>;
  68. reset-names = "prst";
  69. };
  70. ...