Message ID | 20241015062746.713245-8-igor.belwon@mentallysanemainliners.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Add minimal Exynos990 SoC and SM-N981B support | expand |
On 15/10/2024 08:27, Igor Belwon wrote: > 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> > --- > arch/arm64/boot/dts/exynos/Makefile | 1 + > arch/arm64/boot/dts/exynos/exynos990-c1s.dts | 111 +++++++++++++++++++ Please use subject prefixes matching the subsystem. You can get them for example with `git log --oneline -- DIRECTORY_OR_FILE` on the directory your patch is touching. For bindings, the preferred subjects are explained here: https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html#i-for-patch-submitters > 2 files changed, 112 insertions(+) > create mode 100644 arch/arm64/boot/dts/exynos/exynos990-c1s.dts > > diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile > index 18f5a3eed523..7a934499b235 100644 > --- a/arch/arm64/boot/dts/exynos/Makefile > +++ b/arch/arm64/boot/dts/exynos/Makefile > @@ -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 > index 000000000000..7bff098d7982 > --- /dev/null > +++ b/arch/arm64/boot/dts/exynos/exynos990-c1s.dts > @@ -0,0 +1,111 @@ > +// 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"; > + > + chosen { > + #address-cells = <2>; > + #size-cells = <1>; > + ranges; > + > + framebuffer0: framebuffer@f1000000 { > + compatible = "simple-framebuffer"; > + reg = <0 0xf1000000 (1080 * 2400 * 4)>; > + width = <1080>; > + height = <2400>; > + stride = <(1080 * 4)>; > + format = "a8r8g8b8"; > + }; > + }; > + > + memory@80001000 { > + device_type = "memory"; > + reg = <0x0 0x80000000 0x3ab00000>, > + /* Memory hole */ > + <0x0 0xc1200000 0x1ed80000>, > + /* Memory hole */ > + <0x0 0xe1900000 0x1a8e9800>; > + }; > + > + reserved-memory { > + #address-cells = <2>; > + #size-cells = <1>; > + ranges; > + > + cont_splash_mem: framebuffer@f1000000 { > + reg = <0 0xf1000000 0x13c6800>; > + no-map; > + }; > + > + abox_reserved: audio@f7fb0000 { > + reg = <0 0xf7fb0000 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>; > + }; > + Stray blank line > + }; > +}; > + > +&oscclk { > + clock-frequency = <26000000>; > +}; > + Best regards, Krzysztof
diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile index 18f5a3eed523..7a934499b235 100644 --- a/arch/arm64/boot/dts/exynos/Makefile +++ b/arch/arm64/boot/dts/exynos/Makefile @@ -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 index 000000000000..7bff098d7982 --- /dev/null +++ b/arch/arm64/boot/dts/exynos/exynos990-c1s.dts @@ -0,0 +1,111 @@ +// 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"; + + chosen { + #address-cells = <2>; + #size-cells = <1>; + ranges; + + framebuffer0: framebuffer@f1000000 { + compatible = "simple-framebuffer"; + reg = <0 0xf1000000 (1080 * 2400 * 4)>; + width = <1080>; + height = <2400>; + stride = <(1080 * 4)>; + format = "a8r8g8b8"; + }; + }; + + memory@80001000 { + device_type = "memory"; + reg = <0x0 0x80000000 0x3ab00000>, + /* Memory hole */ + <0x0 0xc1200000 0x1ed80000>, + /* Memory hole */ + <0x0 0xe1900000 0x1a8e9800>; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <1>; + ranges; + + cont_splash_mem: framebuffer@f1000000 { + reg = <0 0xf1000000 0x13c6800>; + no-map; + }; + + abox_reserved: audio@f7fb0000 { + reg = <0 0xf7fb0000 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>; + }; +};
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> --- arch/arm64/boot/dts/exynos/Makefile | 1 + arch/arm64/boot/dts/exynos/exynos990-c1s.dts | 111 +++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 arch/arm64/boot/dts/exynos/exynos990-c1s.dts