mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
arm64: dts: qcom: sm8450: add initial device tree for Samsung Galaxy S22
Adds new device support for the Samsung Galaxy S22 (SM-S901E) phone Working features: - simple-framebuffer - side buttons - storage - usb Signed-off-by: Eric Gonçalves <ghatto404@gmail.com> Link: https://lore.kernel.org/r/20250615204438.1130213-2-ghatto404@gmail.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
This commit is contained in:
committed by
Bjorn Andersson
parent
ebfe5797ac
commit
46952305d2
364
arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts
Normal file
364
arch/arm64/boot/dts/qcom/sm8450-samsung-r0q.dts
Normal file
@@ -0,0 +1,364 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2025, Eric Gonçalves <ghatto404@gmail.com>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/input/linux-event-codes.h>
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
||||
|
||||
#include "sm8450.dtsi"
|
||||
#include "pm8350.dtsi"
|
||||
#include "pm8350b.dtsi"
|
||||
#include "pm8350c.dtsi"
|
||||
#include "pm8450.dtsi"
|
||||
#include "pmk8350.dtsi"
|
||||
#include "pmr735a.dtsi"
|
||||
|
||||
/delete-node/ &xbl_ramdump_mem;
|
||||
/delete-node/ &xbl_sc_mem;
|
||||
/delete-node/ &adsp_mem;
|
||||
/delete-node/ &rmtfs_mem;
|
||||
/delete-node/ &mte_mem;
|
||||
/delete-node/ &trusted_apps_mem;
|
||||
/delete-node/ &trusted_apps_ext_mem;
|
||||
|
||||
/ {
|
||||
chassis-type = "handset";
|
||||
model = "Samsung Galaxy S22 (SM-S901E)";
|
||||
compatible = "samsung,r0q", "qcom,sm8450";
|
||||
|
||||
chosen {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
bootargs = "clk_ignore_unused pd_ignore_unused";
|
||||
linux,initrd-start = <0x00 0xb6915000>;
|
||||
linux,initrd-end = <0x00 0xb7fff22c>;
|
||||
stdout-path = "serial0:115200n8";
|
||||
|
||||
framebuffer: framebuffer@b8000000 {
|
||||
compatible = "simple-framebuffer";
|
||||
reg = <0x0 0xb8000000 0x0 0x2b00000>;
|
||||
width = <1080>;
|
||||
height = <2340>;
|
||||
stride = <(1080 * 4)>;
|
||||
format = "a8r8g8b8";
|
||||
};
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
autorepeat;
|
||||
|
||||
pinctrl-0 = <&vol_up_n>;
|
||||
pinctrl-names = "default";
|
||||
|
||||
key-vol-up {
|
||||
label = "Volume Up";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
gpios = <&pm8350_gpios 6 GPIO_ACTIVE_LOW>;
|
||||
debounce-interval = <15>;
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
ddr_device_type = <0x08>;
|
||||
device_type = "memory";
|
||||
reg = <0x00 0x80000000 0x00 0x6a000000 0x00 0xf1c00000 0x00 0xe400000 0x08 0x00 0x00 0x3ab00000 0x08 0x40000000 0x01 0x40000000 0x08 0x3b100000 0x00 0x1e00000>;
|
||||
};
|
||||
|
||||
reserved-memory {
|
||||
xbl_ramdump_mem: memory@a6b80000 {
|
||||
reg = <0x0 0xa7d00000 0x0 0x300000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
xbl_sc_mem: memory@a6e00000 {
|
||||
reg = <0x0 0xa6e00000 0x0 0x40000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
adsp_mem: memory@9fd00000 {
|
||||
reg = <0x0 0x84500000 0x0 0x3b00000>;
|
||||
no-map;
|
||||
};
|
||||
|
||||
rmtfs_mem: memory@fe200000 {
|
||||
compatible = "qcom,rmtfs-mem";
|
||||
reg = <0x0 0xfe200000 0x0 0x280000>;
|
||||
reg-names = "rmtfs";
|
||||
qcom,client-id = <1>;
|
||||
no-map;
|
||||
|
||||
qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
|
||||
};
|
||||
|
||||
splash_region@b8000000 {
|
||||
reg = <0x0 0xb8000000 0x0 0x2b00000>;
|
||||
no-map;
|
||||
};
|
||||
};
|
||||
|
||||
vph_pwr: vph-pwr-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vph_pwr";
|
||||
regulator-min-microvolt = <3700000>;
|
||||
regulator-max-microvolt = <3700000>;
|
||||
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
};
|
||||
};
|
||||
|
||||
&tlmm {
|
||||
gpio-reserved-ranges = <36 4>, <50 1>, <93 1>;
|
||||
|
||||
dsi_default: dsi-default-state {
|
||||
pins = "gpio6";
|
||||
function = "gpio";
|
||||
drive-strength = <8>;
|
||||
bias-disable;
|
||||
};
|
||||
|
||||
dsi_suspend: dsi-suspend-state {
|
||||
pins = "gpio6";
|
||||
function = "gpio";
|
||||
drive-strength = <2>;
|
||||
bias-pull-down;
|
||||
};
|
||||
};
|
||||
|
||||
&apps_rsc {
|
||||
regulators-0 {
|
||||
compatible = "qcom,pm8350-rpmh-regulators";
|
||||
qcom,pmic-id = "b";
|
||||
|
||||
vdd-s1-supply = <&vph_pwr>;
|
||||
vdd-s2-supply = <&vph_pwr>;
|
||||
vdd-s3-supply = <&vph_pwr>;
|
||||
vdd-s4-supply = <&vph_pwr>;
|
||||
vdd-s5-supply = <&vph_pwr>;
|
||||
vdd-s6-supply = <&vph_pwr>;
|
||||
vdd-s7-supply = <&vph_pwr>;
|
||||
vdd-s8-supply = <&vph_pwr>;
|
||||
vdd-s9-supply = <&vph_pwr>;
|
||||
vdd-s10-supply = <&vph_pwr>;
|
||||
vdd-s11-supply = <&vph_pwr>;
|
||||
vdd-s12-supply = <&vph_pwr>;
|
||||
|
||||
vdd-l1-l4-supply = <&vreg_s11b_0p95>;
|
||||
vdd-l2-l7-supply = <&vreg_bob>;
|
||||
vdd-l3-l5-supply = <&vreg_bob>;
|
||||
vdd-l6-l9-l10-supply = <&vreg_s12b_1p25>;
|
||||
vdd-l8-supply = <&vreg_s2h_0p95>;
|
||||
|
||||
vreg_s11b_0p95: smps11 {
|
||||
regulator-name = "vreg_s11b_0p95";
|
||||
regulator-min-microvolt = <848000>;
|
||||
regulator-max-microvolt = <1104000>;
|
||||
};
|
||||
|
||||
vreg_s12b_1p25: smps12 {
|
||||
regulator-name = "vreg_s12b_1p25";
|
||||
regulator-min-microvolt = <1224000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
};
|
||||
|
||||
vreg_l1b_0p91: ldo1 {
|
||||
regulator-name = "vreg_l1b_0p91";
|
||||
regulator-min-microvolt = <912000>;
|
||||
regulator-max-microvolt = <920000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l2b_3p07: ldo2 {
|
||||
regulator-name = "vreg_l2b_3p07";
|
||||
regulator-min-microvolt = <3072000>;
|
||||
regulator-max-microvolt = <3072000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l5b_0p88: ldo5 {
|
||||
regulator-name = "vreg_l5b_0p88";
|
||||
regulator-min-microvolt = <880000>;
|
||||
regulator-max-microvolt = <888000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l6b_1p2: ldo6 {
|
||||
regulator-name = "vreg_l6b_1p2";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l7b_2p5: ldo7 {
|
||||
regulator-name = "vreg_l7b_2p5";
|
||||
regulator-min-microvolt = <2504000>;
|
||||
regulator-max-microvolt = <2504000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
|
||||
vreg_l9b_1p2: ldo9 {
|
||||
regulator-name = "vreg_l9b_1p2";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-1 {
|
||||
compatible = "qcom,pm8350c-rpmh-regulators";
|
||||
qcom,pmic-id = "c";
|
||||
|
||||
vdd-s1-supply = <&vph_pwr>;
|
||||
vdd-s2-supply = <&vph_pwr>;
|
||||
vdd-s3-supply = <&vph_pwr>;
|
||||
vdd-s4-supply = <&vph_pwr>;
|
||||
vdd-s5-supply = <&vph_pwr>;
|
||||
vdd-s6-supply = <&vph_pwr>;
|
||||
vdd-s7-supply = <&vph_pwr>;
|
||||
vdd-s8-supply = <&vph_pwr>;
|
||||
vdd-s9-supply = <&vph_pwr>;
|
||||
vdd-s10-supply = <&vph_pwr>;
|
||||
|
||||
vdd-l1-l12-supply = <&vreg_bob>;
|
||||
vdd-l2-l8-supply = <&vreg_bob>;
|
||||
vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob>;
|
||||
vdd-l6-l9-l11-supply = <&vreg_bob>;
|
||||
|
||||
vdd-bob-supply = <&vph_pwr>;
|
||||
|
||||
vreg_s1c_1p86: smps1 {
|
||||
regulator-name = "vreg_s1c_1p86";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <2024000>;
|
||||
};
|
||||
|
||||
vreg_bob: bob {
|
||||
regulator-name = "vreg_bob";
|
||||
regulator-min-microvolt = <3008000>;
|
||||
regulator-max-microvolt = <3960000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
|
||||
};
|
||||
|
||||
vreg_l1c_1p8: ldo1 {
|
||||
regulator-name = "vreg_l1c_1p8";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-2 {
|
||||
compatible = "qcom,pm8450-rpmh-regulators";
|
||||
qcom,pmic-id = "h";
|
||||
|
||||
vdd-s1-supply = <&vph_pwr>;
|
||||
vdd-s2-supply = <&vph_pwr>;
|
||||
vdd-s3-supply = <&vph_pwr>;
|
||||
vdd-s4-supply = <&vph_pwr>;
|
||||
vdd-s5-supply = <&vph_pwr>;
|
||||
vdd-s6-supply = <&vph_pwr>;
|
||||
|
||||
vdd-l2-supply = <&vreg_bob>;
|
||||
vdd-l3-supply = <&vreg_bob>;
|
||||
vdd-l4-supply = <&vreg_bob>;
|
||||
|
||||
vreg_s2h_0p95: smps2 {
|
||||
regulator-name = "vreg_s2h_0p95";
|
||||
regulator-min-microvolt = <848000>;
|
||||
regulator-max-microvolt = <1104000>;
|
||||
};
|
||||
};
|
||||
|
||||
regulators-3 {
|
||||
compatible = "qcom,pmr735a-rpmh-regulators";
|
||||
qcom,pmic-id = "e";
|
||||
|
||||
vdd-s1-supply = <&vph_pwr>;
|
||||
vdd-s2-supply = <&vph_pwr>;
|
||||
vdd-s3-supply = <&vph_pwr>;
|
||||
|
||||
vdd-l1-l2-supply = <&vreg_s2e_0p85>;
|
||||
vdd-l3-supply = <&vreg_s1e_1p25>;
|
||||
vdd-l4-supply = <&vreg_s1c_1p86>;
|
||||
vdd-l5-l6-supply = <&vreg_s1c_1p86>;
|
||||
vdd-l7-bob-supply = <&vreg_bob>;
|
||||
|
||||
vreg_s1e_1p25: smps1 {
|
||||
regulator-name = "vreg_s1e_1p25";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1296000>;
|
||||
};
|
||||
|
||||
vreg_s2e_0p85: smps2 {
|
||||
regulator-name = "vreg_s2e_0p85";
|
||||
regulator-min-microvolt = <500000>;
|
||||
regulator-max-microvolt = <1040000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pm8350_gpios {
|
||||
vol_up_n: vol-up-n-state {
|
||||
pins = "gpio6";
|
||||
function = "normal";
|
||||
power-source = <1>;
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
&pon_pwrkey {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pon_resin {
|
||||
status = "okay";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
};
|
||||
|
||||
&usb_1 {
|
||||
qcom,select-utmi-as-pipe-clk;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_1_dwc3 {
|
||||
dr_mode = "peripheral";
|
||||
maximum-speed = "high-speed";
|
||||
|
||||
phys = <&usb_1_hsphy>;
|
||||
phy-names = "usb2-phy";
|
||||
};
|
||||
|
||||
&usb_1_hsphy {
|
||||
status = "okay";
|
||||
vdda-pll-supply = <&vreg_l5b_0p88>;
|
||||
vdda18-supply = <&vreg_l1c_1p8>;
|
||||
vdda33-supply = <&vreg_l2b_3p07>;
|
||||
};
|
||||
|
||||
&ufs_mem_hc {
|
||||
reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>;
|
||||
|
||||
vcc-supply = <&vreg_l7b_2p5>;
|
||||
vcc-max-microamp = <1100000>;
|
||||
vccq-supply = <&vreg_l9b_1p2>;
|
||||
vccq-max-microamp = <1200000>;
|
||||
vccq2-supply = <&vreg_l9b_1p2>;
|
||||
vccq2-max-microamp = <1200000>;
|
||||
vdd-hba-supply = <&vreg_l9b_1p2>;
|
||||
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ufs_mem_phy {
|
||||
status = "okay";
|
||||
|
||||
vdda-phy-supply = <&vreg_l5b_0p88>;
|
||||
vdda-pll-supply = <&vreg_l6b_1p2>;
|
||||
};
|
||||
Reference in New Issue
Block a user