Message ID | 20230323102605.6.I291ce0ba2c6ea80b341659c4f75a567a76dd7ca6@changeid (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | Control Quad SPI pinctrl better on Qualcomm Chromebooks | expand |
On 23/03/2023 18:30, Douglas Anderson wrote: > As evidenced by the Qualcomm TLMM Linux driver, the TLMM IP block in > Qualcomm SoCs has a bit to enable/disable the output for a pin that's > configured as a GPIO but _not_ a bit to enable/disable an input > buffer. Current device trees that are specifying "input-enable" for > pins managed by TLMM are either doing so needlessly or are using it to > mean "output-disable". > > Presumably the current convention of using "input-enable" to mean > "output-disable" stems from the fact that "output-disable" is a "new" > property from 2017. It was introduced in commit 425562429d4f > ("pinctrl: generic: Add output-enable property"). The "input-enable" > handling in Qualcomm drivers is from 2015 introduced in commit > 407f5e392f9c ("pinctrl: qcom: handle input-enable pinconf property"). > > Given that there's no other use for "input-enable" for TLMM, we can > still handle old device trees in code, but let's encourage people to > move to the proper / documented property by updating the bindings. > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,tlmm-common.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,tlmm-common.yaml index cb5ba1bd6f8d..5a815c199642 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,tlmm-common.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,tlmm-common.yaml @@ -75,7 +75,8 @@ $defs: bias-pull-down: true bias-pull-up: true bias-disable: true - input-enable: true + input-enable: false + output-disable: true output-high: true output-low: true
As evidenced by the Qualcomm TLMM Linux driver, the TLMM IP block in Qualcomm SoCs has a bit to enable/disable the output for a pin that's configured as a GPIO but _not_ a bit to enable/disable an input buffer. Current device trees that are specifying "input-enable" for pins managed by TLMM are either doing so needlessly or are using it to mean "output-disable". Presumably the current convention of using "input-enable" to mean "output-disable" stems from the fact that "output-disable" is a "new" property from 2017. It was introduced in commit 425562429d4f ("pinctrl: generic: Add output-enable property"). The "input-enable" handling in Qualcomm drivers is from 2015 introduced in commit 407f5e392f9c ("pinctrl: qcom: handle input-enable pinconf property"). Given that there's no other use for "input-enable" for TLMM, we can still handle old device trees in code, but let's encourage people to move to the proper / documented property by updating the bindings. Signed-off-by: Douglas Anderson <dianders@chromium.org> --- .../devicetree/bindings/pinctrl/qcom,tlmm-common.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)