APQ8060 Dragonboard support
Subsystems (3)
cover APQ8060 Dragonboard support
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
Signature · 1 line
2.4.11
PATCH 1/5 ARM: dts: add GPIO and MPP to MSM8660 PMIC
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.
--- arch/arm/boot/dts/qcom-msm8660.dtsi | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+)
arch/arm/boot/dts/qcom-msm8660.dtsi +38 -0
@@ -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>;
Signature · 1 line
2.4.11
PATCH 1/5 ARM: dts: add GPIO and MPP to MSM8660 PMIC
Quoted 6 lines · 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 <[email protected]>---
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 2/5 ARM: dts: add SDCC5 to Qualcomm MSM8660
In reply to Linus WalleijThe 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.
--- arch/arm/boot/dts/qcom-msm8660.dtsi | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
arch/arm/boot/dts/qcom-msm8660.dtsi +16 -0
@@ -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 {
Signature · 1 line
2.4.11
PATCH 2/5 ARM: dts: add SDCC5 to Qualcomm MSM8660
Quoted 7 lines · 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 <[email protected]>---
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 3/5 ARM: dts: add L2CC and RPM with regulators for MSM8660
In reply to Linus WalleijThis 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.
--- arch/arm/boot/dts/qcom-msm8660.dtsi | 89 +++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+)
arch/arm/boot/dts/qcom-msm8660.dtsi +89 -0
@@ -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";
Signature · 1 line
2.4.11
PATCH 3/5 ARM: dts: add L2CC and RPM with regulators for MSM8660
arch/arm/boot/dts/qcom-msm8660.dtsi line 219
Quoted 10 lines · Linus Walleij
arch/arm/boot/dts/qcom-msm8660.dtsi +5
-0@@ -215,6 +215,95 @@ + + rpmcc: clock-controller { + compatible = "qcom,rpmcc-apq8660", "qcom,rpmcc"; + #clock-cells = <1>; + };
This driver isn't merged yet, but ok.
arch/arm/boot/dts/qcom-msm8660.dtsi line 221
Quoted 2 lines
arch/arm/boot/dts/qcom-msm8660.dtsi +2
-0+ + pm8901-regulators {
I'd rather have regulators at 8901 and regulators at 8058. That way the node name is generic per ePAPR suggestions.
Quoted 11 lines
arch/arm/boot/dts/qcom-msm8660.dtsi +11
-0+ 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 */
arch/arm/boot/dts/qcom-msm8660.dtsi line 261
Quoted 10 lines
arch/arm/boot/dts/qcom-msm8660.dtsi +10
-0+ 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?
Quoted 24 lines
arch/arm/boot/dts/qcom-msm8660.dtsi +24
-0+ }; + + 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 {};
arch/arm/boot/dts/qcom-msm8660.dtsi line 295
Quoted 10 lines
arch/arm/boot/dts/qcom-msm8660.dtsi +10
-0+ 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.
Quoted 11 lines
arch/arm/boot/dts/qcom-msm8660.dtsi +11
-0+ pm8058_s2: s2 {}; + pm8058_s3: s3 {}; + pm8058_s4: s4 {}; + + pm8058_lvs0: lvs0 {}; + pm8058_lvs1: lvs1 {}; + + pm8058_ncp: ncp {}; + }; + }; +
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 3/5 ARM: dts: add L2CC and RPM with regulators for MSM8660
Quoted 2 lines · Stephen Boyd
Quoted 1 line · Linus Walleij
arch/arm/boot/dts/qcom-msm8660.dtsi +0
-0
[..]
Quoted 6 lines
arch/arm/boot/dts/qcom-msm8660.dtsi
Quoted 2 lines
arch/arm/boot/dts/qcom-msm8660.dtsi +2
-0+ + 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
PATCH 3/5 ARM: dts: add L2CC and RPM with regulators for MSM8660
Quoted 12 lines · Bjorn Andersson
Quoted 2 lines · Stephen Boyd
Quoted 1 line · Linus Walleij
arch/arm/boot/dts/qcom-msm8660.dtsi +0
-0[..]
Quoted 6 lines
arch/arm/boot/dts/qcom-msm8660.dtsi
Quoted 2 lines
arch/arm/boot/dts/qcom-msm8660.dtsi +2
-0+ + pm8901-regulators {I'd rather have regulators at 8901 and regulators at 8058. That way the node name is generic per ePAPR suggestions.
Quoted 2 lines
I agree, but unfortunately we're not allowed to do that without a matching "reg = <>" anymore.
Oh does dtc blow up now?
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 3/5 ARM: dts: add L2CC and RPM with regulators for MSM8660
Quoted 13 lines · Stephen Boyd
Quoted 12 lines · Bjorn Andersson
Quoted 2 lines · Stephen Boyd
Quoted 1 line · Linus Walleij
arch/arm/boot/dts/qcom-msm8660.dtsi +0
-0[..]
Quoted 6 lines
arch/arm/boot/dts/qcom-msm8660.dtsi
Quoted 2 lines
arch/arm/boot/dts/qcom-msm8660.dtsi +2
-0+ + pm8901-regulators {I'd rather have regulators at 8901 and regulators at 8058. That way the node name is generic per ePAPR suggestions.
Quoted 4 lines
Quoted 2 lines
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."
Signature · 3 lines
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.
PATCH 3/5 ARM: dts: add L2CC and RPM with regulators for MSM8660
In reply to Stephen BoydQuoted 6 lines · Stephen Boyd
Review
Quoted 2 lines · Linus Walleij
(quoted diff) +2
-0+ + 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.
Signature · 3 lines
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.
PATCH 3/5 ARM: dts: add L2CC and RPM with regulators for MSM8660
Quoted 11 lines · Russell King - ARM Linux
Quoted 6 lines · Stephen Boyd
Review
Quoted 2 lines · Linus Walleij
(quoted diff) +2
-0+ + 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!
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 3/5 ARM: dts: add L2CC and RPM with regulators for MSM8660
Quoted 13 lines · Stephen Boyd
Quoted 11 lines · Russell King - ARM Linux
Quoted 6 lines · Stephen Boyd
Review
Quoted 2 lines · Linus Walleij
(quoted diff) +2
-0+ + 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.
Quoted 8 lines
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.
Signature · 3 lines
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.
PATCH 3/5 ARM: dts: add L2CC and RPM with regulators for MSM8660
In reply to Stephen BoydQuoted 8 lines · Stephen Boyd
arch/arm/boot/dts/qcom-msm8660.dtsi line 238
Quoted 4 lines · Linus Walleij
arch/arm/boot/dts/qcom-msm8660.dtsi +4
-0+ 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 inarch/arm/boot/dts/qcom-apq8064.dtsi
Quoted 5 lines
Review
Quoted 2 lines
(quoted diff) +2
-0+ + 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...
Quoted 3 lines
Quoted 1 line
+
pm8058_mvs: mvs {};
pm8901_mvs?
Ooops fixing.
Quoted 26 lines
Quoted 26 lines
arch/arm/boot/dts/qcom-msm8660.dtsi +26
-0+ 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 {};
Quoted 8 lines
arch/arm/boot/dts/qcom-msm8660.dtsi line 295
Quoted 6 lines
arch/arm/boot/dts/qcom-msm8660.dtsi +6
-0+ 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
PATCH 3/5 ARM: dts: add L2CC and RPM with regulators for MSM8660
Quoted 6 lines · Linus Walleij
Quoted 2 lines · Stephen Boyd
Just leave these out? RPM shouldn't be touching s0 or s1.
Really? The msm-3.4 tree does:
Quoted 9 lines
/* RPM early regulator constraints */
static structrpm_regulator_init_datarpm_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.
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 4/5 ARM: dts: move the fixed MMC regulator to SURF board
In reply to Linus WalleijThere 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.
--- arch/arm/boot/dts/qcom-msm8660-surf.dts | 11 +++++++++++ arch/arm/boot/dts/qcom-msm8660.dtsi | 12 ------------ 2 files changed, 11 insertions(+), 12 deletions(-)
arch/arm/boot/dts/qcom-msm8660-surf.dts +11 -0
@@ -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>; }; }; };
arch/arm/boot/dts/qcom-msm8660.dtsi +0 -12
@@ -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>; }; };
Signature · 1 line
2.4.11
PATCH 4/5 ARM: dts: move the fixed MMC regulator to SURF board
Quoted 7 lines · 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 <[email protected]>---
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 5/5 ARM: dts: add Qualcomm APQ8060-based Dragonboard
In reply to Linus WalleijThis is the first Dragonboard based on APQ8060 and PM8058. It was produced in 2011 in cooperation between Qualcomm and BSQUARE.
--- 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
arch/arm/boot/dts/Makefile +1 -0
@@ -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 \
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts new file +557 -0
557 lines not on this page · raw message
Signature · 1 line
2.4.11
PATCH 5/5 ARM: dts: add Qualcomm APQ8060-based Dragonboard
Quoted 23 lines · Linus Walleij
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts new file +23
-0+/ { + 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;
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts line 60
Quoted 10 lines
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts new file +10
-0+ }; + }; + + /* 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?
Quoted 12 lines
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts new file +12
-0+ + 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"; + }; + }; + };
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts line 82
Quoted 10 lines
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts new file +10
-0+}; + +/* 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.
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
PATCH 5/5 ARM: dts: add Qualcomm APQ8060-based Dragonboard
Quoted 7 lines · Stephen Boyd
Quoted 7 lines
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts new file +7
-0+/* Intenal 3.69 GiB eMMC */ +&sdcc1 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&dragon_sdcc1_pins>; + vmmc-supply = <&pm8901_l5>; + vqmmc-supply = <&pm8901_lvs0>;
Quoted 8 lines
Quoted 1 line
+};
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
19c00000has 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
PATCH 5/5 ARM: dts: add Qualcomm APQ8060-based Dragonboard
In reply to Linus WalleijQuoted 7 lines · Linus Walleij
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts new file +7
-0+ +/ { + model = "Qualcomm APQ8060 Dragonboard"; + compatible = "qcom,apq8060-dragonboard", "qcom,msm8660"; + + aliases { + serial0 = &gsbi12_serial;
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts line 43
Quoted 10 lines
arch/arm/boot/dts/qcom-apq8060-dragonboard.dts new file +10
-0+ }; + + 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?
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project