Message ID | 20241112193149.1262-3-wachiturroxd150@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | Add support for Samsung Galaxy S20 FE (SM-G780F/r8s) [SoC Exynos990] | expand |
On 11/12/24 21:31, Denzeel Oliva wrote: > Add initial support for the Samsung Galaxy S20 FE (r8s/SM-G780F) device. > Its launch was in 2020 and also based on the Exynos 990 SoC. > It is only configured with 6GB of RAM, although storage options may differ. As far as I can tell, there are models with more than 6gb's of ram. How would the memory node differ for them? > > This device tree adds support for the following: > > - SimpleFB > - 6GB RAM > - Buttons > > Signed-off-by: Denzeel Oliva <wachiturroxd150@gmail.com> > --- > arch/arm64/boot/dts/exynos/Makefile | 1 + > arch/arm64/boot/dts/exynos/exynos990-r8s.dts | 115 +++++++++++++++++++ > 2 files changed, 116 insertions(+) > create mode 100644 arch/arm64/boot/dts/exynos/exynos990-r8s.dts > > diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile > index 7a934499b..948a2c6cb 100644 > --- a/arch/arm64/boot/dts/exynos/Makefile > +++ b/arch/arm64/boot/dts/exynos/Makefile > @@ -9,5 +9,6 @@ dtb-$(CONFIG_ARCH_EXYNOS) += \ > exynos850-e850-96.dtb \ > exynos8895-dreamlte.dtb \ > exynos990-c1s.dtb \ > + exynos990-r8s.dtb \ > exynosautov9-sadk.dtb \ > exynosautov920-sadk.dtb > diff --git a/arch/arm64/boot/dts/exynos/exynos990-r8s.dts b/arch/arm64/boot/dts/exynos/exynos990-r8s.dts > new file mode 100644 > index 000000000..b21863bbb > --- /dev/null > +++ b/arch/arm64/boot/dts/exynos/exynos990-r8s.dts > @@ -0,0 +1,115 @@ > +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause > +/* > + * Samsung Galaxy S20 FE (r8s/SM-G780F) device tree source > + * > + * Copyright (c) 2024, Denzeel Oliva <wachiturroxd150@gmail.com> > + */ > + > +/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 S20 FE"; > + compatible = "samsung,r8s", "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 */ > + <0x08 0x80000000 0x0 0x0c000000>; 0x08 -> 0x8 Best regards, Ivo. > + }; > + > + 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>; > + }; > +};
diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exynos/Makefile index 7a934499b..948a2c6cb 100644 --- a/arch/arm64/boot/dts/exynos/Makefile +++ b/arch/arm64/boot/dts/exynos/Makefile @@ -9,5 +9,6 @@ dtb-$(CONFIG_ARCH_EXYNOS) += \ exynos850-e850-96.dtb \ exynos8895-dreamlte.dtb \ exynos990-c1s.dtb \ + exynos990-r8s.dtb \ exynosautov9-sadk.dtb \ exynosautov920-sadk.dtb diff --git a/arch/arm64/boot/dts/exynos/exynos990-r8s.dts b/arch/arm64/boot/dts/exynos/exynos990-r8s.dts new file mode 100644 index 000000000..b21863bbb --- /dev/null +++ b/arch/arm64/boot/dts/exynos/exynos990-r8s.dts @@ -0,0 +1,115 @@ +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause +/* + * Samsung Galaxy S20 FE (r8s/SM-G780F) device tree source + * + * Copyright (c) 2024, Denzeel Oliva <wachiturroxd150@gmail.com> + */ + +/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 S20 FE"; + compatible = "samsung,r8s", "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 */ + <0x08 0x80000000 0x0 0x0c000000>; + }; + + 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>; + }; +};
Add initial support for the Samsung Galaxy S20 FE (r8s/SM-G780F) device. Its launch was in 2020 and also based on the Exynos 990 SoC. It is only configured with 6GB of RAM, although storage options may differ. This device tree adds support for the following: - SimpleFB - 6GB RAM - Buttons Signed-off-by: Denzeel Oliva <wachiturroxd150@gmail.com> --- arch/arm64/boot/dts/exynos/Makefile | 1 + arch/arm64/boot/dts/exynos/exynos990-r8s.dts | 115 +++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 arch/arm64/boot/dts/exynos/exynos990-r8s.dts