Commit 647dbd1e authored by Stephen Boyd's avatar Stephen Boyd Committed by Linus Walleij

pinctrl: qcom: Add generic ssbi and spmi GPIO/MPP bindings

The drivers don't really need to know which PMIC they're for, so
make a generic binding for them. This alleviates us from updating
the drivers every time a new PMIC comes out. It's still
recommended that we update the binding with new PMIC models and
always specify the specific model for the MPPs and gpios before
the generic compatible string in devicetree, but this at least
cuts down on adding more and more compatible strings to the
drivers until we actually need them.

Cc: <devicetree@vger.kernel.org>
Acked-by: default avatar"Ivan T. Ivanov" <iivanov.xz@gmail.com>
Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@sonymobile.com>
Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 2e477079
...@@ -17,6 +17,9 @@ PMIC's from Qualcomm. ...@@ -17,6 +17,9 @@ PMIC's from Qualcomm.
"qcom,pm8994-gpio" "qcom,pm8994-gpio"
"qcom,pma8084-gpio" "qcom,pma8084-gpio"
And must contain either "qcom,spmi-gpio" or "qcom,ssbi-gpio"
if the device is on an spmi bus or an ssbi bus respectively
- reg: - reg:
Usage: required Usage: required
Value type: <prop-encoded-array> Value type: <prop-encoded-array>
...@@ -183,7 +186,7 @@ to specify in a pin configuration subnode: ...@@ -183,7 +186,7 @@ to specify in a pin configuration subnode:
Example: Example:
pm8921_gpio: gpio@150 { pm8921_gpio: gpio@150 {
compatible = "qcom,pm8921-gpio"; compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio";
reg = <0x150 0x160>; reg = <0x150 0x160>;
interrupts = <192 1>, <193 1>, <194 1>, interrupts = <192 1>, <193 1>, <194 1>,
<195 1>, <196 1>, <197 1>, <195 1>, <196 1>, <197 1>,
......
...@@ -19,6 +19,9 @@ of PMIC's from Qualcomm. ...@@ -19,6 +19,9 @@ of PMIC's from Qualcomm.
"qcom,pm8994-mpp", "qcom,pm8994-mpp",
"qcom,pma8084-mpp", "qcom,pma8084-mpp",
And must contain either "qcom,spmi-mpp" or "qcom,ssbi-mpp"
if the device is on an spmi bus or an ssbi bus respectively.
- reg: - reg:
Usage: required Usage: required
Value type: <prop-encoded-array> Value type: <prop-encoded-array>
...@@ -158,7 +161,7 @@ to specify in a pin configuration subnode: ...@@ -158,7 +161,7 @@ to specify in a pin configuration subnode:
Example: Example:
mpps@a000 { mpps@a000 {
compatible = "qcom,pm8841-mpp"; compatible = "qcom,pm8841-mpp", "qcom,spmi-mpp";
reg = <0xa000>; reg = <0xa000>;
gpio-controller; gpio-controller;
#gpio-cells = <2>; #gpio-cells = <2>;
......
...@@ -800,6 +800,7 @@ static const struct of_device_id pmic_gpio_of_match[] = { ...@@ -800,6 +800,7 @@ static const struct of_device_id pmic_gpio_of_match[] = {
{ .compatible = "qcom,pm8941-gpio" }, /* 36 GPIO's */ { .compatible = "qcom,pm8941-gpio" }, /* 36 GPIO's */
{ .compatible = "qcom,pm8994-gpio" }, /* 22 GPIO's */ { .compatible = "qcom,pm8994-gpio" }, /* 22 GPIO's */
{ .compatible = "qcom,pma8084-gpio" }, /* 22 GPIO's */ { .compatible = "qcom,pma8084-gpio" }, /* 22 GPIO's */
{ .compatible = "qcom,spmi-gpio" }, /* Generic */
{ }, { },
}; };
......
...@@ -914,6 +914,7 @@ static const struct of_device_id pmic_mpp_of_match[] = { ...@@ -914,6 +914,7 @@ static const struct of_device_id pmic_mpp_of_match[] = {
{ .compatible = "qcom,pm8941-mpp" }, /* 8 MPP's */ { .compatible = "qcom,pm8941-mpp" }, /* 8 MPP's */
{ .compatible = "qcom,pm8994-mpp" }, /* 8 MPP's */ { .compatible = "qcom,pm8994-mpp" }, /* 8 MPP's */
{ .compatible = "qcom,pma8084-mpp" }, /* 8 MPP's */ { .compatible = "qcom,pma8084-mpp" }, /* 8 MPP's */
{ .compatible = "qcom,spmi-mpp" }, /* Generic */
{ }, { },
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment