PM8901 stab
diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
index 63a501c..e824401 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -391,6 +391,33 @@ vibrator@4a {
 			};
 		};
 
+		qcom,ssbi@c00000 {
+			compatible = "qcom,ssbi";
+			reg = <0xc00000 0x1000>;
+			qcom,controller-type = "pmic-arbiter";
+
+			pm8901: pmic@0 {
+				compatible = "qcom,pm8901";
+				interrupt-parent = <&tlmm>;
+				interrupts = <91 8>;
+				#interrupt-cells = <2>;
+				interrupt-controller;
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				pm8901_mpps: mpps@27 {
+					compatible = "qcom,pm8901-mpp",
+						     "qcom,ssbi-mpp";
+					reg = <0x27>;
+					gpio-controller;
+					#gpio-cells = <2>;
+					interrupt-parent = <&pm8901>;
+					interrupts =
+					<128 1>, <129 1>, <130 1>, <131 1>;
+				};
+			};
+		};
+
 		l2cc: clock-controller@2082000 {
 			compatible = "qcom,kpss-gcc", "syscon";
 			reg = <0x02082000 0x1000>;
diff --git a/drivers/mfd/qcom-pm8xxx.c b/drivers/mfd/qcom-pm8xxx.c
index 2f2734b..eb6898b 100644
--- a/drivers/mfd/qcom-pm8xxx.c
+++ b/drivers/mfd/qcom-pm8xxx.c
@@ -500,6 +500,7 @@ static const struct of_device_id pm8xxx_id_table[] = {
 	{ .compatible = "qcom,pm8018", .data = &pm8xxx_data},
 	{ .compatible = "qcom,pm8058", .data = &pm8xxx_data},
 	{ .compatible = "qcom,pm8821", .data = &pm8821_data},
+	{ .compatible = "qcom,pm8901", .data = &pm8xxx_data},
 	{ .compatible = "qcom,pm8921", .data = &pm8xxx_data},
 	{ }
 };