xref: /freebsd/sys/contrib/device-tree/src/arm64/exynos/exynos990-r8s.dts (revision 2846c90520eb4cc74e24d586a0ea0f4a0006bc73)
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