Path: blob/master/Documentation/devicetree/bindings/access-controllers/access-controllers.yaml
26308 views
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)1%YAML 1.22---3$id: http://devicetree.org/schemas/access-controllers/access-controllers.yaml#4$schema: http://devicetree.org/meta-schemas/core.yaml#56title: Generic Domain Access Controllers78maintainers:9- Oleksii Moisieiev <oleksii_moisieiev@epam.com>1011description: |+12Common access controllers properties1314Access controllers are in charge of stating which of the hardware blocks under15their responsibility (their domain) can be accesssed by which compartment. A16compartment can be a cluster of CPUs (or coprocessors), a range of addresses17or a group of hardware blocks. An access controller's domain is the set of18resources covered by the access controller.1920This device tree binding can be used to bind devices to their access21controller provided by access-controllers property. In this case, the device22is a consumer and the access controller is the provider.2324An access controller can be represented by any node in the device tree and25can provide one or more configuration parameters, needed to control parameters26of the consumer device. A consumer node can refer to the provider by phandle27and a set of phandle arguments, specified by '#access-controller-cells'28property in the access controller node.2930Access controllers are typically used to set/read the permissions of a31hardware block and grant access to it. Any of which depends on the access32controller. The capabilities of each access controller are defined by the33binding of the access controller device.3435Each node can be a consumer for the several access controllers.3637# always select the core schema38select: true3940properties:41"#access-controller-cells":42description:43Number of cells in an access-controllers specifier;44Can be any value as specified by device tree binding documentation45of a particular provider. The node is an access controller.4647access-controller-names:48$ref: /schemas/types.yaml#/definitions/string-array49description:50A list of access-controllers names, sorted in the same order as51access-controllers entries. Consumer drivers will use52access-controller-names to match with existing access-controllers entries.5354access-controllers:55$ref: /schemas/types.yaml#/definitions/phandle-array56description:57A list of access controller specifiers, as defined by the58bindings of the access-controllers provider.5960additionalProperties: true6162examples:63- |64clock_controller: access-controllers@50000 {65reg = <0x50000 0x400>;66#access-controller-cells = <2>;67};6869bus_controller: bus@60000 {70reg = <0x60000 0x10000>;71#address-cells = <1>;72#size-cells = <1>;73ranges;74#access-controller-cells = <3>;7576uart4: serial@60100 {77reg = <0x60100 0x400>;78clocks = <&clk_serial>;79access-controllers = <&clock_controller 1 2>,80<&bus_controller 1 3 5>;81access-controller-names = "clock", "bus";82};83};848586