// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* * Samsung Galaxy S8 (dreamlte/SM-G950F) device tree source * * Copyright (c) 2024, Ivaylo Ivanov */ /dts-v1/; #include "exynos8895.dtsi" #include #include #include #include / { model = "Samsung Galaxy S8 (SM-G950F)"; compatible = "samsung,dreamlte", "samsung,exynos8895"; chassis-type = "handset"; aliases { mmc0 = &mmc; }; chosen { #address-cells = <2>; #size-cells = <1>; ranges; framebuffer: framebuffer@cc000000 { compatible = "simple-framebuffer"; reg = <0 0xcc000000 (1440 * 2960 * 4)>; width = <1440>; height = <2960>; stride = <(1440 * 4)>; format = "a8r8g8b8"; }; }; memory@80000000 { device_type = "memory"; reg = <0x0 0x80000000 0x3c800000>, <0x0 0xc0000000 0x40000000>, <0x8 0x80000000 0x80000000>; }; reserved-memory { #address-cells = <2>; #size-cells = <1>; ranges; ramoops@92000000 { compatible = "ramoops"; reg = <0 0x92000000 0x8000>; record-size = <0x4000>; console-size = <0x4000>; }; cont_splash_mem: framebuffer@cc000000 { reg = <0 0xcc000000 (1440 * 2960 * 4)>; no-map; }; }; gpio-keys { compatible = "gpio-keys"; pinctrl-0 = <&key_power &key_voldown &key_volup &key_wink>; pinctrl-names = "default"; power-key { label = "Power"; linux,code = ; gpios = <&gpa2 4 GPIO_ACTIVE_LOW>; wakeup-source; }; voldown-key { label = "Volume Down"; linux,code = ; gpios = <&gpa0 4 GPIO_ACTIVE_LOW>; }; volup-key { label = "Volume Up"; linux,code = ; gpios = <&gpa0 3 GPIO_ACTIVE_LOW>; }; /* Typically used for Bixby. Map it as a camera button for now */ wink-key { label = "Camera"; linux,code = ; gpios = <&gpa0 6 GPIO_ACTIVE_LOW>; wakeup-source; }; }; /* TODO: Remove once PMIC is implemented */ reg_placeholder: regulator-0 { compatible = "regulator-fixed"; regulator-name = "reg-placeholder"; }; }; &hsi2c_23 { #address-cells = <1>; #size-cells = <0>; status = "okay"; touchscreen@48 { compatible = "samsung,s6sy761"; reg = <0x48>; /* TODO: Update once PMIC is implemented */ avdd-supply = <®_placeholder>; vdd-supply = <®_placeholder>; interrupt-parent = <&gpa1>; interrupts = <0 IRQ_TYPE_LEVEL_LOW>; pinctrl-0 = <&ts_int>; pinctrl-names = "default"; }; }; &oscclk { clock-frequency = <26000000>; }; &mmc { pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &sd2_cd>; pinctrl-names = "default"; bus-width = <4>; card-detect-delay = <200>; cd-gpios = <&gpa1 5 GPIO_ACTIVE_LOW>; clock-frequency = <800000000>; disable-wp; sd-uhs-sdr50; sd-uhs-sdr104; /* TODO: Add regulators once PMIC is implemented */ samsung,dw-mshc-ciu-div = <3>; samsung,dw-mshc-ddr-timing = <1 2>; samsung,dw-mshc-sdr-timing = <0 3>; status = "okay"; }; &pinctrl_alive { key_power: key-power-pins { samsung,pins = "gpa2-4"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; key_voldown: key-voldown-pins { samsung,pins = "gpa0-4"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; key_volup: key-volup-pins { samsung,pins = "gpa0-3"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; key_wink: key-wink-pins { samsung,pins = "gpa0-6"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; sd2_cd: sd2-cd-pins { samsung,pins = "gpa1-5"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; ts_int: ts-int-pins { samsung,pins = "gpa1-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; }; &usi9 { samsung,mode = ; status = "okay"; };