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