linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] qcom_rpm: add support for IPQ8064 resources
@ 2014-11-20 19:41 Josh Cartwright
  2014-11-20 19:41 ` [PATCH 1/3] mfd: devicetree: qcom_rpm: document " Josh Cartwright
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Josh Cartwright @ 2014-11-20 19:41 UTC (permalink / raw)
  To: linux-arm-kernel

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/1411428329-23172-1-git-send-email-bjorn.andersson at sonymobile.com

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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/3] mfd: devicetree: qcom_rpm: document IPQ8064 resources
  2014-11-20 19:41 [PATCH 0/3] qcom_rpm: add support for IPQ8064 resources Josh Cartwright
@ 2014-11-20 19:41 ` Josh Cartwright
  2014-11-24 10:33   ` Lee Jones
                     ` (3 more replies)
  2014-11-20 19:41 ` [PATCH 2/3] mfd: qcom_rpm: add support for IPQ8064 Josh Cartwright
  2014-11-20 19:41 ` [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208 Josh Cartwright
  2 siblings, 4 replies; 16+ messages in thread
From: Josh Cartwright @ 2014-11-20 19:41 UTC (permalink / raw)
  To: linux-arm-kernel

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 <joshc@codeaurora.org>
---
 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

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/3] mfd: qcom_rpm: add support for IPQ8064
  2014-11-20 19:41 [PATCH 0/3] qcom_rpm: add support for IPQ8064 resources Josh Cartwright
  2014-11-20 19:41 ` [PATCH 1/3] mfd: devicetree: qcom_rpm: document " Josh Cartwright
@ 2014-11-20 19:41 ` Josh Cartwright
  2014-11-24 10:38   ` Lee Jones
  2015-03-19 10:04   ` Lee Jones
  2014-11-20 19:41 ` [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208 Josh Cartwright
  2 siblings, 2 replies; 16+ messages in thread
From: Josh Cartwright @ 2014-11-20 19:41 UTC (permalink / raw)
  To: linux-arm-kernel

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 <joshc@codeaurora.org>
---
 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

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208
  2014-11-20 19:41 [PATCH 0/3] qcom_rpm: add support for IPQ8064 resources Josh Cartwright
  2014-11-20 19:41 ` [PATCH 1/3] mfd: devicetree: qcom_rpm: document " Josh Cartwright
  2014-11-20 19:41 ` [PATCH 2/3] mfd: qcom_rpm: add support for IPQ8064 Josh Cartwright
@ 2014-11-20 19:41 ` Josh Cartwright
  2014-11-21 18:13   ` Mark Brown
  2014-11-21 19:21   ` Mark Brown
  2 siblings, 2 replies; 16+ messages in thread
From: Josh Cartwright @ 2014-11-20 19:41 UTC (permalink / raw)
  To: linux-arm-kernel

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 <joshc@codeaurora.org>
---
 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

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208
  2014-11-20 19:41 ` [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208 Josh Cartwright
@ 2014-11-21 18:13   ` Mark Brown
  2014-11-21 18:25     ` Bjorn Andersson
  2014-11-21 19:21   ` Mark Brown
  1 sibling, 1 reply; 16+ messages in thread
From: Mark Brown @ 2014-11-21 18:13 UTC (permalink / raw)
  To: linux-arm-kernel

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?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141121/64c82591/attachment-0001.sig>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208
  2014-11-21 18:13   ` Mark Brown
@ 2014-11-21 18:25     ` Bjorn Andersson
  0 siblings, 0 replies; 16+ messages in thread
From: Bjorn Andersson @ 2014-11-21 18:25 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Nov 21, 2014 at 10:13 AM, Mark Brown <broonie@kernel.org> 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 <bjorn.andersson@sonymobile.com>

Regards,
Bjorn

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208
  2014-11-20 19:41 ` [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208 Josh Cartwright
  2014-11-21 18:13   ` Mark Brown
@ 2014-11-21 19:21   ` Mark Brown
  1 sibling, 0 replies; 16+ messages in thread
From: Mark Brown @ 2014-11-21 19:21 UTC (permalink / raw)
  To: linux-arm-kernel

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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141121/8e941cd4/attachment.sig>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/3] mfd: devicetree: qcom_rpm: document IPQ8064 resources
  2014-11-20 19:41 ` [PATCH 1/3] mfd: devicetree: qcom_rpm: document " Josh Cartwright
@ 2014-11-24 10:33   ` Lee Jones
  2014-11-24 10:38   ` Lee Jones
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 16+ messages in thread
From: Lee Jones @ 2014-11-24 10:33 UTC (permalink / raw)
  To: linux-arm-kernel

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 <joshc@codeaurora.org>
> ---
>  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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/3] mfd: devicetree: qcom_rpm: document IPQ8064 resources
  2014-11-20 19:41 ` [PATCH 1/3] mfd: devicetree: qcom_rpm: document " Josh Cartwright
  2014-11-24 10:33   ` Lee Jones
@ 2014-11-24 10:38   ` Lee Jones
  2015-03-19  0:53     ` Stephen Boyd
  2015-03-19 10:04   ` Lee Jones
  2015-03-19 10:11   ` Lee Jones
  3 siblings, 1 reply; 16+ messages in thread
From: Lee Jones @ 2014-11-24 10:38 UTC (permalink / raw)
  To: linux-arm-kernel

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 <joshc@codeaurora.org>
> ---
>  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 <lee.jones@linaro.org>

> 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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 2/3] mfd: qcom_rpm: add support for IPQ8064
  2014-11-20 19:41 ` [PATCH 2/3] mfd: qcom_rpm: add support for IPQ8064 Josh Cartwright
@ 2014-11-24 10:38   ` Lee Jones
  2015-03-19  0:52     ` Stephen Boyd
  2015-03-19 10:04   ` Lee Jones
  1 sibling, 1 reply; 16+ messages in thread
From: Lee Jones @ 2014-11-24 10:38 UTC (permalink / raw)
  To: linux-arm-kernel

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 <joshc@codeaurora.org>
> ---
>  drivers/mfd/qcom_rpm.c | 41 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)

For my own reference:

Acked-by: Lee Jones <lee.jones@linaro.org>

> 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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 2/3] mfd: qcom_rpm: add support for IPQ8064
  2014-11-24 10:38   ` Lee Jones
@ 2015-03-19  0:52     ` Stephen Boyd
  0 siblings, 0 replies; 16+ messages in thread
From: Stephen Boyd @ 2015-03-19  0:52 UTC (permalink / raw)
  To: linux-arm-kernel

On 11/24/14 02:38, Lee Jones wrote:
> 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 <joshc@codeaurora.org>
>> ---
>>  drivers/mfd/qcom_rpm.c | 41 +++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 41 insertions(+)
> For my own reference:
>
> Acked-by: Lee Jones <lee.jones@linaro.org>
>

Lee, can you pick this patch up please?

>> 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);


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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/3] mfd: devicetree: qcom_rpm: document IPQ8064 resources
  2014-11-24 10:38   ` Lee Jones
@ 2015-03-19  0:53     ` Stephen Boyd
  0 siblings, 0 replies; 16+ messages in thread
From: Stephen Boyd @ 2015-03-19  0:53 UTC (permalink / raw)
  To: linux-arm-kernel

On 11/24/14 02:38, Lee Jones wrote:
> 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 <joshc@codeaurora.org>
>> ---
>>  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 <lee.jones@linaro.org>

Lee, can you pick this patch up please?

>
>> 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.


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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/3] mfd: devicetree: qcom_rpm: document IPQ8064 resources
  2014-11-20 19:41 ` [PATCH 1/3] mfd: devicetree: qcom_rpm: document " Josh Cartwright
  2014-11-24 10:33   ` Lee Jones
  2014-11-24 10:38   ` Lee Jones
@ 2015-03-19 10:04   ` Lee Jones
  2015-03-19 10:11   ` Lee Jones
  3 siblings, 0 replies; 16+ messages in thread
From: Lee Jones @ 2015-03-19 10:04 UTC (permalink / raw)
  To: linux-arm-kernel

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 <joshc@codeaurora.org>
> ---
>  Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 6 +++++-
>  include/dt-bindings/mfd/qcom-rpm.h                 | 6 ++++++
>  2 files changed, 11 insertions(+), 1 deletion(-)

Applied with Stephen's Ack.

> 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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 2/3] mfd: qcom_rpm: add support for IPQ8064
  2014-11-20 19:41 ` [PATCH 2/3] mfd: qcom_rpm: add support for IPQ8064 Josh Cartwright
  2014-11-24 10:38   ` Lee Jones
@ 2015-03-19 10:04   ` Lee Jones
  2015-03-26 14:19     ` Lee Jones
  1 sibling, 1 reply; 16+ messages in thread
From: Lee Jones @ 2015-03-19 10:04 UTC (permalink / raw)
  To: linux-arm-kernel

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 <joshc@codeaurora.org>
> ---
>  drivers/mfd/qcom_rpm.c | 41 +++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 41 insertions(+)

Applied with Stephen's Ack.

> 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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/3] mfd: devicetree: qcom_rpm: document IPQ8064 resources
  2014-11-20 19:41 ` [PATCH 1/3] mfd: devicetree: qcom_rpm: document " Josh Cartwright
                     ` (2 preceding siblings ...)
  2015-03-19 10:04   ` Lee Jones
@ 2015-03-19 10:11   ` Lee Jones
  3 siblings, 0 replies; 16+ messages in thread
From: Lee Jones @ 2015-03-19 10:11 UTC (permalink / raw)
  To: linux-arm-kernel

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 <joshc@codeaurora.org>
> ---
>  Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 6 +++++-
>  include/dt-bindings/mfd/qcom-rpm.h                 | 6 ++++++
>  2 files changed, 11 insertions(+), 1 deletion(-)

Doesn't apply.  Please rebase and resend.

> 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

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 2/3] mfd: qcom_rpm: add support for IPQ8064
  2015-03-19 10:04   ` Lee Jones
@ 2015-03-26 14:19     ` Lee Jones
  0 siblings, 0 replies; 16+ messages in thread
From: Lee Jones @ 2015-03-26 14:19 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, 19 Mar 2015, Lee Jones wrote:

> 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 <joshc@codeaurora.org>
> > ---
> >  drivers/mfd/qcom_rpm.c | 41 +++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 41 insertions(+)
> 
> Applied with Stephen's Ack.

I have unapplied this one too, as it depends on the other one.

> > 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

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2015-03-26 14:19 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-20 19:41 [PATCH 0/3] qcom_rpm: add support for IPQ8064 resources Josh Cartwright
2014-11-20 19:41 ` [PATCH 1/3] mfd: devicetree: qcom_rpm: document " Josh Cartwright
2014-11-24 10:33   ` Lee Jones
2014-11-24 10:38   ` Lee Jones
2015-03-19  0:53     ` Stephen Boyd
2015-03-19 10:04   ` Lee Jones
2015-03-19 10:11   ` Lee Jones
2014-11-20 19:41 ` [PATCH 2/3] mfd: qcom_rpm: add support for IPQ8064 Josh Cartwright
2014-11-24 10:38   ` Lee Jones
2015-03-19  0:52     ` Stephen Boyd
2015-03-19 10:04   ` Lee Jones
2015-03-26 14:19     ` Lee Jones
2014-11-20 19:41 ` [PATCH 3/3] regulator: rpm: add support for RPM-controller SMB208 Josh Cartwright
2014-11-21 18:13   ` Mark Brown
2014-11-21 18:25     ` Bjorn Andersson
2014-11-21 19:21   ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).