0001 %YAML 1.2
0002 ---
0003 $id: http://devicetree.org/schemas/bus/renesas,bsc.yaml#
0004 $schema: http://devicetree.org/meta-schemas/core.yaml#
0005
0006 title: Renesas Bus State Controller (BSC)
0007
0008 maintainers:
0009 - Geert Uytterhoeven <geert+renesas@glider.be>
0010
0011 description: |
0012 The Renesas Bus State Controller (BSC, sometimes called "LBSC within Bus
0013 Bridge", or "External Bus Interface") can be found in several Renesas ARM
0014 SoCs. It provides an external bus for connecting multiple external
0015 devices to the SoC, driving several chip select lines, for e.g. NOR
0016 FLASH, Ethernet and USB.
0017
0018 While the BSC is a fairly simple memory-mapped bus, it may be part of a
0019 PM domain, and may have a gateable functional clock. Before a device
0020 connected to the BSC can be accessed, the PM domain containing the BSC
0021 must be powered on, and the functional clock driving the BSC must be
0022 enabled.
0023
0024 The bindings for the BSC extend the bindings for "simple-pm-bus".
0025
0026 allOf:
0027 - $ref: simple-pm-bus.yaml#
0028
0029 properties:
0030 compatible:
0031 items:
0032 - enum:
0033 - renesas,bsc-r8a73a4 # R-Mobile APE6 (r8a73a4)
0034 - renesas,bsc-sh73a0 # SH-Mobile AG5 (sh73a0)
0035 - const: renesas,bsc
0036 - {} # simple-pm-bus, but not listed here to avoid false select
0037
0038 reg:
0039 maxItems: 1
0040
0041 interrupts:
0042 maxItems: 1
0043
0044 required:
0045 - reg
0046
0047 unevaluatedProperties: false
0048
0049 examples:
0050 - |
0051 #include <dt-bindings/interrupt-controller/irq.h>
0052
0053 bsc: bus@fec10000 {
0054 compatible = "renesas,bsc-sh73a0", "renesas,bsc", "simple-pm-bus";
0055 #address-cells = <1>;
0056 #size-cells = <1>;
0057 ranges = <0 0 0x20000000>;
0058 reg = <0xfec10000 0x400>;
0059 interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
0060 clocks = <&zb_clk>;
0061 power-domains = <&pd_a4s>;
0062 };