Add DTS for SDM845 SoC and MTP
v5 cover Add DTS for SDM845 SoC and MTP
These are basic device tree files needed to boot a SDM845 MTP board to a ramfs based serial console shell
Bindings are based on whats proposed for pinctrl/serial/clock drivers for SDM845 SoC
pinctrl: https://patchwork.kernel.org/patch/10157143/ (This is now pulled in by Linus Walleij for 4.17)
clocks: https://lkml.org/lkml/2018/1/31/209 (under review)
serial: https://patchwork.ozlabs.org/cover/860251/ (under review)
'PATCH 4/4' is based on v2 of serial patches, will need an update if v3 (still in the works) has further binding updates
Since 'PATCH 3/4' also adds an ITS node and keeps it disabled, we also depend on https://lkml.org/lkml/2018/1/29/383
changes in v5:
* Removed all instances of IRQ_TYPE_NONE
changes in v4:
* pull config changes to uart pins
* License in device tree files is still GPL-2.0
changes in v3:
* split the pinmux/pinconf nodes across SoC/Board files
* Fixes for issues reported with 'make dtbs W=2'
* other minor fixes based on review
changes in v2:
* dropped cpu-map
* dropped GIC_CPU_MASK_SIMPLE()
* Added new cpu compatible for kryo385
* added ITS node, marked as disabled
Rajendra Nayak (4):
dt-bindings: arm: Document kryo385 cpu
dt-bindings: qcom: Add SDM845 bindings
arm64: dts: sdm845: Add minimal dts/dtsi files for sdm845 SoC and MTP
arm64: dts: sdm845: Add serial console support
Documentation/devicetree/bindings/arm/cpus.txt | 1 + Documentation/devicetree/bindings/arm/qcom.txt | 1 + arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 54 +++++ arch/arm64/boot/dts/qcom/sdm845.dtsi | 316 +++++++++++++++++++++++++ 5 files changed, 373 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sdm845-mtp.dts create mode 100644 arch/arm64/boot/dts/qcom/sdm845.dtsi
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
PATCH v5 1/4 dt-bindings: arm: Document kryo385 cpu
Document the compatible string for the Kryo385 cpus found in qualcomm SoCs.
--- Documentation/devicetree/bindings/arm/cpus.txt | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/arm/cpus.txt +1 -0
@@ -184,6 +184,7 @@ described below. "nvidia,tegra186-denver" "qcom,krait" "qcom,kryo" + "qcom,kryo385" "qcom,scorpion" - enable-method Value type: <stringlist>
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH v5 1/4] dt-bindings: arm: Document kryo385 cpu
Quoting Rajendra Nayak (2018-02-21 22:12:05)
Quoted 7 lines
Document the compatible string for the Kryo385 cpus found in qualcomm SoCs.
Signed-off-by Rajendra Nayak <[email protected]>Reviewed-by Rob Herring <[email protected]>Reviewed-by Douglas Anderson <[email protected]>---
PATCH v5 2/4 dt-bindings: qcom: Add SDM845 bindings
In reply to Rajendra NayakAdd a SoC string 'sdm845' for the qualcomm SDM845 SoC
--- Documentation/devicetree/bindings/arm/qcom.txt | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/arm/qcom.txt +1 -0
@@ -26,6 +26,7 @@ The 'SoC' element must be one of the following strings: msm8996 mdm9615 ipq8074 + sdm845 The 'board' element must be one of the following strings:
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH v5 2/4] dt-bindings: qcom: Add SDM845 bindings
Quoting Rajendra Nayak (2018-02-21 22:12:06)
Quoted 6 lines
Add a SoC string 'sdm845' for the qualcomm SDM845 SoC
Signed-off-by Rajendra Nayak <[email protected]>Reviewed-by Douglas Anderson <[email protected]>Reviewed-by Rob Herring <[email protected]>---
PATCH v5 3/4 arm64: dts: sdm845: Add minimal dts/dtsi files for sdm845 SoC and MTP
In reply to Rajendra NayakAdd a skeletal sdm845 SoC dtsi and MTP board dts/dtsi files
--- arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 15 ++ arch/arm64/boot/dts/qcom/sdm845.dtsi | 277 ++++++++++++++++++++++++++++++++ 3 files changed, 293 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/sdm845-mtp.dts create mode 100644 arch/arm64/boot/dts/qcom/sdm845.dtsi
arch/arm64/boot/dts/qcom/Makefile +1 -0
@@ -6,3 +6,4 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8916-mtp.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8992-bullhead-rev-101.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8994-angler-rev-101.dtb dtb-$(CONFIG_ARCH_QCOM) += msm8996-mtp.dtb +dtb-$(CONFIG_ARCH_QCOM) += sdm845-mtp.dtb
arch/arm64/boot/dts/qcom/sdm845-mtp.dts new file +15 -0
@@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * SDM845 MTP board device tree source + * + * Copyright (c) 2018, The Linux Foundation. All rights reserved. + */ + +/dts-v1/; + +#include "sdm845.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. SDM845 MTP"; + compatible = "qcom,sdm845-mtp"; +};
arch/arm64/boot/dts/qcom/sdm845.dtsi new file +277 -0
277 lines not on this page · raw message
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH v5 3/4] arm64: dts: sdm845: Add minimal dts/dtsi files for sdm845 SoC and MTP
Hi,
arch/arm64/boot/dts/qcom/sdm845.dtsi line 188
Quoted 6 lines · Rajendra Nayak
arch/arm64/boot/dts/qcom/sdm845.dtsi new file +6
-0+ gcc: clock-controller at 100000 { + compatible = "qcom,gcc-sdm845"; + reg = <0x100000 0x1f0000>; + #clock-cells = <1>; + #reset-cells = <1>; + };
Seems like we need "#power-domain-cells = <1>;" in the gcc node.
It is true that the property is listed as "optional" in the bindings, but we certainly know that the "include/dt-bindings/clock/qcom,gcc-sdm845.h" that's posted [1] contains several defines ending in "_GDSC" and once we start referencing those we'll need "#power-domain-cells". Seems like we should just have it from the beginning.
NOTE: IMHO adding "#power-domain-cells" could be done as a follow-on patch, but since (I think) this series still hasn't landed I guess we could just send up v6?
[1] https://patchwork.kernel.org/patch/10267093/
-Doug
Re: [PATCH v5 3/4] arm64: dts: sdm845: Add minimal dts/dtsi files for sdm845 SoC and MTP
Quoted 19 lines · Doug Anderson
Hi,
arch/arm64/boot/dts/qcom/sdm845.dtsi line 188
Quoted 6 lines · Rajendra Nayak
arch/arm64/boot/dts/qcom/sdm845.dtsi new file +6
-0+ gcc: clock-controller at 100000 { + compatible = "qcom,gcc-sdm845"; + reg = <0x100000 0x1f0000>; + #clock-cells = <1>; + #reset-cells = <1>; + };Seems like we need "#power-domain-cells = <1>;" in the gcc node.
It is true that the property is listed as "optional" in the bindings, but we certainly know that the "
include/dt-bindings/clock/qcom,gcc-sdm845.h" that's posted [1] contains several defines ending in "_GDSC" and once we start referencing those we'll need "#power-domain-cells". Seems like we should just have it from the beginning.
Quoted 3 lines
NOTE: IMHO adding "#power-domain-cells" could be done as a follow-on patch, but since (I think) this series still hasn't landed I guess we could just send up v6?
thanks for catching this, I'll send out v6 in a bit.
Quoted 10 lines
[1] https://patchwork.kernel.org/patch/10267093/
-Doug
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
PATCH v5 4/4 arm64: dts: sdm845: Add serial console support
In reply to Rajendra NayakAdd the qup uart node and geni se instance needed to support the serial console on the MTP.
--- arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 39 +++++++++++++++++++++++++++++++++ arch/arm64/boot/dts/qcom/sdm845.dtsi | 39 +++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+)
arch/arm64/boot/dts/qcom/sdm845-mtp.dts +39 -0
@@ -12,4 +12,43 @@ / { model = "Qualcomm Technologies, Inc. SDM845 MTP"; compatible = "qcom,sdm845-mtp"; + + aliases { + serial0 = &qup_uart2; + }; + + chosen { + stdout-path = "serial0"; + }; +}; + +&soc { + geni-se at ac0000 { + serial at a84000 { + status = "okay"; + }; + }; + + pinctrl at 3400000 { + qup-uart2-default { + pinconf_tx { + pins = "gpio4"; + drive-strength = <2>; + bias-disable; + }; + + pinconf_rx { + pins = "gpio5"; + drive-strength = <2>; + bias-pull-up; + }; + }; + + qup-uart2-sleep { + pinconf { + pins = "gpio4", "gpio5"; + bias-pull-down; + }; + }; + }; };
arch/arm64/boot/dts/qcom/sdm845.dtsi +39 -0
@@ -6,6 +6,7 @@ */ #include <dt-bindings/interrupt-controller/arm-gic.h> +#include <dt-bindings/clock/qcom,gcc-sdm845.h> / { interrupt-parent = <&intc>;
@@ -195,6 +196,20 @@ #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; + + qup_uart2_default: qup-uart2-default { + pinmux { + function = "qup9"; + pins = "gpio4", "gpio5"; + }; + }; + + qup_uart2_sleep: qup-uart2-sleep { + pinmux { + function = "gpio"; + pins = "gpio4", "gpio5"; + }; + }; }; timer at 17c90000 {
@@ -273,5 +288,29 @@ #interrupt-cells = <4>; cell-index = <0>; }; + + geni-se at ac0000 { + compatible = "qcom,geni-se-qup"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + reg = <0xac0000 0x6000>; + clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>, + <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>; + clock-names = "m-ahb", "s-ahb"; + + qup_uart2: serial at a84000 { + compatible = "qcom,geni-debug-uart"; + reg = <0xa84000 0x4000>; + reg-names = "se-phys"; + clock-names = "se-clk"; + clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&qup_uart2_default>; + pinctrl-1 = <&qup_uart2_sleep>; + interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + }; + }; }; };
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH v5 4/4] arm64: dts: sdm845: Add serial console support
Quoted 1 line · Rajendra Nayak
arch/arm64/boot/dts/qcom/sdm845.dtsi +0
-0
[..]
arch/arm64/boot/dts/qcom/sdm845.dtsi line 306
Quoted 5 lines
arch/arm64/boot/dts/qcom/sdm845.dtsi +5
-0+ qup_uart2: serial at a84000 { + compatible = "qcom,geni-debug-uart"; + reg = <0xa84000 0x4000>; + reg-names = "se-phys"; + clock-names = "se-clk";
This was changed to "se" in v3 of the GENI patchset, with that this boots nicely again.
Regards,
Bjorn
Re: [PATCH v5 4/4] arm64: dts: sdm845: Add serial console support
Quoted 11 lines · Bjorn Andersson
Quoted 1 line · Rajendra Nayak
arch/arm64/boot/dts/qcom/sdm845.dtsi +0
-0[..]
arch/arm64/boot/dts/qcom/sdm845.dtsi line 306
Quoted 5 lines
arch/arm64/boot/dts/qcom/sdm845.dtsi +5
-0+ qup_uart2: serial at a84000 { + compatible = "qcom,geni-debug-uart"; + reg = <0xa84000 0x4000>; + reg-names = "se-phys"; + clock-names = "se-clk";This was changed to "se" in v3 of the GENI patchset, with that this boots nicely again.
Thanks Bjorn for testing.
Karthik, it would be good if you could include just this patch from this series as part of your GENI series for the next (and subsequent) repost, with updates as needed based on binding changes?
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH v5 4/4] arm64: dts: sdm845: Add serial console support
Quoted 15 lines · Rajendra Nayak
Quoted 11 lines · Bjorn Andersson
Quoted 1 line · Rajendra Nayak
arch/arm64/boot/dts/qcom/sdm845.dtsi +0
-0[..]
arch/arm64/boot/dts/qcom/sdm845.dtsi line 306
Quoted 5 lines
arch/arm64/boot/dts/qcom/sdm845.dtsi +5
-0+ qup_uart2: serial at a84000 { + compatible = "qcom,geni-debug-uart"; + reg = <0xa84000 0x4000>; + reg-names = "se-phys"; + clock-names = "se-clk";This was changed to "se" in v3 of the GENI patchset, with that this boots nicely again.
Quoted 6 lines
Thanks Bjorn for testing.
Karthik, it would be good if you could include just this patch from this series as part of your GENI series for the next (and subsequent) repost, with updates as needed based on binding changes?
I will include this patch in my next submission.
Regards,
Karthik.
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project