2014-11-20 19:48:18

by Josh Cartwright

[permalink] [raw]
Subject: [PATCH 0/3] qcom_rpm: add support for IPQ8064 resources

The IPQ8064 SoC has several Resource Power Manager (RPM) controlled resources:
four regulators (two SMB208s, each controlling two regulators) and two fabric
clocks for the Network Subsystem (NSS). This patchset adds the appropriate
definitions for these resources, and extends the existing RPM regulator driver
to support the SMB208.

This patchset is based ontop of v7 of Bjorne Andersson's RPM patchset [1].

1: http://lkml.kernel.org/r/[email protected]

Josh Cartwright (3):
mfd: devicetree: qcom_rpm: document IPQ8064 resources
mfd: qcom_rpm: add support for IPQ8064
regulator: rpm: add support for RPM-controller SMB208

Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 6 +++-
drivers/mfd/qcom_rpm.c | 41 ++++++++++++++++++++++
drivers/regulator/qcom_rpm-regulator.c | 19 ++++++++++
include/dt-bindings/mfd/qcom-rpm.h | 6 ++++
4 files changed, 71 insertions(+), 1 deletion(-)

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


2014-11-20 19:48:19

by Josh Cartwright

[permalink] [raw]
Subject: [PATCH 1/3] mfd: devicetree: qcom_rpm: document IPQ8064 resources

The IPQ8064 SoC has several RPM-controlled resources, an NSS fabrick
clock and four regulator resources. Provide definitions for them.

Signed-off-by: Josh Cartwright <[email protected]>
---
Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 6 +++++-
include/dt-bindings/mfd/qcom-rpm.h | 6 ++++++
2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
index 4264021..6d4e3ec 100644
--- a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
+++ b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
@@ -12,6 +12,7 @@ frequencies.
"qcom,rpm-apq8064"
"qcom,rpm-msm8660"
"qcom,rpm-msm8960"
+ "qcom,rpm-ipq8064"

- reg:
Usage: required
@@ -67,6 +68,7 @@ of valid subnodes that can operate on these resources.
"qcom,rpm-pm8901-ftsmps"
"qcom,rpm-pm8921-smps"
"qcom,rpm-pm8921-ftsmps"
+ "qcom,rpm-smb208"

- reg:
Usage: required
@@ -76,7 +78,9 @@ of valid subnodes that can operate on these resources.
QCOM_RPM_PM8058_SMPS0 - QCOM_RPM_PM8058_SMPS4,
QCOM_RPM_PM8821_SMPS1 - QCOM_RPM_PM8821_SMPS2,
QCOM_RPM_PM8901_SMPS0 - QCOM_RPM_PM8901_SMPS4,
- QCOM_RPM_PM8921_SMPS1 - QCOM_RPM_PM8921_SMPS8
+ QCOM_RPM_PM8921_SMPS1 - QCOM_RPM_PM8921_SMPS8,
+ QCOM_RPM_SMB208_S1a, QCOM_RPM_SMB208_S1b,
+ QCOM_RPM_SMB208_S2a, QCOM_RPM_SMB208_S2b

- bias-pull-down:
Usage: optional
diff --git a/include/dt-bindings/mfd/qcom-rpm.h b/include/dt-bindings/mfd/qcom-rpm.h
index 388a6f3..13a9d4b 100644
--- a/include/dt-bindings/mfd/qcom-rpm.h
+++ b/include/dt-bindings/mfd/qcom-rpm.h
@@ -141,6 +141,12 @@
#define QCOM_RPM_SYS_FABRIC_MODE 131
#define QCOM_RPM_USB_OTG_SWITCH 132
#define QCOM_RPM_VDDMIN_GPIO 133
+#define QCOM_RPM_NSS_FABRIC_0_CLK 134
+#define QCOM_RPM_NSS_FABRIC_1_CLK 135
+#define QCOM_RPM_SMB208_S1a 136
+#define QCOM_RPM_SMB208_S1b 137
+#define QCOM_RPM_SMB208_S2a 138
+#define QCOM_RPM_SMB208_S2b 139

/*
* Constants used to select force mode for regulators.
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

2014-11-20 19:48:44

by Josh Cartwright

[permalink] [raw]
Subject: [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208

The IPQ8064 reference boards make use of SMB208 regulators which are
controlled by RPM. Implement support for these regulators in the RPM
regulator driver.

Signed-off-by: Josh Cartwright <[email protected]>
---
drivers/regulator/qcom_rpm-regulator.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

diff --git a/drivers/regulator/qcom_rpm-regulator.c b/drivers/regulator/qcom_rpm-regulator.c
index b869254..36c39e9 100644
--- a/drivers/regulator/qcom_rpm-regulator.c
+++ b/drivers/regulator/qcom_rpm-regulator.c
@@ -183,6 +183,13 @@ static const struct regulator_linear_range ftsmps_ranges[] = {
REGULATOR_LINEAR_RANGE(1500000, 64, 100, 50000),
};

+static const struct regulator_linear_range smb208_ranges[] = {
+ REGULATOR_LINEAR_RANGE( 375000, 0, 29, 12500),
+ REGULATOR_LINEAR_RANGE( 750000, 30, 89, 12500),
+ REGULATOR_LINEAR_RANGE(1500000, 90, 153, 25000),
+ REGULATOR_LINEAR_RANGE(3100000, 154, 234, 25000),
+};
+
static const struct regulator_linear_range ncp_ranges[] = {
REGULATOR_LINEAR_RANGE(1500000, 0, 31, 50000),
};
@@ -559,6 +566,16 @@ static const struct qcom_rpm_reg pm8921_switch = {
.parts = &rpm8960_switch_parts,
};

+static const struct qcom_rpm_reg smb208_smps = {
+ .desc.linear_ranges = smb208_ranges,
+ .desc.n_linear_ranges = ARRAY_SIZE(smb208_ranges),
+ .desc.n_voltages = 235,
+ .desc.ops = &uV_ops,
+ .parts = &rpm8960_smps_parts,
+ .supports_force_mode_auto = false,
+ .supports_force_mode_bypass = false,
+};
+
static const struct of_device_id rpm_of_match[] = {
{ .compatible = "qcom,rpm-pm8058-pldo", .data = &pm8058_pldo },
{ .compatible = "qcom,rpm-pm8058-nldo", .data = &pm8058_nldo },
@@ -578,6 +595,8 @@ static const struct of_device_id rpm_of_match[] = {
{ .compatible = "qcom,rpm-pm8921-ftsmps", .data = &pm8921_ftsmps },
{ .compatible = "qcom,rpm-pm8921-ncp", .data = &pm8921_ncp },
{ .compatible = "qcom,rpm-pm8921-switch", .data = &pm8921_switch },
+
+ { .compatible = "qcom,rpm-smb208", .data = &smb208_smps },
{ }
};
MODULE_DEVICE_TABLE(of, rpm_of_match);
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

2014-11-20 19:48:58

by Josh Cartwright

[permalink] [raw]
Subject: [PATCH 2/3] mfd: qcom_rpm: add support for IPQ8064

The IPQ8064 also includes an RPM following the same message structure as
other chips. In addition, it supports a few new resource types to
support the NSS fabric clocks and the SMB208/SMB209 regulators found on
the reference boards.

Signed-off-by: Josh Cartwright <[email protected]>
---
drivers/mfd/qcom_rpm.c | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

diff --git a/drivers/mfd/qcom_rpm.c b/drivers/mfd/qcom_rpm.c
index 0dd7a6fe..5ead23b 100644
--- a/drivers/mfd/qcom_rpm.c
+++ b/drivers/mfd/qcom_rpm.c
@@ -324,10 +324,51 @@ static const struct qcom_rpm_data msm8960_template = {
.n_resources = ARRAY_SIZE(msm8960_rpm_resource_table),
};

+static const struct qcom_rpm_resource ipq806x_rpm_resource_table[] = {
+ [QCOM_RPM_CXO_CLK] = { 25, 9, 5, 1 },
+ [QCOM_RPM_PXO_CLK] = { 26, 10, 6, 1 },
+ [QCOM_RPM_APPS_FABRIC_CLK] = { 27, 11, 8, 1 },
+ [QCOM_RPM_SYS_FABRIC_CLK] = { 28, 12, 9, 1 },
+ [QCOM_RPM_NSS_FABRIC_0_CLK] = { 29, 13, 10, 1 },
+ [QCOM_RPM_DAYTONA_FABRIC_CLK] = { 30, 14, 11, 1 },
+ [QCOM_RPM_SFPB_CLK] = { 31, 15, 12, 1 },
+ [QCOM_RPM_CFPB_CLK] = { 32, 16, 13, 1 },
+ [QCOM_RPM_NSS_FABRIC_1_CLK] = { 33, 17, 14, 1 },
+ [QCOM_RPM_EBI1_CLK] = { 34, 18, 16, 1 },
+ [QCOM_RPM_APPS_FABRIC_HALT] = { 35, 19, 18, 2 },
+ [QCOM_RPM_APPS_FABRIC_MODE] = { 37, 20, 19, 3 },
+ [QCOM_RPM_APPS_FABRIC_IOCTL] = { 40, 21, 20, 1 },
+ [QCOM_RPM_APPS_FABRIC_ARB] = { 41, 22, 21, 12 },
+ [QCOM_RPM_SYS_FABRIC_HALT] = { 53, 23, 22, 2 },
+ [QCOM_RPM_SYS_FABRIC_MODE] = { 55, 24, 23, 3 },
+ [QCOM_RPM_SYS_FABRIC_IOCTL] = { 58, 25, 24, 1 },
+ [QCOM_RPM_SYS_FABRIC_ARB] = { 59, 26, 25, 30 },
+ [QCOM_RPM_MM_FABRIC_HALT] = { 89, 27, 26, 2 },
+ [QCOM_RPM_MM_FABRIC_MODE] = { 91, 28, 27, 3 },
+ [QCOM_RPM_MM_FABRIC_IOCTL] = { 94, 29, 28, 1 },
+ [QCOM_RPM_MM_FABRIC_ARB] = { 95, 30, 29, 2 },
+ [QCOM_RPM_CXO_BUFFERS] = { 209, 33, 31, 1 },
+ [QCOM_RPM_USB_OTG_SWITCH] = { 210, 34, 32, 1 },
+ [QCOM_RPM_HDMI_SWITCH] = { 211, 35, 33, 1 },
+ [QCOM_RPM_DDR_DMM] = { 212, 36, 34, 2 },
+ [QCOM_RPM_VDDMIN_GPIO] = { 215, 40, 39, 1 },
+ [QCOM_RPM_SMB208_S1a] = { 216, 41, 90, 2 },
+ [QCOM_RPM_SMB208_S1b] = { 218, 43, 91, 2 },
+ [QCOM_RPM_SMB208_S2a] = { 220, 45, 92, 2 },
+ [QCOM_RPM_SMB208_S2b] = { 222, 47, 93, 2 },
+};
+
+static const struct qcom_rpm_data ipq806x_template = {
+ .version = 3,
+ .resource_table = ipq806x_rpm_resource_table,
+ .n_resources = ARRAY_SIZE(ipq806x_rpm_resource_table),
+};
+
static const struct of_device_id qcom_rpm_of_match[] = {
{ .compatible = "qcom,rpm-apq8064", .data = &apq8064_template },
{ .compatible = "qcom,rpm-msm8660", .data = &msm8660_template },
{ .compatible = "qcom,rpm-msm8960", .data = &msm8960_template },
+ { .compatible = "qcom,rpm-ipq8064", .data = &ipq806x_template },
{ }
};
MODULE_DEVICE_TABLE(of, qcom_rpm_of_match);
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

2014-11-21 18:15:12

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208

On Thu, Nov 20, 2014 at 01:41:25PM -0600, Josh Cartwright wrote:
> The IPQ8064 reference boards make use of SMB208 regulators which are
> controlled by RPM. Implement support for these regulators in the RPM
> regulator driver.

I'm missing both patches 1-3 and the cover letter, what's the story
with the series - are there interdependencies?


Attachments:
(No filename) (344.00 B)
signature.asc (473.00 B)
Digital signature
Download all attachments

2014-11-21 18:26:09

by Bjorn Andersson

[permalink] [raw]
Subject: Re: [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208

On Fri, Nov 21, 2014 at 10:13 AM, Mark Brown <[email protected]> wrote:
> On Thu, Nov 20, 2014 at 01:41:25PM -0600, Josh Cartwright wrote:
>> The IPQ8064 reference boards make use of SMB208 regulators which are
>> controlled by RPM. Implement support for these regulators in the RPM
>> regulator driver.
>
> I'm missing both patches 1-3 and the cover letter, what's the story
> with the series - are there interdependencies?

Hi Mark,

There are no new dependencies introduced here, patch 1 and 2 are DT
and mfd additions. So you can apply this patch independently in your
tree.

Acked-by: Bjorn Andersson <[email protected]>

Regards,
Bjorn

2014-11-21 19:22:46

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208

On Thu, Nov 20, 2014 at 01:41:25PM -0600, Josh Cartwright wrote:
> The IPQ8064 reference boards make use of SMB208 regulators which are
> controlled by RPM. Implement support for these regulators in the RPM
> regulator driver.

Applied, thanks.


Attachments:
(No filename) (246.00 B)
signature.asc (473.00 B)
Digital signature
Download all attachments

2014-11-24 10:33:45

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH 1/3] mfd: devicetree: qcom_rpm: document IPQ8064 resources

On Thu, 20 Nov 2014, Josh Cartwright wrote:

> The IPQ8064 SoC has several RPM-controlled resources, an NSS fabrick
> clock and four regulator resources. Provide definitions for them.
>
> Signed-off-by: Josh Cartwright <[email protected]>
> ---
> Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 6 +++++-
> include/dt-bindings/mfd/qcom-rpm.h | 6 ++++++
> 2 files changed, 11 insertions(+), 1 deletion(-)

What do you want me to do with this patch? I'm guessing the other
patches in the set depend on these new defines? I can't even check
because you've only send me 2 of the 3 patches in the set.

> diff --git a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
> index 4264021..6d4e3ec 100644
> --- a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
> +++ b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
> @@ -12,6 +12,7 @@ frequencies.
> "qcom,rpm-apq8064"
> "qcom,rpm-msm8660"
> "qcom,rpm-msm8960"
> + "qcom,rpm-ipq8064"
>
> - reg:
> Usage: required
> @@ -67,6 +68,7 @@ of valid subnodes that can operate on these resources.
> "qcom,rpm-pm8901-ftsmps"
> "qcom,rpm-pm8921-smps"
> "qcom,rpm-pm8921-ftsmps"
> + "qcom,rpm-smb208"
>
> - reg:
> Usage: required
> @@ -76,7 +78,9 @@ of valid subnodes that can operate on these resources.
> QCOM_RPM_PM8058_SMPS0 - QCOM_RPM_PM8058_SMPS4,
> QCOM_RPM_PM8821_SMPS1 - QCOM_RPM_PM8821_SMPS2,
> QCOM_RPM_PM8901_SMPS0 - QCOM_RPM_PM8901_SMPS4,
> - QCOM_RPM_PM8921_SMPS1 - QCOM_RPM_PM8921_SMPS8
> + QCOM_RPM_PM8921_SMPS1 - QCOM_RPM_PM8921_SMPS8,
> + QCOM_RPM_SMB208_S1a, QCOM_RPM_SMB208_S1b,
> + QCOM_RPM_SMB208_S2a, QCOM_RPM_SMB208_S2b
>
> - bias-pull-down:
> Usage: optional
> diff --git a/include/dt-bindings/mfd/qcom-rpm.h b/include/dt-bindings/mfd/qcom-rpm.h
> index 388a6f3..13a9d4b 100644
> --- a/include/dt-bindings/mfd/qcom-rpm.h
> +++ b/include/dt-bindings/mfd/qcom-rpm.h
> @@ -141,6 +141,12 @@
> #define QCOM_RPM_SYS_FABRIC_MODE 131
> #define QCOM_RPM_USB_OTG_SWITCH 132
> #define QCOM_RPM_VDDMIN_GPIO 133
> +#define QCOM_RPM_NSS_FABRIC_0_CLK 134
> +#define QCOM_RPM_NSS_FABRIC_1_CLK 135
> +#define QCOM_RPM_SMB208_S1a 136
> +#define QCOM_RPM_SMB208_S1b 137
> +#define QCOM_RPM_SMB208_S2a 138
> +#define QCOM_RPM_SMB208_S2b 139
>
> /*
> * Constants used to select force mode for regulators.

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

2014-11-24 10:38:22

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH 1/3] mfd: devicetree: qcom_rpm: document IPQ8064 resources

On Thu, 20 Nov 2014, Josh Cartwright wrote:

> The IPQ8064 SoC has several RPM-controlled resources, an NSS fabrick
> clock and four regulator resources. Provide definitions for them.
>
> Signed-off-by: Josh Cartwright <[email protected]>
> ---
> Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 6 +++++-
> include/dt-bindings/mfd/qcom-rpm.h | 6 ++++++
> 2 files changed, 11 insertions(+), 1 deletion(-)

For my own reference:

Acked-by: Lee Jones <[email protected]>

> diff --git a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
> index 4264021..6d4e3ec 100644
> --- a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
> +++ b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt
> @@ -12,6 +12,7 @@ frequencies.
> "qcom,rpm-apq8064"
> "qcom,rpm-msm8660"
> "qcom,rpm-msm8960"
> + "qcom,rpm-ipq8064"
>
> - reg:
> Usage: required
> @@ -67,6 +68,7 @@ of valid subnodes that can operate on these resources.
> "qcom,rpm-pm8901-ftsmps"
> "qcom,rpm-pm8921-smps"
> "qcom,rpm-pm8921-ftsmps"
> + "qcom,rpm-smb208"
>
> - reg:
> Usage: required
> @@ -76,7 +78,9 @@ of valid subnodes that can operate on these resources.
> QCOM_RPM_PM8058_SMPS0 - QCOM_RPM_PM8058_SMPS4,
> QCOM_RPM_PM8821_SMPS1 - QCOM_RPM_PM8821_SMPS2,
> QCOM_RPM_PM8901_SMPS0 - QCOM_RPM_PM8901_SMPS4,
> - QCOM_RPM_PM8921_SMPS1 - QCOM_RPM_PM8921_SMPS8
> + QCOM_RPM_PM8921_SMPS1 - QCOM_RPM_PM8921_SMPS8,
> + QCOM_RPM_SMB208_S1a, QCOM_RPM_SMB208_S1b,
> + QCOM_RPM_SMB208_S2a, QCOM_RPM_SMB208_S2b
>
> - bias-pull-down:
> Usage: optional
> diff --git a/include/dt-bindings/mfd/qcom-rpm.h b/include/dt-bindings/mfd/qcom-rpm.h
> index 388a6f3..13a9d4b 100644
> --- a/include/dt-bindings/mfd/qcom-rpm.h
> +++ b/include/dt-bindings/mfd/qcom-rpm.h
> @@ -141,6 +141,12 @@
> #define QCOM_RPM_SYS_FABRIC_MODE 131
> #define QCOM_RPM_USB_OTG_SWITCH 132
> #define QCOM_RPM_VDDMIN_GPIO 133
> +#define QCOM_RPM_NSS_FABRIC_0_CLK 134
> +#define QCOM_RPM_NSS_FABRIC_1_CLK 135
> +#define QCOM_RPM_SMB208_S1a 136
> +#define QCOM_RPM_SMB208_S1b 137
> +#define QCOM_RPM_SMB208_S2a 138
> +#define QCOM_RPM_SMB208_S2b 139
>
> /*
> * Constants used to select force mode for regulators.

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

2014-11-24 10:38:44

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH 2/3] mfd: qcom_rpm: add support for IPQ8064

On Thu, 20 Nov 2014, Josh Cartwright wrote:

> The IPQ8064 also includes an RPM following the same message structure as
> other chips. In addition, it supports a few new resource types to
> support the NSS fabric clocks and the SMB208/SMB209 regulators found on
> the reference boards.
>
> Signed-off-by: Josh Cartwright <[email protected]>
> ---
> drivers/mfd/qcom_rpm.c | 41 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 41 insertions(+)

For my own reference:

Acked-by: Lee Jones <[email protected]>

> diff --git a/drivers/mfd/qcom_rpm.c b/drivers/mfd/qcom_rpm.c
> index 0dd7a6fe..5ead23b 100644
> --- a/drivers/mfd/qcom_rpm.c
> +++ b/drivers/mfd/qcom_rpm.c
> @@ -324,10 +324,51 @@ static const struct qcom_rpm_data msm8960_template = {
> .n_resources = ARRAY_SIZE(msm8960_rpm_resource_table),
> };
>
> +static const struct qcom_rpm_resource ipq806x_rpm_resource_table[] = {
> + [QCOM_RPM_CXO_CLK] = { 25, 9, 5, 1 },
> + [QCOM_RPM_PXO_CLK] = { 26, 10, 6, 1 },
> + [QCOM_RPM_APPS_FABRIC_CLK] = { 27, 11, 8, 1 },
> + [QCOM_RPM_SYS_FABRIC_CLK] = { 28, 12, 9, 1 },
> + [QCOM_RPM_NSS_FABRIC_0_CLK] = { 29, 13, 10, 1 },
> + [QCOM_RPM_DAYTONA_FABRIC_CLK] = { 30, 14, 11, 1 },
> + [QCOM_RPM_SFPB_CLK] = { 31, 15, 12, 1 },
> + [QCOM_RPM_CFPB_CLK] = { 32, 16, 13, 1 },
> + [QCOM_RPM_NSS_FABRIC_1_CLK] = { 33, 17, 14, 1 },
> + [QCOM_RPM_EBI1_CLK] = { 34, 18, 16, 1 },
> + [QCOM_RPM_APPS_FABRIC_HALT] = { 35, 19, 18, 2 },
> + [QCOM_RPM_APPS_FABRIC_MODE] = { 37, 20, 19, 3 },
> + [QCOM_RPM_APPS_FABRIC_IOCTL] = { 40, 21, 20, 1 },
> + [QCOM_RPM_APPS_FABRIC_ARB] = { 41, 22, 21, 12 },
> + [QCOM_RPM_SYS_FABRIC_HALT] = { 53, 23, 22, 2 },
> + [QCOM_RPM_SYS_FABRIC_MODE] = { 55, 24, 23, 3 },
> + [QCOM_RPM_SYS_FABRIC_IOCTL] = { 58, 25, 24, 1 },
> + [QCOM_RPM_SYS_FABRIC_ARB] = { 59, 26, 25, 30 },
> + [QCOM_RPM_MM_FABRIC_HALT] = { 89, 27, 26, 2 },
> + [QCOM_RPM_MM_FABRIC_MODE] = { 91, 28, 27, 3 },
> + [QCOM_RPM_MM_FABRIC_IOCTL] = { 94, 29, 28, 1 },
> + [QCOM_RPM_MM_FABRIC_ARB] = { 95, 30, 29, 2 },
> + [QCOM_RPM_CXO_BUFFERS] = { 209, 33, 31, 1 },
> + [QCOM_RPM_USB_OTG_SWITCH] = { 210, 34, 32, 1 },
> + [QCOM_RPM_HDMI_SWITCH] = { 211, 35, 33, 1 },
> + [QCOM_RPM_DDR_DMM] = { 212, 36, 34, 2 },
> + [QCOM_RPM_VDDMIN_GPIO] = { 215, 40, 39, 1 },
> + [QCOM_RPM_SMB208_S1a] = { 216, 41, 90, 2 },
> + [QCOM_RPM_SMB208_S1b] = { 218, 43, 91, 2 },
> + [QCOM_RPM_SMB208_S2a] = { 220, 45, 92, 2 },
> + [QCOM_RPM_SMB208_S2b] = { 222, 47, 93, 2 },
> +};
> +
> +static const struct qcom_rpm_data ipq806x_template = {
> + .version = 3,
> + .resource_table = ipq806x_rpm_resource_table,
> + .n_resources = ARRAY_SIZE(ipq806x_rpm_resource_table),
> +};
> +
> static const struct of_device_id qcom_rpm_of_match[] = {
> { .compatible = "qcom,rpm-apq8064", .data = &apq8064_template },
> { .compatible = "qcom,rpm-msm8660", .data = &msm8660_template },
> { .compatible = "qcom,rpm-msm8960", .data = &msm8960_template },
> + { .compatible = "qcom,rpm-ipq8064", .data = &ipq806x_template },
> { }
> };
> MODULE_DEVICE_TABLE(of, qcom_rpm_of_match);

--
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog