brintos

brintos / linux-shallow public Read only

0
0
Text · 3.0 KiB · 99e2865 Raw
85 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/access-controllers/access-controllers.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Generic Domain Access Controllers8 9maintainers:10  - Oleksii Moisieiev <oleksii_moisieiev@epam.com>11 12description: |+13  Common access controllers properties14 15  Access controllers are in charge of stating which of the hardware blocks under16  their responsibility (their domain) can be accesssed by which compartment. A17  compartment can be a cluster of CPUs (or coprocessors), a range of addresses18  or a group of hardware blocks. An access controller's domain is the set of19  resources covered by the access controller.20 21  This device tree binding can be used to bind devices to their access22  controller provided by access-controllers property. In this case, the device23  is a consumer and the access controller is the provider.24 25  An access controller can be represented by any node in the device tree and26  can provide one or more configuration parameters, needed to control parameters27  of the consumer device. A consumer node can refer to the provider by phandle28  and a set of phandle arguments, specified by '#access-controller-cells'29  property in the access controller node.30 31  Access controllers are typically used to set/read the permissions of a32  hardware block and grant access to it. Any of which depends on the access33  controller. The capabilities of each access controller are defined by the34  binding of the access controller device.35 36  Each node can be a consumer for the several access controllers.37 38# always select the core schema39select: true40 41properties:42  "#access-controller-cells":43    description:44      Number of cells in an access-controllers specifier;45      Can be any value as specified by device tree binding documentation46      of a particular provider. The node is an access controller.47 48  access-controller-names:49    $ref: /schemas/types.yaml#/definitions/string-array50    description:51      A list of access-controllers names, sorted in the same order as52      access-controllers entries. Consumer drivers will use53      access-controller-names to match with existing access-controllers entries.54 55  access-controllers:56    $ref: /schemas/types.yaml#/definitions/phandle-array57    description:58      A list of access controller specifiers, as defined by the59      bindings of the access-controllers provider.60 61additionalProperties: true62 63examples:64  - |65    clock_controller: access-controllers@50000 {66        reg = <0x50000 0x400>;67        #access-controller-cells = <2>;68    };69 70    bus_controller: bus@60000 {71        reg = <0x60000 0x10000>;72        #address-cells = <1>;73        #size-cells = <1>;74        ranges;75        #access-controller-cells = <3>;76 77        uart4: serial@60100 {78            reg = <0x60100 0x400>;79            clocks = <&clk_serial>;80            access-controllers = <&clock_controller 1 2>,81                                 <&bus_controller 1 3 5>;82            access-controller-names = "clock", "bus";83        };84    };85