All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] APQ8060 Dragonboard support
@ 2016-06-14 15:30 ` Linus Walleij
  0 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-14 15:30 UTC (permalink / raw)
  To: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross
  Cc: Stephen Boyd, Bjorn Andersson, David Brown, Linus Walleij

This concludes my first round of work to get the APQ8060 Dragonboard
booting properly upstream.

After the separate fix to the RPM driver, it boots and sets up all stuff
as expected, adds the serial port and the two SD card slots.

I was working on getting some stuff like the PM8901 enabled (it has four
MPP multi-purpose-pins) but that work can happen on top of this series,
let's start somewhere.

Linus Walleij (5):
  ARM: dts: add GPIO and MPP to MSM8660 PMIC
  ARM: dts: add SDCC5 to Qualcomm MSM8660
  ARM: dts: add L2CC and RPM with regulators for MSM8660
  ARM: dts: move the fixed MMC regulator to SURF board
  ARM: dts: add Qualcomm APQ8060-based Dragonboard

 arch/arm/boot/dts/Makefile                     |   1 +
 arch/arm/boot/dts/qcom-apq8060-dragonboard.dts | 557 +++++++++++++++++++++++++
 arch/arm/boot/dts/qcom-msm8660-surf.dts        |  11 +
 arch/arm/boot/dts/qcom-msm8660.dtsi            | 149 ++++++-
 4 files changed, 709 insertions(+), 9 deletions(-)
 create mode 100644 arch/arm/boot/dts/qcom-apq8060-dragonboard.dts

-- 
2.4.11

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

* [PATCH 0/5] APQ8060 Dragonboard support
@ 2016-06-14 15:30 ` Linus Walleij
  0 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-14 15:30 UTC (permalink / raw)
  To: linux-arm-kernel

This concludes my first round of work to get the APQ8060 Dragonboard
booting properly upstream.

After the separate fix to the RPM driver, it boots and sets up all stuff
as expected, adds the serial port and the two SD card slots.

I was working on getting some stuff like the PM8901 enabled (it has four
MPP multi-purpose-pins) but that work can happen on top of this series,
let's start somewhere.

Linus Walleij (5):
  ARM: dts: add GPIO and MPP to MSM8660 PMIC
  ARM: dts: add SDCC5 to Qualcomm MSM8660
  ARM: dts: add L2CC and RPM with regulators for MSM8660
  ARM: dts: move the fixed MMC regulator to SURF board
  ARM: dts: add Qualcomm APQ8060-based Dragonboard

 arch/arm/boot/dts/Makefile                     |   1 +
 arch/arm/boot/dts/qcom-apq8060-dragonboard.dts | 557 +++++++++++++++++++++++++
 arch/arm/boot/dts/qcom-msm8660-surf.dts        |  11 +
 arch/arm/boot/dts/qcom-msm8660.dtsi            | 149 ++++++-
 4 files changed, 709 insertions(+), 9 deletions(-)
 create mode 100644 arch/arm/boot/dts/qcom-apq8060-dragonboard.dts

-- 
2.4.11

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

* [PATCH 1/5] ARM: dts: add GPIO and MPP to MSM8660 PMIC
  2016-06-14 15:30 ` Linus Walleij
@ 2016-06-14 15:30   ` Linus Walleij
  -1 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-14 15:30 UTC (permalink / raw)
  To: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross
  Cc: Stephen Boyd, Bjorn Andersson, David Brown, Linus Walleij

This adds the 8660 PMIC GPIO and MPP blocks to the MSM8660
DTSI. Verified against the vendor tree to be in these locations
with these interrupts, tested on the APQ8060 Dragonboard.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/qcom-msm8660.dtsi | 38 +++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
index cd214030b84a..6a62b62ad980 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -143,6 +143,44 @@
 				#address-cells = <1>;
 				#size-cells = <0>;
 
+				pm8058_gpio: gpio@150 {
+					compatible = "qcom,pm8058-gpio",
+						     "qcom,ssbi-gpio";
+					reg = <0x150>;
+					interrupt-parent = <&pmicintc>;
+					interrupts = <192 1>, <193 1>, <194 1>,
+						     <195 1>, <196 1>, <197 1>,
+						     <198 1>, <199 1>, <200 1>,
+						     <201 1>, <202 1>, <203 1>,
+						     <204 1>, <205 1>, <206 1>,
+						     <207 1>, <208 1>, <209 1>,
+						     <210 1>, <211 1>, <212 1>,
+						     <213 1>, <214 1>, <215 1>,
+						     <216 1>, <217 1>, <218 1>,
+						     <219 1>, <220 1>, <221 1>,
+						     <222 1>, <223 1>, <224 1>,
+						     <225 1>, <226 1>, <227 1>,
+						     <228 1>, <229 1>, <230 1>,
+						     <231 1>, <232 1>, <233 1>,
+						     <234 1>, <235 1>;
+					gpio-controller;
+					#gpio-cells = <2>;
+
+				};
+
+				pm8058_mpps: mpps@50 {
+					compatible = "qcom,pm8058-mpp",
+						     "qcom,ssbi-mpp";
+					reg = <0x50>;
+					gpio-controller;
+					#gpio-cells = <2>;
+					interrupt-parent = <&pmicintc>;
+					interrupts =
+					<128 1>, <129 1>, <130 1>, <131 1>,
+					<132 1>, <133 1>, <134 1>, <135 1>,
+					<136 1>, <137 1>, <138 1>, <139 1>;
+				};
+
 				pwrkey@1c {
 					compatible = "qcom,pm8058-pwrkey";
 					reg = <0x1c>;
-- 
2.4.11

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

* [PATCH 1/5] ARM: dts: add GPIO and MPP to MSM8660 PMIC
@ 2016-06-14 15:30   ` Linus Walleij
  0 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-14 15:30 UTC (permalink / raw)
  To: linux-arm-kernel

This adds the 8660 PMIC GPIO and MPP blocks to the MSM8660
DTSI. Verified against the vendor tree to be in these locations
with these interrupts, tested on the APQ8060 Dragonboard.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/qcom-msm8660.dtsi | 38 +++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
index cd214030b84a..6a62b62ad980 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -143,6 +143,44 @@
 				#address-cells = <1>;
 				#size-cells = <0>;
 
+				pm8058_gpio: gpio at 150 {
+					compatible = "qcom,pm8058-gpio",
+						     "qcom,ssbi-gpio";
+					reg = <0x150>;
+					interrupt-parent = <&pmicintc>;
+					interrupts = <192 1>, <193 1>, <194 1>,
+						     <195 1>, <196 1>, <197 1>,
+						     <198 1>, <199 1>, <200 1>,
+						     <201 1>, <202 1>, <203 1>,
+						     <204 1>, <205 1>, <206 1>,
+						     <207 1>, <208 1>, <209 1>,
+						     <210 1>, <211 1>, <212 1>,
+						     <213 1>, <214 1>, <215 1>,
+						     <216 1>, <217 1>, <218 1>,
+						     <219 1>, <220 1>, <221 1>,
+						     <222 1>, <223 1>, <224 1>,
+						     <225 1>, <226 1>, <227 1>,
+						     <228 1>, <229 1>, <230 1>,
+						     <231 1>, <232 1>, <233 1>,
+						     <234 1>, <235 1>;
+					gpio-controller;
+					#gpio-cells = <2>;
+
+				};
+
+				pm8058_mpps: mpps at 50 {
+					compatible = "qcom,pm8058-mpp",
+						     "qcom,ssbi-mpp";
+					reg = <0x50>;
+					gpio-controller;
+					#gpio-cells = <2>;
+					interrupt-parent = <&pmicintc>;
+					interrupts =
+					<128 1>, <129 1>, <130 1>, <131 1>,
+					<132 1>, <133 1>, <134 1>, <135 1>,
+					<136 1>, <137 1>, <138 1>, <139 1>;
+				};
+
 				pwrkey at 1c {
 					compatible = "qcom,pm8058-pwrkey";
 					reg = <0x1c>;
-- 
2.4.11

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

* [PATCH 2/5] ARM: dts: add SDCC5 to Qualcomm MSM8660
  2016-06-14 15:30 ` Linus Walleij
@ 2016-06-14 15:30   ` Linus Walleij
  -1 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-14 15:30 UTC (permalink / raw)
  To: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross
  Cc: Stephen Boyd, Bjorn Andersson, David Brown, Linus Walleij

The SDCC5 SD/MMC controller is used for a second uSD slot
on the APQ8060 Dragonboard. On most other systems it is just
dark silicon so define it and leave it as "disabled" in the core
SoC file.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/qcom-msm8660.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
index 6a62b62ad980..a5a38820554a 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -262,6 +262,22 @@
 				no-1-8-v;
 				vmmc-supply = <&vsdcc_fixed>;
 			};
+
+			sdcc5: sdcc@12200000 {
+				compatible	= "arm,pl18x", "arm,primecell";
+				arm,primecell-periphid = <0x00051180>;
+				status		= "disabled";
+				reg		= <0x12200000 0x8000>;
+				interrupts	= <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
+				interrupt-names	= "cmd_irq";
+				clocks		= <&gcc SDC5_CLK>, <&gcc SDC5_H_CLK>;
+				clock-names	= "mclk", "apb_pclk";
+				bus-width	= <4>;
+				cap-sd-highspeed;
+				cap-mmc-highspeed;
+				max-frequency	= <48000000>;
+				vmmc-supply = <&vsdcc_fixed>;
+			};
 		};
 
 		tcsr: syscon@1a400000 {
-- 
2.4.11

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

* [PATCH 2/5] ARM: dts: add SDCC5 to Qualcomm MSM8660
@ 2016-06-14 15:30   ` Linus Walleij
  0 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-14 15:30 UTC (permalink / raw)
  To: linux-arm-kernel

The SDCC5 SD/MMC controller is used for a second uSD slot
on the APQ8060 Dragonboard. On most other systems it is just
dark silicon so define it and leave it as "disabled" in the core
SoC file.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/qcom-msm8660.dtsi | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
index 6a62b62ad980..a5a38820554a 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -262,6 +262,22 @@
 				no-1-8-v;
 				vmmc-supply = <&vsdcc_fixed>;
 			};
+
+			sdcc5: sdcc at 12200000 {
+				compatible	= "arm,pl18x", "arm,primecell";
+				arm,primecell-periphid = <0x00051180>;
+				status		= "disabled";
+				reg		= <0x12200000 0x8000>;
+				interrupts	= <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
+				interrupt-names	= "cmd_irq";
+				clocks		= <&gcc SDC5_CLK>, <&gcc SDC5_H_CLK>;
+				clock-names	= "mclk", "apb_pclk";
+				bus-width	= <4>;
+				cap-sd-highspeed;
+				cap-mmc-highspeed;
+				max-frequency	= <48000000>;
+				vmmc-supply = <&vsdcc_fixed>;
+			};
 		};
 
 		tcsr: syscon at 1a400000 {
-- 
2.4.11

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

* [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
  2016-06-14 15:30 ` Linus Walleij
@ 2016-06-14 15:30   ` Linus Walleij
  -1 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-14 15:30 UTC (permalink / raw)
  To: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross
  Cc: Stephen Boyd, Bjorn Andersson, David Brown, Linus Walleij

This adds the L2CC IPC resource and RPM devices plus the nodes
for the PM8901 and PM8058 regulators to the MSM8660 device tree.
This was tested on the APQ8060 Dragonboard.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/qcom-msm8660.dtsi | 89 +++++++++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
index a5a38820554a..51d3c9e70617 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -215,6 +215,95 @@
 			};
 		};
 
+		l2cc: clock-controller@2082000 {
+			compatible	= "syscon";
+			reg		= <0x02082000 0x1000>;
+		};
+
+		rpm: rpm@104000 {
+			compatible	= "qcom,rpm-msm8660";
+			reg		= <0x00104000 0x1000>;
+			qcom,ipc	= <&l2cc 0x8 2>;
+
+			interrupts	= <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>,
+					  <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
+					  <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
+			interrupt-names	= "ack", "err", "wakeup";
+			clocks = <&gcc RPM_MSG_RAM_H_CLK>;
+			clock-names = "ram";
+
+			rpmcc: clock-controller {
+				compatible	= "qcom,rpmcc-apq8660", "qcom,rpmcc";
+				#clock-cells = <1>;
+			};
+
+			pm8901-regulators {
+				compatible = "qcom,rpm-pm8901-regulators";
+
+				pm8901_l0: l0 {};
+				pm8901_l1: l1 {};
+				pm8901_l2: l2 {};
+				pm8901_l3: l3 {};
+				pm8901_l4: l4 {};
+				pm8901_l5: l5 {};
+				pm8901_l6: l6 {};
+
+				/* S0 and S1 Handled as SAW regulators by SPM */
+				pm8901_s2: s2 {};
+				pm8901_s3: s3 {};
+				pm8901_s4: s4 {};
+
+				pm8901_lvs0: lvs0 {};
+				pm8901_lvs1: lvs1 {};
+				pm8901_lvs2: lvs2 {};
+				pm8901_lvs3: lvs3 {};
+
+				pm8058_mvs: mvs {};
+			};
+
+			pm8058-regulators {
+				compatible = "qcom,rpm-pm8058-regulators";
+
+				pm8058_l0: l0 {};
+				pm8058_l1: l1 {};
+				pm8058_l2: l2 {};
+				pm8058_l3: l3 {};
+				pm8058_l4: l4 {};
+				pm8058_l5: l5 {};
+				pm8058_l6: l6 {};
+				pm8058_l7: l7 {};
+				pm8058_l8: l8 {};
+				pm8058_l9: l9 {};
+				pm8058_l10: l10 {};
+				pm8058_l11: l11 {};
+				pm8058_l12: l12 {};
+				pm8058_l13: l13 {};
+				pm8058_l14: l14 {};
+				pm8058_l15: l15 {};
+				pm8058_l16: l16 {};
+				pm8058_l17: l17 {};
+				pm8058_l18: l18 {};
+				pm8058_l19: l19 {};
+				pm8058_l20: l20 {};
+				pm8058_l21: l21 {};
+				pm8058_l22: l22 {};
+				pm8058_l23: l23 {};
+				pm8058_l24: l24 {};
+				pm8058_l25: l25 {};
+
+				pm8058_s0: s0 {};
+				pm8058_s1: s1 {};
+				pm8058_s2: s2 {};
+				pm8058_s3: s3 {};
+				pm8058_s4: s4 {};
+
+				pm8058_lvs0: lvs0 {};
+				pm8058_lvs1: lvs1 {};
+
+				pm8058_ncp: ncp {};
+			};
+		};
+
 		/* Temporary fixed regulator */
 		vsdcc_fixed: vsdcc-regulator {
 			compatible = "regulator-fixed";
-- 
2.4.11

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

* [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
@ 2016-06-14 15:30   ` Linus Walleij
  0 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-14 15:30 UTC (permalink / raw)
  To: linux-arm-kernel

This adds the L2CC IPC resource and RPM devices plus the nodes
for the PM8901 and PM8058 regulators to the MSM8660 device tree.
This was tested on the APQ8060 Dragonboard.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/qcom-msm8660.dtsi | 89 +++++++++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)

diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
index a5a38820554a..51d3c9e70617 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -215,6 +215,95 @@
 			};
 		};
 
+		l2cc: clock-controller at 2082000 {
+			compatible	= "syscon";
+			reg		= <0x02082000 0x1000>;
+		};
+
+		rpm: rpm at 104000 {
+			compatible	= "qcom,rpm-msm8660";
+			reg		= <0x00104000 0x1000>;
+			qcom,ipc	= <&l2cc 0x8 2>;
+
+			interrupts	= <GIC_SPI 19 IRQ_TYPE_EDGE_RISING>,
+					  <GIC_SPI 21 IRQ_TYPE_EDGE_RISING>,
+					  <GIC_SPI 22 IRQ_TYPE_EDGE_RISING>;
+			interrupt-names	= "ack", "err", "wakeup";
+			clocks = <&gcc RPM_MSG_RAM_H_CLK>;
+			clock-names = "ram";
+
+			rpmcc: clock-controller {
+				compatible	= "qcom,rpmcc-apq8660", "qcom,rpmcc";
+				#clock-cells = <1>;
+			};
+
+			pm8901-regulators {
+				compatible = "qcom,rpm-pm8901-regulators";
+
+				pm8901_l0: l0 {};
+				pm8901_l1: l1 {};
+				pm8901_l2: l2 {};
+				pm8901_l3: l3 {};
+				pm8901_l4: l4 {};
+				pm8901_l5: l5 {};
+				pm8901_l6: l6 {};
+
+				/* S0 and S1 Handled as SAW regulators by SPM */
+				pm8901_s2: s2 {};
+				pm8901_s3: s3 {};
+				pm8901_s4: s4 {};
+
+				pm8901_lvs0: lvs0 {};
+				pm8901_lvs1: lvs1 {};
+				pm8901_lvs2: lvs2 {};
+				pm8901_lvs3: lvs3 {};
+
+				pm8058_mvs: mvs {};
+			};
+
+			pm8058-regulators {
+				compatible = "qcom,rpm-pm8058-regulators";
+
+				pm8058_l0: l0 {};
+				pm8058_l1: l1 {};
+				pm8058_l2: l2 {};
+				pm8058_l3: l3 {};
+				pm8058_l4: l4 {};
+				pm8058_l5: l5 {};
+				pm8058_l6: l6 {};
+				pm8058_l7: l7 {};
+				pm8058_l8: l8 {};
+				pm8058_l9: l9 {};
+				pm8058_l10: l10 {};
+				pm8058_l11: l11 {};
+				pm8058_l12: l12 {};
+				pm8058_l13: l13 {};
+				pm8058_l14: l14 {};
+				pm8058_l15: l15 {};
+				pm8058_l16: l16 {};
+				pm8058_l17: l17 {};
+				pm8058_l18: l18 {};
+				pm8058_l19: l19 {};
+				pm8058_l20: l20 {};
+				pm8058_l21: l21 {};
+				pm8058_l22: l22 {};
+				pm8058_l23: l23 {};
+				pm8058_l24: l24 {};
+				pm8058_l25: l25 {};
+
+				pm8058_s0: s0 {};
+				pm8058_s1: s1 {};
+				pm8058_s2: s2 {};
+				pm8058_s3: s3 {};
+				pm8058_s4: s4 {};
+
+				pm8058_lvs0: lvs0 {};
+				pm8058_lvs1: lvs1 {};
+
+				pm8058_ncp: ncp {};
+			};
+		};
+
 		/* Temporary fixed regulator */
 		vsdcc_fixed: vsdcc-regulator {
 			compatible = "regulator-fixed";
-- 
2.4.11

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

* [PATCH 4/5] ARM: dts: move the fixed MMC regulator to SURF board
  2016-06-14 15:30 ` Linus Walleij
@ 2016-06-14 15:30   ` Linus Walleij
  -1 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-14 15:30 UTC (permalink / raw)
  To: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross
  Cc: Stephen Boyd, Bjorn Andersson, David Brown, Linus Walleij

There is currently a fixed regulator in the .dtsi file for
the MSM8660 chipset, used by the SURF board. We want to define
real regulators for a board using this chipset, so push the fixed
regulator down to the SURF board which is the only user.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/qcom-msm8660-surf.dts | 11 +++++++++++
 arch/arm/boot/dts/qcom-msm8660.dtsi     | 12 ------------
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-msm8660-surf.dts b/arch/arm/boot/dts/qcom-msm8660-surf.dts
index b17f379e8c2a..23de764558ab 100644
--- a/arch/arm/boot/dts/qcom-msm8660-surf.dts
+++ b/arch/arm/boot/dts/qcom-msm8660-surf.dts
@@ -23,15 +23,26 @@
 			};
 		};
 
+		/* Temporary fixed regulator */
+		vsdcc_fixed: vsdcc-regulator {
+			compatible = "regulator-fixed";
+			regulator-name = "SDCC Power";
+			regulator-min-microvolt = <2700000>;
+			regulator-max-microvolt = <2700000>;
+			regulator-always-on;
+		};
+
 		amba {
 			/* eMMC */
 			sdcc1: sdcc@12400000 {
 				status = "okay";
+				vmmc-supply = <&vsdcc_fixed>;
 			};
 
 			/* External micro SD card */
 			sdcc3: sdcc@12180000 {
 				status = "okay";
+				vmmc-supply = <&vsdcc_fixed>;
 			};
 		};
 	};
diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
index 51d3c9e70617..088b48fdf75d 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -304,15 +304,6 @@
 			};
 		};
 
-		/* Temporary fixed regulator */
-		vsdcc_fixed: vsdcc-regulator {
-			compatible = "regulator-fixed";
-			regulator-name = "SDCC Power";
-			regulator-min-microvolt = <2700000>;
-			regulator-max-microvolt = <2700000>;
-			regulator-always-on;
-		};
-
 		amba {
 			compatible = "simple-bus";
 			#address-cells = <1>;
@@ -332,7 +323,6 @@
 				non-removable;
 				cap-sd-highspeed;
 				cap-mmc-highspeed;
-				vmmc-supply = <&vsdcc_fixed>;
 			};
 
 			sdcc3: sdcc@12180000 {
@@ -349,7 +339,6 @@
 				cap-mmc-highspeed;
 				max-frequency	= <48000000>;
 				no-1-8-v;
-				vmmc-supply = <&vsdcc_fixed>;
 			};
 
 			sdcc5: sdcc@12200000 {
@@ -365,7 +354,6 @@
 				cap-sd-highspeed;
 				cap-mmc-highspeed;
 				max-frequency	= <48000000>;
-				vmmc-supply = <&vsdcc_fixed>;
 			};
 		};
 
-- 
2.4.11

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

* [PATCH 4/5] ARM: dts: move the fixed MMC regulator to SURF board
@ 2016-06-14 15:30   ` Linus Walleij
  0 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-14 15:30 UTC (permalink / raw)
  To: linux-arm-kernel

There is currently a fixed regulator in the .dtsi file for
the MSM8660 chipset, used by the SURF board. We want to define
real regulators for a board using this chipset, so push the fixed
regulator down to the SURF board which is the only user.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/qcom-msm8660-surf.dts | 11 +++++++++++
 arch/arm/boot/dts/qcom-msm8660.dtsi     | 12 ------------
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-msm8660-surf.dts b/arch/arm/boot/dts/qcom-msm8660-surf.dts
index b17f379e8c2a..23de764558ab 100644
--- a/arch/arm/boot/dts/qcom-msm8660-surf.dts
+++ b/arch/arm/boot/dts/qcom-msm8660-surf.dts
@@ -23,15 +23,26 @@
 			};
 		};
 
+		/* Temporary fixed regulator */
+		vsdcc_fixed: vsdcc-regulator {
+			compatible = "regulator-fixed";
+			regulator-name = "SDCC Power";
+			regulator-min-microvolt = <2700000>;
+			regulator-max-microvolt = <2700000>;
+			regulator-always-on;
+		};
+
 		amba {
 			/* eMMC */
 			sdcc1: sdcc at 12400000 {
 				status = "okay";
+				vmmc-supply = <&vsdcc_fixed>;
 			};
 
 			/* External micro SD card */
 			sdcc3: sdcc at 12180000 {
 				status = "okay";
+				vmmc-supply = <&vsdcc_fixed>;
 			};
 		};
 	};
diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
index 51d3c9e70617..088b48fdf75d 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -304,15 +304,6 @@
 			};
 		};
 
-		/* Temporary fixed regulator */
-		vsdcc_fixed: vsdcc-regulator {
-			compatible = "regulator-fixed";
-			regulator-name = "SDCC Power";
-			regulator-min-microvolt = <2700000>;
-			regulator-max-microvolt = <2700000>;
-			regulator-always-on;
-		};
-
 		amba {
 			compatible = "simple-bus";
 			#address-cells = <1>;
@@ -332,7 +323,6 @@
 				non-removable;
 				cap-sd-highspeed;
 				cap-mmc-highspeed;
-				vmmc-supply = <&vsdcc_fixed>;
 			};
 
 			sdcc3: sdcc at 12180000 {
@@ -349,7 +339,6 @@
 				cap-mmc-highspeed;
 				max-frequency	= <48000000>;
 				no-1-8-v;
-				vmmc-supply = <&vsdcc_fixed>;
 			};
 
 			sdcc5: sdcc at 12200000 {
@@ -365,7 +354,6 @@
 				cap-sd-highspeed;
 				cap-mmc-highspeed;
 				max-frequency	= <48000000>;
-				vmmc-supply = <&vsdcc_fixed>;
 			};
 		};
 
-- 
2.4.11

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

* [PATCH 5/5] ARM: dts: add Qualcomm APQ8060-based Dragonboard
  2016-06-14 15:30 ` Linus Walleij
@ 2016-06-14 15:30   ` Linus Walleij
  -1 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-14 15:30 UTC (permalink / raw)
  To: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross
  Cc: Stephen Boyd, Bjorn Andersson, David Brown, Linus Walleij

This is the first Dragonboard based on APQ8060 and PM8058. It
was produced in 2011 in cooperation between Qualcomm and
BSQUARE.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/Makefile                     |   1 +
 arch/arm/boot/dts/qcom-apq8060-dragonboard.dts | 557 +++++++++++++++++++++++++
 2 files changed, 558 insertions(+)
 create mode 100644 arch/arm/boot/dts/qcom-apq8060-dragonboard.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 06b6c2d695bf..793bb14c1329 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -572,6 +572,7 @@ dtb-$(CONFIG_ARCH_PRIMA2) += \
 dtb-$(CONFIG_ARCH_OXNAS) += \
 	wd-mbwe.dtb
 dtb-$(CONFIG_ARCH_QCOM) += \
+	qcom-apq8060-dragonboard.dtb \
 	qcom-apq8064-arrow-db600c.dtb \
 	qcom-apq8064-cm-qs600.dtb \
 	qcom-apq8064-ifc6410.dtb \
diff --git a/arch/arm/boot/dts/qcom-apq8060-dragonboard.dts b/arch/arm/boot/dts/qcom-apq8060-dragonboard.dts
new file mode 100644
index 000000000000..734d5e8446db
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-apq8060-dragonboard.dts
@@ -0,0 +1,557 @@
+/*
+ * Copyright 2016 Linaro Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+#include "qcom-msm8660.dtsi"
+
+/ {
+	model = "Qualcomm APQ8060 Dragonboard";
+	compatible = "qcom,apq8060-dragonboard", "qcom,msm8660";
+
+	aliases {
+		serial0 = &gsbi12_serial;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	regulators {
+		compatible = "simple-bus";
+		/* Main power of the board: 3.7V */
+		vph: regulator-fixed@1 {
+			compatible = "regulator-fixed";
+			regulator-min-microvolt = <3700000>;
+			regulator-max-microvolt = <3700000>;
+			regulator-name = "VPH";
+			regulator-type = "voltage";
+			regulator-always-on;
+			regulator-boot-on;
+		};
+	};
+
+	/* This is a levelshifter for SDCC5 */
+	dragon_vio_txb: txb0104rgyr {
+		compatible = "regulator-fixed";
+		regulator-name = "Dragon SDCC levelshifter";
+		vin-supply = <&pm8058_l14>;
+		regulator-always-on;
+	};
+
+	soc {
+		gsbi@19c00000 {
+			status = "ok";
+			pinctrl-names = "default";
+			pinctrl-0 = <&dragon_serial0_pins>;
+			qcom,mode = <GSBI_PROT_I2C_UART>;
+			serial@19c40000 {
+				status = "ok";
+			};
+		};
+	};
+};
+
+/* Intenal 3.69 GiB eMMC */
+&sdcc1 {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&dragon_sdcc1_pins>;
+	vmmc-supply = <&pm8901_l5>;
+	vqmmc-supply = <&pm8901_lvs0>;
+};
+
+/* External micro SD card, directly connected, pulled up to 2.85 V */
+&sdcc3 {
+	status = "okay";
+	/* Enable SSBI GPIO 22 as input, use for card detect */
+	pinctrl-names = "default";
+	pinctrl-0 = <&dragon_sdcc3_pins>, <&dragon_sdcc3_gpios>;
+	cd-gpios = <&pm8058_gpio 22 GPIO_ACTIVE_LOW>;
+	wp-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
+	vmmc-supply = <&pm8058_l14>;
+};
+
+/*
+ * Second external micro SD card, using two TXB104RGYR levelshifters
+ * to lift from 1.8 V to 2.85 V
+ */
+&sdcc5 {
+	status = "okay";
+	/* Enable SSBI GPIO 26 as input, use for card detect */
+	pinctrl-names = "default";
+	pinctrl-0 = <&dragon_sdcc5_pins>, <&dragon_sdcc5_gpios>;
+	cd-gpios = <&pm8058_gpio 26 GPIO_ACTIVE_LOW>;
+	wp-gpios = <&tlmm 106 GPIO_ACTIVE_HIGH>;
+	vmmc-supply = <&pm8058_l14>;
+	vqmmc-supply = <&dragon_vio_txb>;
+};
+
+/* Set up of the PMIC RPM regulators for this board */
+&rpm {
+	/* PM8901 supplies "preliminary regulators" whatever that means */
+	pm8901-regulators {
+		vdd_l0-supply = <&pm8901_s4>;
+		vdd_l1-supply = <&vph>;
+		vdd_l2-supply = <&vph>;
+		vdd_l3-supply = <&vph>;
+		vdd_l4-supply = <&vph>;
+		vdd_l5-supply = <&vph>;
+		vdd_l6-supply = <&vph>;
+		/* vdd_s0-supply, vdd_s1-supply: SAW regulators */
+		vdd_s2-supply = <&vph>;
+		vdd_s3-supply = <&vph>;
+		vdd_s4-supply = <&vph>;
+		lvs0_in-supply = <&pm8058_s3>;
+		lvs1_in-supply = <&pm8901_s4>;
+		lvs2_in-supply = <&pm8058_l0>;
+		lvs3_in-supply = <&pm8058_s2>;
+		mvs_in-supply = <&pm8058_s3>;
+
+		l0 {
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+		};
+		l1 {
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			bias-pull-down;
+		};
+		l2 {
+			regulator-min-microvolt = <2850000>;
+			regulator-max-microvolt = <3300000>;
+			bias-pull-down;
+		};
+		l3 {
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			bias-pull-down;
+		};
+		l4 {
+			regulator-min-microvolt = <2600000>;
+			regulator-max-microvolt = <2600000>;
+			bias-pull-down;
+		};
+		l5 {
+			regulator-min-microvolt = <2850000>;
+			regulator-max-microvolt = <2850000>;
+			bias-pull-down;
+		};
+		l6 {
+			regulator-min-microvolt = <2200000>;
+			regulator-max-microvolt = <2200000>;
+			bias-pull-down;
+		};
+
+		/* s0 and s1 are SAW regulators controlled over SPM */
+		s2 {
+			regulator-min-microvolt = <1300000>;
+			regulator-max-microvolt = <1300000>;
+			qcom,switch-mode-frequency = <1600000>;
+			bias-pull-down;
+		};
+		s3 {
+			regulator-min-microvolt = <1100000>;
+			regulator-max-microvolt = <1100000>;
+			qcom,switch-mode-frequency = <1600000>;
+			bias-pull-down;
+		};
+		s4 {
+			regulator-min-microvolt = <1225000>;
+			regulator-max-microvolt = <1225000>;
+			qcom,switch-mode-frequency = <1600000>;
+			bias-pull-down;
+		};
+
+		/* LVS0 thru 3 and mvs0 are just switches */
+		lvs0 {
+			regulator-always-on;
+		};
+		lvs1 { };
+		lvs2 { };
+		lvs3 { };
+		mvs0 {};
+	};
+
+	pm8058-regulators {
+		vdd_l0_l1_lvs-supply = <&pm8058_s3>;
+		vdd_l2_l11_l12-supply = <&vph>;
+		vdd_l3_l4_l5-supply = <&vph>;
+		vdd_l6_l7-supply = <&vph>;
+		vdd_l8-supply = <&vph>;
+		vdd_l9-supply = <&vph>;
+		vdd_l10-supply = <&vph>;
+		vdd_l13_l16-supply = <&pm8058_s4>;
+		vdd_l14_l15-supply = <&vph>;
+		vdd_l17_l18-supply = <&vph>;
+		vdd_l19_l20-supply = <&vph>;
+		vdd_l21-supply = <&pm8058_s3>;
+		vdd_l22-supply = <&pm8058_s3>;
+		vdd_l23_l24_l25-supply = <&pm8058_s3>;
+		vdd_s0-supply = <&vph>;
+		vdd_s1-supply = <&vph>;
+		vdd_s2-supply = <&vph>;
+		vdd_s3-supply = <&vph>;
+		vdd_s4-supply = <&vph>;
+		vdd_ncp = <&vph>;
+
+		l0 {
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+		};
+		l1 {
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+		};
+		l2 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <2600000>;
+			bias-pull-down;
+		};
+		l3 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			bias-pull-down;
+		};
+		l4 {
+			regulator-min-microvolt = <2850000>;
+			regulator-max-microvolt = <2850000>;
+			bias-pull-down;
+		};
+		l5 {
+			regulator-min-microvolt = <2850000>;
+			regulator-max-microvolt = <2850000>;
+			bias-pull-down;
+		};
+		l6 {
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3600000>;
+			bias-pull-down;
+		};
+		l7 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			bias-pull-down;
+		};
+		l8 {
+			regulator-min-microvolt = <2900000>;
+			regulator-max-microvolt = <3050000>;
+			bias-pull-down;
+		};
+		l9 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			bias-pull-down;
+		};
+		l10 {
+			regulator-min-microvolt = <2600000>;
+			regulator-max-microvolt = <2600000>;
+			bias-pull-down;
+		};
+		l11 {
+			regulator-min-microvolt = <1500000>;
+			regulator-max-microvolt = <1500000>;
+			bias-pull-down;
+		};
+		l12 {
+			regulator-min-microvolt = <2900000>;
+			regulator-max-microvolt = <2900000>;
+			bias-pull-down;
+		};
+		l13 {
+			regulator-min-microvolt = <2050000>;
+			regulator-max-microvolt = <2050000>;
+			bias-pull-down;
+		};
+		l14 {
+			regulator-min-microvolt = <2850000>;
+			regulator-max-microvolt = <2850000>;
+		};
+		l15 {
+			regulator-min-microvolt = <2850000>;
+			regulator-max-microvolt = <2850000>;
+			bias-pull-down;
+		};
+		l16 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			bias-pull-down;
+			regulator-always-on;
+		};
+		l17 {
+			// 1.5V according to schematic
+			regulator-min-microvolt = <2600000>;
+			regulator-max-microvolt = <2600000>;
+			bias-pull-down;
+		};
+		l18 {
+			regulator-min-microvolt = <2200000>;
+			regulator-max-microvolt = <2200000>;
+			bias-pull-down;
+		};
+		l19 {
+			regulator-min-microvolt = <2500000>;
+			regulator-max-microvolt = <2500000>;
+			bias-pull-down;
+		};
+		l20 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			bias-pull-down;
+		};
+		l21 {
+			// 1.1 V according to schematic
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+			regulator-always-on;
+		};
+		l22 {
+			// 1.2 V according to schematic
+			regulator-min-microvolt = <1150000>;
+			regulator-max-microvolt = <1150000>;
+			bias-pull-down;
+		};
+		l23 {
+			// Unused
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+		};
+		l24 {
+			// Unused
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+		};
+		l25 {
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+		};
+
+		s0 {
+			// regulator-min-microvolt = <500000>;
+			// regulator-max-microvolt = <1325000>;
+			regulator-min-microvolt = <1100000>;
+			regulator-max-microvolt = <1100000>;
+			qcom,switch-mode-frequency = <1600000>;
+			bias-pull-down;
+		};
+		s1 {
+			// regulator-min-microvolt = <500000>;
+			// regulator-max-microvolt = <1250000>;
+			regulator-min-microvolt = <1100000>;
+			regulator-max-microvolt = <1100000>;
+			qcom,switch-mode-frequency = <1600000>;
+			bias-pull-down;
+		};
+		s2 {
+			// regulator-min-microvolt = <1200000>;
+			// regulator-max-microvolt = <1400000>;
+			regulator-min-microvolt = <1300000>;
+			regulator-max-microvolt = <1300000>;
+			qcom,switch-mode-frequency = <1600000>;
+			bias-pull-down;
+		};
+		s3 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			qcom,switch-mode-frequency = <1600000>;
+			regulator-always-on;
+			bias-pull-down;
+		};
+		s4 {
+			regulator-min-microvolt = <2200000>;
+			regulator-max-microvolt = <2200000>;
+			qcom,switch-mode-frequency = <1600000>;
+			regulator-always-on;
+			bias-pull-down;
+		};
+
+		/* LVS0 and LVS1 are just switches */
+		lvs0 {
+			bias-pull-down;
+		};
+		lvs1 {
+			bias-pull-down;
+		};
+
+		ncp {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+		};
+	};
+};
+
+&tlmm {
+	/* eMMMC pins, all 8 data lines connected */
+	dragon_sdcc1_pins: sdcc1 {
+		mux {
+			pins = "gpio159", "gpio160", "gpio161",
+			     "gpio162", "gpio163", "gpio164",
+			     "gpio165", "gpio166", "gpio167",
+			     "gpio168";
+			function = "sdc1";
+		};
+		clk {
+			pins = "gpio167"; /* SDC5 CLK */
+			drive-strength = <16>;
+			bias-disable;
+		};
+		cmd {
+			pins = "gpio168"; /* SDC5 CMD */
+			drive-strength = <10>;
+			bias-pull-up;
+		};
+		data {
+			/* SDC5 D0 to D7 */
+			pins = "gpio159", "gpio160", "gpio161", "gpio162",
+			     "gpio163", "gpio164", "gpio165", "gpio166";
+			drive-strength = <10>;
+			bias-pull-up;
+		};
+	};
+
+	/*
+	 * The SDCC3 pins are hardcoded (non-muxable) but need some pin
+	 * configuration.
+	 */
+	dragon_sdcc3_pins: sdcc3 {
+		clk {
+			pins = "sdc3_clk";
+			drive-strength = <8>;
+			bias-disable;
+		};
+		cmd {
+			pins = "sdc3_cmd";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+		data {
+			pins = "sdc3_data";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+	};
+
+	/* Second SD card slot pins */
+	dragon_sdcc5_pins: sdcc5 {
+		mux {
+			pins = "gpio95", "gpio96", "gpio97",
+			     "gpio98", "gpio99", "gpio100";
+			function = "sdc5";
+		};
+		clk {
+			pins = "gpio97"; /* SDC5 CLK */
+			drive-strength = <16>;
+			bias-disable;
+		};
+		cmd {
+			pins = "gpio95"; /* SDC5 CMD */
+			drive-strength = <10>;
+			bias-pull-up;
+		};
+		data {
+			/* SDC5 D0 to D3 */
+			pins = "gpio96", "gpio98", "gpio99", "gpio100";
+			drive-strength = <10>;
+			bias-pull-up;
+		};
+	};
+
+	/* Primary serial port uart 0 pins */
+	dragon_serial0_pins: gsbi12 {
+		mux {
+			pins = "gpio117", "gpio118";
+			function = "gsbi12";
+		};
+		tx {
+			pins = "gpio117";
+			drive-strength = <8>;
+			bias-disable;
+		};
+		rx {
+			pins = "gpio118";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+	};
+};
+
+&pmicintc {
+	keypad@148 {
+		linux,keymap = <
+			MATRIX_KEY(0, 0, KEY_MENU)
+			MATRIX_KEY(0, 2, KEY_1)
+			MATRIX_KEY(0, 3, KEY_4)
+			MATRIX_KEY(0, 4, KEY_7)
+			MATRIX_KEY(1, 0, KEY_UP)
+			MATRIX_KEY(1, 1, KEY_LEFT)
+			MATRIX_KEY(1, 2, KEY_DOWN)
+			MATRIX_KEY(1, 3, KEY_5)
+			MATRIX_KEY(1, 3, KEY_8)
+			MATRIX_KEY(2, 0, KEY_HOME)
+			MATRIX_KEY(2, 1, KEY_REPLY)
+			MATRIX_KEY(2, 2, KEY_2)
+			MATRIX_KEY(2, 3, KEY_6)
+			MATRIX_KEY(3, 0, KEY_VOLUMEUP)
+			MATRIX_KEY(3, 1, KEY_RIGHT)
+			MATRIX_KEY(3, 2, KEY_3)
+			MATRIX_KEY(3, 3, KEY_9)
+			MATRIX_KEY(3, 4, KEY_SWITCHVIDEOMODE)
+			MATRIX_KEY(4, 0, KEY_VOLUMEDOWN)
+			MATRIX_KEY(4, 1, KEY_BACK)
+			MATRIX_KEY(4, 2, KEY_CAMERA)
+			MATRIX_KEY(4, 3, KEY_KBDILLUMTOGGLE)
+			>;
+		keypad,num-rows = <6>;
+		keypad,num-columns = <5>;
+	};
+};
+
+&pm8058_gpio {
+	dragon_sdcc3_gpios: sdcc3-gpios {
+		pinconf {
+			pins = "gpio22";
+			function = "normal";
+			input-enable;
+			bias-pull-up;
+			qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>;
+			power-source = <PM8058_GPIO_S3>;
+		};
+	};
+	dragon_sdcc5_gpios: sdcc5-gpios {
+		pinconf {
+			pins = "gpio26";
+			function = "normal";
+			input-enable;
+			bias-pull-up;
+			qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>;
+			power-source = <PM8058_GPIO_S3>;
+		};
+	};
+};
-- 
2.4.11

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

* [PATCH 5/5] ARM: dts: add Qualcomm APQ8060-based Dragonboard
@ 2016-06-14 15:30   ` Linus Walleij
  0 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-14 15:30 UTC (permalink / raw)
  To: linux-arm-kernel

This is the first Dragonboard based on APQ8060 and PM8058. It
was produced in 2011 in cooperation between Qualcomm and
BSQUARE.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 arch/arm/boot/dts/Makefile                     |   1 +
 arch/arm/boot/dts/qcom-apq8060-dragonboard.dts | 557 +++++++++++++++++++++++++
 2 files changed, 558 insertions(+)
 create mode 100644 arch/arm/boot/dts/qcom-apq8060-dragonboard.dts

diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 06b6c2d695bf..793bb14c1329 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -572,6 +572,7 @@ dtb-$(CONFIG_ARCH_PRIMA2) += \
 dtb-$(CONFIG_ARCH_OXNAS) += \
 	wd-mbwe.dtb
 dtb-$(CONFIG_ARCH_QCOM) += \
+	qcom-apq8060-dragonboard.dtb \
 	qcom-apq8064-arrow-db600c.dtb \
 	qcom-apq8064-cm-qs600.dtb \
 	qcom-apq8064-ifc6410.dtb \
diff --git a/arch/arm/boot/dts/qcom-apq8060-dragonboard.dts b/arch/arm/boot/dts/qcom-apq8060-dragonboard.dts
new file mode 100644
index 000000000000..734d5e8446db
--- /dev/null
+++ b/arch/arm/boot/dts/qcom-apq8060-dragonboard.dts
@@ -0,0 +1,557 @@
+/*
+ * Copyright 2016 Linaro Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+#include "qcom-msm8660.dtsi"
+
+/ {
+	model = "Qualcomm APQ8060 Dragonboard";
+	compatible = "qcom,apq8060-dragonboard", "qcom,msm8660";
+
+	aliases {
+		serial0 = &gsbi12_serial;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	regulators {
+		compatible = "simple-bus";
+		/* Main power of the board: 3.7V */
+		vph: regulator-fixed at 1 {
+			compatible = "regulator-fixed";
+			regulator-min-microvolt = <3700000>;
+			regulator-max-microvolt = <3700000>;
+			regulator-name = "VPH";
+			regulator-type = "voltage";
+			regulator-always-on;
+			regulator-boot-on;
+		};
+	};
+
+	/* This is a levelshifter for SDCC5 */
+	dragon_vio_txb: txb0104rgyr {
+		compatible = "regulator-fixed";
+		regulator-name = "Dragon SDCC levelshifter";
+		vin-supply = <&pm8058_l14>;
+		regulator-always-on;
+	};
+
+	soc {
+		gsbi at 19c00000 {
+			status = "ok";
+			pinctrl-names = "default";
+			pinctrl-0 = <&dragon_serial0_pins>;
+			qcom,mode = <GSBI_PROT_I2C_UART>;
+			serial at 19c40000 {
+				status = "ok";
+			};
+		};
+	};
+};
+
+/* Intenal 3.69 GiB eMMC */
+&sdcc1 {
+	status = "okay";
+	pinctrl-names = "default";
+	pinctrl-0 = <&dragon_sdcc1_pins>;
+	vmmc-supply = <&pm8901_l5>;
+	vqmmc-supply = <&pm8901_lvs0>;
+};
+
+/* External micro SD card, directly connected, pulled up to 2.85 V */
+&sdcc3 {
+	status = "okay";
+	/* Enable SSBI GPIO 22 as input, use for card detect */
+	pinctrl-names = "default";
+	pinctrl-0 = <&dragon_sdcc3_pins>, <&dragon_sdcc3_gpios>;
+	cd-gpios = <&pm8058_gpio 22 GPIO_ACTIVE_LOW>;
+	wp-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>;
+	vmmc-supply = <&pm8058_l14>;
+};
+
+/*
+ * Second external micro SD card, using two TXB104RGYR levelshifters
+ * to lift from 1.8 V to 2.85 V
+ */
+&sdcc5 {
+	status = "okay";
+	/* Enable SSBI GPIO 26 as input, use for card detect */
+	pinctrl-names = "default";
+	pinctrl-0 = <&dragon_sdcc5_pins>, <&dragon_sdcc5_gpios>;
+	cd-gpios = <&pm8058_gpio 26 GPIO_ACTIVE_LOW>;
+	wp-gpios = <&tlmm 106 GPIO_ACTIVE_HIGH>;
+	vmmc-supply = <&pm8058_l14>;
+	vqmmc-supply = <&dragon_vio_txb>;
+};
+
+/* Set up of the PMIC RPM regulators for this board */
+&rpm {
+	/* PM8901 supplies "preliminary regulators" whatever that means */
+	pm8901-regulators {
+		vdd_l0-supply = <&pm8901_s4>;
+		vdd_l1-supply = <&vph>;
+		vdd_l2-supply = <&vph>;
+		vdd_l3-supply = <&vph>;
+		vdd_l4-supply = <&vph>;
+		vdd_l5-supply = <&vph>;
+		vdd_l6-supply = <&vph>;
+		/* vdd_s0-supply, vdd_s1-supply: SAW regulators */
+		vdd_s2-supply = <&vph>;
+		vdd_s3-supply = <&vph>;
+		vdd_s4-supply = <&vph>;
+		lvs0_in-supply = <&pm8058_s3>;
+		lvs1_in-supply = <&pm8901_s4>;
+		lvs2_in-supply = <&pm8058_l0>;
+		lvs3_in-supply = <&pm8058_s2>;
+		mvs_in-supply = <&pm8058_s3>;
+
+		l0 {
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+		};
+		l1 {
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			bias-pull-down;
+		};
+		l2 {
+			regulator-min-microvolt = <2850000>;
+			regulator-max-microvolt = <3300000>;
+			bias-pull-down;
+		};
+		l3 {
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			bias-pull-down;
+		};
+		l4 {
+			regulator-min-microvolt = <2600000>;
+			regulator-max-microvolt = <2600000>;
+			bias-pull-down;
+		};
+		l5 {
+			regulator-min-microvolt = <2850000>;
+			regulator-max-microvolt = <2850000>;
+			bias-pull-down;
+		};
+		l6 {
+			regulator-min-microvolt = <2200000>;
+			regulator-max-microvolt = <2200000>;
+			bias-pull-down;
+		};
+
+		/* s0 and s1 are SAW regulators controlled over SPM */
+		s2 {
+			regulator-min-microvolt = <1300000>;
+			regulator-max-microvolt = <1300000>;
+			qcom,switch-mode-frequency = <1600000>;
+			bias-pull-down;
+		};
+		s3 {
+			regulator-min-microvolt = <1100000>;
+			regulator-max-microvolt = <1100000>;
+			qcom,switch-mode-frequency = <1600000>;
+			bias-pull-down;
+		};
+		s4 {
+			regulator-min-microvolt = <1225000>;
+			regulator-max-microvolt = <1225000>;
+			qcom,switch-mode-frequency = <1600000>;
+			bias-pull-down;
+		};
+
+		/* LVS0 thru 3 and mvs0 are just switches */
+		lvs0 {
+			regulator-always-on;
+		};
+		lvs1 { };
+		lvs2 { };
+		lvs3 { };
+		mvs0 {};
+	};
+
+	pm8058-regulators {
+		vdd_l0_l1_lvs-supply = <&pm8058_s3>;
+		vdd_l2_l11_l12-supply = <&vph>;
+		vdd_l3_l4_l5-supply = <&vph>;
+		vdd_l6_l7-supply = <&vph>;
+		vdd_l8-supply = <&vph>;
+		vdd_l9-supply = <&vph>;
+		vdd_l10-supply = <&vph>;
+		vdd_l13_l16-supply = <&pm8058_s4>;
+		vdd_l14_l15-supply = <&vph>;
+		vdd_l17_l18-supply = <&vph>;
+		vdd_l19_l20-supply = <&vph>;
+		vdd_l21-supply = <&pm8058_s3>;
+		vdd_l22-supply = <&pm8058_s3>;
+		vdd_l23_l24_l25-supply = <&pm8058_s3>;
+		vdd_s0-supply = <&vph>;
+		vdd_s1-supply = <&vph>;
+		vdd_s2-supply = <&vph>;
+		vdd_s3-supply = <&vph>;
+		vdd_s4-supply = <&vph>;
+		vdd_ncp = <&vph>;
+
+		l0 {
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+		};
+		l1 {
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+		};
+		l2 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <2600000>;
+			bias-pull-down;
+		};
+		l3 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			bias-pull-down;
+		};
+		l4 {
+			regulator-min-microvolt = <2850000>;
+			regulator-max-microvolt = <2850000>;
+			bias-pull-down;
+		};
+		l5 {
+			regulator-min-microvolt = <2850000>;
+			regulator-max-microvolt = <2850000>;
+			bias-pull-down;
+		};
+		l6 {
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3600000>;
+			bias-pull-down;
+		};
+		l7 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			bias-pull-down;
+		};
+		l8 {
+			regulator-min-microvolt = <2900000>;
+			regulator-max-microvolt = <3050000>;
+			bias-pull-down;
+		};
+		l9 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			bias-pull-down;
+		};
+		l10 {
+			regulator-min-microvolt = <2600000>;
+			regulator-max-microvolt = <2600000>;
+			bias-pull-down;
+		};
+		l11 {
+			regulator-min-microvolt = <1500000>;
+			regulator-max-microvolt = <1500000>;
+			bias-pull-down;
+		};
+		l12 {
+			regulator-min-microvolt = <2900000>;
+			regulator-max-microvolt = <2900000>;
+			bias-pull-down;
+		};
+		l13 {
+			regulator-min-microvolt = <2050000>;
+			regulator-max-microvolt = <2050000>;
+			bias-pull-down;
+		};
+		l14 {
+			regulator-min-microvolt = <2850000>;
+			regulator-max-microvolt = <2850000>;
+		};
+		l15 {
+			regulator-min-microvolt = <2850000>;
+			regulator-max-microvolt = <2850000>;
+			bias-pull-down;
+		};
+		l16 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			bias-pull-down;
+			regulator-always-on;
+		};
+		l17 {
+			// 1.5V according to schematic
+			regulator-min-microvolt = <2600000>;
+			regulator-max-microvolt = <2600000>;
+			bias-pull-down;
+		};
+		l18 {
+			regulator-min-microvolt = <2200000>;
+			regulator-max-microvolt = <2200000>;
+			bias-pull-down;
+		};
+		l19 {
+			regulator-min-microvolt = <2500000>;
+			regulator-max-microvolt = <2500000>;
+			bias-pull-down;
+		};
+		l20 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			bias-pull-down;
+		};
+		l21 {
+			// 1.1 V according to schematic
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+			regulator-always-on;
+		};
+		l22 {
+			// 1.2 V according to schematic
+			regulator-min-microvolt = <1150000>;
+			regulator-max-microvolt = <1150000>;
+			bias-pull-down;
+		};
+		l23 {
+			// Unused
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+		};
+		l24 {
+			// Unused
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+		};
+		l25 {
+			regulator-min-microvolt = <1200000>;
+			regulator-max-microvolt = <1200000>;
+			bias-pull-down;
+		};
+
+		s0 {
+			// regulator-min-microvolt = <500000>;
+			// regulator-max-microvolt = <1325000>;
+			regulator-min-microvolt = <1100000>;
+			regulator-max-microvolt = <1100000>;
+			qcom,switch-mode-frequency = <1600000>;
+			bias-pull-down;
+		};
+		s1 {
+			// regulator-min-microvolt = <500000>;
+			// regulator-max-microvolt = <1250000>;
+			regulator-min-microvolt = <1100000>;
+			regulator-max-microvolt = <1100000>;
+			qcom,switch-mode-frequency = <1600000>;
+			bias-pull-down;
+		};
+		s2 {
+			// regulator-min-microvolt = <1200000>;
+			// regulator-max-microvolt = <1400000>;
+			regulator-min-microvolt = <1300000>;
+			regulator-max-microvolt = <1300000>;
+			qcom,switch-mode-frequency = <1600000>;
+			bias-pull-down;
+		};
+		s3 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			qcom,switch-mode-frequency = <1600000>;
+			regulator-always-on;
+			bias-pull-down;
+		};
+		s4 {
+			regulator-min-microvolt = <2200000>;
+			regulator-max-microvolt = <2200000>;
+			qcom,switch-mode-frequency = <1600000>;
+			regulator-always-on;
+			bias-pull-down;
+		};
+
+		/* LVS0 and LVS1 are just switches */
+		lvs0 {
+			bias-pull-down;
+		};
+		lvs1 {
+			bias-pull-down;
+		};
+
+		ncp {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+		};
+	};
+};
+
+&tlmm {
+	/* eMMMC pins, all 8 data lines connected */
+	dragon_sdcc1_pins: sdcc1 {
+		mux {
+			pins = "gpio159", "gpio160", "gpio161",
+			     "gpio162", "gpio163", "gpio164",
+			     "gpio165", "gpio166", "gpio167",
+			     "gpio168";
+			function = "sdc1";
+		};
+		clk {
+			pins = "gpio167"; /* SDC5 CLK */
+			drive-strength = <16>;
+			bias-disable;
+		};
+		cmd {
+			pins = "gpio168"; /* SDC5 CMD */
+			drive-strength = <10>;
+			bias-pull-up;
+		};
+		data {
+			/* SDC5 D0 to D7 */
+			pins = "gpio159", "gpio160", "gpio161", "gpio162",
+			     "gpio163", "gpio164", "gpio165", "gpio166";
+			drive-strength = <10>;
+			bias-pull-up;
+		};
+	};
+
+	/*
+	 * The SDCC3 pins are hardcoded (non-muxable) but need some pin
+	 * configuration.
+	 */
+	dragon_sdcc3_pins: sdcc3 {
+		clk {
+			pins = "sdc3_clk";
+			drive-strength = <8>;
+			bias-disable;
+		};
+		cmd {
+			pins = "sdc3_cmd";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+		data {
+			pins = "sdc3_data";
+			drive-strength = <8>;
+			bias-pull-up;
+		};
+	};
+
+	/* Second SD card slot pins */
+	dragon_sdcc5_pins: sdcc5 {
+		mux {
+			pins = "gpio95", "gpio96", "gpio97",
+			     "gpio98", "gpio99", "gpio100";
+			function = "sdc5";
+		};
+		clk {
+			pins = "gpio97"; /* SDC5 CLK */
+			drive-strength = <16>;
+			bias-disable;
+		};
+		cmd {
+			pins = "gpio95"; /* SDC5 CMD */
+			drive-strength = <10>;
+			bias-pull-up;
+		};
+		data {
+			/* SDC5 D0 to D3 */
+			pins = "gpio96", "gpio98", "gpio99", "gpio100";
+			drive-strength = <10>;
+			bias-pull-up;
+		};
+	};
+
+	/* Primary serial port uart 0 pins */
+	dragon_serial0_pins: gsbi12 {
+		mux {
+			pins = "gpio117", "gpio118";
+			function = "gsbi12";
+		};
+		tx {
+			pins = "gpio117";
+			drive-strength = <8>;
+			bias-disable;
+		};
+		rx {
+			pins = "gpio118";
+			drive-strength = <2>;
+			bias-pull-up;
+		};
+	};
+};
+
+&pmicintc {
+	keypad at 148 {
+		linux,keymap = <
+			MATRIX_KEY(0, 0, KEY_MENU)
+			MATRIX_KEY(0, 2, KEY_1)
+			MATRIX_KEY(0, 3, KEY_4)
+			MATRIX_KEY(0, 4, KEY_7)
+			MATRIX_KEY(1, 0, KEY_UP)
+			MATRIX_KEY(1, 1, KEY_LEFT)
+			MATRIX_KEY(1, 2, KEY_DOWN)
+			MATRIX_KEY(1, 3, KEY_5)
+			MATRIX_KEY(1, 3, KEY_8)
+			MATRIX_KEY(2, 0, KEY_HOME)
+			MATRIX_KEY(2, 1, KEY_REPLY)
+			MATRIX_KEY(2, 2, KEY_2)
+			MATRIX_KEY(2, 3, KEY_6)
+			MATRIX_KEY(3, 0, KEY_VOLUMEUP)
+			MATRIX_KEY(3, 1, KEY_RIGHT)
+			MATRIX_KEY(3, 2, KEY_3)
+			MATRIX_KEY(3, 3, KEY_9)
+			MATRIX_KEY(3, 4, KEY_SWITCHVIDEOMODE)
+			MATRIX_KEY(4, 0, KEY_VOLUMEDOWN)
+			MATRIX_KEY(4, 1, KEY_BACK)
+			MATRIX_KEY(4, 2, KEY_CAMERA)
+			MATRIX_KEY(4, 3, KEY_KBDILLUMTOGGLE)
+			>;
+		keypad,num-rows = <6>;
+		keypad,num-columns = <5>;
+	};
+};
+
+&pm8058_gpio {
+	dragon_sdcc3_gpios: sdcc3-gpios {
+		pinconf {
+			pins = "gpio22";
+			function = "normal";
+			input-enable;
+			bias-pull-up;
+			qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>;
+			power-source = <PM8058_GPIO_S3>;
+		};
+	};
+	dragon_sdcc5_gpios: sdcc5-gpios {
+		pinconf {
+			pins = "gpio26";
+			function = "normal";
+			input-enable;
+			bias-pull-up;
+			qcom,pull-up-strength = <PMIC_GPIO_PULL_UP_30>;
+			power-source = <PM8058_GPIO_S3>;
+		};
+	};
+};
-- 
2.4.11

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

* Re: [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
  2016-06-14 15:30   ` Linus Walleij
@ 2016-06-14 18:55     ` Stephen Boyd
  -1 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-14 18:55 UTC (permalink / raw)
  To: Linus Walleij
  Cc: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross,
	Bjorn Andersson, David Brown

On 06/14, Linus Walleij wrote:
> diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
> index a5a38820554a..51d3c9e70617 100644
> --- a/arch/arm/boot/dts/qcom-msm8660.dtsi
> +++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
> @@ -215,6 +215,95 @@
> +
> +			rpmcc: clock-controller {
> +				compatible	= "qcom,rpmcc-apq8660", "qcom,rpmcc";
> +				#clock-cells = <1>;
> +			};

This driver isn't merged yet, but ok.

> +
> +			pm8901-regulators {

I'd rather have regulators@8901 and regulators@8058. That way the
node name is generic per ePAPR suggestions.

> +				compatible = "qcom,rpm-pm8901-regulators";
> +
> +				pm8901_l0: l0 {};
> +				pm8901_l1: l1 {};
> +				pm8901_l2: l2 {};
> +				pm8901_l3: l3 {};
> +				pm8901_l4: l4 {};
> +				pm8901_l5: l5 {};
> +				pm8901_l6: l6 {};
> +
> +				/* S0 and S1 Handled as SAW regulators by SPM */
> +				pm8901_s2: s2 {};
> +				pm8901_s3: s3 {};
> +				pm8901_s4: s4 {};
> +
> +				pm8901_lvs0: lvs0 {};
> +				pm8901_lvs1: lvs1 {};
> +				pm8901_lvs2: lvs2 {};
> +				pm8901_lvs3: lvs3 {};
> +
> +				pm8058_mvs: mvs {};

pm8901_mvs?

> +			};
> +
> +			pm8058-regulators {
> +				compatible = "qcom,rpm-pm8058-regulators";
> +
> +				pm8058_l0: l0 {};
> +				pm8058_l1: l1 {};
> +				pm8058_l2: l2 {};
> +				pm8058_l3: l3 {};
> +				pm8058_l4: l4 {};
> +				pm8058_l5: l5 {};
> +				pm8058_l6: l6 {};
> +				pm8058_l7: l7 {};
> +				pm8058_l8: l8 {};
> +				pm8058_l9: l9 {};
> +				pm8058_l10: l10 {};
> +				pm8058_l11: l11 {};
> +				pm8058_l12: l12 {};
> +				pm8058_l13: l13 {};
> +				pm8058_l14: l14 {};
> +				pm8058_l15: l15 {};
> +				pm8058_l16: l16 {};
> +				pm8058_l17: l17 {};
> +				pm8058_l18: l18 {};
> +				pm8058_l19: l19 {};
> +				pm8058_l20: l20 {};
> +				pm8058_l21: l21 {};
> +				pm8058_l22: l22 {};
> +				pm8058_l23: l23 {};
> +				pm8058_l24: l24 {};
> +				pm8058_l25: l25 {};
> +
> +				pm8058_s0: s0 {};
> +				pm8058_s1: s1 {};

Just leave these out? RPM shouldn't be touching s0 or s1.

> +				pm8058_s2: s2 {};
> +				pm8058_s3: s3 {};
> +				pm8058_s4: s4 {};
> +
> +				pm8058_lvs0: lvs0 {};
> +				pm8058_lvs1: lvs1 {};
> +
> +				pm8058_ncp: ncp {};
> +			};
> +		};
> +

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

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

* [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
@ 2016-06-14 18:55     ` Stephen Boyd
  0 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-14 18:55 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/14, Linus Walleij wrote:
> diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
> index a5a38820554a..51d3c9e70617 100644
> --- a/arch/arm/boot/dts/qcom-msm8660.dtsi
> +++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
> @@ -215,6 +215,95 @@
> +
> +			rpmcc: clock-controller {
> +				compatible	= "qcom,rpmcc-apq8660", "qcom,rpmcc";
> +				#clock-cells = <1>;
> +			};

This driver isn't merged yet, but ok.

> +
> +			pm8901-regulators {

I'd rather have regulators at 8901 and regulators at 8058. That way the
node name is generic per ePAPR suggestions.

> +				compatible = "qcom,rpm-pm8901-regulators";
> +
> +				pm8901_l0: l0 {};
> +				pm8901_l1: l1 {};
> +				pm8901_l2: l2 {};
> +				pm8901_l3: l3 {};
> +				pm8901_l4: l4 {};
> +				pm8901_l5: l5 {};
> +				pm8901_l6: l6 {};
> +
> +				/* S0 and S1 Handled as SAW regulators by SPM */
> +				pm8901_s2: s2 {};
> +				pm8901_s3: s3 {};
> +				pm8901_s4: s4 {};
> +
> +				pm8901_lvs0: lvs0 {};
> +				pm8901_lvs1: lvs1 {};
> +				pm8901_lvs2: lvs2 {};
> +				pm8901_lvs3: lvs3 {};
> +
> +				pm8058_mvs: mvs {};

pm8901_mvs?

> +			};
> +
> +			pm8058-regulators {
> +				compatible = "qcom,rpm-pm8058-regulators";
> +
> +				pm8058_l0: l0 {};
> +				pm8058_l1: l1 {};
> +				pm8058_l2: l2 {};
> +				pm8058_l3: l3 {};
> +				pm8058_l4: l4 {};
> +				pm8058_l5: l5 {};
> +				pm8058_l6: l6 {};
> +				pm8058_l7: l7 {};
> +				pm8058_l8: l8 {};
> +				pm8058_l9: l9 {};
> +				pm8058_l10: l10 {};
> +				pm8058_l11: l11 {};
> +				pm8058_l12: l12 {};
> +				pm8058_l13: l13 {};
> +				pm8058_l14: l14 {};
> +				pm8058_l15: l15 {};
> +				pm8058_l16: l16 {};
> +				pm8058_l17: l17 {};
> +				pm8058_l18: l18 {};
> +				pm8058_l19: l19 {};
> +				pm8058_l20: l20 {};
> +				pm8058_l21: l21 {};
> +				pm8058_l22: l22 {};
> +				pm8058_l23: l23 {};
> +				pm8058_l24: l24 {};
> +				pm8058_l25: l25 {};
> +
> +				pm8058_s0: s0 {};
> +				pm8058_s1: s1 {};

Just leave these out? RPM shouldn't be touching s0 or s1.

> +				pm8058_s2: s2 {};
> +				pm8058_s3: s3 {};
> +				pm8058_s4: s4 {};
> +
> +				pm8058_lvs0: lvs0 {};
> +				pm8058_lvs1: lvs1 {};
> +
> +				pm8058_ncp: ncp {};
> +			};
> +		};
> +

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

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

* Re: [PATCH 4/5] ARM: dts: move the fixed MMC regulator to SURF board
  2016-06-14 15:30   ` Linus Walleij
@ 2016-06-14 18:55     ` Stephen Boyd
  -1 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-14 18:55 UTC (permalink / raw)
  To: Linus Walleij
  Cc: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross,
	Bjorn Andersson, David Brown

On 06/14, Linus Walleij wrote:
> There is currently a fixed regulator in the .dtsi file for
> the MSM8660 chipset, used by the SURF board. We want to define
> real regulators for a board using this chipset, so push the fixed
> regulator down to the SURF board which is the only user.
> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>

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

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

* [PATCH 4/5] ARM: dts: move the fixed MMC regulator to SURF board
@ 2016-06-14 18:55     ` Stephen Boyd
  0 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-14 18:55 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/14, Linus Walleij wrote:
> There is currently a fixed regulator in the .dtsi file for
> the MSM8660 chipset, used by the SURF board. We want to define
> real regulators for a board using this chipset, so push the fixed
> regulator down to the SURF board which is the only user.
> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>

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

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

* Re: [PATCH 2/5] ARM: dts: add SDCC5 to Qualcomm MSM8660
  2016-06-14 15:30   ` Linus Walleij
@ 2016-06-14 18:57     ` Stephen Boyd
  -1 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-14 18:57 UTC (permalink / raw)
  To: Linus Walleij
  Cc: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross,
	Bjorn Andersson, David Brown

On 06/14, Linus Walleij wrote:
> The SDCC5 SD/MMC controller is used for a second uSD slot
> on the APQ8060 Dragonboard. On most other systems it is just
> dark silicon so define it and leave it as "disabled" in the core
> SoC file.
> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>

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

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

* [PATCH 2/5] ARM: dts: add SDCC5 to Qualcomm MSM8660
@ 2016-06-14 18:57     ` Stephen Boyd
  0 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-14 18:57 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/14, Linus Walleij wrote:
> The SDCC5 SD/MMC controller is used for a second uSD slot
> on the APQ8060 Dragonboard. On most other systems it is just
> dark silicon so define it and leave it as "disabled" in the core
> SoC file.
> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>

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

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

* Re: [PATCH 1/5] ARM: dts: add GPIO and MPP to MSM8660 PMIC
  2016-06-14 15:30   ` Linus Walleij
@ 2016-06-14 18:57     ` Stephen Boyd
  -1 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-14 18:57 UTC (permalink / raw)
  To: Linus Walleij
  Cc: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross,
	Bjorn Andersson, David Brown

On 06/14, Linus Walleij wrote:
> This adds the 8660 PMIC GPIO and MPP blocks to the MSM8660
> DTSI. Verified against the vendor tree to be in these locations
> with these interrupts, tested on the APQ8060 Dragonboard.
> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>

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

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

* [PATCH 1/5] ARM: dts: add GPIO and MPP to MSM8660 PMIC
@ 2016-06-14 18:57     ` Stephen Boyd
  0 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-14 18:57 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/14, Linus Walleij wrote:
> This adds the 8660 PMIC GPIO and MPP blocks to the MSM8660
> DTSI. Verified against the vendor tree to be in these locations
> with these interrupts, tested on the APQ8060 Dragonboard.
> 
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> ---

Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>

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

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

* Re: [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
  2016-06-14 18:55     ` Stephen Boyd
@ 2016-06-14 19:02       ` Bjorn Andersson
  -1 siblings, 0 replies; 42+ messages in thread
From: Bjorn Andersson @ 2016-06-14 19:02 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: Linus Walleij, linux-arm-kernel, linux-arm-msm, linux-soc,
	Andy Gross, David Brown

On Tue 14 Jun 11:55 PDT 2016, Stephen Boyd wrote:

> On 06/14, Linus Walleij wrote:
> > diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
[..]
> > +
> > +			pm8901-regulators {
> 
> I'd rather have regulators@8901 and regulators@8058. That way the
> node name is generic per ePAPR suggestions.
> 

I agree, but unfortunately we're not allowed to do that without a
matching "reg = <>" anymore.

Regards,
Bjorn

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

* [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
@ 2016-06-14 19:02       ` Bjorn Andersson
  0 siblings, 0 replies; 42+ messages in thread
From: Bjorn Andersson @ 2016-06-14 19:02 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue 14 Jun 11:55 PDT 2016, Stephen Boyd wrote:

> On 06/14, Linus Walleij wrote:
> > diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
[..]
> > +
> > +			pm8901-regulators {
> 
> I'd rather have regulators at 8901 and regulators at 8058. That way the
> node name is generic per ePAPR suggestions.
> 

I agree, but unfortunately we're not allowed to do that without a
matching "reg = <>" anymore.

Regards,
Bjorn

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

* Re: [PATCH 5/5] ARM: dts: add Qualcomm APQ8060-based Dragonboard
  2016-06-14 15:30   ` Linus Walleij
@ 2016-06-14 19:11     ` Stephen Boyd
  -1 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-14 19:11 UTC (permalink / raw)
  To: Linus Walleij
  Cc: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross,
	Bjorn Andersson, David Brown

On 06/14, Linus Walleij wrote:
> +/ {
> +	model = "Qualcomm APQ8060 Dragonboard";
> +	compatible = "qcom,apq8060-dragonboard", "qcom,msm8660";
> +
> +	aliases {
> +		serial0 = &gsbi12_serial;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	regulators {
> +		compatible = "simple-bus";
> +		/* Main power of the board: 3.7V */
> +		vph: regulator-fixed@1 {
> +			compatible = "regulator-fixed";
> +			regulator-min-microvolt = <3700000>;
> +			regulator-max-microvolt = <3700000>;
> +			regulator-name = "VPH";
> +			regulator-type = "voltage";
> +			regulator-always-on;
> +			regulator-boot-on;
> +		};
> +	};
> +
> +	/* This is a levelshifter for SDCC5 */
> +	dragon_vio_txb: txb0104rgyr {
> +		compatible = "regulator-fixed";
> +		regulator-name = "Dragon SDCC levelshifter";
> +		vin-supply = <&pm8058_l14>;
> +		regulator-always-on;
> +	};

Why not put this under regulators node as well?

> +
> +	soc {
> +		gsbi@19c00000 {
> +			status = "ok";
> +			pinctrl-names = "default";
> +			pinctrl-0 = <&dragon_serial0_pins>;
> +			qcom,mode = <GSBI_PROT_I2C_UART>;
> +			serial@19c40000 {
> +				status = "ok";
> +			};
> +		};
> +	};
> +};
> +
> +/* Intenal 3.69 GiB eMMC */
> +&sdcc1 {
> +	status = "okay";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&dragon_sdcc1_pins>;
> +	vmmc-supply = <&pm8901_l5>;
> +	vqmmc-supply = <&pm8901_lvs0>;
> +};

I think we're following a non-phandle approach to filling out
board dts files. We didn't follow it that well on 8660 surf,
probably because it was so basic, but it would be nice to follow
that style here as well and populate board properties in nodes
like how gsbi@19c00000 has been done. I'll leave this up to Andy
though as he's the maintainer here.

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

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

* [PATCH 5/5] ARM: dts: add Qualcomm APQ8060-based Dragonboard
@ 2016-06-14 19:11     ` Stephen Boyd
  0 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-14 19:11 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/14, Linus Walleij wrote:
> +/ {
> +	model = "Qualcomm APQ8060 Dragonboard";
> +	compatible = "qcom,apq8060-dragonboard", "qcom,msm8660";
> +
> +	aliases {
> +		serial0 = &gsbi12_serial;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	regulators {
> +		compatible = "simple-bus";
> +		/* Main power of the board: 3.7V */
> +		vph: regulator-fixed at 1 {
> +			compatible = "regulator-fixed";
> +			regulator-min-microvolt = <3700000>;
> +			regulator-max-microvolt = <3700000>;
> +			regulator-name = "VPH";
> +			regulator-type = "voltage";
> +			regulator-always-on;
> +			regulator-boot-on;
> +		};
> +	};
> +
> +	/* This is a levelshifter for SDCC5 */
> +	dragon_vio_txb: txb0104rgyr {
> +		compatible = "regulator-fixed";
> +		regulator-name = "Dragon SDCC levelshifter";
> +		vin-supply = <&pm8058_l14>;
> +		regulator-always-on;
> +	};

Why not put this under regulators node as well?

> +
> +	soc {
> +		gsbi at 19c00000 {
> +			status = "ok";
> +			pinctrl-names = "default";
> +			pinctrl-0 = <&dragon_serial0_pins>;
> +			qcom,mode = <GSBI_PROT_I2C_UART>;
> +			serial at 19c40000 {
> +				status = "ok";
> +			};
> +		};
> +	};
> +};
> +
> +/* Intenal 3.69 GiB eMMC */
> +&sdcc1 {
> +	status = "okay";
> +	pinctrl-names = "default";
> +	pinctrl-0 = <&dragon_sdcc1_pins>;
> +	vmmc-supply = <&pm8901_l5>;
> +	vqmmc-supply = <&pm8901_lvs0>;
> +};

I think we're following a non-phandle approach to filling out
board dts files. We didn't follow it that well on 8660 surf,
probably because it was so basic, but it would be nice to follow
that style here as well and populate board properties in nodes
like how gsbi at 19c00000 has been done. I'll leave this up to Andy
though as he's the maintainer here.

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

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

* Re: [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
  2016-06-14 19:02       ` Bjorn Andersson
@ 2016-06-14 19:48         ` Stephen Boyd
  -1 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-14 19:48 UTC (permalink / raw)
  To: Bjorn Andersson
  Cc: linux-arm-msm, Linus Walleij, David Brown, Andy Gross, linux-soc,
	linux-arm-kernel

On 06/14, Bjorn Andersson wrote:
> On Tue 14 Jun 11:55 PDT 2016, Stephen Boyd wrote:
> 
> > On 06/14, Linus Walleij wrote:
> > > diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
> [..]
> > > +
> > > +			pm8901-regulators {
> > 
> > I'd rather have regulators@8901 and regulators@8058. That way the
> > node name is generic per ePAPR suggestions.
> > 
> 
> I agree, but unfortunately we're not allowed to do that without a
> matching "reg = <>" anymore.

Oh does dtc blow up now?

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

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

* [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
@ 2016-06-14 19:48         ` Stephen Boyd
  0 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-14 19:48 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/14, Bjorn Andersson wrote:
> On Tue 14 Jun 11:55 PDT 2016, Stephen Boyd wrote:
> 
> > On 06/14, Linus Walleij wrote:
> > > diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
> [..]
> > > +
> > > +			pm8901-regulators {
> > 
> > I'd rather have regulators at 8901 and regulators at 8058. That way the
> > node name is generic per ePAPR suggestions.
> > 
> 
> I agree, but unfortunately we're not allowed to do that without a
> matching "reg = <>" anymore.

Oh does dtc blow up now?

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

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

* Re: [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
  2016-06-14 18:55     ` Stephen Boyd
@ 2016-06-14 22:48       ` Russell King - ARM Linux
  -1 siblings, 0 replies; 42+ messages in thread
From: Russell King - ARM Linux @ 2016-06-14 22:48 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: Linus Walleij, linux-arm-msm, Bjorn Andersson, David Brown,
	Andy Gross, linux-soc, linux-arm-kernel

On Tue, Jun 14, 2016 at 11:55:17AM -0700, Stephen Boyd wrote:
> On 06/14, Linus Walleij wrote:
> > +
> > +			pm8901-regulators {
> 
> I'd rather have regulators@8901 and regulators@8058. That way the
> node name is generic per ePAPR suggestions.

But ePAPR requires reg= if you specify a unit-address part of the
node name.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

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

* [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
@ 2016-06-14 22:48       ` Russell King - ARM Linux
  0 siblings, 0 replies; 42+ messages in thread
From: Russell King - ARM Linux @ 2016-06-14 22:48 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jun 14, 2016 at 11:55:17AM -0700, Stephen Boyd wrote:
> On 06/14, Linus Walleij wrote:
> > +
> > +			pm8901-regulators {
> 
> I'd rather have regulators at 8901 and regulators at 8058. That way the
> node name is generic per ePAPR suggestions.

But ePAPR requires reg= if you specify a unit-address part of the
node name.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

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

* Re: [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
  2016-06-14 19:48         ` Stephen Boyd
@ 2016-06-14 22:51           ` Russell King - ARM Linux
  -1 siblings, 0 replies; 42+ messages in thread
From: Russell King - ARM Linux @ 2016-06-14 22:51 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: linux-arm-msm, Linus Walleij, Bjorn Andersson, David Brown,
	Andy Gross, linux-soc, linux-arm-kernel

On Tue, Jun 14, 2016 at 12:48:53PM -0700, Stephen Boyd wrote:
> On 06/14, Bjorn Andersson wrote:
> > On Tue 14 Jun 11:55 PDT 2016, Stephen Boyd wrote:
> > 
> > > On 06/14, Linus Walleij wrote:
> > > > diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
> > [..]
> > > > +
> > > > +			pm8901-regulators {
> > > 
> > > I'd rather have regulators@8901 and regulators@8058. That way the
> > > node name is generic per ePAPR suggestions.
> > > 
> > 
> > I agree, but unfortunately we're not allowed to do that without a
> > matching "reg = <>" anymore.
> 
> Oh does dtc blow up now?

I think latest dtc complains, maybe with some additional warning enables.
However, the requirement has been there for a long time in ePAPR:

"The unit-address must match the first address specified in the reg
 property of the node. If the node has no reg property, the @ and
 unit-address must be omitted and the node-name alone differentiates
 the node from other nodes at the same level in the tree."

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

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

* [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
@ 2016-06-14 22:51           ` Russell King - ARM Linux
  0 siblings, 0 replies; 42+ messages in thread
From: Russell King - ARM Linux @ 2016-06-14 22:51 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jun 14, 2016 at 12:48:53PM -0700, Stephen Boyd wrote:
> On 06/14, Bjorn Andersson wrote:
> > On Tue 14 Jun 11:55 PDT 2016, Stephen Boyd wrote:
> > 
> > > On 06/14, Linus Walleij wrote:
> > > > diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
> > [..]
> > > > +
> > > > +			pm8901-regulators {
> > > 
> > > I'd rather have regulators at 8901 and regulators at 8058. That way the
> > > node name is generic per ePAPR suggestions.
> > > 
> > 
> > I agree, but unfortunately we're not allowed to do that without a
> > matching "reg = <>" anymore.
> 
> Oh does dtc blow up now?

I think latest dtc complains, maybe with some additional warning enables.
However, the requirement has been there for a long time in ePAPR:

"The unit-address must match the first address specified in the reg
 property of the node. If the node has no reg property, the @ and
 unit-address must be omitted and the node-name alone differentiates
 the node from other nodes at the same level in the tree."

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

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

* Re: [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
  2016-06-14 18:55     ` Stephen Boyd
@ 2016-06-15 13:16       ` Linus Walleij
  -1 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-15 13:16 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross,
	Bjorn Andersson, David Brown

On Tue, Jun 14, 2016 at 8:55 PM, Stephen Boyd <sboyd@codeaurora.org> wrote:
> On 06/14, Linus Walleij wrote:

>> +                     rpmcc: clock-controller {
>> +                             compatible      = "qcom,rpmcc-apq8660", "qcom,rpmcc";
>> +                             #clock-cells = <1>;
>> +                     };
>
> This driver isn't merged yet, but ok.

It's there because it is there in
arch/arm/boot/dts/qcom-apq8064.dtsi

>> +
>> +                     pm8901-regulators {
>
> I'd rather have regulators@8901 and regulators@8058. That way the
> node name is generic per ePAPR suggestions.

Seems impossible if I should conclude the other discussion...

>> +                             pm8058_mvs: mvs {};
>
> pm8901_mvs?

Ooops fixing.

>> +                     pm8058-regulators {
>> +                             compatible = "qcom,rpm-pm8058-regulators";
>> +
>> +                             pm8058_l0: l0 {};
>> +                             pm8058_l1: l1 {};
>> +                             pm8058_l2: l2 {};
>> +                             pm8058_l3: l3 {};
>> +                             pm8058_l4: l4 {};
>> +                             pm8058_l5: l5 {};
>> +                             pm8058_l6: l6 {};
>> +                             pm8058_l7: l7 {};
>> +                             pm8058_l8: l8 {};
>> +                             pm8058_l9: l9 {};
>> +                             pm8058_l10: l10 {};
>> +                             pm8058_l11: l11 {};
>> +                             pm8058_l12: l12 {};
>> +                             pm8058_l13: l13 {};
>> +                             pm8058_l14: l14 {};
>> +                             pm8058_l15: l15 {};
>> +                             pm8058_l16: l16 {};
>> +                             pm8058_l17: l17 {};
>> +                             pm8058_l18: l18 {};
>> +                             pm8058_l19: l19 {};
>> +                             pm8058_l20: l20 {};
>> +                             pm8058_l21: l21 {};
>> +                             pm8058_l22: l22 {};
>> +                             pm8058_l23: l23 {};
>> +                             pm8058_l24: l24 {};
>> +                             pm8058_l25: l25 {};
>> +
>> +                             pm8058_s0: s0 {};
>> +                             pm8058_s1: s1 {};
>
> Just leave these out? RPM shouldn't be touching s0 or s1.

Really? The msm-3.4 tree does:

        /* RPM early regulator constraints */
        static struct rpm_regulator_init_data
rpm_regulator_early_init_data[] = {
        /*       ID       a_on pd ss min_uV   max_uV   init_ip    freq */
        RPM_SMPS(PM8058_S0, 0, 1, 1,  500000, 1325000, SMPS_HMIN, 1p60),
        RPM_SMPS(PM8058_S1, 0, 1, 1,  500000, 1250000, SMPS_HMIN, 1p60),

Are you sure you don't mean s0+s1 on PM8901 (which I left out)?

Yours,
Linus Walleij

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

* [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
@ 2016-06-15 13:16       ` Linus Walleij
  0 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-15 13:16 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jun 14, 2016 at 8:55 PM, Stephen Boyd <sboyd@codeaurora.org> wrote:
> On 06/14, Linus Walleij wrote:

>> +                     rpmcc: clock-controller {
>> +                             compatible      = "qcom,rpmcc-apq8660", "qcom,rpmcc";
>> +                             #clock-cells = <1>;
>> +                     };
>
> This driver isn't merged yet, but ok.

It's there because it is there in
arch/arm/boot/dts/qcom-apq8064.dtsi

>> +
>> +                     pm8901-regulators {
>
> I'd rather have regulators at 8901 and regulators at 8058. That way the
> node name is generic per ePAPR suggestions.

Seems impossible if I should conclude the other discussion...

>> +                             pm8058_mvs: mvs {};
>
> pm8901_mvs?

Ooops fixing.

>> +                     pm8058-regulators {
>> +                             compatible = "qcom,rpm-pm8058-regulators";
>> +
>> +                             pm8058_l0: l0 {};
>> +                             pm8058_l1: l1 {};
>> +                             pm8058_l2: l2 {};
>> +                             pm8058_l3: l3 {};
>> +                             pm8058_l4: l4 {};
>> +                             pm8058_l5: l5 {};
>> +                             pm8058_l6: l6 {};
>> +                             pm8058_l7: l7 {};
>> +                             pm8058_l8: l8 {};
>> +                             pm8058_l9: l9 {};
>> +                             pm8058_l10: l10 {};
>> +                             pm8058_l11: l11 {};
>> +                             pm8058_l12: l12 {};
>> +                             pm8058_l13: l13 {};
>> +                             pm8058_l14: l14 {};
>> +                             pm8058_l15: l15 {};
>> +                             pm8058_l16: l16 {};
>> +                             pm8058_l17: l17 {};
>> +                             pm8058_l18: l18 {};
>> +                             pm8058_l19: l19 {};
>> +                             pm8058_l20: l20 {};
>> +                             pm8058_l21: l21 {};
>> +                             pm8058_l22: l22 {};
>> +                             pm8058_l23: l23 {};
>> +                             pm8058_l24: l24 {};
>> +                             pm8058_l25: l25 {};
>> +
>> +                             pm8058_s0: s0 {};
>> +                             pm8058_s1: s1 {};
>
> Just leave these out? RPM shouldn't be touching s0 or s1.

Really? The msm-3.4 tree does:

        /* RPM early regulator constraints */
        static struct rpm_regulator_init_data
rpm_regulator_early_init_data[] = {
        /*       ID       a_on pd ss min_uV   max_uV   init_ip    freq */
        RPM_SMPS(PM8058_S0, 0, 1, 1,  500000, 1325000, SMPS_HMIN, 1p60),
        RPM_SMPS(PM8058_S1, 0, 1, 1,  500000, 1250000, SMPS_HMIN, 1p60),

Are you sure you don't mean s0+s1 on PM8901 (which I left out)?

Yours,
Linus Walleij

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

* Re: [PATCH 5/5] ARM: dts: add Qualcomm APQ8060-based Dragonboard
  2016-06-14 19:11     ` Stephen Boyd
@ 2016-06-15 13:37       ` Linus Walleij
  -1 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-15 13:37 UTC (permalink / raw)
  To: Stephen Boyd, Andy Gross
  Cc: linux-arm-kernel, linux-arm-msm, linux-soc, Bjorn Andersson, David Brown

On Tue, Jun 14, 2016 at 9:11 PM, Stephen Boyd <sboyd@codeaurora.org> wrote:

>> +/* Intenal 3.69 GiB eMMC */
>> +&sdcc1 {
>> +     status = "okay";
>> +     pinctrl-names = "default";
>> +     pinctrl-0 = <&dragon_sdcc1_pins>;
>> +     vmmc-supply = <&pm8901_l5>;
>> +     vqmmc-supply = <&pm8901_lvs0>;
>> +};
>
> I think we're following a non-phandle approach to filling out
> board dts files. We didn't follow it that well on 8660 surf,
> probably because it was so basic, but it would be nice to follow
> that style here as well and populate board properties in nodes
> like how gsbi@19c00000 has been done. I'll leave this up to Andy
> though as he's the maintainer here.

Andy? How do you want it? I can do it either way, no big deal for
me.

Yours,
Linus Walleij

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

* [PATCH 5/5] ARM: dts: add Qualcomm APQ8060-based Dragonboard
@ 2016-06-15 13:37       ` Linus Walleij
  0 siblings, 0 replies; 42+ messages in thread
From: Linus Walleij @ 2016-06-15 13:37 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jun 14, 2016 at 9:11 PM, Stephen Boyd <sboyd@codeaurora.org> wrote:

>> +/* Intenal 3.69 GiB eMMC */
>> +&sdcc1 {
>> +     status = "okay";
>> +     pinctrl-names = "default";
>> +     pinctrl-0 = <&dragon_sdcc1_pins>;
>> +     vmmc-supply = <&pm8901_l5>;
>> +     vqmmc-supply = <&pm8901_lvs0>;
>> +};
>
> I think we're following a non-phandle approach to filling out
> board dts files. We didn't follow it that well on 8660 surf,
> probably because it was so basic, but it would be nice to follow
> that style here as well and populate board properties in nodes
> like how gsbi at 19c00000 has been done. I'll leave this up to Andy
> though as he's the maintainer here.

Andy? How do you want it? I can do it either way, no big deal for
me.

Yours,
Linus Walleij

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

* Re: [PATCH 5/5] ARM: dts: add Qualcomm APQ8060-based Dragonboard
  2016-06-14 15:30   ` Linus Walleij
@ 2016-06-16  0:11     ` Stephen Boyd
  -1 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-16  0:11 UTC (permalink / raw)
  To: Linus Walleij
  Cc: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross,
	Bjorn Andersson, David Brown

On 06/14, Linus Walleij wrote:
> +
> +/ {
> +	model = "Qualcomm APQ8060 Dragonboard";
> +	compatible = "qcom,apq8060-dragonboard", "qcom,msm8660";
> +
> +	aliases {
> +		serial0 = &gsbi12_serial;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	regulators {
> +		compatible = "simple-bus";
> +		/* Main power of the board: 3.7V */
> +		vph: regulator-fixed@1 {

So does this mean we shouldn't have the @1 here because there's no
reg property?

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

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

* [PATCH 5/5] ARM: dts: add Qualcomm APQ8060-based Dragonboard
@ 2016-06-16  0:11     ` Stephen Boyd
  0 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-16  0:11 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/14, Linus Walleij wrote:
> +
> +/ {
> +	model = "Qualcomm APQ8060 Dragonboard";
> +	compatible = "qcom,apq8060-dragonboard", "qcom,msm8660";
> +
> +	aliases {
> +		serial0 = &gsbi12_serial;
> +	};
> +
> +	chosen {
> +		stdout-path = "serial0:115200n8";
> +	};
> +
> +	regulators {
> +		compatible = "simple-bus";
> +		/* Main power of the board: 3.7V */
> +		vph: regulator-fixed at 1 {

So does this mean we shouldn't have the @1 here because there's no
reg property?

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

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

* Re: [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
  2016-06-14 22:48       ` Russell King - ARM Linux
@ 2016-06-16  0:17         ` Stephen Boyd
  -1 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-16  0:17 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: Linus Walleij, linux-arm-msm, Bjorn Andersson, David Brown,
	Andy Gross, linux-soc, linux-arm-kernel

On 06/14, Russell King - ARM Linux wrote:
> On Tue, Jun 14, 2016 at 11:55:17AM -0700, Stephen Boyd wrote:
> > On 06/14, Linus Walleij wrote:
> > > +
> > > +			pm8901-regulators {
> > 
> > I'd rather have regulators@8901 and regulators@8058. That way the
> > node name is generic per ePAPR suggestions.
> 
> But ePAPR requires reg= if you specify a unit-address part of the
> node name.
> 

It seems the ePAPR also leaves this open to interpretation
because it states:

  "The binding for a particular bus may specify additional, more
  specific requirements for the format of reg and unit-address."

but we haven't done anything formal for the RPM "bus" so far. I'm
not worried either way, just a fun fact!

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

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

* [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
@ 2016-06-16  0:17         ` Stephen Boyd
  0 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-16  0:17 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/14, Russell King - ARM Linux wrote:
> On Tue, Jun 14, 2016 at 11:55:17AM -0700, Stephen Boyd wrote:
> > On 06/14, Linus Walleij wrote:
> > > +
> > > +			pm8901-regulators {
> > 
> > I'd rather have regulators at 8901 and regulators at 8058. That way the
> > node name is generic per ePAPR suggestions.
> 
> But ePAPR requires reg= if you specify a unit-address part of the
> node name.
> 

It seems the ePAPR also leaves this open to interpretation
because it states:

  "The binding for a particular bus may specify additional, more
  specific requirements for the format of reg and unit-address."

but we haven't done anything formal for the RPM "bus" so far. I'm
not worried either way, just a fun fact!

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

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

* Re: [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
  2016-06-15 13:16       ` Linus Walleij
@ 2016-06-16  0:57         ` Stephen Boyd
  -1 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-16  0:57 UTC (permalink / raw)
  To: Linus Walleij
  Cc: linux-arm-kernel, linux-arm-msm, linux-soc, Andy Gross,
	Bjorn Andersson, David Brown

On 06/15/2016 06:16 AM, Linus Walleij wrote:
> On Tue, Jun 14, 2016 at 8:55 PM, Stephen Boyd <sboyd@codeaurora.org> wrote:
>
>>
>> Just leave these out? RPM shouldn't be touching s0 or s1.
> Really? The msm-3.4 tree does:
>
>         /* RPM early regulator constraints */
>         static struct rpm_regulator_init_data
> rpm_regulator_early_init_data[] = {
>         /*       ID       a_on pd ss min_uV   max_uV   init_ip    freq */
>         RPM_SMPS(PM8058_S0, 0, 1, 1,  500000, 1325000, SMPS_HMIN, 1p60),
>         RPM_SMPS(PM8058_S1, 0, 1, 1,  500000, 1250000, SMPS_HMIN, 1p60),
>
> Are you sure you don't mean s0+s1 on PM8901 (which I left out)?
>

Ah yes, I meant pm8901.

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

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

* [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
@ 2016-06-16  0:57         ` Stephen Boyd
  0 siblings, 0 replies; 42+ messages in thread
From: Stephen Boyd @ 2016-06-16  0:57 UTC (permalink / raw)
  To: linux-arm-kernel

On 06/15/2016 06:16 AM, Linus Walleij wrote:
> On Tue, Jun 14, 2016 at 8:55 PM, Stephen Boyd <sboyd@codeaurora.org> wrote:
>
>>
>> Just leave these out? RPM shouldn't be touching s0 or s1.
> Really? The msm-3.4 tree does:
>
>         /* RPM early regulator constraints */
>         static struct rpm_regulator_init_data
> rpm_regulator_early_init_data[] = {
>         /*       ID       a_on pd ss min_uV   max_uV   init_ip    freq */
>         RPM_SMPS(PM8058_S0, 0, 1, 1,  500000, 1325000, SMPS_HMIN, 1p60),
>         RPM_SMPS(PM8058_S1, 0, 1, 1,  500000, 1250000, SMPS_HMIN, 1p60),
>
> Are you sure you don't mean s0+s1 on PM8901 (which I left out)?
>

Ah yes, I meant pm8901.

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

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

* Re: [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
  2016-06-16  0:17         ` Stephen Boyd
@ 2016-06-16  8:09           ` Russell King - ARM Linux
  -1 siblings, 0 replies; 42+ messages in thread
From: Russell King - ARM Linux @ 2016-06-16  8:09 UTC (permalink / raw)
  To: Stephen Boyd
  Cc: Linus Walleij, linux-arm-msm, Bjorn Andersson, David Brown,
	Andy Gross, linux-soc, linux-arm-kernel

On Wed, Jun 15, 2016 at 05:17:14PM -0700, Stephen Boyd wrote:
> On 06/14, Russell King - ARM Linux wrote:
> > On Tue, Jun 14, 2016 at 11:55:17AM -0700, Stephen Boyd wrote:
> > > On 06/14, Linus Walleij wrote:
> > > > +
> > > > +			pm8901-regulators {
> > > 
> > > I'd rather have regulators@8901 and regulators@8058. That way the
> > > node name is generic per ePAPR suggestions.
> > 
> > But ePAPR requires reg= if you specify a unit-address part of the
> > node name.
> > 
> 
> It seems the ePAPR also leaves this open to interpretation
> because it states:
> 
>   "The binding for a particular bus may specify additional, more
>   specific requirements for the format of reg and unit-address."
> 
> but we haven't done anything formal for the RPM "bus" so far. I'm
> not worried either way, just a fun fact!

Latest dtc with warnings enabled (W=1) warns if you don't follow what
I quoted.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

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

* [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660
@ 2016-06-16  8:09           ` Russell King - ARM Linux
  0 siblings, 0 replies; 42+ messages in thread
From: Russell King - ARM Linux @ 2016-06-16  8:09 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jun 15, 2016 at 05:17:14PM -0700, Stephen Boyd wrote:
> On 06/14, Russell King - ARM Linux wrote:
> > On Tue, Jun 14, 2016 at 11:55:17AM -0700, Stephen Boyd wrote:
> > > On 06/14, Linus Walleij wrote:
> > > > +
> > > > +			pm8901-regulators {
> > > 
> > > I'd rather have regulators at 8901 and regulators at 8058. That way the
> > > node name is generic per ePAPR suggestions.
> > 
> > But ePAPR requires reg= if you specify a unit-address part of the
> > node name.
> > 
> 
> It seems the ePAPR also leaves this open to interpretation
> because it states:
> 
>   "The binding for a particular bus may specify additional, more
>   specific requirements for the format of reg and unit-address."
> 
> but we haven't done anything formal for the RPM "bus" so far. I'm
> not worried either way, just a fun fact!

Latest dtc with warnings enabled (W=1) warns if you don't follow what
I quoted.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

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

end of thread, other threads:[~2016-06-16  8:09 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-14 15:30 [PATCH 0/5] APQ8060 Dragonboard support Linus Walleij
2016-06-14 15:30 ` Linus Walleij
2016-06-14 15:30 ` [PATCH 1/5] ARM: dts: add GPIO and MPP to MSM8660 PMIC Linus Walleij
2016-06-14 15:30   ` Linus Walleij
2016-06-14 18:57   ` Stephen Boyd
2016-06-14 18:57     ` Stephen Boyd
2016-06-14 15:30 ` [PATCH 2/5] ARM: dts: add SDCC5 to Qualcomm MSM8660 Linus Walleij
2016-06-14 15:30   ` Linus Walleij
2016-06-14 18:57   ` Stephen Boyd
2016-06-14 18:57     ` Stephen Boyd
2016-06-14 15:30 ` [PATCH 3/5] ARM: dts: add L2CC and RPM with regulators for MSM8660 Linus Walleij
2016-06-14 15:30   ` Linus Walleij
2016-06-14 18:55   ` Stephen Boyd
2016-06-14 18:55     ` Stephen Boyd
2016-06-14 19:02     ` Bjorn Andersson
2016-06-14 19:02       ` Bjorn Andersson
2016-06-14 19:48       ` Stephen Boyd
2016-06-14 19:48         ` Stephen Boyd
2016-06-14 22:51         ` Russell King - ARM Linux
2016-06-14 22:51           ` Russell King - ARM Linux
2016-06-14 22:48     ` Russell King - ARM Linux
2016-06-14 22:48       ` Russell King - ARM Linux
2016-06-16  0:17       ` Stephen Boyd
2016-06-16  0:17         ` Stephen Boyd
2016-06-16  8:09         ` Russell King - ARM Linux
2016-06-16  8:09           ` Russell King - ARM Linux
2016-06-15 13:16     ` Linus Walleij
2016-06-15 13:16       ` Linus Walleij
2016-06-16  0:57       ` Stephen Boyd
2016-06-16  0:57         ` Stephen Boyd
2016-06-14 15:30 ` [PATCH 4/5] ARM: dts: move the fixed MMC regulator to SURF board Linus Walleij
2016-06-14 15:30   ` Linus Walleij
2016-06-14 18:55   ` Stephen Boyd
2016-06-14 18:55     ` Stephen Boyd
2016-06-14 15:30 ` [PATCH 5/5] ARM: dts: add Qualcomm APQ8060-based Dragonboard Linus Walleij
2016-06-14 15:30   ` Linus Walleij
2016-06-14 19:11   ` Stephen Boyd
2016-06-14 19:11     ` Stephen Boyd
2016-06-15 13:37     ` Linus Walleij
2016-06-15 13:37       ` Linus Walleij
2016-06-16  0:11   ` Stephen Boyd
2016-06-16  0:11     ` Stephen Boyd

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.