Documentation/devicetree/bindings/bus/renesas,bsc.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/bus/renesas,bsc.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/bus/renesas,bsc.yaml
Extension
.yaml
Size
1995 bytes
Lines
75
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

%YAML 1.2
---
$id: http://devicetree.org/schemas/bus/renesas,bsc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas Bus State Controller (BSC)

maintainers:
  - Geert Uytterhoeven <geert+renesas@glider.be>

description: |
  The Renesas Bus State Controller (BSC, sometimes called "LBSC within Bus
  Bridge", or "External Bus Interface") can be found in several Renesas ARM
  SoCs.  It provides an external bus for connecting multiple external
  devices to the SoC, driving several chip select lines, for e.g. NOR
  FLASH, Ethernet and USB.

  While the BSC is a fairly simple memory-mapped bus, it may be part of a
  PM domain, and may have a gateable functional clock.  Before a device
  connected to the BSC can be accessed, the PM domain containing the BSC
  must be powered on, and the functional clock driving the BSC must be
  enabled.

  The bindings for the BSC extend the bindings for "simple-pm-bus".

allOf:
  - $ref: simple-pm-bus.yaml#

properties:
  compatible:
    items:
      - enum:
          - renesas,bsc-r8a73a4  # R-Mobile APE6 (r8a73a4)
          - renesas,bsc-sh73a0   # SH-Mobile AG5 (sh73a0)
      - const: renesas,bsc
      - {} # simple-pm-bus, but not listed here to avoid false select

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

patternProperties:
  # All other properties should be child nodes with unit-address and 'reg'
  "@[0-9a-f]+$":
    type: object
    additionalProperties: true
    properties:
      reg:
        maxItems: 1

    required:
      - reg

required:
  - reg

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    bsc: bus@fec10000 {
        compatible = "renesas,bsc-sh73a0", "renesas,bsc", "simple-pm-bus";
        #address-cells = <1>;
        #size-cells = <1>;
        ranges = <0 0 0x20000000>;
        reg = <0xfec10000 0x400>;

Annotation

Implementation Notes