xref: /linux/arch/arm64/boot/dts/exynos/exynos8895-dreamlte.dts (revision c34e9ab9a612ee8b18273398ef75c207b01f516d)
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