summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/exynos/exynos9810-starlte.dts
blob: fc0ddfee4cd63d2fc53cae3d7447f66d39c134e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/*
 * Samsung Galaxy S9 (starlte/SM-G960F) device tree source
 *
 * Copyright (c) 2024 Markuss Broks <markuss.broks@gmail.com>
 * Copyright (c) 2024 Maksym Holovach <nergzd@nergzd723.xyz>
 */

/dts-v1/;
#include "exynos9810.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
	model = "Samsung Galaxy S9 (SM-G960F)";
	compatible = "samsung,starlte", "samsung,exynos9810";
	chassis-type = "handset";

	chosen {
		#address-cells = <2>;
		#size-cells = <1>;
		ranges;

		framebuffer@cc000000 {
			compatible = "simple-framebuffer";
			reg = <0x0 0xcc000000 (1440 * 2960 * 4)>;
			width = <1440>;
			height = <2960>;
			stride = <(1440 * 4)>;
			format = "a8r8g8b8";
		};
	};

	gpio-keys {
		compatible = "gpio-keys";

		pinctrl-0 = <&key_power &key_voldown &key_volup &key_wink>;
		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>;
		};

		/* In stock firmware used for assistant. Map it as a camera button for now */
		wink-key {
			label = "Camera";
			linux,code = <KEY_CAMERA>;
			gpios = <&gpa0 6 GPIO_ACTIVE_LOW>;
		};
	};

	memory@80000000 {
		device_type = "memory";
		reg = <0x0 0x80000000 0x3c800000>,
		      <0x0 0xc0000000 0x20000000>,
		      <0x0 0xe1900000 0x1e700000>,
		      <0x8 0x80000000 0x80000000>;
	};

	reserved-memory {
		#address-cells = <2>;
		#size-cells = <1>;
		ranges;

		framebuffer@cc000000 {
			reg = <0x0 0xcc000000 (1440 * 2960 * 4)>;
			no-map;
		};
	};
};

&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_UP>;
		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_UP>;
		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_UP>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	key_wink: key-wink-pins {
		samsung,pins = "gpa0-6";
		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};
};