@@ -0,0 +1,487 @@+// SPDX-License-Identifier: BSD-3-Clause+/*+*Copyright(c)2021,KonradDybcio<konrad.dybcio@somainline.org>+*/++#include<dt-bindings/gpio/gpio.h>+#include<dt-bindings/interrupt-controller/arm-gic.h>+#include<dt-bindings/mailbox/qcom-ipcc.h>+#include<dt-bindings/soc/qcom,rpmh-rsc.h>++/{+interrupt-parent=<&intc>;+#address-cells=<2>;+#size-cells=<2>;++clocks{+xo_board:xo-board{+compatible="fixed-clock";+#clock-cells=<0>;+clock-frequency=<76800000>;+clock-output-names="xo_board";+};++sleep_clk:sleep-clk{+compatible="fixed-clock";+clock-frequency=<32764>;+#clock-cells=<0>;+};+};++cpus{+#address-cells=<2>;+#size-cells=<0>;++CPU0:cpu@0{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x0>;+enable-method="psci";+capacity-dmips-mhz=<1024>;+dynamic-power-coefficient=<100>;+next-level-cache=<&L2_0>;+#cooling-cells=<2>;+L2_0:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+L3_0:l3-cache{+compatible="cache";+};+};+};++CPU1:cpu@100{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x100>;+enable-method="psci";+capacity-dmips-mhz=<1024>;+dynamic-power-coefficient=<100>;+next-level-cache=<&L2_100>;+#cooling-cells=<2>;+L2_100:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};+};++CPU2:cpu@200{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x200>;+enable-method="psci";+capacity-dmips-mhz=<1024>;+dynamic-power-coefficient=<100>;+next-level-cache=<&L2_200>;+#cooling-cells=<2>;+L2_200:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};+};++CPU3:cpu@300{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x300>;+enable-method="psci";+capacity-dmips-mhz=<1024>;+dynamic-power-coefficient=<100>;+next-level-cache=<&L2_300>;+#cooling-cells=<2>;+L2_300:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};+};++CPU4:cpu@400{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x400>;+enable-method="psci";+capacity-dmips-mhz=<1024>;+dynamic-power-coefficient=<100>;+next-level-cache=<&L2_400>;+#cooling-cells=<2>;+L2_400:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};+};++CPU5:cpu@500{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x500>;+enable-method="psci";+capacity-dmips-mhz=<1024>;+dynamic-power-coefficient=<100>;+next-level-cache=<&L2_500>;+#cooling-cells=<2>;+L2_500:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};++};++CPU6:cpu@600{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x600>;+enable-method="psci";+capacity-dmips-mhz=<1894>;+dynamic-power-coefficient=<703>;+next-level-cache=<&L2_600>;+#cooling-cells=<2>;+L2_600:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};+};++CPU7:cpu@700{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x700>;+enable-method="psci";+capacity-dmips-mhz=<1894>;+dynamic-power-coefficient=<703>;+next-level-cache=<&L2_700>;+#cooling-cells=<2>;+L2_700:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};+};++cpu-map{+cluster0{+core0{+cpu=<&CPU0>;+};++core1{+cpu=<&CPU1>;+};++core2{+cpu=<&CPU2>;+};++core3{+cpu=<&CPU3>;+};++core4{+cpu=<&CPU4>;+};++core5{+cpu=<&CPU5>;+};+};++cluster1{+core0{+cpu=<&CPU6>;+};++core1{+cpu=<&CPU7>;+};+};+};+};++firmware{+scm:scm{+compatible="qcom,scm-sm6350","qcom,scm";+#reset-cells=<1>;+};+};++memory@80000000{+device_type="memory";+/* We expect the bootloader to fill in the size */+reg=<0x00x800000000x00x0>;+};++pmu{+compatible="arm,armv8-pmuv3";+interrupts=<GIC_PPI5IRQ_TYPE_LEVEL_LOW>;+};++psci{+compatible="arm,psci-1.0";+method="smc";+};++reserved_memory:reserved-memory{+#address-cells=<2>;+#size-cells=<2>;+ranges;++hyp_mem:memory@80000000{+reg=<00x8000000000x600000>;+no-map;+};++xbl_aop_mem:memory@80700000{+reg=<00x8070000000x160000>;+no-map;+};++cmd_db:memory@80860000{+compatible="qcom,cmd-db";+reg=<00x8086000000x20000>;+no-map;+};++sec_apps_mem:memory@808ff000{+reg=<00x808ff00000x1000>;+no-map;+};++smem_mem:memory@80900000{+reg=<00x8090000000x200000>;+no-map;+};++cdsp_sec_mem:memory@80b00000{+reg=<00x80b0000000x1e00000>;+no-map;+};++pil_camera_mem:memory@86000000{+reg=<00x8600000000x500000>;+no-map;+};++pil_npu_mem:memory@86500000{+reg=<00x8650000000x500000>;+no-map;+};++pil_video_mem:memory@86a00000{+reg=<00x86a0000000x500000>;+no-map;+};++pil_cdsp_mem:memory@86f00000{+reg=<00x86f0000000x1e00000>;+no-map;+};++pil_adsp_mem:memory@88d00000{+reg=<00x88d0000000x2800000>;+no-map;+};++wlan_fw_mem:memory@8b500000{+reg=<00x8b50000000x200000>;+no-map;+};++pil_ipa_fw_mem:memory@8b700000{+reg=<00x8b70000000x10000>;+no-map;+};++pil_ipa_gsi_mem:memory@8b710000{+reg=<00x8b71000000x5400>;+no-map;+};++pil_gpu_mem:memory@8b715400{+reg=<00x8b71540000x2000>;+no-map;+};++pil_modem_mem:memory@8b800000{+reg=<00x8b80000000xf800000>;+no-map;+};++cont_splash_memory:memory@a0000000{+reg=<00xa000000000x2300000>;+no-map;+};++dfps_data_memory:memory@a2300000{+reg=<00xa230000000x100000>;+no-map;+};++removed_region:memory@c0000000{+reg=<00xc000000000x3900000>;+no-map;+};++debug_region:memory@ffb00000{+reg=<00xffb0000000xc0000>;+no-map;+};++last_log_region:memory@ffbc0000{+reg=<00xffbc000000x40000>;+no-map;+};++ramoops:ramoops@ffc00000{+compatible="removed-dma-pool","ramoops";+reg=<00xffc0000000x00100000>;+record-size=<0x1000>;+console-size=<0x40000>;+ftrace-size=<0x0>;+msg-size=<0x200000x20000>;+cc-size=<0x0>;+no-map;+};++cmdline_region:memory@ffd00000{+reg=<00xffd0000000x1000>;+no-map;+};+};++smem{+compatible="qcom,smem";+memory-region=<&smem_mem>;+hwlocks=<&tcsr_mutex3>;+};++soc:soc@0{+#address-cells=<2>;+#size-cells=<2>;+ranges=<00000x100>;+dma-ranges=<00000x100>;+compatible="simple-bus";++ipcc:mailbox@408000{+compatible="qcom,sm6350-ipcc","qcom,ipcc";+reg=<00x0040800000x1000>;+interrupts=<GIC_SPI228IRQ_TYPE_LEVEL_HIGH>;+interrupt-controller;+#interrupt-cells=<3>;+#mbox-cells=<2>;+};++tcsr_mutex:hwlock@1f40000{+compatible="qcom,tcsr-mutex";+reg=<0x00x01f400000x00x40000>;+#hwlock-cells=<1>;+};++pdc:interrupt-controller@b220000{+compatible="qcom,sm6350-pdc","qcom,pdc";+reg=<00x0b22000000x30000>,<00x17c000f000x64>;+qcom,pdc-ranges=<048094>,<9460931>,+<125631>,<12665512>,<13813915>;+#interrupt-cells=<2>;+interrupt-parent=<&intc>;+interrupt-controller;+};++intc:interrupt-controller@17a00000{+compatible="arm,gic-v3";+#interrupt-cells=<3>;+interrupt-controller;+reg=<0x00x17a000000x00x10000>,/* GICD */+<0x00x17a600000x00x100000>;/* GICR * 8 */+interrupts=<GIC_PPI8IRQ_TYPE_LEVEL_HIGH>;+};++watchdog@17c10000{+compatible="qcom,apss-wdt-sm6350","qcom,kpss-wdt";+reg=<00x17c1000000x1000>;+clocks=<&sleep_clk>;+interrupts=<GIC_SPI0IRQ_TYPE_LEVEL_HIGH>;+};++timer@17c20000{+compatible="arm,armv7-timer-mem";+reg=<0x00x17c200000x00x1000>;+clock-frequency=<19200000>;+#address-cells=<2>;+#size-cells=<2>;+ranges;++frame@17c21000{+frame-number=<0>;+interrupts=<GIC_SPI8IRQ_TYPE_LEVEL_HIGH>,+<GIC_SPI6IRQ_TYPE_LEVEL_HIGH>;+reg=<0x00x17c210000x00x1000>,+<0x00x17c220000x00x1000>;+};++frame@17c23000{+frame-number=<1>;+interrupts=<GIC_SPI9IRQ_TYPE_LEVEL_HIGH>;+reg=<0x00x17c230000x00x1000>;+status="disabled";+};++frame@17c25000{+frame-number=<2>;+interrupts=<GIC_SPI10IRQ_TYPE_LEVEL_HIGH>;+reg=<0x00x17c250000x00x1000>;+status="disabled";+};++frame@17c27000{+frame-number=<3>;+interrupts=<GIC_SPI11IRQ_TYPE_LEVEL_HIGH>;+reg=<0x00x17c270000x00x1000>;+status="disabled";+};++frame@17c29000{+frame-number=<4>;+interrupts=<GIC_SPI12IRQ_TYPE_LEVEL_HIGH>;+reg=<0x00x17c290000x00x1000>;+status="disabled";+};++frame@17c2b000{+frame-number=<5>;+interrupts=<GIC_SPI13IRQ_TYPE_LEVEL_HIGH>;+reg=<0x00x17c2b0000x00x1000>;+status="disabled";+};++frame@17c2d000{+frame-number=<6>;+interrupts=<GIC_SPI14IRQ_TYPE_LEVEL_HIGH>;+reg=<0x00x17c2d0000x00x1000>;+status="disabled";+};+};++apps_rsc:rsc@18200000{+compatible="qcom,rpmh-rsc";+label="apps_rsc";+reg=<0x00x182000000x00x10000>,+<0x00x182100000x00x10000>,+<0x00x182200000x00x10000>;+reg-names="drv-0","drv-1","drv-2";+interrupts=<GIC_SPI3IRQ_TYPE_LEVEL_HIGH>,+<GIC_SPI4IRQ_TYPE_LEVEL_HIGH>,+<GIC_SPI5IRQ_TYPE_LEVEL_HIGH>;+qcom,tcs-offset=<0xd00>;+qcom,drv-id=<2>;+qcom,tcs-config=<ACTIVE_TCS2>,<SLEEP_TCS3>,+<WAKE_TCS3>,<CONTROL_TCS1>;+};+};++timer{+compatible="arm,armv8-timer";+clock-frequency=<19200000>;+interrupts=<GIC_PPI1(GIC_CPU_MASK_SIMPLE(8)|IRQ_TYPE_LEVEL_LOW)>,+<GIC_PPI2(GIC_CPU_MASK_SIMPLE(8)|IRQ_TYPE_LEVEL_LOW)>,+<GIC_PPI3(GIC_CPU_MASK_SIMPLE(8)|IRQ_TYPE_LEVEL_LOW)>,+<GIC_PPI0(GIC_CPU_MASK_SIMPLE(8)|IRQ_TYPE_LEVEL_LOW)>;+};+};
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:18:34
Add a node for LLCC with SM6350-specific compatible.
Acked-by: AngeloGioacchino Del Regno <redacted>
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:18:37
Add RPMHCC node to allow for referencing RPMH-controlled clocks in other
nodes.
Reviewed-by: AngeloGioacchino Del Regno <redacted>
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:18:43
Add and configure GCC node to allow for referencing GCC-controlled clocks
in other nodes.
Reviewed-by: AngeloGioacchino Del Regno <redacted>
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:18:44
Add TLMM pinctrl node to enable referencing the SoC pins in other nodes.
Reviewed-by: AngeloGioacchino Del Regno <redacted>
Signed-off-by: Konrad Dybcio <redacted>
---
Changes since v1:
- Fix the gpio ranges from 156 to 157
arch/arm64/boot/dts/qcom/sm6350.dtsi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:18:46
Add nodes required for USB1 to function. SM6350 (thankfully) resuses SDM845 and
SC7180 IP, so no additional code porting is required.
Acked-by: AngeloGioacchino Del Regno <redacted>
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 101 +++++++++++++++++++++++++++
1 file changed, 101 insertions(+)
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:19:10
Add RPMHPD node, its OPP table and BCM voter to prepare for performance level
voting.
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 54 ++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:19:19
Add SDHCI1/2 nodes for eMMC and uSD card respectively.
Do note that most SM6350 devices seem to come with UFS.
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 81 ++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:19:22
Add a node for the PRNG to enable hw-accelerated pseudo-random number
generation.
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:19:23
Add a node for the APPS SMMU to allow for managing memory access to peripherals
such as the USB controller.
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 88 ++++++++++++++++++++++++++++
1 file changed, 88 insertions(+)
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:19:25
Add missing include to make it compile.
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/pm6150l.dtsi | 1 +
1 file changed, 1 insertion(+)
@@ -1,6 +1,7 @@// SPDX-License-Identifier: BSD-3-Clause// Copyright (c) 2019, The Linux Foundation. All rights reserved.+#include<dt-bindings/iio/qcom,spmi-vadc.h>#include<dt-bindings/interrupt-controller/irq.h>#include<dt-bindings/spmi/spmi.h>
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:19:29
Add initial SM6350 SoC and Sony Xperia 10 III (PDX213, Lena platform) device
trees. There is no sign of another Lena devices on the horizon, so a common
DTSI is not created for now. 10 III features a Full HD OLED display and 5G
support, among other nice things like USB3.
The bootloader is VERY unpleasant, to get a bootable setup you have to run:
mkbootimg --kernel arch/arm64/boot/Image.gz --ramdisk [some initrd] \
--dtb arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dtb \
--cmdline "[some cmdline]" --base 0 --kernel_offset 0x8000 \
--ramdisk_offset 0x1000000 --dtb_offset 0x1f00000 --os_version 11 \
--os_patch_level "2021-08" --tags_offset 0x100 --pagesize 4096 \
--header_version 2 -o mainline.img
adb reboot bootloader
// You have to either pull vbmeta{"","_system"} from
// /dev/block/bootdevice/by-name/ or build one as a part of AOSP build process
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta_system \
vbmeta_system.img
fastboot flash boot mainline.img
fastboot erase dtbo // This will take approx 70s...
fastboot reboot
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../qcom/sm6350-sony-xperia-lena-pdx213.dts | 57 +++++++++++++++++++
2 files changed, 58 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dts
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:19:34
This is required for us to be able to access the associated registers, which
are (on at least some devices) gated by default.
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 1 +
1 file changed, 1 insertion(+)
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:19:40
Add a node for SPMI to allow for communication with on-board PMICs.
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:19:42
Add nodes required for TSENS block using the common qcom,tsens-v2 binding.
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
From: Konrad Dybcio <hidden> Date: 2021-08-28 13:19:44
Add a node for AOSS_QMP in preparation for remote processor enablement.
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)
From: Maulik Shah <hidden> Date: 2021-08-28 15:48:00
Hi,
On 8/28/2021 6:48 PM, Konrad Dybcio wrote:
quoted hunk
Add TLMM pinctrl node to enable referencing the SoC pins in other nodes.
Reviewed-by: AngeloGioacchino Del Regno <redacted>
Signed-off-by: Konrad Dybcio <redacted>
---
Changes since v1:
- Fix the gpio ranges from 156 to 157
arch/arm64/boot/dts/qcom/sm6350.dtsi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
you will not require other interrupts (209 to 216) for dual edge to work since you have below set in pinctrl-sm6350.c
.wakeirq_dual_edge_errata = true,
Thanks,
Maulik
From: Konrad Dybcio <hidden> Date: 2021-08-28 15:49:35
On 28.08.2021 17:47, Maulik Shah wrote:
Hi,
On 8/28/2021 6:48 PM, Konrad Dybcio wrote:
quoted
Add TLMM pinctrl node to enable referencing the SoC pins in other nodes.
Reviewed-by: AngeloGioacchino Del Regno <redacted>
Signed-off-by: Konrad Dybcio <redacted>
---
Changes since v1:
- Fix the gpio ranges from 156 to 157
arch/arm64/boot/dts/qcom/sm6350.dtsi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
you will not require other interrupts (209 to 216) for dual edge to work since you have below set in pinctrl-sm6350.c
.wakeirq_dual_edge_errata = true,
Thanks,
Maulik
Right, I updated the binding but not the dt... Thanks for spotting that.
Konrad
@@ -0,0 +1,487 @@+// SPDX-License-Identifier: BSD-3-Clause+/*+*Copyright(c)2021,KonradDybcio<konrad.dybcio@somainline.org>+*/++#include<dt-bindings/gpio/gpio.h>+#include<dt-bindings/interrupt-controller/arm-gic.h>+#include<dt-bindings/mailbox/qcom-ipcc.h>+#include<dt-bindings/soc/qcom,rpmh-rsc.h>++/{+interrupt-parent=<&intc>;+#address-cells=<2>;+#size-cells=<2>;++clocks{+xo_board:xo-board{+compatible="fixed-clock";+#clock-cells=<0>;+clock-frequency=<76800000>;+clock-output-names="xo_board";+};++sleep_clk:sleep-clk{+compatible="fixed-clock";+clock-frequency=<32764>;+#clock-cells=<0>;+};+};++cpus{+#address-cells=<2>;+#size-cells=<0>;++CPU0:cpu@0{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x0>;+enable-method="psci";+capacity-dmips-mhz=<1024>;+dynamic-power-coefficient=<100>;+next-level-cache=<&L2_0>;+#cooling-cells=<2>;+L2_0:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+L3_0:l3-cache{+compatible="cache";+};+};+};++CPU1:cpu@100{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x100>;+enable-method="psci";+capacity-dmips-mhz=<1024>;+dynamic-power-coefficient=<100>;+next-level-cache=<&L2_100>;+#cooling-cells=<2>;+L2_100:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};+};++CPU2:cpu@200{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x200>;+enable-method="psci";+capacity-dmips-mhz=<1024>;+dynamic-power-coefficient=<100>;+next-level-cache=<&L2_200>;+#cooling-cells=<2>;+L2_200:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};+};++CPU3:cpu@300{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x300>;+enable-method="psci";+capacity-dmips-mhz=<1024>;+dynamic-power-coefficient=<100>;+next-level-cache=<&L2_300>;+#cooling-cells=<2>;+L2_300:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};+};++CPU4:cpu@400{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x400>;+enable-method="psci";+capacity-dmips-mhz=<1024>;+dynamic-power-coefficient=<100>;+next-level-cache=<&L2_400>;+#cooling-cells=<2>;+L2_400:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};+};++CPU5:cpu@500{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x500>;+enable-method="psci";+capacity-dmips-mhz=<1024>;+dynamic-power-coefficient=<100>;+next-level-cache=<&L2_500>;+#cooling-cells=<2>;+L2_500:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};++};++CPU6:cpu@600{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x600>;+enable-method="psci";+capacity-dmips-mhz=<1894>;+dynamic-power-coefficient=<703>;+next-level-cache=<&L2_600>;+#cooling-cells=<2>;+L2_600:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};+};++CPU7:cpu@700{+device_type="cpu";+compatible="qcom,kryo560";+reg=<0x00x700>;+enable-method="psci";+capacity-dmips-mhz=<1894>;+dynamic-power-coefficient=<703>;+next-level-cache=<&L2_700>;+#cooling-cells=<2>;+L2_700:l2-cache{+compatible="cache";+next-level-cache=<&L3_0>;+};+};++cpu-map{+cluster0{+core0{+cpu=<&CPU0>;+};++core1{+cpu=<&CPU1>;+};++core2{+cpu=<&CPU2>;+};++core3{+cpu=<&CPU3>;+};++core4{+cpu=<&CPU4>;+};++core5{+cpu=<&CPU5>;+};+};++cluster1{+core0{+cpu=<&CPU6>;+};++core1{+cpu=<&CPU7>;+};+};+};+};++firmware{+scm:scm{+compatible="qcom,scm-sm6350","qcom,scm";+#reset-cells=<1>;+};+};++memory@80000000{+device_type="memory";+/* We expect the bootloader to fill in the size */+reg=<0x00x800000000x00x0>;+};++pmu{+compatible="arm,armv8-pmuv3";+interrupts=<GIC_PPI5IRQ_TYPE_LEVEL_LOW>;+};++psci{+compatible="arm,psci-1.0";+method="smc";+};++reserved_memory:reserved-memory{+#address-cells=<2>;+#size-cells=<2>;+ranges;++hyp_mem:memory@80000000{+reg=<00x8000000000x600000>;+no-map;+};++xbl_aop_mem:memory@80700000{+reg=<00x8070000000x160000>;+no-map;+};++cmd_db:memory@80860000{+compatible="qcom,cmd-db";+reg=<00x8086000000x20000>;+no-map;+};++sec_apps_mem:memory@808ff000{+reg=<00x808ff00000x1000>;+no-map;+};++smem_mem:memory@80900000{+reg=<00x8090000000x200000>;+no-map;+};++cdsp_sec_mem:memory@80b00000{+reg=<00x80b0000000x1e00000>;+no-map;+};++pil_camera_mem:memory@86000000{+reg=<00x8600000000x500000>;+no-map;+};++pil_npu_mem:memory@86500000{+reg=<00x8650000000x500000>;+no-map;+};++pil_video_mem:memory@86a00000{+reg=<00x86a0000000x500000>;+no-map;+};++pil_cdsp_mem:memory@86f00000{+reg=<00x86f0000000x1e00000>;+no-map;+};++pil_adsp_mem:memory@88d00000{+reg=<00x88d0000000x2800000>;+no-map;+};++wlan_fw_mem:memory@8b500000{+reg=<00x8b50000000x200000>;+no-map;+};++pil_ipa_fw_mem:memory@8b700000{+reg=<00x8b70000000x10000>;+no-map;+};++pil_ipa_gsi_mem:memory@8b710000{+reg=<00x8b71000000x5400>;+no-map;+};++pil_gpu_mem:memory@8b715400{+reg=<00x8b71540000x2000>;+no-map;+};++pil_modem_mem:memory@8b800000{+reg=<00x8b80000000xf800000>;+no-map;+};++cont_splash_memory:memory@a0000000{+reg=<00xa000000000x2300000>;+no-map;+};++dfps_data_memory:memory@a2300000{+reg=<00xa230000000x100000>;+no-map;+};++removed_region:memory@c0000000{+reg=<00xc000000000x3900000>;+no-map;+};++debug_region:memory@ffb00000{+reg=<00xffb0000000xc0000>;+no-map;+};++last_log_region:memory@ffbc0000{+reg=<00xffbc000000x40000>;+no-map;+};++ramoops:ramoops@ffc00000{+compatible="removed-dma-pool","ramoops";+reg=<00xffc0000000x00100000>;+record-size=<0x1000>;+console-size=<0x40000>;+ftrace-size=<0x0>;+msg-size=<0x200000x20000>;+cc-size=<0x0>;+no-map;+};++cmdline_region:memory@ffd00000{+reg=<00xffd0000000x1000>;+no-map;+};+};++smem{+compatible="qcom,smem";+memory-region=<&smem_mem>;+hwlocks=<&tcsr_mutex3>;+};++soc:soc@0{+#address-cells=<2>;+#size-cells=<2>;+ranges=<00000x100>;+dma-ranges=<00000x100>;+compatible="simple-bus";++ipcc:mailbox@408000{+compatible="qcom,sm6350-ipcc","qcom,ipcc";+reg=<00x0040800000x1000>;+interrupts=<GIC_SPI228IRQ_TYPE_LEVEL_HIGH>;+interrupt-controller;+#interrupt-cells=<3>;+#mbox-cells=<2>;+};++tcsr_mutex:hwlock@1f40000{+compatible="qcom,tcsr-mutex";+reg=<0x00x01f400000x00x40000>;+#hwlock-cells=<1>;+};++pdc:interrupt-controller@b220000{+compatible="qcom,sm6350-pdc","qcom,pdc";+reg=<00x0b22000000x30000>,<00x17c000f000x64>;
The second reg 0x17c000f0 is neither documented nor used in PDC irq chip driver. can you please remove it?
Thanks,
Maulik
The second reg 0x17c000f0 is neither documented nor used in PDC irq chip driver. can you please remove it?
Thanks,
Maulik
Wouldn't it make more sense to keep it (like in other PDC-enabled SoCs' device trees) so that there's no
need to add it back when the driver gains support for spi_configure_type (I believe that's what it's used for)?
Konrad
From: Maulik Shah <hidden> Date: 2021-08-28 19:17:19
Hi,
On 8/28/2021 6:48 PM, Konrad Dybcio wrote:
quoted hunk
Add a node for AOSS_QMP in preparation for remote processor enablement.
Signed-off-by: Konrad Dybcio <redacted>
---
arch/arm64/boot/dts/qcom/sm6350.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)
The second reg 0x17c000f0 is neither documented nor used in PDC irq chip driver. can you please remove it?
Thanks,
Maulik
Wouldn't it make more sense to keep it (like in other PDC-enabled SoCs' device trees) so that there's no
need to add it back when the driver gains support for spi_configure_type (I believe that's what it's used for)?
The second reg in some of the PDC enabled SoCs' went in since it may have slipped throgh code reviews when using downstream
patch as is on upstream.
Also the bindings document for PDC is still in txt, so yaml check could not catch the extra register which is not documented.
An attempt to add support for spi_configure_type [1] & [2] had suggestion either to access second reg via mailbox or
add another level of irqchip hierarchy between PDC to GIC to configure SPI type. Unless both [1] and [2] patch can go in as
PDC irqchip driver won't gain support to use it. (using mailbox approch will have mailbox driver to access this register and PDC node may mention which mailbox to use).
[1] https://patchwork.kernel.org/project/linux-arm-msm/patch/1568411962-1022-7-git-send-email-ilina@codeaurora.org/
[2] https://patchwork.kernel.org/project/linux-arm-msm/patch/1568411962-1022-8-git-send-email-ilina@codeaurora.org/
Thanks,
Maulik
Konrad
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
On Sat 28 Aug 08:18 CDT 2021, Konrad Dybcio wrote:
This is required for us to be able to access the associated registers, which
are (on at least some devices) gated by default.
Please either merge this with the patch that introduces the SMMU (which
I presume causes this "issue") or introduce the SMMU earlier in the
series.
Regards,
Bjorn
On Sat 28 Aug 08:18 CDT 2021, Konrad Dybcio wrote:
Add initial SM6350 SoC and Sony Xperia 10 III (PDX213, Lena platform) device
trees. There is no sign of another Lena devices on the horizon, so a common
DTSI is not created for now. 10 III features a Full HD OLED display and 5G
support, among other nice things like USB3.
Thanks for the series, looks quite nice, so please respin with the few
small modifications noted in the reviews.
The bootloader is VERY unpleasant, to get a bootable setup you have to run:
mkbootimg --kernel arch/arm64/boot/Image.gz --ramdisk [some initrd] \
--dtb arch/arm64/boot/dts/qcom/sm6350-sony-xperia-lena-pdx213.dtb \
--cmdline "[some cmdline]" --base 0 --kernel_offset 0x8000 \
--ramdisk_offset 0x1000000 --dtb_offset 0x1f00000 --os_version 11 \
--os_patch_level "2021-08" --tags_offset 0x100 --pagesize 4096 \
--header_version 2 -o mainline.img
adb reboot bootloader
// You have to either pull vbmeta{"","_system"} from
// /dev/block/bootdevice/by-name/ or build one as a part of AOSP build process
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta_system \
vbmeta_system.img
fastboot flash boot mainline.img
fastboot erase dtbo // This will take approx 70s...
I always assumed that erase was broken when it took more than 5 seconds
to clear the dtbo partition(s). So I always just flash a few kB of
/dev/zero.
Regards,
Bjorn