Documentation/devicetree/bindings/bus/socionext,uniphier-system-bus.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/bus/socionext,uniphier-system-bus.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/bus/socionext,uniphier-system-bus.yaml
Extension
.yaml
Size
3431 bytes
Lines
104
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

# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/bus/socionext,uniphier-system-bus.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: UniPhier System Bus

description: |
  The UniPhier System Bus is an external bus that connects on-board devices to
  the UniPhier SoC. It is a simple (semi-)parallel bus with address, data, and
  some control signals. It supports up to 8 banks (chip selects).

  Before any access to the bus, the bus controller must be configured; the bus
  controller registers provide the control for the translation from the offset
  within each bank to the CPU-viewed address. The needed setup includes the
  base address, the size of each bank. Optionally, some timing parameters can
  be optimized for faster bus access.

maintainers:
  - Masahiro Yamada <yamada.masahiro@socionext.com>

properties:
  compatible:
    const: socionext,uniphier-system-bus

  reg:
    maxItems: 1

  "#address-cells":
    description: |
      The first cell is the bank number (chip select).
      The second cell is the address offset within the bank.
    const: 2

  "#size-cells":
    const: 1

  ranges:
    description: |
      Provide address translation from the System Bus to the parent bus.

      Note:
      The address region(s) that can be assigned for the System Bus is
      implementation defined. Some SoCs can use 0x00000000-0x0fffffff and
      0x40000000-0x4fffffff, while other SoCs only 0x40000000-0x4fffffff.
      There might be additional limitations depending on SoCs and the boot mode.
      The address translation is arbitrary as long as the banks are assigned in
      the supported address space with the required alignment and they do not
      overlap one another.

      For example, it is possible to map:
        bank 0 to 0x42000000-0x43ffffff, bank 5 to 0x46000000-0x46ffffff
      It is also possible to map:
        bank 0 to 0x48000000-0x49ffffff, bank 5 to 0x44000000-0x44ffffff
      There is no reason to stick to a particular translation mapping, but the
      "ranges" property should provide a "reasonable" default that is known to
      work. The software should initialize the bus controller according to it.

patternProperties:
  "^.*@[1-5],[1-9a-f][0-9a-f]+$":
    description: Devices attached to chip selects
    type: object

required:
  - compatible
  - reg
  - "#address-cells"
  - "#size-cells"
  - ranges

Annotation

Implementation Notes