xref: /openbmc/linux/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
168d868adSBjorn Andersson# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
268d868adSBjorn Andersson%YAML 1.2
368d868adSBjorn Andersson---
468d868adSBjorn Andersson$id: http://devicetree.org/schemas/soc/qcom/qcom,pmic-glink.yaml#
568d868adSBjorn Andersson$schema: http://devicetree.org/meta-schemas/core.yaml#
668d868adSBjorn Andersson
768d868adSBjorn Anderssontitle: Qualcomm PMIC GLINK firmware interface for battery management, USB
868d868adSBjorn Andersson  Type-C and other things.
968d868adSBjorn Andersson
1068d868adSBjorn Anderssonmaintainers:
1168d868adSBjorn Andersson  - Bjorn Andersson <andersson@kernel.org>
1268d868adSBjorn Andersson
1368d868adSBjorn Anderssondescription:
1468d868adSBjorn Andersson  The PMIC GLINK service, running on a coprocessor on some modern Qualcomm
1568d868adSBjorn Andersson  platforms and implement USB Type-C handling and battery management. This
1668d868adSBjorn Andersson  binding describes the component in the OS used to communicate with the
1768d868adSBjorn Andersson  firmware and connect it's resources to those described in the Devicetree,
1868d868adSBjorn Andersson  particularly the USB Type-C controllers relationship with USB and DisplayPort
1968d868adSBjorn Andersson  components.
2068d868adSBjorn Andersson
2168d868adSBjorn Anderssonproperties:
2268d868adSBjorn Andersson  compatible:
2368d868adSBjorn Andersson    items:
2468d868adSBjorn Andersson      - enum:
2568d868adSBjorn Andersson          - qcom,sc8180x-pmic-glink
2668d868adSBjorn Andersson          - qcom,sc8280xp-pmic-glink
2768d868adSBjorn Andersson          - qcom,sm8350-pmic-glink
2814bc45c4SNeil Armstrong          - qcom,sm8450-pmic-glink
29*84a33413SNeil Armstrong          - qcom,sm8550-pmic-glink
3068d868adSBjorn Andersson      - const: qcom,pmic-glink
3168d868adSBjorn Andersson
3268d868adSBjorn Andersson  '#address-cells':
3368d868adSBjorn Andersson    const: 1
3468d868adSBjorn Andersson
3568d868adSBjorn Andersson  '#size-cells':
3668d868adSBjorn Andersson    const: 0
3768d868adSBjorn Andersson
3868d868adSBjorn AnderssonpatternProperties:
3968d868adSBjorn Andersson  '^connector@\d$':
4068d868adSBjorn Andersson    $ref: /schemas/connector/usb-connector.yaml#
4168d868adSBjorn Andersson    required:
4268d868adSBjorn Andersson      - reg
4368d868adSBjorn Andersson
4468d868adSBjorn Anderssonrequired:
4568d868adSBjorn Andersson  - compatible
4668d868adSBjorn Andersson
4768d868adSBjorn AnderssonadditionalProperties: false
4868d868adSBjorn Andersson
4968d868adSBjorn Anderssonexamples:
5068d868adSBjorn Andersson  - |+
5168d868adSBjorn Andersson    pmic-glink {
5268d868adSBjorn Andersson        compatible = "qcom,sc8280xp-pmic-glink", "qcom,pmic-glink";
5368d868adSBjorn Andersson
5468d868adSBjorn Andersson        #address-cells = <1>;
5568d868adSBjorn Andersson        #size-cells = <0>;
5668d868adSBjorn Andersson
5768d868adSBjorn Andersson        connector@0 {
5868d868adSBjorn Andersson            compatible = "usb-c-connector";
5968d868adSBjorn Andersson            reg = <0>;
6068d868adSBjorn Andersson            power-role = "dual";
6168d868adSBjorn Andersson            data-role = "dual";
6268d868adSBjorn Andersson
6368d868adSBjorn Andersson            ports {
6468d868adSBjorn Andersson                #address-cells = <1>;
6568d868adSBjorn Andersson                #size-cells = <0>;
6668d868adSBjorn Andersson
6768d868adSBjorn Andersson                port@0 {
6868d868adSBjorn Andersson                    reg = <0>;
6968d868adSBjorn Andersson                    endpoint {
7068d868adSBjorn Andersson                        remote-endpoint = <&usb_role>;
7168d868adSBjorn Andersson                    };
7268d868adSBjorn Andersson                };
7368d868adSBjorn Andersson
7468d868adSBjorn Andersson                port@1 {
7568d868adSBjorn Andersson                    reg = <1>;
7668d868adSBjorn Andersson                    endpoint {
7768d868adSBjorn Andersson                        remote-endpoint = <&ss_phy_out>;
7868d868adSBjorn Andersson                    };
7968d868adSBjorn Andersson                };
8068d868adSBjorn Andersson
8168d868adSBjorn Andersson                port@2 {
8268d868adSBjorn Andersson                    reg = <2>;
8368d868adSBjorn Andersson                    endpoint {
8468d868adSBjorn Andersson                        remote-endpoint = <&sbu_mux>;
8568d868adSBjorn Andersson                    };
8668d868adSBjorn Andersson                };
8768d868adSBjorn Andersson            };
8868d868adSBjorn Andersson        };
8968d868adSBjorn Andersson    };
9068d868adSBjorn Andersson...
9168d868adSBjorn Andersson
92