mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-19 09:04:51 +08:00
dt-bindings: slimbus: convert bus description to DT schema
Convert the SLIMbus bus description bindings to DT Schema. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20221118065246.6835-11-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
319a538d61
commit
c53627f83a
@ -1,60 +0,0 @@
|
|||||||
SLIM(Serial Low Power Interchip Media Bus) bus
|
|
||||||
|
|
||||||
SLIMbus is a 2-wire bus, and is used to communicate with peripheral
|
|
||||||
components like audio-codec.
|
|
||||||
|
|
||||||
Required property for SLIMbus controller node:
|
|
||||||
- compatible - name of SLIMbus controller
|
|
||||||
|
|
||||||
Child nodes:
|
|
||||||
Every SLIMbus controller node can contain zero or more child nodes
|
|
||||||
representing slave devices on the bus. Every SLIMbus slave device is
|
|
||||||
uniquely determined by the enumeration address containing 4 fields:
|
|
||||||
Manufacturer ID, Product code, Device index, and Instance value for
|
|
||||||
the device.
|
|
||||||
If child node is not present and it is instantiated after device
|
|
||||||
discovery (slave device reporting itself present).
|
|
||||||
|
|
||||||
In some cases it may be necessary to describe non-probeable device
|
|
||||||
details such as non-standard ways of powering up a device. In
|
|
||||||
such cases, child nodes for those devices will be present as
|
|
||||||
slaves of the SLIMbus controller, as detailed below.
|
|
||||||
|
|
||||||
Required property for SLIMbus child node if it is present:
|
|
||||||
- reg - Should be ('Device index', 'Instance ID') from SLIMbus
|
|
||||||
Enumeration Address.
|
|
||||||
Device Index Uniquely identifies multiple Devices within
|
|
||||||
a single Component.
|
|
||||||
Instance ID Is for the cases where multiple Devices of the
|
|
||||||
same type or Class are attached to the bus.
|
|
||||||
|
|
||||||
- compatible -"slimMID,PID". The textual representation of Manufacturer ID,
|
|
||||||
Product Code, shall be in lower case hexadecimal with leading
|
|
||||||
zeroes suppressed
|
|
||||||
|
|
||||||
Optional property for SLIMbus child node if it is present:
|
|
||||||
- slim-ifc-dev - Should be phandle to SLIMBus Interface device.
|
|
||||||
Required for devices which deal with streams.
|
|
||||||
|
|
||||||
SLIMbus example for Qualcomm's slimbus manager component:
|
|
||||||
|
|
||||||
slim@28080000 {
|
|
||||||
compatible = "qcom,apq8064-slim", "qcom,slim";
|
|
||||||
reg = <0x28080000 0x2000>,
|
|
||||||
interrupts = <0 33 0>;
|
|
||||||
clocks = <&lcc SLIMBUS_SRC>, <&lcc AUDIO_SLIMBUS_CLK>;
|
|
||||||
clock-names = "iface", "core";
|
|
||||||
#address-cells = <2>;
|
|
||||||
#size-cell = <0>;
|
|
||||||
|
|
||||||
codec_ifd: ifd@0,0{
|
|
||||||
compatible = "slim217,60";
|
|
||||||
reg = <0 0>;
|
|
||||||
};
|
|
||||||
|
|
||||||
codec: wcd9310@1,0{
|
|
||||||
compatible = "slim217,60";
|
|
||||||
reg = <1 0>;
|
|
||||||
slim-ifc-dev = <&codec_ifd>;
|
|
||||||
};
|
|
||||||
};
|
|
@ -5,8 +5,6 @@ with SLIMBus slaves directly over the bus using messaging interface and
|
|||||||
communicating with master component residing on ADSP for bandwidth and
|
communicating with master component residing on ADSP for bandwidth and
|
||||||
data-channel management
|
data-channel management
|
||||||
|
|
||||||
Please refer to slimbus/bus.txt for details of the common SLIMBus bindings.
|
|
||||||
|
|
||||||
- compatible:
|
- compatible:
|
||||||
Usage: required
|
Usage: required
|
||||||
Value type: <stringlist>
|
Value type: <stringlist>
|
||||||
|
@ -4,9 +4,6 @@ master component.
|
|||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
|
||||||
- #address-cells - refer to Documentation/devicetree/bindings/slimbus/bus.txt
|
|
||||||
- #size-cells - refer to Documentation/devicetree/bindings/slimbus/bus.txt
|
|
||||||
|
|
||||||
- reg : Offset and length of the register region(s) for the device
|
- reg : Offset and length of the register region(s) for the device
|
||||||
- reg-names : Register region name(s) referenced in reg above
|
- reg-names : Register region name(s) referenced in reg above
|
||||||
Required register resource entries are:
|
Required register resource entries are:
|
||||||
|
95
Documentation/devicetree/bindings/slimbus/slimbus.yaml
Normal file
95
Documentation/devicetree/bindings/slimbus/slimbus.yaml
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/slimbus/slimbus.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: SLIM (Serial Low Power Interchip Media) bus
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
|
||||||
|
|
||||||
|
description:
|
||||||
|
SLIMbus is a 2-wire bus, and is used to communicate with peripheral
|
||||||
|
components like audio-codec.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^slim(@.*|-[0-9a-f])*$"
|
||||||
|
|
||||||
|
"#address-cells":
|
||||||
|
const: 2
|
||||||
|
|
||||||
|
"#size-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^.*@[0-9a-f]+,[0-9a-f]+$":
|
||||||
|
type: object
|
||||||
|
description: |
|
||||||
|
Every SLIMbus controller node can contain zero or more child nodes
|
||||||
|
representing slave devices on the bus. Every SLIMbus slave device is
|
||||||
|
uniquely determined by the enumeration address containing 4 fields::
|
||||||
|
Manufacturer ID, Product code, Device index, and Instance value for the
|
||||||
|
device.
|
||||||
|
|
||||||
|
If child node is not present and it is instantiated after device
|
||||||
|
discovery (slave device reporting itself present).
|
||||||
|
|
||||||
|
In some cases it may be necessary to describe non-probeable device
|
||||||
|
details such as non-standard ways of powering up a device. In such cases,
|
||||||
|
child nodes for those devices will be present as slaves of the SLIMbus
|
||||||
|
controller.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
pattern: "^slim[0-9a-f]+,[0-9a-f]+$"
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
description: |
|
||||||
|
Pair of (device index, instande ID), where::
|
||||||
|
- Device index, which uniquely identifies multiple devices within a
|
||||||
|
single component.
|
||||||
|
- Instance ID, can be used for the cases where multiple devices of
|
||||||
|
the same type or class are attached to the bus.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: true
|
||||||
|
|
||||||
|
required:
|
||||||
|
- "#address-cells"
|
||||||
|
- "#size-cells"
|
||||||
|
|
||||||
|
additionalProperties: true
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/qcom,gcc-msm8960.h>
|
||||||
|
#include <dt-bindings/clock/qcom,lcc-msm8960.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
|
||||||
|
soc {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ranges;
|
||||||
|
|
||||||
|
slim@28080000 {
|
||||||
|
compatible = "qcom,apq8064-slim", "qcom,slim";
|
||||||
|
reg = <0x28080000 0x2000>, <0x80207c 4>;
|
||||||
|
reg-names = "ctrl", "slew";
|
||||||
|
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
clocks = <&lcc SLIMBUS_SRC>, <&lcc AUDIO_SLIMBUS_CLK>;
|
||||||
|
clock-names = "iface", "core";
|
||||||
|
#address-cells = <2>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
audio-codec@1,0 {
|
||||||
|
compatible = "slim217,60";
|
||||||
|
reg = <1 0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user