1// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 2/* 3 * Samsung Galaxy S8 (dreamlte/SM-G950F) device tree source 4 * 5 * Copyright (c) 2024, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com> 6 */ 7 8/dts-v1/; 9#include "exynos8895.dtsi" 10#include <dt-bindings/gpio/gpio.h> 11#include <dt-bindings/input/input.h> 12#include <dt-bindings/interrupt-controller/irq.h> 13 14/ { 15 model = "Samsung Galaxy S8 (SM-G950F)"; 16 compatible = "samsung,dreamlte", "samsung,exynos8895"; 17 chassis-type = "handset"; 18 19 chosen { 20 #address-cells = <2>; 21 #size-cells = <1>; 22 ranges; 23 24 framebuffer: framebuffer@cc000000 { 25 compatible = "simple-framebuffer"; 26 reg = <0 0xcc000000 (1440 * 2960 * 4)>; 27 width = <1440>; 28 height = <2960>; 29 stride = <(1440 * 4)>; 30 format = "a8r8g8b8"; 31 }; 32 }; 33 34 memory@80000000 { 35 device_type = "memory"; 36 reg = <0x0 0x80000000 0x3c800000>, 37 <0x0 0xc0000000 0x40000000>, 38 <0x8 0x80000000 0x80000000>; 39 }; 40 41 reserved-memory { 42 #address-cells = <2>; 43 #size-cells = <1>; 44 ranges; 45 46 ramoops@92000000 { 47 compatible = "ramoops"; 48 reg = <0 0x92000000 0x8000>; 49 record-size = <0x4000>; 50 console-size = <0x4000>; 51 }; 52 53 cont_splash_mem: framebuffer@cc000000 { 54 reg = <0 0xcc000000 (1440 * 2960 * 4)>; 55 no-map; 56 }; 57 }; 58 59 gpio-keys { 60 compatible = "gpio-keys"; 61 62 pinctrl-0 = <&key_power &key_voldown &key_volup &key_wink>; 63 pinctrl-names = "default"; 64 65 power-key { 66 label = "Power"; 67 linux,code = <KEY_POWER>; 68 gpios = <&gpa2 4 GPIO_ACTIVE_LOW>; 69 wakeup-source; 70 }; 71 72 voldown-key { 73 label = "Volume Down"; 74 linux,code = <KEY_VOLUMEDOWN>; 75 gpios = <&gpa0 4 GPIO_ACTIVE_LOW>; 76 }; 77 78 volup-key { 79 label = "Volume Up"; 80 linux,code = <KEY_VOLUMEUP>; 81 gpios = <&gpa0 3 GPIO_ACTIVE_LOW>; 82 }; 83 84 /* Typically used for Bixby. Map it as a camera button for now */ 85 wink-key { 86 label = "Camera"; 87 linux,code = <KEY_CAMERA>; 88 gpios = <&gpa0 6 GPIO_ACTIVE_LOW>; 89 wakeup-source; 90 }; 91 }; 92}; 93 94&oscclk { 95 clock-frequency = <26000000>; 96}; 97 98&pinctrl_alive { 99 key_power: key-power-pins { 100 samsung,pins = "gpa2-4"; 101 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 102 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 103 samsung,pin-drv = <EXYNOS7_PIN_DRV_LV1>; 104 }; 105 106 key_voldown: key-voldown-pins { 107 samsung,pins = "gpa0-4"; 108 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 109 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 110 samsung,pin-drv = <EXYNOS7_PIN_DRV_LV1>; 111 }; 112 113 key_volup: key-volup-pins { 114 samsung,pins = "gpa0-3"; 115 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 116 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 117 samsung,pin-drv = <EXYNOS7_PIN_DRV_LV1>; 118 }; 119 120 key_wink: key-wink-pins { 121 samsung,pins = "gpa0-6"; 122 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 123 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 124 samsung,pin-drv = <EXYNOS7_PIN_DRV_LV1>; 125 }; 126}; 127