Commit 68d868ad authored by Bjorn Andersson's avatar Bjorn Andersson
Browse files

dt-bindings: soc: qcom: Introduce PMIC GLINK binding



The PMIC GLINK service, running on a coprocessor on some modern Qualcomm
platforms and implement USB Type-C handling and battery management.
This binding describes the component in the OS used to communicate with
the firmware and connect it's resources to those described in the
Devicetree, particularly the USB Type-C controllers relationship with
USB and DisplayPort components.

Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Tested-by: Konrad Dybcio <konrad.dybcio@linaro.org> # SM8350 PDX215
Signed-off-by: default avatarBjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20230201041853.1934355-2-quic_bjorande@quicinc.com
parent 1b929c02
Loading
Loading
Loading
Loading
+95 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/qcom/qcom,pmic-glink.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm PMIC GLINK firmware interface for battery management, USB
  Type-C and other things.

maintainers:
  - Bjorn Andersson <andersson@kernel.org>

description:
  The PMIC GLINK service, running on a coprocessor on some modern Qualcomm
  platforms and implement USB Type-C handling and battery management. This
  binding describes the component in the OS used to communicate with the
  firmware and connect it's resources to those described in the Devicetree,
  particularly the USB Type-C controllers relationship with USB and DisplayPort
  components.

properties:
  compatible:
    items:
      - enum:
          - qcom,sc8180x-pmic-glink
          - qcom,sc8280xp-pmic-glink
          - qcom,sm8350-pmic-glink
      - const: qcom,pmic-glink

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

patternProperties:
  '^connector@\d$':
    $ref: /schemas/connector/usb-connector.yaml#

    properties:
      reg: true

    required:
      - reg

    unevaluatedProperties: false

required:
  - compatible

additionalProperties: false

examples:
  - |+
    pmic-glink {
        compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";

        #address-cells = <1>;
        #size-cells = <0>;

        connector@0 {
            compatible = "usb-c-connector";
            reg = <0>;
            power-role = "dual";
            data-role = "dual";

            ports {
                #address-cells = <1>;
                #size-cells = <0>;

                port@0 {
                    reg = <0>;
                    endpoint {
                        remote-endpoint = <&usb_role>;
                    };
                };

                port@1 {
                    reg = <1>;
                    endpoint {
                        remote-endpoint = <&ss_phy_out>;
                    };
                };

                port@2 {
                    reg = <2>;
                    endpoint {
                        remote-endpoint = <&sbu_mux>;
                    };
                };
            };
        };
    };
...