]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
arm64: dts: exynos: Add initial support for Samsung Galaxy Note20 5G (c1s)
authorIgor Belwon <igor.belwon@mentallysanemainliners.org>
Wed, 16 Oct 2024 15:47:47 +0000 (17:47 +0200)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 17 Oct 2024 08:01:31 +0000 (10:01 +0200)
Add initial support for the Samsung Galaxy Note20 5G (c1s/SM-N981B)
phone. It was launched in 2020, and it's based on the Exynos 990 SoC. It
has only one configuration with 8GB of RAM, albeit storage options may
differ.

This device tree adds support for the following:

- SimpleFB
- 8GB RAM
- Buttons

Signed-off-by: Igor Belwon <igor.belwon@mentallysanemainliners.org>
Link: https://lore.kernel.org/r/20241016154747.64343-7-igor.belwon@mentallysanemainliners.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
arch/arm64/boot/dts/exynos/Makefile
arch/arm64/boot/dts/exynos/exynos990-c1s.dts [new file with mode: 0644]

index 18f5a3eed5233547a995237f3d96ecb3bc98d7f3..7a934499b235892eef38cd926905e02f0ce08278 100644 (file)
@@ -8,5 +8,6 @@ dtb-$(CONFIG_ARCH_EXYNOS) += \
        exynos7885-jackpotlte.dtb       \
        exynos850-e850-96.dtb           \
        exynos8895-dreamlte.dtb         \
+       exynos990-c1s.dtb               \
        exynosautov9-sadk.dtb           \
        exynosautov920-sadk.dtb
diff --git a/arch/arm64/boot/dts/exynos/exynos990-c1s.dts b/arch/arm64/boot/dts/exynos/exynos990-c1s.dts
new file mode 100644 (file)
index 0000000..36a6f13
--- /dev/null
@@ -0,0 +1,115 @@
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
+/*
+ * Samsung Galaxy Note20 5G (c1s/SM-N981B) device tree source
+ *
+ * Copyright (c) 2024, Igor Belwon <igor.belwon@mentallysanemainliners.org>
+ */
+
+/dts-v1/;
+#include "exynos990.dtsi"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/ {
+       model = "Samsung Galaxy Note20";
+       compatible = "samsung,c1s", "samsung,exynos990";
+
+       #address-cells = <2>;
+       #size-cells = <2>;
+
+       chosen {
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               framebuffer0: framebuffer@f1000000 {
+                       compatible = "simple-framebuffer";
+                       reg = <0 0xf1000000 0 (1080 * 2400 * 4)>;
+                       width = <1080>;
+                       height = <2400>;
+                       stride = <(1080 * 4)>;
+                       format = "a8r8g8b8";
+               };
+       };
+
+       memory@80000000 {
+               device_type = "memory";
+               reg = <0x0 0x80000000 0x0 0x3ab00000>,
+                     /* Memory hole */
+                     <0x0 0xc1200000 0x0 0x1ee00000>,
+                     /* Memory hole */
+                     <0x0 0xe1900000 0x0 0x1e700000>,
+                     /* Memory hole - last block */
+                     <0x8 0x80000000 0x1 0x7ec00000>;
+       };
+
+       reserved-memory {
+               #address-cells = <2>;
+               #size-cells = <2>;
+               ranges;
+
+               cont_splash_mem: framebuffer@f1000000 {
+                       reg = <0 0xf1000000 0 0x13c6800>;
+                       no-map;
+               };
+
+               abox_reserved: audio@f7fb0000 {
+                       reg = <0 0xf7fb0000 0 0x2a50000>;
+                       no-map;
+               };
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               pinctrl-0 = <&key_power &key_voldown &key_volup>;
+               pinctrl-names = "default";
+
+               power-key {
+                       label = "Power";
+                       linux,code = <KEY_POWER>;
+                       gpios = <&gpa2 4 GPIO_ACTIVE_LOW>;
+                       wakeup-source;
+               };
+
+               voldown-key {
+                       label = "Volume Down";
+                       linux,code = <KEY_VOLUMEDOWN>;
+                       gpios = <&gpa0 4 GPIO_ACTIVE_LOW>;
+               };
+
+               volup-key {
+                       label = "Volume Up";
+                       linux,code = <KEY_VOLUMEUP>;
+                       gpios = <&gpa0 3 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
+
+&oscclk {
+       clock-frequency = <26000000>;
+};
+
+&pinctrl_alive {
+       key_power: key-power-pins {
+               samsung,pins = "gpa2-4";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       key_voldown: key-voldown-pins {
+               samsung,pins = "gpa0-4";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+
+       key_volup: key-volup-pins {
+               samsung,pins = "gpa0-3";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
+               samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
+       };
+};