Re: [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree
David Heidelberg <[email protected]> Sat, 4 Jul 2026 16:05:24 +0200
| Newsgroups | org.kernel.vger.phone-devel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 03/07/2026 09:59, Erikas Bitovtas wrote: > Samsung Galaxy A52/A72 are devices released on atoll (SM7125) platform > in 2021. Add initial device tree for SM7125 Samsung platform with > support for: > - Framebuffer > - GPIO keys > - Hall sensor > - Vibrator > - Regulators > - Reset input > - Real-time clock > - SD card > - UFS > - USB > > Tested-by: Stefan Hansson <[email protected]> > Signed-off-by: Erikas Bitovtas <[email protected]> > --- > arch/arm64/boot/dts/qcom/Makefile | 2 + > arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts | 31 ++ > arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts | 31 ++ > .../arm64/boot/dts/qcom/sm7125-samsung-common.dtsi | 518 +++++++++++++++++++++ > 4 files changed, 582 insertions(+) > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 6f33c4e2f09c..d90311806e21 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -344,6 +344,8 @@ dtb-$(CONFIG_ARCH_QCOM) += sm6125-xiaomi-laurel-sprout.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm6125-xiaomi-willow.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm6350-sony-xperia-lena-pdx213.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm6375-sony-xperia-murray-pdx225.dtb > +dtb-$(CONFIG_ARCH_QCOM) += sm7125-samsung-a52q.dtb > +dtb-$(CONFIG_ARCH_QCOM) += sm7125-samsung-a72q.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm7125-xiaomi-curtana.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm7125-xiaomi-joyeuse.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm7225-fairphone-fp4.dtb > diff --git a/arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts b/arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts > new file mode 100644 > index 000000000000..e4d005054b00 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts > @@ -0,0 +1,31 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * SM7125 Samsung Galaxy A52 (a52q) specific device tree source > + * > + * Copyright (c) 2026, The Linux Foundation. All rights reserved. > + */ > + > +/dts-v1/; > + > +#include "sm7125-samsung-common.dtsi" > + > +/ { > + model = "Samsung Galaxy A52"; > + compatible = "samsung,a52q", "qcom,sm7125"; > + qcom,board-id = <0x22 0x6>; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + rmtfs_mem: memory@f4f01000 { > + compatible = "qcom,rmtfs-mem"; > + reg = <0 0xf4f01000 0 0x200000>; Hi Erikas! the start on the 0x1000 offset sounds suspicious, doesn't it need 0xf4f0 0000 and size 0x202000 with qcom,use-guard-pages ? You can also share most of the properties and define it in the -common.dtsi > + no-map; > + > + qcom,client-id = <1>; > + qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>; > + }; > + }; > +}; > diff --git a/arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts b/arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts > new file mode 100644 > index 000000000000..df8d637ef16f > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts > @@ -0,0 +1,31 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * SM7125 Samsung Galaxy A72 (a72q) specific device tree source > + * > + * Copyright (c) 2026, The Linux Foundation. All rights reserved. > + */ > + > +/dts-v1/; > + > +#include "sm7125-samsung-common.dtsi" > + > +/ { > + model = "Samsung Galaxy A72"; > + compatible = "samsung,a72q", "qcom,sm7125"; > + qcom,board-id = <0x22 0x5>; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + rmtfs_mem: memory@f3701000 { > + compatible = "qcom,rmtfs-mem"; > + reg = <0 0xf3701000 0 0x200000>; same rmtfs comment as above > + no-map; > + > + qcom,client-id = <1>; > + qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>; > + }; > + }; > +}; > diff --git a/arch/arm64/boot/dts/qcom/sm7125-samsung-common.dtsi b/arch/arm64/boot/dts/qcom/sm7125-samsung-common.dtsi > new file mode 100644 > index 000000000000..836dc9b8b1a5 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sm7125-samsung-common.dtsi > @@ -0,0 +1,518 @@ > +// SPDX-License-Identifier: GPL-2.0 > +/* > + * SM7125 Samsung common device tree source > + * > + * Copyright (c) 2026, The Linux Foundation. All rights reserved. > + */ > + > +#include <dt-bindings/arm/qcom,ids.h> > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> > +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> > +#include "sm7125.dtsi" > +#include "pm6150.dtsi" > +#include "pm6150l.dtsi" > + > +/delete-node/ &rmtfs_mem; > +/delete-node/ &ipa_fw_mem; > +/delete-node/ &tz_mem; > + > +/ { > + chassis-type = "handset"; > + > + qcom,msm-id = <QCOM_ID_SM7125 0>; > + > + chosen { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + framebuffer@9c000000 { > + compatible = "simple-framebuffer"; > + reg = <0x0 0x9c000000 0x0 (1080 * 2400 * 4)>; use memory-region = <&cont_splash_mem>; instead of reg David > + width = <1080>; > + height = <2400>; > + stride = <(1080 * 4)>; > + format = "a8r8g8b8"; > + clocks = <&gcc GCC_DISP_HF_AXI_CLK>; > + }; > + }; > + > + gpio-keys { > + compatible = "gpio-keys"; > + > + pinctrl-names = "default"; > + pinctrl-0 = <&key_vol_up_default>, <&hall_sensor_default>; > + > + vol-up { > + label = "Volume up"; > + gpios = <&pm6150l_gpios 8 GPIO_ACTIVE_LOW>; > + linux,code = <KEY_VOLUMEUP>; > + debounce-interval = <15>; > + }; > + > + event-hall-sensor { > + label = "Hall Effect Sensor"; > + gpios = <&pm6150_gpios 10 GPIO_ACTIVE_LOW>; > + linux,input-type = <EV_SW>; > + linux,code = <SW_LID>; > + debounce-interval = <15>; > + }; > + }; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <2>; > + ranges; > + > + tz_mem: memory@80b00000 { > + reg = <0x0 0x80b00000 0x0 0x7100000>; > + no-map; > + }; > + > + mpss_mem: memory@8b000000 { > + reg = <0x0 0x8b000000 0x0 0x8900000>; > + no-map; > + }; > + > + wlan_mem: memory@93900000 { > + reg = <0x0 0x93900000 0x0 0x200000>; > + no-map; > + }; > + > + ipa_fw_mem: memory@93b00000 { > + reg = <0x0 0x93b00000 0x0 0x10000>; > + no-map; > + }; > + > + ipa_gsi_region: memory@93b10000 { > + reg = <0x0 0x93b10000 0x0 0x5000>; > + no-map; > + }; > + > + gpu_mem: memory@93b15000 { > + reg = <0x0 0x93b15000 0x0 0x2000>; > + no-map; > + }; > + > + adsp_mem: memory@93c00000 { > + reg = <0x0 0x93c00000 0x0 0x3e00000>; > + no-map; > + }; > + > + camera_region: memory@97a00000 { > + reg = <0x0 0x97a00000 0x0 0x500000>; > + no-map; > + }; > + > + pil_npu_region: memory@97f00000 { > + reg = <0x0 0x97f00000 0x0 0x500000>; > + no-map; > + }; > + > + venus_mem: memory@98400000 { > + reg = <0x0 0x98400000 0x0 0x500000>; > + no-map; > + }; > + > + cdsp_mem: memory@98900000 { > + reg = <0x0 0x98900000 0x0 0x1e00000>; > + no-map; > + }; > + > + cont_splash_mem: memory@9c000000 { > + reg = <0x0 0x9c000000 0x0 (1080 * 2400 * 4)>; > + no-map; > + }; > + [...]