diff --git a/bindings/soc/qcom/qcom,glink-pkt.yaml b/bindings/soc/qcom/qcom,glink-pkt.yaml new file mode 100644 index 00000000..d72d8528 --- /dev/null +++ b/bindings/soc/qcom/qcom,glink-pkt.yaml @@ -0,0 +1,90 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/qcom/glink-pkt.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: G-Link Packet Driver (glinkpkt) + +maintainers: + - Lei Han + +description: | + G-link packet drivers are companion adaptation driver which + use the kernel APIs to expose the Glink core logical channels + as charecter devices to the user-space clients. + +properties: + compatible: + const: qcom,glinkpkt + +patternProperties: + '^qcom,glinkpkt-[A-Za-z0-9_]+[A-Za-z0-9-]*$': + type: object + description: + qcom,glinkpkt-channel-names + + properties: + qcom,glinkpkt-transport: + $ref: '/schemas/types.yaml#/definitions/string' + maxItems: 1 + description: + The glinkpkt transport layer. + + qcom,glinkpkt-edge: + $ref: '/schemas/types.yaml#/definitions/string' + maxItems: 1 + description: + The remote subsystem name. + + qcom,glinkpkt-ch-name: + $ref: '/schemas/types.yaml#/definitions/string' + maxItems: 1 + description: + The glink channel name. + + qcom,glinkpkt-dev-name: + $ref: '/schemas/types.yaml#/definitions/string' + maxItems: 1 + description: + The glink device name. + + required: + - qcom,glinkpkt-transport + - qcom,glinkpkt-edge + - qcom,glinkpkt-ch-name + - qcom,glinkpkt-dev-name + + additionalProperties: false + +required: + - compatible + +additionalProperties: false + +examples: + - | + qcom,glink_pkt { + compatible = "qcom,glinkpkt"; + + qcom,glinkpkt-at-mdm0 { + qcom,glinkpkt-transport = "smd_trans"; + qcom,glinkpkt-edge = "mpss"; + qcom,glinkpkt-ch-name = "DS"; + qcom,glinkpkt-dev-name = "at_mdm0"; + }; + + qcom,glinkpkt-loopback-cntl { + qcom,glinkpkt-transport = "lloop"; + qcom,glinkpkt-edge = "local"; + qcom,glinkpkt-ch-name = "LOCAL_LOOPBACK_CLNT"; + qcom,glinkpkt-dev-name = "glink_pkt_loopback_ctrl"; + }; + + qcom,glinkpkt-loopback-data { + qcom,glinkpkt-transport = "lloop"; + qcom,glinkpkt-edge = "local"; + qcom,glinkpkt-ch-name = "glink_pkt_lloop_CLNT"; + qcom,glinkpkt-dev-name = "glink_pkt_loopback"; + }; + }; \ No newline at end of file