From: Krzysztof Kozlowski <krzk@kernel.org>
To: Thomas Turner <tturner@lineageos.org>,
semen.protsenko@linaro.org, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, peter.griffin@linaro.org
Cc: alim.akhtar@samsung.com, linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, thomas_turner@talktalk.net,
alexey.klimov@linaro.org
Subject: Re: [PATCH 2/2] arm64: dts: exynos: Add initial support for Samsung Galaxy A21s (SM-A217F)
Date: Sun, 13 Sep 2026 12:21:28 +0200 [thread overview]
Message-ID: <882f2529-1d57-4911-b924-d05fd88a58bd@kernel.org> (raw)
In-Reply-To: <20260913101331.198835-3-tturner@lineageos.org>
On 13/09/2026 12:13, Thomas Turner wrote:
> Add initial support for the Samsung Galaxy A21s (a21s) phone. It was
> launched in 2020, and it's based on the Exynos 850 SoC. It has multiple
> RAM configurations: 3GB, 4GB and 6GB.
>
> Since our bootloader does not set up memory nodes beforehand, default to
> the 3GB variant. Custom bootloaders can be used to initialise other
> nodes per RAM configuration.
>
> The Exynos DPU clocks required by simple-framebuffer are not kept
> enabled during boot. Add the DECON, DMA, DPP, PPMU and SSMU DPU clocks
> to the simple-framebuffer node so simpledrm maintains references to
> them. Without these clocks, the framebuffer fails to remain operational
> further into boot.
>
> This device tree adds support for the following:
>
> - SimpleFB
> - 3GB RAM
> - Buttons
> - Ramoops
> - MMC
> - USB
> - Watchdog
>
> Signed-off-by: Thomas Turner <tturner@lineageos.org>
> ---
> arch/arm64/boot/dts/exynos/Makefile | 1 +
> .../arm64/boot/dts/exynos/exynos850-a217f.dts | 193 ++++++++++++++++++
> arch/arm64/boot/dts/exynos/exynos850.dtsi | 2 +-
> 3 files changed, 195 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm64/boot/dts/exynos/exynos850-a217f.dts
>
> diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile
> index 76cc23acb9b2..f197f8eb633b 100644
> --- a/arch/arm64/boot/dts/exynos/Makefile
> +++ b/arch/arm64/boot/dts/exynos/Makefile
> @@ -13,6 +13,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) += \
> exynos7870-j7xelte.dtb \
> exynos7870-on7xelte.dtb \
> exynos7885-jackpotlte.dtb \
> + exynos850-a217f.dtb \
> exynos850-e850-96.dtb \
> exynos8895-dreamlte.dtb \
> exynos9810-starlte.dtb \
> diff --git a/arch/arm64/boot/dts/exynos/exynos850-a217f.dts b/arch/arm64/boot/dts/exynos/exynos850-a217f.dts
> new file mode 100644
> index 000000000000..f1d11f91a353
> --- /dev/null
> +++ b/arch/arm64/boot/dts/exynos/exynos850-a217f.dts
> @@ -0,0 +1,193 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Samsung Galaxy A21s (a21s/SM-A217F) device tree source
> + *
> + * Copyright (c) 2026, Thomas Turner <tturner@lineageos.org>
> + */
> +
> +/dts-v1/;
> +#include "exynos850.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/input/input.h>
> +
> +/ {
> + model = "Samsung Galaxy A21s";
> + compatible = "samsung,a217f", "samsung,exynos850";
> +
> + chosen {
> + #address-cells = <2>;
> + #size-cells = <1>;
> + ranges;
> +
> + framebuffer0: framebuffer@fa000000 {
> + compatible = "simple-framebuffer";
> + reg = <0x0 0xfa000000 (720 * 1600 * 4)>;
> + width = <720>;
> + height = <1600>;
> + stride = <(720 * 4)>;
> + format = "a8r8g8b8";
> + clocks = <&cmu_dpu CLK_GOUT_DPU_DECON0_ACLK>,
> + <&cmu_dpu CLK_GOUT_DPU_DMA_ACLK>,
> + <&cmu_dpu CLK_GOUT_DPU_DPP_ACLK>,
> + <&cmu_dpu CLK_GOUT_DPU_PPMU_ACLK>,
> + <&cmu_dpu CLK_GOUT_DPU_PPMU_PCLK>,
> + <&cmu_dpu CLK_GOUT_DPU_SMMU_CLK>;
> + };
> + };
> +
> + memory@80000000 {
> + device_type = "memory";
> + reg = <0x0 0x80000000 0x3c900000>,
> + <0x0 0xc0000000 0x20000000>,
> + <0x0 0xe0d00000 0x1f300000>,
> + <0x8 0x80000000 0x20000000>,
> + <0x8 0xa0000000 0x20000000>;
> + };
> +
> + gpio-keys {
> + compatible = "gpio-keys";
> + pinctrl-names = "default";
> + pinctrl-0 = <&key_voldown &key_volup>;
> +
> + voldown-key {
> + label = "Volume Down";
> + linux,code = <KEY_VOLUMEDOWN>;
> + gpios = <&gpa1 0 GPIO_ACTIVE_LOW>;
> + };
> +
> + volup-key {
> + label = "Volume Up";
> + linux,code = <KEY_VOLUMEUP>;
> + gpios = <&gpa0 7 GPIO_ACTIVE_LOW>;
linux,code goes to the end.
You can run dt-check-style from
https://github.com/krzk/linux/tree/b4/dts-style-checker-blank-lines in
"--mode strict".
Best regards,
Krzysztof
prev parent reply other threads:[~2026-09-13 10:21 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-13 10:13 [PATCH 0/2] Add Samsung Galaxy A21s support Thomas Turner
2026-09-13 10:13 ` [PATCH 1/2] dt-bindings: arm: samsung: Add compatible for Samsung Galaxy A21s (SM-A217F) Thomas Turner
2026-09-13 10:18 ` Krzysztof Kozlowski
2026-09-13 10:13 ` [PATCH 2/2] arm64: dts: exynos: Add initial support " Thomas Turner
2026-09-13 10:21 ` Krzysztof Kozlowski [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=882f2529-1d57-4911-b924-d05fd88a58bd@kernel.org \
--to=krzk@kernel.org \
--cc=alexey.klimov@linaro.org \
--cc=alim.akhtar@samsung.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=peter.griffin@linaro.org \
--cc=robh@kernel.org \
--cc=semen.protsenko@linaro.org \
--cc=thomas_turner@talktalk.net \
--cc=tturner@lineageos.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox