ipq806x: set v4.9 as default
[openwrt/openwrt.git] / target / linux / ipq806x / patches-4.4 / 167-ARM-qcom_rpm_fix_support_for_smb208.patch
1
2 In commit "regulator: qcom: Rework to single platform device" the smb208 regulator
3 used in IPQ8064 was left out.
4
5 Add it to that new framework and update Docs accordingly.
6
7 Signed-off-by: Adrian Panella <ianchi74@outlook.com>
8
9 --- a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
10 +++ b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
11 @@ -59,6 +59,7 @@ Regulator nodes are identified by their
12 "qcom,rpm-pm8058-regulators"
13 "qcom,rpm-pm8901-regulators"
14 "qcom,rpm-pm8921-regulators"
15 + "qcom,rpm-smb208-regulators"
16
17 - vdd_l0_l1_lvs-supply:
18 - vdd_l2_l11_l12-supply:
19 @@ -156,6 +157,9 @@ pm8921:
20 l29, lvs1, lvs2, lvs3, lvs4, lvs5, lvs6, lvs7, usb-switch, hdmi-switch,
21 ncp
22
23 +smb208:
24 + s1a, s1b, s2a, s2b
25 +
26 The content of each sub-node is defined by the standard binding for regulators -
27 see regulator.txt - with additional custom properties described below:
28
29 --- a/drivers/regulator/qcom_rpm-regulator.c
30 +++ b/drivers/regulator/qcom_rpm-regulator.c
31 @@ -869,10 +869,19 @@ static const struct rpm_regulator_data r
32 { }
33 };
34
35 +static const struct rpm_regulator_data rpm_smb208_regulators[] = {
36 + { "s1a", QCOM_RPM_SMB208_S1a, &smb208_smps, "vin_s1a" },
37 + { "s1b", QCOM_RPM_SMB208_S1b, &smb208_smps, "vin_s1b" },
38 + { "s2a", QCOM_RPM_SMB208_S2a, &smb208_smps, "vin_s2a" },
39 + { "s2b", QCOM_RPM_SMB208_S2b, &smb208_smps, "vin_s2b" },
40 + { }
41 +};
42 +
43 static const struct of_device_id rpm_of_match[] = {
44 { .compatible = "qcom,rpm-pm8058-regulators", .data = &rpm_pm8058_regulators },
45 { .compatible = "qcom,rpm-pm8901-regulators", .data = &rpm_pm8901_regulators },
46 { .compatible = "qcom,rpm-pm8921-regulators", .data = &rpm_pm8921_regulators },
47 + { .compatible = "qcom,rpm-smb208-regulators", .data = &rpm_smb208_regulators },
48 { }
49 };
50 MODULE_DEVICE_TABLE(of, rpm_of_match);