xref: /linux/scripts/dtc/include-prefixes/arm64/exynos/exynos990-r8s.dts (revision 1260ed77798502de9c98020040d2995008de10cc)
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