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