Message ID | 1477394221-30963-6-git-send-email-jeremymc@redhat.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | Andy Gross |
Headers | show |
On 10/25/2016 04:17 AM, Jeremy McNicoll wrote: > From: Bastian Köcher <mail@kchr.de> > > Initial device tree support for Qualcomm MSM8994 SoC and > Huawei Angler / Google Nexus 6P support. > > The device tree is based on the Google 3.10 kernel tree. > > The device can be booted into the initrd with only one CPU running. > > Signed-off-by: Bastian Köcher <mail@kchr.de> > [jeremymc@redhat.com: removed Kconfig, defconfig, move from Huawei to qcom dir] > Signed-off-by: Jeremy McNicoll <jeremymc@redhat.com> I tested this on my Nexus 6P so feel free to add my: Tested-by: Michael Scott <michael.scott@linaro.org> - Mike > --- > arch/arm64/boot/dts/qcom/Makefile | 1 + > .../arm64/boot/dts/qcom/msm8994-angler-rev-101.dts | 40 ++++ > arch/arm64/boot/dts/qcom/msm8994-pins.dtsi | 38 ++++ > arch/arm64/boot/dts/qcom/msm8994-v2.0.dtsi | 32 +++ > arch/arm64/boot/dts/qcom/msm8994.dtsi | 218 +++++++++++++++++++++ > 5 files changed, 329 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > create mode 100644 arch/arm64/boot/dts/qcom/msm8994-pins.dtsi > create mode 100644 arch/arm64/boot/dts/qcom/msm8994-v2.0.dtsi > create mode 100644 arch/arm64/boot/dts/qcom/msm8994.dtsi > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 439e40e..cc0f02d 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -2,6 +2,7 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.dtb > dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb > 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 > > always := $(dtb-y) > diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > new file mode 100644 > index 0000000..2fc68c4 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > @@ -0,0 +1,40 @@ > +/* Copyright (c) 2015, Huawei Inc. All rights reserved. > + * Copyright (c) 2016, The Linux Foundation. All rights reserved. > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 and > + * only version 2 as published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +/dts-v1/; > + > +#include "msm8994-v2.0.dtsi" > + > +/ { > + model = "HUAWEI MSM8994 ANGLER rev-1.01"; > + compatible = "qcom,msm8994"; > + /* required for bootloader to select correct board */ > + qcom,board-id = <8026 0>; > + > + aliases { > + serial0 = &blsp1_uart2; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + soc { > + serial@f991e000 { > + status = "okay"; > + pinctrl-names = "default", "sleep"; > + pinctrl-0 = <&blsp1_uart2_default>; > + pinctrl-1 = <&blsp1_uart2_sleep>; > + }; > + }; > +}; > diff --git a/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi b/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi > new file mode 100644 > index 0000000..0e4eea0 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi > @@ -0,0 +1,38 @@ > +/* > + * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 and > + * only version 2 as published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +&msmgpio { > + blsp1_uart2_default: blsp1_uart2_default { > + pinmux { > + function = "blsp_uart2"; > + pins = "gpio4", "gpio5"; > + }; > + pinconf { > + pins = "gpio4", "gpio5"; > + drive-strength = <16>; > + bias-disable; > + }; > + }; > + > + blsp1_uart2_sleep: blsp1_uart2_sleep { > + pinmux { > + function = "gpio"; > + pins = "gpio4", "gpio5"; > + }; > + pinconf { > + pins = "gpio4", "gpio5"; > + drive-strength = <2>; > + bias-pull-down; > + }; > + }; > +}; > diff --git a/arch/arm64/boot/dts/qcom/msm8994-v2.0.dtsi b/arch/arm64/boot/dts/qcom/msm8994-v2.0.dtsi > new file mode 100644 > index 0000000..639781a > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/msm8994-v2.0.dtsi > @@ -0,0 +1,32 @@ > +/* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved. > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 and > + * only version 2 as published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +/* > + * As a general rule, only version-specific property overrides should be placed > + * inside this file. Device definitions should be placed inside the msm8994.dtsi > + * file. > + */ > + > +#include "msm8994.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. MSM 8994v2.0"; > + compatible = "qcom,msm8994"; > + /* msm-id is required by bootloader for proper dt blob selection */ > + qcom,msm-id = <207 0x20000>; > + > +}; > + > +/* Clock driver overrides */ > +&clock_gcc { > + compatible = "qcom,gcc-8994v2"; > +}; > diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi > new file mode 100644 > index 0000000..7efc159 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi > @@ -0,0 +1,218 @@ > +/* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 and > + * only version 2 as published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +#include <dt-bindings/interrupt-controller/arm-gic.h> > +#include <dt-bindings/clock/qcom,gcc-msm8994.h> > + > +/ { > + model = "Qualcomm Technologies, Inc. MSM 8994"; > + compatible = "qcom,msm8994"; > + // msm-id and pmic-id are required by bootloader for > + // proper selection of dt blob > + qcom,msm-id = <207 0x0>; > + qcom,pmic-id = <0x10009 0x1000A 0x0 0x0>; > + interrupt-parent = <&intc>; > + > + #address-cells = <2>; > + #size-cells = <2>; > + > + chosen { }; > + > + cpus { > + #address-cells = <1>; > + #size-cells = <0>; > + cpu-map { > + cluster0 { > + core0 { > + cpu = <&CPU0>; > + }; > + }; > + }; > + > + CPU0: cpu@0 { > + device_type = "cpu"; > + compatible = "arm,cortex-a53", "arm,armv8"; > + reg = <0x0>; > + next-level-cache = <&L2_0>; > + L2_0: l2-cache { > + compatible = "cache"; > + cache-level = <2>; > + }; > + }; > + }; > + > + timer { > + compatible = "arm,armv8-timer"; > + interrupts = <1 2 0xff08>, > + <1 3 0xff08>, > + <1 4 0xff08>, > + <1 1 0xff08>; > + }; > + > + soc: soc { > + > + #address-cells = <1>; > + #size-cells = <1>; > + ranges = <0 0 0 0xffffffff>; > + compatible = "simple-bus"; > + > + intc: interrupt-controller@f9000000 { > + compatible = "qcom,msm-qgic2"; > + interrupt-controller; > + #interrupt-cells = <3>; > + reg = <0xf9000000 0x1000>, > + <0xf9002000 0x1000>; > + }; > + > + timer@f9020000 { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + compatible = "arm,armv7-timer-mem"; > + reg = <0xf9020000 0x1000>; > + > + frame@f9021000 { > + frame-number = <0>; > + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; > + reg = <0xf9021000 0x1000>, > + <0xf9022000 0x1000>; > + }; > + > + frame@f9023000 { > + frame-number = <1>; > + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; > + reg = <0xf9023000 0x1000>; > + status = "disabled"; > + }; > + > + frame@f9024000 { > + frame-number = <2>; > + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; > + reg = <0xf9024000 0x1000>; > + status = "disabled"; > + }; > + > + frame@f9025000 { > + frame-number = <3>; > + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; > + reg = <0xf9025000 0x1000>; > + status = "disabled"; > + }; > + > + frame@f9026000 { > + frame-number = <4>; > + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; > + reg = <0xf9026000 0x1000>; > + status = "disabled"; > + }; > + > + frame@f9027000 { > + frame-number = <5>; > + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; > + reg = <0xf9027000 0x1000>; > + status = "disabled"; > + }; > + > + frame@f9028000 { > + frame-number = <6>; > + interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; > + reg = <0xf9028000 0x1000>; > + status = "disabled"; > + }; > + }; > + > + restart@fc4ab000 { > + compatible = "qcom,pshold"; > + reg = <0xfc4ab000 0x4>; > + }; > + > + msmgpio: pinctrl@fd510000 { > + compatible = "qcom,msm8994-pinctrl"; > + reg = <0xfd510000 0x4000>; > + interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; > + gpio-controller; > + #gpio-cells = <2>; > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + > + blsp1_uart2: serial@f991e000 { > + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; > + reg = <0xf991e000 0x1000>; > + interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; > + status = "disabled"; > + clock-names = "core", "iface"; > + clocks = <&clock_gcc GCC_BLSP1_UART2_APPS_CLK>, > + <&clock_gcc GCC_BLSP1_AHB_CLK>; > + }; > + > + tcsr_mutex_regs: syscon@fd484000 { > + compatible = "syscon"; > + reg = <0xfd484000 0x2000>; > + }; > + > + tcsr_mutex: hwlock { > + compatible = "qcom,tcsr-mutex"; > + syscon = <&tcsr_mutex_regs 0 0x80>; > + #hwlock-cells = <1>; > + }; > + > + qcom,smem@6a00000 { > + compatible = "qcom,smem"; > + memory-region = <&smem_mem>; > + hwlocks = <&tcsr_mutex 3>; > + }; > + > + clock_gcc: qcom,gcc@fc400000 { > + compatible = "qcom,gcc-8994"; > + #clock-cells = <1>; > + #reset-cells = <1>; > + #power-domain-cells = <1>; > + reg = <0xfc400000 0x2000>; > + }; > + }; > + > + memory { > + device_type = "memory"; > + // We expect the bootloader to fill in the reg > + reg = <0 0 0 0>; > + }; > + > + clocks { > + xo_board: xo_board { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <19200000>; > + }; > + > + sleep_clk: sleep_clk { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <32768>; > + }; > + }; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + smem_mem: smem_region@0x6a00000 { > + reg = <0x0 0x6a00000 0x0 0x200000>; > + no-map; > + }; > + }; > +}; > + > + > +#include "msm8994-pins.dtsi" -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 10/25, Jeremy McNicoll wrote: > diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > new file mode 100644 > index 0000000..2fc68c4 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > @@ -0,0 +1,40 @@ > +/* Copyright (c) 2015, Huawei Inc. All rights reserved. > + * Copyright (c) 2016, The Linux Foundation. All rights reserved. > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 and > + * only version 2 as published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +/dts-v1/; > + > +#include "msm8994-v2.0.dtsi" > + > +/ { > + model = "HUAWEI MSM8994 ANGLER rev-1.01"; > + compatible = "qcom,msm8994"; Please replace this with something more specific for the actual board. Preferably with the board manufacturer vendor prefix and some sort of string for the board. > + /* required for bootloader to select correct board */ > + qcom,board-id = <8026 0>; > + > + aliases { > + serial0 = &blsp1_uart2; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > + > + soc { > + serial@f991e000 { > + status = "okay"; > + pinctrl-names = "default", "sleep"; > + pinctrl-0 = <&blsp1_uart2_default>; > + pinctrl-1 = <&blsp1_uart2_sleep>; > + }; > + }; > +}; > diff --git a/arch/arm64/boot/dts/qcom/msm8994-v2.0.dtsi b/arch/arm64/boot/dts/qcom/msm8994-v2.0.dtsi > new file mode 100644 > index 0000000..639781a > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/msm8994-v2.0.dtsi > @@ -0,0 +1,32 @@ > +/* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved. > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 and > + * only version 2 as published by the Free Software Foundation. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + */ > + > +/* > + * As a general rule, only version-specific property overrides should be placed > + * inside this file. Device definitions should be placed inside the msm8994.dtsi > + * file. > + */ > + > +#include "msm8994.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. MSM 8994v2.0"; > + compatible = "qcom,msm8994"; This doesn't get -v2 appended? > + /* msm-id is required by bootloader for proper dt blob selection */ > + qcom,msm-id = <207 0x20000>; > + > +}; > + > +/* Clock driver overrides */ > +&clock_gcc { > + compatible = "qcom,gcc-8994v2"; I don't think gcc-8994v1 ever got into a product, so we should write the clk driver to treat qcom,gcc-msm8994 as the only compatible string. Then this override isn't needed. > +}; > diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi > new file mode 100644 > index 0000000..7efc159 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi > @@ -0,0 +1,218 @@ > + msmgpio: pinctrl@fd510000 { > + compatible = "qcom,msm8994-pinctrl"; > + reg = <0xfd510000 0x4000>; > + interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; > + gpio-controller; > + #gpio-cells = <2>; > + interrupt-controller; > + #interrupt-cells = <2>; > + }; > + > + blsp1_uart2: serial@f991e000 { > + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; > + reg = <0xf991e000 0x1000>; > + interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; > + status = "disabled"; > + clock-names = "core", "iface"; > + clocks = <&clock_gcc GCC_BLSP1_UART2_APPS_CLK>, > + <&clock_gcc GCC_BLSP1_AHB_CLK>; > + }; > + > + tcsr_mutex_regs: syscon@fd484000 { > + compatible = "syscon"; > + reg = <0xfd484000 0x2000>; > + }; > + > + tcsr_mutex: hwlock { This doesn't have a reg property. It should go outside the soc node. > + compatible = "qcom,tcsr-mutex"; > + syscon = <&tcsr_mutex_regs 0 0x80>; > + #hwlock-cells = <1>; > + }; > + > + qcom,smem@6a00000 { This doesn't have a reg property. It should go outside the soc node. > + compatible = "qcom,smem"; > + memory-region = <&smem_mem>; > + hwlocks = <&tcsr_mutex 3>; > + }; > + > + clock_gcc: qcom,gcc@fc400000 { s/qcom,gcc/clock-controller/ > + compatible = "qcom,gcc-8994"; > + #clock-cells = <1>; > + #reset-cells = <1>; > + #power-domain-cells = <1>; > + reg = <0xfc400000 0x2000>; > + }; > + }; > + > + memory { > + device_type = "memory"; > + // We expect the bootloader to fill in the reg > + reg = <0 0 0 0>; > + }; > + > + clocks { > + xo_board: xo_board { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <19200000>; > + }; > + > + sleep_clk: sleep_clk { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <32768>; > + }; > + }; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + smem_mem: smem_region@0x6a00000 { Drop leading 0x in node names. > + reg = <0x0 0x6a00000 0x0 0x200000>; > + no-map; > + }; > + }; > +}; > + > + > +#include "msm8994-pins.dtsi" > -- > 2.6.1 >
On 2016-10-27 5:06 PM, Stephen Boyd wrote: > On 10/25, Jeremy McNicoll wrote: >> diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts >> new file mode 100644 >> index 0000000..2fc68c4 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts >> @@ -0,0 +1,40 @@ >> +/* Copyright (c) 2015, Huawei Inc. All rights reserved. >> + * Copyright (c) 2016, The Linux Foundation. All rights reserved. >> + * >> + * This program is free software; you can redistribute it and/or modify >> + * it under the terms of the GNU General Public License version 2 and >> + * only version 2 as published by the Free Software Foundation. >> + * >> + * This program is distributed in the hope that it will be useful, >> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> + * GNU General Public License for more details. >> + */ >> + >> +/dts-v1/; >> + >> +#include "msm8994-v2.0.dtsi" >> + >> +/ { >> + model = "HUAWEI MSM8994 ANGLER rev-1.01"; >> + compatible = "qcom,msm8994"; > > Please replace this with something more specific for the actual > board. Preferably with the board manufacturer vendor prefix and > some sort of string for the board. > Not really sure what to put here, I would like to use my 'ask the audience lifeline' on this one. -jeremy -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Oct 27, 2016 at 05:54:01PM -0700, Jeremy McNicoll wrote: > On 2016-10-27 5:06 PM, Stephen Boyd wrote: > >On 10/25, Jeremy McNicoll wrote: > >>diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > >>new file mode 100644 > >>index 0000000..2fc68c4 > >>--- /dev/null > >>+++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > >>@@ -0,0 +1,40 @@ > >>+/* Copyright (c) 2015, Huawei Inc. All rights reserved. > >>+ * Copyright (c) 2016, The Linux Foundation. All rights reserved. > >>+ * > >>+ * This program is free software; you can redistribute it and/or modify > >>+ * it under the terms of the GNU General Public License version 2 and > >>+ * only version 2 as published by the Free Software Foundation. > >>+ * > >>+ * This program is distributed in the hope that it will be useful, > >>+ * but WITHOUT ANY WARRANTY; without even the implied warranty of > >>+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > >>+ * GNU General Public License for more details. > >>+ */ > >>+ > >>+/dts-v1/; > >>+ > >>+#include "msm8994-v2.0.dtsi" > >>+ > >>+/ { > >>+ model = "HUAWEI MSM8994 ANGLER rev-1.01"; > >>+ compatible = "qcom,msm8994"; > > > >Please replace this with something more specific for the actual > >board. Preferably with the board manufacturer vendor prefix and > >some sort of string for the board. Something like? "huawei,nexus-6P", "qcom,msm8994" -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 11/03/2016 03:32 PM, Andy Gross wrote: > On Thu, Oct 27, 2016 at 05:54:01PM -0700, Jeremy McNicoll wrote: >> On 2016-10-27 5:06 PM, Stephen Boyd wrote: >>> On 10/25, Jeremy McNicoll wrote: >>>> diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts >>>> new file mode 100644 >>>> index 0000000..2fc68c4 >>>> --- /dev/null >>>> +++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts >>>> @@ -0,0 +1,40 @@ >>>> +/* Copyright (c) 2015, Huawei Inc. All rights reserved. >>>> + * Copyright (c) 2016, The Linux Foundation. All rights reserved. >>>> + * >>>> + * This program is free software; you can redistribute it and/or modify >>>> + * it under the terms of the GNU General Public License version 2 and >>>> + * only version 2 as published by the Free Software Foundation. >>>> + * >>>> + * This program is distributed in the hope that it will be useful, >>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >>>> + * GNU General Public License for more details. >>>> + */ >>>> + >>>> +/dts-v1/; >>>> + >>>> +#include "msm8994-v2.0.dtsi" >>>> + >>>> +/ { >>>> + model = "HUAWEI MSM8994 ANGLER rev-1.01"; >>>> + compatible = "qcom,msm8994"; >>> Please replace this with something more specific for the actual >>> board. Preferably with the board manufacturer vendor prefix and >>> some sort of string for the board. > Something like? > > "huawei,nexus-6P", "qcom,msm8994" Sure, except completely remove qcom,msm8994 from there.
On Thu, Nov 03, 2016 at 03:42:36PM -0700, Stephen Boyd wrote: > On 11/03/2016 03:32 PM, Andy Gross wrote: > > On Thu, Oct 27, 2016 at 05:54:01PM -0700, Jeremy McNicoll wrote: > >> On 2016-10-27 5:06 PM, Stephen Boyd wrote: > >>> On 10/25, Jeremy McNicoll wrote: > >>>> diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > >>>> new file mode 100644 > >>>> index 0000000..2fc68c4 > >>>> --- /dev/null > >>>> +++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > >>>> @@ -0,0 +1,40 @@ > >>>> +/* Copyright (c) 2015, Huawei Inc. All rights reserved. > >>>> + * Copyright (c) 2016, The Linux Foundation. All rights reserved. > >>>> + * > >>>> + * This program is free software; you can redistribute it and/or modify > >>>> + * it under the terms of the GNU General Public License version 2 and > >>>> + * only version 2 as published by the Free Software Foundation. > >>>> + * > >>>> + * This program is distributed in the hope that it will be useful, > >>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of > >>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > >>>> + * GNU General Public License for more details. > >>>> + */ > >>>> + > >>>> +/dts-v1/; > >>>> + > >>>> +#include "msm8994-v2.0.dtsi" > >>>> + > >>>> +/ { > >>>> + model = "HUAWEI MSM8994 ANGLER rev-1.01"; > >>>> + compatible = "qcom,msm8994"; > >>> Please replace this with something more specific for the actual > >>> board. Preferably with the board manufacturer vendor prefix and > >>> some sort of string for the board. > > Something like? > > > > "huawei,nexus-6P", "qcom,msm8994" > > Sure, except completely remove qcom,msm8994 from there. Hmmm ok. I just briefly looked at one of the sony boards and used that as an example. So there shouldn't be any link to the underlying soc in the compat? -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Oct 25, 2016 at 04:17:00AM -0700, Jeremy McNicoll wrote: > + clocks { > + xo_board: xo_board { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <19200000>; > + }; > + > + sleep_clk: sleep_clk { > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <32768>; > + }; > + }; As with the other patch, please get rid of the clocks node and put these directly under the root. Thanks, Mark. -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu 03 Nov 15:42 PDT 2016, Stephen Boyd wrote: > On 11/03/2016 03:32 PM, Andy Gross wrote: > > On Thu, Oct 27, 2016 at 05:54:01PM -0700, Jeremy McNicoll wrote: > >> On 2016-10-27 5:06 PM, Stephen Boyd wrote: > >>> On 10/25, Jeremy McNicoll wrote: > >>>> diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > >>>> new file mode 100644 > >>>> index 0000000..2fc68c4 > >>>> --- /dev/null > >>>> +++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > >>>> @@ -0,0 +1,40 @@ > >>>> +/* Copyright (c) 2015, Huawei Inc. All rights reserved. > >>>> + * Copyright (c) 2016, The Linux Foundation. All rights reserved. > >>>> + * > >>>> + * This program is free software; you can redistribute it and/or modify > >>>> + * it under the terms of the GNU General Public License version 2 and > >>>> + * only version 2 as published by the Free Software Foundation. > >>>> + * > >>>> + * This program is distributed in the hope that it will be useful, > >>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of > >>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > >>>> + * GNU General Public License for more details. > >>>> + */ > >>>> + > >>>> +/dts-v1/; > >>>> + > >>>> +#include "msm8994-v2.0.dtsi" > >>>> + > >>>> +/ { > >>>> + model = "HUAWEI MSM8994 ANGLER rev-1.01"; > >>>> + compatible = "qcom,msm8994"; > >>> Please replace this with something more specific for the actual > >>> board. Preferably with the board manufacturer vendor prefix and > >>> some sort of string for the board. > > Something like? > > > > "huawei,nexus-6P", "qcom,msm8994" > > Sure, except completely remove qcom,msm8994 from there. Why? So far we have always used the form <device>, <platform> as compatible. This is even in line with ePAPR, what changed? Also, the compatible should be "huawei,angler" (if I read the internet correctly) and the model should contain the product name (Huawei Nexus 6P). Regards, Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Nov 03, 2016 at 04:04:29PM -0700, Bjorn Andersson wrote: > On Thu 03 Nov 15:42 PDT 2016, Stephen Boyd wrote: > > > On 11/03/2016 03:32 PM, Andy Gross wrote: > > > On Thu, Oct 27, 2016 at 05:54:01PM -0700, Jeremy McNicoll wrote: > > >> On 2016-10-27 5:06 PM, Stephen Boyd wrote: > > >>> On 10/25, Jeremy McNicoll wrote: > > >>>> diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > > >>>> new file mode 100644 > > >>>> index 0000000..2fc68c4 > > >>>> --- /dev/null > > >>>> +++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > > >>>> @@ -0,0 +1,40 @@ > > >>>> +/* Copyright (c) 2015, Huawei Inc. All rights reserved. > > >>>> + * Copyright (c) 2016, The Linux Foundation. All rights reserved. > > >>>> + * > > >>>> + * This program is free software; you can redistribute it and/or modify > > >>>> + * it under the terms of the GNU General Public License version 2 and > > >>>> + * only version 2 as published by the Free Software Foundation. > > >>>> + * > > >>>> + * This program is distributed in the hope that it will be useful, > > >>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > >>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > >>>> + * GNU General Public License for more details. > > >>>> + */ > > >>>> + > > >>>> +/dts-v1/; > > >>>> + > > >>>> +#include "msm8994-v2.0.dtsi" > > >>>> + > > >>>> +/ { > > >>>> + model = "HUAWEI MSM8994 ANGLER rev-1.01"; > > >>>> + compatible = "qcom,msm8994"; > > >>> Please replace this with something more specific for the actual > > >>> board. Preferably with the board manufacturer vendor prefix and > > >>> some sort of string for the board. > > > Something like? > > > > > > "huawei,nexus-6P", "qcom,msm8994" > > > > Sure, except completely remove qcom,msm8994 from there. > > Why? So far we have always used the form <device>, <platform> as > compatible. This is even in line with ePAPR, what changed? > > Also, the compatible should be "huawei,angler" (if I read the internet > correctly) and the model should contain the product name > (Huawei Nexus 6P). > What about model = "Huawei Nexus 6P"; compatible = "huawei, angler", "qcom,msm8994"; ? Obviously I will update the Nexus5X to look similar. -jeremy > Regards, > Bjorn > -- > To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu 03 Nov 17:20 PDT 2016, Jeremy McNicoll wrote: > On Thu, Nov 03, 2016 at 04:04:29PM -0700, Bjorn Andersson wrote: > > On Thu 03 Nov 15:42 PDT 2016, Stephen Boyd wrote: > > > > > On 11/03/2016 03:32 PM, Andy Gross wrote: > > > > On Thu, Oct 27, 2016 at 05:54:01PM -0700, Jeremy McNicoll wrote: > > > >> On 2016-10-27 5:06 PM, Stephen Boyd wrote: > > > >>> On 10/25, Jeremy McNicoll wrote: > > > >>>> diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > > > >>>> new file mode 100644 > > > >>>> index 0000000..2fc68c4 > > > >>>> --- /dev/null > > > >>>> +++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts > > > >>>> @@ -0,0 +1,40 @@ > > > >>>> +/* Copyright (c) 2015, Huawei Inc. All rights reserved. > > > >>>> + * Copyright (c) 2016, The Linux Foundation. All rights reserved. > > > >>>> + * > > > >>>> + * This program is free software; you can redistribute it and/or modify > > > >>>> + * it under the terms of the GNU General Public License version 2 and > > > >>>> + * only version 2 as published by the Free Software Foundation. > > > >>>> + * > > > >>>> + * This program is distributed in the hope that it will be useful, > > > >>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of > > > >>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > > > >>>> + * GNU General Public License for more details. > > > >>>> + */ > > > >>>> + > > > >>>> +/dts-v1/; > > > >>>> + > > > >>>> +#include "msm8994-v2.0.dtsi" > > > >>>> + > > > >>>> +/ { > > > >>>> + model = "HUAWEI MSM8994 ANGLER rev-1.01"; > > > >>>> + compatible = "qcom,msm8994"; > > > >>> Please replace this with something more specific for the actual > > > >>> board. Preferably with the board manufacturer vendor prefix and > > > >>> some sort of string for the board. > > > > Something like? > > > > > > > > "huawei,nexus-6P", "qcom,msm8994" > > > > > > Sure, except completely remove qcom,msm8994 from there. > > > > Why? So far we have always used the form <device>, <platform> as > > compatible. This is even in line with ePAPR, what changed? > > > > Also, the compatible should be "huawei,angler" (if I read the internet > > correctly) and the model should contain the product name > > (Huawei Nexus 6P). > > > > What about > > model = "Huawei Nexus 6P"; > compatible = "huawei, angler", "qcom,msm8994"; ^ | unwanted space Apart from that, I think it looks good and in line with how we've done the other boards. Regards, Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2016-11-03 7:57 PM, Bjorn Andersson wrote: > On Thu 03 Nov 17:20 PDT 2016, Jeremy McNicoll wrote: > >> On Thu, Nov 03, 2016 at 04:04:29PM -0700, Bjorn Andersson wrote: >>> On Thu 03 Nov 15:42 PDT 2016, Stephen Boyd wrote: >>> >>>> On 11/03/2016 03:32 PM, Andy Gross wrote: >>>>> On Thu, Oct 27, 2016 at 05:54:01PM -0700, Jeremy McNicoll wrote: >>>>>> On 2016-10-27 5:06 PM, Stephen Boyd wrote: >>>>>>> On 10/25, Jeremy McNicoll wrote: >>>>>>>> diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts >>>>>>>> new file mode 100644 >>>>>>>> index 0000000..2fc68c4 >>>>>>>> --- /dev/null >>>>>>>> +++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts >>>>>>>> @@ -0,0 +1,40 @@ >>>>>>>> +/* Copyright (c) 2015, Huawei Inc. All rights reserved. >>>>>>>> + * Copyright (c) 2016, The Linux Foundation. All rights reserved. >>>>>>>> + * >>>>>>>> + * This program is free software; you can redistribute it and/or modify >>>>>>>> + * it under the terms of the GNU General Public License version 2 and >>>>>>>> + * only version 2 as published by the Free Software Foundation. >>>>>>>> + * >>>>>>>> + * This program is distributed in the hope that it will be useful, >>>>>>>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of >>>>>>>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >>>>>>>> + * GNU General Public License for more details. >>>>>>>> + */ >>>>>>>> + >>>>>>>> +/dts-v1/; >>>>>>>> + >>>>>>>> +#include "msm8994-v2.0.dtsi" >>>>>>>> + >>>>>>>> +/ { >>>>>>>> + model = "HUAWEI MSM8994 ANGLER rev-1.01"; >>>>>>>> + compatible = "qcom,msm8994"; >>>>>>> Please replace this with something more specific for the actual >>>>>>> board. Preferably with the board manufacturer vendor prefix and >>>>>>> some sort of string for the board. >>>>> Something like? >>>>> >>>>> "huawei,nexus-6P", "qcom,msm8994" >>>> >>>> Sure, except completely remove qcom,msm8994 from there. >>> >>> Why? So far we have always used the form <device>, <platform> as >>> compatible. This is even in line with ePAPR, what changed? >>> >>> Also, the compatible should be "huawei,angler" (if I read the internet >>> correctly) and the model should contain the product name >>> (Huawei Nexus 6P). >>> >> >> What about >> >> model = "Huawei Nexus 6P"; >> compatible = "huawei, angler", "qcom,msm8994"; > ^ > | > unwanted space > > Apart from that, I think it looks good and in line with how we've done > the other boards. > ... just for completeness sake. Here is what I plan on using for the 5X model = "LG Nexus 5X"; compatible = "lg,bullhead", "qcom,msm8992"; -jeremy > Regards, > Bjorn > -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 11/03, Andy Gross wrote: > On Thu, Nov 03, 2016 at 03:42:36PM -0700, Stephen Boyd wrote: > > On 11/03/2016 03:32 PM, Andy Gross wrote: > > >> On 2016-10-27 5:06 PM, Stephen Boyd wrote: > > >>> Please replace this with something more specific for the actual > > >>> board. Preferably with the board manufacturer vendor prefix and > > >>> some sort of string for the board. > > > Something like? > > > > > > "huawei,nexus-6P", "qcom,msm8994" > > > > Sure, except completely remove qcom,msm8994 from there. > > Hmmm ok. I just briefly looked at one of the sony boards and used that as an > example. So there shouldn't be any link to the underlying soc in the compat? Two people asked the same question. I don't see how having the SoC in the root compatible string does anything. Of course, having it there doesn't hurt anything either so I don't really care. And it may help if we want to test for SoC compatibility at some point. Of course, we have an SoC node, so I'd think we would put the SoC model number into that node's compatible string. In the ePAPR it looks like they have compatible = “fsl,mpc8572ds”, which is a board/platform. The "SoC" on there is an mpc8572e. In practice, there doesn't seem to be any consistency here and it feels like everything is vague on purpose with regards to compatible strings, so either way is fine for me.
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 439e40e..cc0f02d 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -2,6 +2,7 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8016-sbc.dtb dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb 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 always := $(dtb-y) diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts new file mode 100644 index 0000000..2fc68c4 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts @@ -0,0 +1,40 @@ +/* Copyright (c) 2015, Huawei Inc. All rights reserved. + * Copyright (c) 2016, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/dts-v1/; + +#include "msm8994-v2.0.dtsi" + +/ { + model = "HUAWEI MSM8994 ANGLER rev-1.01"; + compatible = "qcom,msm8994"; + /* required for bootloader to select correct board */ + qcom,board-id = <8026 0>; + + aliases { + serial0 = &blsp1_uart2; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + soc { + serial@f991e000 { + status = "okay"; + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&blsp1_uart2_default>; + pinctrl-1 = <&blsp1_uart2_sleep>; + }; + }; +}; diff --git a/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi b/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi new file mode 100644 index 0000000..0e4eea0 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/msm8994-pins.dtsi @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +&msmgpio { + blsp1_uart2_default: blsp1_uart2_default { + pinmux { + function = "blsp_uart2"; + pins = "gpio4", "gpio5"; + }; + pinconf { + pins = "gpio4", "gpio5"; + drive-strength = <16>; + bias-disable; + }; + }; + + blsp1_uart2_sleep: blsp1_uart2_sleep { + pinmux { + function = "gpio"; + pins = "gpio4", "gpio5"; + }; + pinconf { + pins = "gpio4", "gpio5"; + drive-strength = <2>; + bias-pull-down; + }; + }; +}; diff --git a/arch/arm64/boot/dts/qcom/msm8994-v2.0.dtsi b/arch/arm64/boot/dts/qcom/msm8994-v2.0.dtsi new file mode 100644 index 0000000..639781a --- /dev/null +++ b/arch/arm64/boot/dts/qcom/msm8994-v2.0.dtsi @@ -0,0 +1,32 @@ +/* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/* + * As a general rule, only version-specific property overrides should be placed + * inside this file. Device definitions should be placed inside the msm8994.dtsi + * file. + */ + +#include "msm8994.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. MSM 8994v2.0"; + compatible = "qcom,msm8994"; + /* msm-id is required by bootloader for proper dt blob selection */ + qcom,msm-id = <207 0x20000>; + +}; + +/* Clock driver overrides */ +&clock_gcc { + compatible = "qcom,gcc-8994v2"; +}; diff --git a/arch/arm64/boot/dts/qcom/msm8994.dtsi b/arch/arm64/boot/dts/qcom/msm8994.dtsi new file mode 100644 index 0000000..7efc159 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/msm8994.dtsi @@ -0,0 +1,218 @@ +/* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include <dt-bindings/clock/qcom,gcc-msm8994.h> + +/ { + model = "Qualcomm Technologies, Inc. MSM 8994"; + compatible = "qcom,msm8994"; + // msm-id and pmic-id are required by bootloader for + // proper selection of dt blob + qcom,msm-id = <207 0x0>; + qcom,pmic-id = <0x10009 0x1000A 0x0 0x0>; + interrupt-parent = <&intc>; + + #address-cells = <2>; + #size-cells = <2>; + + chosen { }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + cpu-map { + cluster0 { + core0 { + cpu = <&CPU0>; + }; + }; + }; + + CPU0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a53", "arm,armv8"; + reg = <0x0>; + next-level-cache = <&L2_0>; + L2_0: l2-cache { + compatible = "cache"; + cache-level = <2>; + }; + }; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <1 2 0xff08>, + <1 3 0xff08>, + <1 4 0xff08>, + <1 1 0xff08>; + }; + + soc: soc { + + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0xffffffff>; + compatible = "simple-bus"; + + intc: interrupt-controller@f9000000 { + compatible = "qcom,msm-qgic2"; + interrupt-controller; + #interrupt-cells = <3>; + reg = <0xf9000000 0x1000>, + <0xf9002000 0x1000>; + }; + + timer@f9020000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "arm,armv7-timer-mem"; + reg = <0xf9020000 0x1000>; + + frame@f9021000 { + frame-number = <0>; + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; + reg = <0xf9021000 0x1000>, + <0xf9022000 0x1000>; + }; + + frame@f9023000 { + frame-number = <1>; + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; + reg = <0xf9023000 0x1000>; + status = "disabled"; + }; + + frame@f9024000 { + frame-number = <2>; + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; + reg = <0xf9024000 0x1000>; + status = "disabled"; + }; + + frame@f9025000 { + frame-number = <3>; + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; + reg = <0xf9025000 0x1000>; + status = "disabled"; + }; + + frame@f9026000 { + frame-number = <4>; + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; + reg = <0xf9026000 0x1000>; + status = "disabled"; + }; + + frame@f9027000 { + frame-number = <5>; + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; + reg = <0xf9027000 0x1000>; + status = "disabled"; + }; + + frame@f9028000 { + frame-number = <6>; + interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; + reg = <0xf9028000 0x1000>; + status = "disabled"; + }; + }; + + restart@fc4ab000 { + compatible = "qcom,pshold"; + reg = <0xfc4ab000 0x4>; + }; + + msmgpio: pinctrl@fd510000 { + compatible = "qcom,msm8994-pinctrl"; + reg = <0xfd510000 0x4000>; + interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + }; + + blsp1_uart2: serial@f991e000 { + compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; + reg = <0xf991e000 0x1000>; + interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; + status = "disabled"; + clock-names = "core", "iface"; + clocks = <&clock_gcc GCC_BLSP1_UART2_APPS_CLK>, + <&clock_gcc GCC_BLSP1_AHB_CLK>; + }; + + tcsr_mutex_regs: syscon@fd484000 { + compatible = "syscon"; + reg = <0xfd484000 0x2000>; + }; + + tcsr_mutex: hwlock { + compatible = "qcom,tcsr-mutex"; + syscon = <&tcsr_mutex_regs 0 0x80>; + #hwlock-cells = <1>; + }; + + qcom,smem@6a00000 { + compatible = "qcom,smem"; + memory-region = <&smem_mem>; + hwlocks = <&tcsr_mutex 3>; + }; + + clock_gcc: qcom,gcc@fc400000 { + compatible = "qcom,gcc-8994"; + #clock-cells = <1>; + #reset-cells = <1>; + #power-domain-cells = <1>; + reg = <0xfc400000 0x2000>; + }; + }; + + memory { + device_type = "memory"; + // We expect the bootloader to fill in the reg + reg = <0 0 0 0>; + }; + + clocks { + xo_board: xo_board { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <19200000>; + }; + + sleep_clk: sleep_clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <32768>; + }; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + smem_mem: smem_region@0x6a00000 { + reg = <0x0 0x6a00000 0x0 0x200000>; + no-map; + }; + }; +}; + + +#include "msm8994-pins.dtsi"