treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / Documentation / devicetree / bindings / bus / renesas,bsc.yaml
blob7d10b62a52d5714c19a12d7b3e5de385bc8da96d
1 %YAML 1.2
2 ---
3 $id: http://devicetree.org/schemas/bus/renesas,bsc.yaml#
4 $schema: http://devicetree.org/meta-schemas/core.yaml#
6 title: Renesas Bus State Controller (BSC)
8 maintainers:
9   - Geert Uytterhoeven <geert+renesas@glider.be>
11 description: |
12   The Renesas Bus State Controller (BSC, sometimes called "LBSC within Bus
13   Bridge", or "External Bus Interface") can be found in several Renesas ARM
14   SoCs.  It provides an external bus for connecting multiple external
15   devices to the SoC, driving several chip select lines, for e.g. NOR
16   FLASH, Ethernet and USB.
18   While the BSC is a fairly simple memory-mapped bus, it may be part of a
19   PM domain, and may have a gateable functional clock.  Before a device
20   connected to the BSC can be accessed, the PM domain containing the BSC
21   must be powered on, and the functional clock driving the BSC must be
22   enabled.
24   The bindings for the BSC extend the bindings for "simple-pm-bus".
26 allOf:
27   - $ref: simple-pm-bus.yaml#
29 properties:
30   compatible:
31     items:
32       - enum:
33           - renesas,bsc-r8a73a4  # R-Mobile APE6 (r8a73a4)
34           - renesas,bsc-sh73a0   # SH-Mobile AG5 (sh73a0)
35       - const: renesas,bsc
36       - {} # simple-pm-bus, but not listed here to avoid false select
38   reg:
39     maxItems: 1
41   interrupts:
42     maxItems: 1
44 required:
45   - reg
47 examples:
48   - |
49     #include <dt-bindings/interrupt-controller/irq.h>
51     bsc: bus@fec10000 {
52         compatible = "renesas,bsc-sh73a0", "renesas,bsc", "simple-pm-bus";
53         #address-cells = <1>;
54         #size-cells = <1>;
55         ranges = <0 0 0x20000000>;
56         reg = <0xfec10000 0x400>;
57         interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
58         clocks = <&zb_clk>;
59         power-domains = <&pd_a4s>;
60     };