| // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause |
| /* |
| * Samsung Galaxy S8 (dreamlte/SM-G950F) device tree source |
| * |
| * Copyright (c) 2024, Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com> |
| */ |
| |
| /dts-v1/; |
| #include "exynos8895.dtsi" |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/input/input.h> |
| #include <dt-bindings/interrupt-controller/irq.h> |
| #include <dt-bindings/soc/samsung,exynos-usi.h> |
| |
| / { |
| 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 = <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>; |
| }; |
| |
| /* Typically used for Bixby. Map it as a camera button for now */ |
| wink-key { |
| label = "Camera"; |
| linux,code = <KEY_CAMERA>; |
| 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 = <EXYNOS_PIN_FUNC_EINT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <EXYNOS7_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_NONE>; |
| samsung,pin-drv = <EXYNOS7_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_NONE>; |
| samsung,pin-drv = <EXYNOS7_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_NONE>; |
| samsung,pin-drv = <EXYNOS7_PIN_DRV_LV1>; |
| }; |
| |
| sd2_cd: sd2-cd-pins { |
| samsung,pins = "gpa1-5"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; |
| samsung,pin-drv = <EXYNOS7_PIN_DRV_LV4>; |
| }; |
| |
| ts_int: ts-int-pins { |
| samsung,pins = "gpa1-0"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <EXYNOS7_PIN_DRV_LV1>; |
| }; |
| }; |
| |
| &usi9 { |
| samsung,mode = <USI_MODE_I2C0_1>; |
| status = "okay"; |
| }; |