Message ID | 20231002-topic-sm8550-upstream-type-c-orientation-v2-1-125410d3ff95@linaro.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 65682407f8f4b9c583f672746980ec7ec6aaef4d |
Headers | show |
Series | arm64: qcom: sm8550: retrieve USB-C port orientation from gpio | expand |
On Mon, Oct 02, 2023 at 12:20:21PM +0200, Neil Armstrong wrote: > On SM8450 and SM8550 based platforms, the Type-C plug orientation is given on a > GPIO line for each connector which are set by the PMIC(s). > > Document this optional Type-C connector property, and take the > assumption an active level represents an inverted/flipped orientation. > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- > .../devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml > index bceb479f74c5..422921cf1f82 100644 > --- a/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml > +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml > @@ -35,6 +35,12 @@ properties: > '#size-cells': > const: 0 > > + orientation-gpios: > + description: Array of input gpios for the Type-C connector orientation indication. > + The GPIO indication is used to detect the orientation of the Type-C connector. > + The array should contain a gpio entry for each PMIC Glink connector, in reg order. > + It is defined that GPIO active level means "CC2" or Reversed/Flipped orientation. Shouldn't this node then have 'orientation-switch'?
On Fri, Oct 06, 2023 at 10:40:35AM -0500, Rob Herring wrote: > On Mon, Oct 02, 2023 at 12:20:21PM +0200, Neil Armstrong wrote: > > On SM8450 and SM8550 based platforms, the Type-C plug orientation is given on a > > GPIO line for each connector which are set by the PMIC(s). > > > > Document this optional Type-C connector property, and take the > > assumption an active level represents an inverted/flipped orientation. > > > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > > --- > > .../devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml | 19 +++++++++++++++++++ > > 1 file changed, 19 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml > > index bceb479f74c5..422921cf1f82 100644 > > --- a/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml > > +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml > > @@ -35,6 +35,12 @@ properties: > > '#size-cells': > > const: 0 > > > > + orientation-gpios: > > + description: Array of input gpios for the Type-C connector orientation indication. > > + The GPIO indication is used to detect the orientation of the Type-C connector. > > + The array should contain a gpio entry for each PMIC Glink connector, in reg order. > > + It is defined that GPIO active level means "CC2" or Reversed/Flipped orientation. > > Shouldn't this node then have 'orientation-switch'? The 'orientation-switch' property denotes that the node is the sink of a orientation switching event, but this node represents the source of such events (i.e. the connector-side). The array defines the gpio signal providing the current orientation for each of the listed usb-c-connectors under the node. Regards, Bjorn
diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml index bceb479f74c5..422921cf1f82 100644 --- a/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml @@ -35,6 +35,12 @@ properties: '#size-cells': const: 0 + orientation-gpios: + description: Array of input gpios for the Type-C connector orientation indication. + The GPIO indication is used to detect the orientation of the Type-C connector. + The array should contain a gpio entry for each PMIC Glink connector, in reg order. + It is defined that GPIO active level means "CC2" or Reversed/Flipped orientation. + patternProperties: '^connector@\d$': $ref: /schemas/connector/usb-connector.yaml# @@ -44,6 +50,19 @@ patternProperties: required: - compatible +allOf: + - if: + not: + properties: + compatible: + contains: + enum: + - qcom,sm8450-pmic-glink + - qcom,sm8550-pmic-glink + then: + properties: + orientation-gpios: false + additionalProperties: false examples:
On SM8450 and SM8550 based platforms, the Type-C plug orientation is given on a GPIO line for each connector which are set by the PMIC(s). Document this optional Type-C connector property, and take the assumption an active level represents an inverted/flipped orientation. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- .../devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)