1*706119fbSDenzeel Oliva// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2*706119fbSDenzeel Oliva/* 3*706119fbSDenzeel Oliva * Samsung Galaxy S20 FE (r8s/SM-G780F) device tree source 4*706119fbSDenzeel Oliva * 5*706119fbSDenzeel Oliva * Copyright (c) 2024, Denzeel Oliva <wachiturroxd150@gmail.com> 6*706119fbSDenzeel Oliva */ 7*706119fbSDenzeel Oliva 8*706119fbSDenzeel Oliva/dts-v1/; 9*706119fbSDenzeel Oliva#include "exynos990.dtsi" 10*706119fbSDenzeel Oliva#include <dt-bindings/gpio/gpio.h> 11*706119fbSDenzeel Oliva#include <dt-bindings/input/input.h> 12*706119fbSDenzeel Oliva#include <dt-bindings/interrupt-controller/irq.h> 13*706119fbSDenzeel Oliva 14*706119fbSDenzeel Oliva/ { 15*706119fbSDenzeel Oliva model = "Samsung Galaxy S20 FE"; 16*706119fbSDenzeel Oliva compatible = "samsung,r8s", "samsung,exynos990"; 17*706119fbSDenzeel Oliva 18*706119fbSDenzeel Oliva #address-cells = <2>; 19*706119fbSDenzeel Oliva #size-cells = <2>; 20*706119fbSDenzeel Oliva 21*706119fbSDenzeel Oliva chosen { 22*706119fbSDenzeel Oliva #address-cells = <2>; 23*706119fbSDenzeel Oliva #size-cells = <2>; 24*706119fbSDenzeel Oliva ranges; 25*706119fbSDenzeel Oliva 26*706119fbSDenzeel Oliva framebuffer0: framebuffer@f1000000 { 27*706119fbSDenzeel Oliva compatible = "simple-framebuffer"; 28*706119fbSDenzeel Oliva reg = <0 0xf1000000 0 (1080 * 2400 * 4)>; 29*706119fbSDenzeel Oliva width = <1080>; 30*706119fbSDenzeel Oliva height = <2400>; 31*706119fbSDenzeel Oliva stride = <(1080 * 4)>; 32*706119fbSDenzeel Oliva format = "a8r8g8b8"; 33*706119fbSDenzeel Oliva }; 34*706119fbSDenzeel Oliva }; 35*706119fbSDenzeel Oliva 36*706119fbSDenzeel Oliva memory@80000000 { 37*706119fbSDenzeel Oliva device_type = "memory"; 38*706119fbSDenzeel Oliva reg = <0x0 0x80000000 0x0 0x3ab00000>, 39*706119fbSDenzeel Oliva /* Memory hole */ 40*706119fbSDenzeel Oliva <0x0 0xc1200000 0x0 0x1ee00000>, 41*706119fbSDenzeel Oliva /* Memory hole */ 42*706119fbSDenzeel Oliva <0x0 0xe1900000 0x0 0x1e700000>, 43*706119fbSDenzeel Oliva /* Memory hole - last block */ 44*706119fbSDenzeel Oliva <0x8 0x80000000 0x0 0xc0000000>; 45*706119fbSDenzeel Oliva }; 46*706119fbSDenzeel Oliva 47*706119fbSDenzeel Oliva reserved-memory { 48*706119fbSDenzeel Oliva #address-cells = <2>; 49*706119fbSDenzeel Oliva #size-cells = <2>; 50*706119fbSDenzeel Oliva ranges; 51*706119fbSDenzeel Oliva 52*706119fbSDenzeel Oliva cont_splash_mem: framebuffer@f1000000 { 53*706119fbSDenzeel Oliva reg = <0 0xf1000000 0 0x13c6800>; 54*706119fbSDenzeel Oliva no-map; 55*706119fbSDenzeel Oliva }; 56*706119fbSDenzeel Oliva 57*706119fbSDenzeel Oliva abox_reserved: audio@f7fb0000 { 58*706119fbSDenzeel Oliva reg = <0 0xf7fb0000 0 0x2a50000>; 59*706119fbSDenzeel Oliva no-map; 60*706119fbSDenzeel Oliva }; 61*706119fbSDenzeel Oliva }; 62*706119fbSDenzeel Oliva 63*706119fbSDenzeel Oliva gpio-keys { 64*706119fbSDenzeel Oliva compatible = "gpio-keys"; 65*706119fbSDenzeel Oliva 66*706119fbSDenzeel Oliva pinctrl-0 = <&key_power &key_voldown &key_volup>; 67*706119fbSDenzeel Oliva pinctrl-names = "default"; 68*706119fbSDenzeel Oliva 69*706119fbSDenzeel Oliva power-key { 70*706119fbSDenzeel Oliva label = "Power"; 71*706119fbSDenzeel Oliva linux,code = <KEY_POWER>; 72*706119fbSDenzeel Oliva gpios = <&gpa2 4 GPIO_ACTIVE_LOW>; 73*706119fbSDenzeel Oliva wakeup-source; 74*706119fbSDenzeel Oliva }; 75*706119fbSDenzeel Oliva 76*706119fbSDenzeel Oliva voldown-key { 77*706119fbSDenzeel Oliva label = "Volume Down"; 78*706119fbSDenzeel Oliva linux,code = <KEY_VOLUMEDOWN>; 79*706119fbSDenzeel Oliva gpios = <&gpa0 4 GPIO_ACTIVE_LOW>; 80*706119fbSDenzeel Oliva }; 81*706119fbSDenzeel Oliva 82*706119fbSDenzeel Oliva volup-key { 83*706119fbSDenzeel Oliva label = "Volume Up"; 84*706119fbSDenzeel Oliva linux,code = <KEY_VOLUMEUP>; 85*706119fbSDenzeel Oliva gpios = <&gpa0 3 GPIO_ACTIVE_LOW>; 86*706119fbSDenzeel Oliva }; 87*706119fbSDenzeel Oliva }; 88*706119fbSDenzeel Oliva}; 89*706119fbSDenzeel Oliva 90*706119fbSDenzeel Oliva&oscclk { 91*706119fbSDenzeel Oliva clock-frequency = <26000000>; 92*706119fbSDenzeel Oliva}; 93*706119fbSDenzeel Oliva 94*706119fbSDenzeel Oliva&pinctrl_alive { 95*706119fbSDenzeel Oliva key_power: key-power-pins { 96*706119fbSDenzeel Oliva samsung,pins = "gpa2-4"; 97*706119fbSDenzeel Oliva samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 98*706119fbSDenzeel Oliva samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 99*706119fbSDenzeel Oliva samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 100*706119fbSDenzeel Oliva }; 101*706119fbSDenzeel Oliva 102*706119fbSDenzeel Oliva key_voldown: key-voldown-pins { 103*706119fbSDenzeel Oliva samsung,pins = "gpa0-4"; 104*706119fbSDenzeel Oliva samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 105*706119fbSDenzeel Oliva samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 106*706119fbSDenzeel Oliva samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 107*706119fbSDenzeel Oliva }; 108*706119fbSDenzeel Oliva 109*706119fbSDenzeel Oliva key_volup: key-volup-pins { 110*706119fbSDenzeel Oliva samsung,pins = "gpa0-3"; 111*706119fbSDenzeel Oliva samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 112*706119fbSDenzeel Oliva samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 113*706119fbSDenzeel Oliva samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>; 114*706119fbSDenzeel Oliva }; 115*706119fbSDenzeel Oliva}; 116