xref: /freebsd/sys/contrib/device-tree/Bindings/bus/renesas,bsc.yaml (revision 6be3386466ab79a84b48429ae66244f21526d3df)
1c66ec88fSEmmanuel Vadot%YAML 1.2
2c66ec88fSEmmanuel Vadot---
3c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/bus/renesas,bsc.yaml#
4c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
5c66ec88fSEmmanuel Vadot
6c66ec88fSEmmanuel Vadottitle: Renesas Bus State Controller (BSC)
7c66ec88fSEmmanuel Vadot
8c66ec88fSEmmanuel Vadotmaintainers:
9c66ec88fSEmmanuel Vadot  - Geert Uytterhoeven <geert+renesas@glider.be>
10c66ec88fSEmmanuel Vadot
11c66ec88fSEmmanuel Vadotdescription: |
12c66ec88fSEmmanuel Vadot  The Renesas Bus State Controller (BSC, sometimes called "LBSC within Bus
13c66ec88fSEmmanuel Vadot  Bridge", or "External Bus Interface") can be found in several Renesas ARM
14c66ec88fSEmmanuel Vadot  SoCs.  It provides an external bus for connecting multiple external
15c66ec88fSEmmanuel Vadot  devices to the SoC, driving several chip select lines, for e.g. NOR
16c66ec88fSEmmanuel Vadot  FLASH, Ethernet and USB.
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadot  While the BSC is a fairly simple memory-mapped bus, it may be part of a
19c66ec88fSEmmanuel Vadot  PM domain, and may have a gateable functional clock.  Before a device
20c66ec88fSEmmanuel Vadot  connected to the BSC can be accessed, the PM domain containing the BSC
21c66ec88fSEmmanuel Vadot  must be powered on, and the functional clock driving the BSC must be
22c66ec88fSEmmanuel Vadot  enabled.
23c66ec88fSEmmanuel Vadot
24c66ec88fSEmmanuel Vadot  The bindings for the BSC extend the bindings for "simple-pm-bus".
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel VadotallOf:
27c66ec88fSEmmanuel Vadot  - $ref: simple-pm-bus.yaml#
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel Vadotproperties:
30c66ec88fSEmmanuel Vadot  compatible:
31c66ec88fSEmmanuel Vadot    items:
32c66ec88fSEmmanuel Vadot      - enum:
33c66ec88fSEmmanuel Vadot          - renesas,bsc-r8a73a4  # R-Mobile APE6 (r8a73a4)
34c66ec88fSEmmanuel Vadot          - renesas,bsc-sh73a0   # SH-Mobile AG5 (sh73a0)
35c66ec88fSEmmanuel Vadot      - const: renesas,bsc
36c66ec88fSEmmanuel Vadot      - {} # simple-pm-bus, but not listed here to avoid false select
37c66ec88fSEmmanuel Vadot
38c66ec88fSEmmanuel Vadot  reg:
39c66ec88fSEmmanuel Vadot    maxItems: 1
40c66ec88fSEmmanuel Vadot
41c66ec88fSEmmanuel Vadot  interrupts:
42c66ec88fSEmmanuel Vadot    maxItems: 1
43c66ec88fSEmmanuel Vadot
44c66ec88fSEmmanuel Vadotrequired:
45c66ec88fSEmmanuel Vadot  - reg
46c66ec88fSEmmanuel Vadot
47*6be33864SEmmanuel VadotunevaluatedProperties: false
48*6be33864SEmmanuel Vadot
49c66ec88fSEmmanuel Vadotexamples:
50c66ec88fSEmmanuel Vadot  - |
51c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
52c66ec88fSEmmanuel Vadot
53c66ec88fSEmmanuel Vadot    bsc: bus@fec10000 {
54c66ec88fSEmmanuel Vadot        compatible = "renesas,bsc-sh73a0", "renesas,bsc", "simple-pm-bus";
55c66ec88fSEmmanuel Vadot        #address-cells = <1>;
56c66ec88fSEmmanuel Vadot        #size-cells = <1>;
57c66ec88fSEmmanuel Vadot        ranges = <0 0 0x20000000>;
58c66ec88fSEmmanuel Vadot        reg = <0xfec10000 0x400>;
59c66ec88fSEmmanuel Vadot        interrupts = <0 39 IRQ_TYPE_LEVEL_HIGH>;
60c66ec88fSEmmanuel Vadot        clocks = <&zb_clk>;
61c66ec88fSEmmanuel Vadot        power-domains = <&pd_a4s>;
62c66ec88fSEmmanuel Vadot    };
63