From nobody Thu Oct 2 18:17:41 2025 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8B0542D0616 for ; Sun, 14 Sep 2025 15:03:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757862224; cv=none; b=pXSNZ6NmZA0Ca8i+ygSLEiQLgGUU2/Ei9CpU0yuiAo5R52kNp4WHL0/bE8pqJduWLZhk6cghQ2rXF4Wup7bMS6b2cR6u5CdTt6D3eqhJQD/xgvR4S7hN5LPx219ot985vfnI7NfUT0EsrPUvDNuUaidAIrZDYety6xGYGMVa+Dk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757862224; c=relaxed/simple; bh=M6ZMSsxK4+YAPKl8s8J80KaNHxqid7sV7Hyqrg12pec=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RjzEQuq+VzxM7RtNW5CsHkkgfdwERyvPUbpmdNtHnVZFsS4C6qzVmtt8r5FxPkXvBZpcut5yU6GAmheKaUCT6bHo7RRVMf+Hw1QbJvMI62opoZsvcOtgCXxOOgHs6VqkzBa1UBfHPH2TG+qiKOMZFvmkT8KztxrpODe7Hy94O5g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=EJymhXqv; arc=none smtp.client-ip=209.85.221.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EJymhXqv" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-3e9ca387425so390856f8f.0 for ; Sun, 14 Sep 2025 08:03:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757862220; x=1758467020; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5KDhUOmRpPma708zXeoi8+mVcbu/SNTTJAjK5XHafPk=; b=EJymhXqvMQA5kczFtMIy6QHgZkupkqUiYsSFWDukQEXnd6ETaY28jpS0dHmvR6DUKo MfGgrjorhpFa9YtQo4Qy+jXZX2EiOzQCmdq4ymX7mgxyuGtJK8Ezh/guo4ZNRpJmmVdl vn+V//Iz4vQLK30aQG4Yqk0Oxmlg7aA33qVr9KZ18f0QLKgEhvzg9wpkLPeRzxnjpM3o 4T9bCu2ZVxgx5iWWqNmWw3a6FdavREAL7oly9w2PbE6yfFxPKLppqJ9Yiy5sFy1gQfTl lwhubJp9ISRaQQGipaJL6nWPCX0mhMuDreDkBUw2R01XN5GQtGM7Hr5amQE6FwFMgc57 3ycA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757862220; x=1758467020; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5KDhUOmRpPma708zXeoi8+mVcbu/SNTTJAjK5XHafPk=; b=Bf06XyDWYDVw4cfb+bay64iSFle5FdMWFK/s/L7s2UwwufAExisgydU4frnvK9Jzu6 C0Tswoh/LkmJyyQ0FxrCaTEHyk1Vy5VTEtyILYS9LCp4FIImHh6i2FDGnPS6aumlyVwj qfMLCbyxllrOxhH4O8DijQVYftqyPam3o4qb6s4eJLEwTJysBBOvmJYL65TvQSSfY5EP W/EARaUcXJfGYURIYPrS6w+eaxnK+lzeqnZyDDDvfdmJd1Us72UYKgCYaYdJ4kmjwzAq tPxwUDzE1trGlIGCXv7omCpFSrS90+EhAMEVZkEZ2I/1JLKi2vC8Zu2aR7Kq4Zg/szES d3Sg== X-Forwarded-Encrypted: i=1; AJvYcCWpoAsevQ4+liXBz1q/qh5ZvzAtbj1GnRj4qFjTJiDMMtynKvxAA4pjsSqnVHS+T61mNFSHsAqHkMRrIk4=@vger.kernel.org X-Gm-Message-State: AOJu0Yz5pymow2xb8oTlHsKk46HT1w0/0u2EuUgWpf8zTaxJonAtW6wJ WQtbY//X6W1thi7d7IHREHYrOmbF9beBXshqt3DQwrbUNQisYhF7eo7i X-Gm-Gg: ASbGncsqQHl8eg/T+Li6u1UkXBA7h5VygJEN9B3mzFDjJgieWqGSjEjjgmsQxNbccb/ C7rOr17Oh3FzJLOVd0At3W/NG7R5lykysff3cnlrKy/l27WgNQNVGhclJfsi0huZfUU3LcQ77TT mndUFohiZGpphyqVZuxP+Bf9xarMJzUjbsVqQs0kAq+lznU1AE2TI+ndc/M9qz47t/sx9+mHFVT U43ffeD1jUO/75tJQpNyZsdjHpPtGPpFWWh7qgC0a3usEFP+NP477GVIcc+IaSYtVsQd4xWhRpD tsPd5UoI+IxA88hcUsbmxk3zWAzXRq06q4n3NYAiUVlMnc9VfphOd/y0S5GBBgdORGaVf4cgf9D 3Li/Uq3sExE/P+yDRvO7yFvuZy26DdpIWXeoL7G8FvGjATTqGfpBotZN3kgBE18na/7hdlpNZ4A == X-Google-Smtp-Source: AGHT+IHRJ/8AOJVZsii76GUZ0HhcxqLkQ5DDL2gMAC1KKsMtOo84S/mslUv0y+ZEmI3HI/gKPPIbFA== X-Received: by 2002:a5d:5885:0:b0:3ea:dd2b:5d3 with SMTP id ffacd0b85a97d-3eadd2b07cemr66292f8f.17.1757862219613; Sun, 14 Sep 2025 08:03:39 -0700 (PDT) Received: from ivaylo-T580.. (91-139-201-119.stz.ddns.bulsat.com. [91.139.201.119]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45f2acbeee0sm32780385e9.0.2025.09.14.08.03.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Sep 2025 08:03:39 -0700 (PDT) From: Ivaylo Ivanov To: Krzysztof Kozlowski , Rob Herring , Conor Dooley , Alim Akhtar Cc: linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v1 3/3] arm64: dts: exynos: add initial support for Samsung Galaxy S7 Date: Sun, 14 Sep 2025 18:03:21 +0300 Message-ID: <20250914150321.2632019-4-ivo.ivanov.ivanov1@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250914150321.2632019-1-ivo.ivanov.ivanov1@gmail.com> References: <20250914150321.2632019-1-ivo.ivanov.ivanov1@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Samsung Galaxy S7 (SM-G930F), codenamed herolte, is a mobile phone from 2016. It features 4GB RAM, 32/64GB UFS 2.0, Exynos 8890 SoC and a 1440x2960 Super AMOLED display. Implement initial support for this device, including: - simple-framebuffer - gpio-keys - s2mps16 and max77838 - mmc - usb, configured to be in peripheral mode Signed-off-by: Ivaylo Ivanov --- arch/arm64/boot/dts/exynos/Makefile | 1 + .../boot/dts/exynos/exynos8890-herolte.dts | 573 ++++++++++++++++++ 2 files changed, 574 insertions(+) create mode 100644 arch/arm64/boot/dts/exynos/exynos8890-herolte.dts diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exyn= os/Makefile index bdb9e9813..80e9901af 100644 --- a/arch/arm64/boot/dts/exynos/Makefile +++ b/arch/arm64/boot/dts/exynos/Makefile @@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) +=3D \ exynos7870-on7xelte.dtb \ exynos7885-jackpotlte.dtb \ exynos850-e850-96.dtb \ + exynos8890-herolte.dtb \ exynos8895-dreamlte.dtb \ exynos9810-starlte.dtb \ exynos990-c1s.dtb \ diff --git a/arch/arm64/boot/dts/exynos/exynos8890-herolte.dts b/arch/arm64= /boot/dts/exynos/exynos8890-herolte.dts new file mode 100644 index 000000000..461fa256d --- /dev/null +++ b/arch/arm64/boot/dts/exynos/exynos8890-herolte.dts @@ -0,0 +1,573 @@ +// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause +/* + * Samsung Galaxy S7 (herolte/SM-G930F) device tree source + * + * Copyright (c) 2025 Ivaylo Ivanov + */ + +/dts-v1/; +#include "exynos8890.dtsi" +#include +#include +#include + +/ { + model =3D "Samsung Galaxy S7 (SM-G930F)"; + compatible =3D "samsung,herolte", "samsung,exynos8890"; + chassis-type =3D "handset"; + + aliases { + mmc0 =3D &mmc; + }; + + chosen { + #address-cells =3D <2>; + #size-cells =3D <1>; + ranges; + + framebuffer@e2a00000 { + compatible =3D "simple-framebuffer"; + reg =3D <0x0 0xe2a00000 (1440 * 2560 * 4)>; + + width =3D <1440>; + height =3D <2560>; + stride =3D <(1440 * 4)>; + format =3D "a8r8g8b8"; + + /* these are required until there's a display driver */ + vci-supply =3D <&max77838_ldo1>; + vdd3-supply =3D <&max77838_ldo3>; + }; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + + pinctrl-0 =3D <&key_power &key_voldown &key_volup>; + pinctrl-names =3D "default"; + + power-key { + label =3D "Power"; + gpios =3D <&gpa2 4 GPIO_ACTIVE_LOW>; + wakeup-source; + linux,code =3D ; + }; + + voldown-key { + label =3D "Volume Down"; + gpios =3D <&gpa0 4 GPIO_ACTIVE_LOW>; + linux,code =3D ; + }; + + volup-key { + label =3D "Volume Up"; + gpios =3D <&gpa0 3 GPIO_ACTIVE_LOW>; + linux,code =3D ; + }; + }; + + memory@80000000 { + device_type =3D "memory"; + reg =3D <0x0 0x80000000 0x7e400000>, + <0x8 0x80000000 0x80000000>; + }; + + reserved-memory { + #address-cells =3D <2>; + #size-cells =3D <1>; + ranges; + + ramoops@92000000 { + compatible =3D "ramoops"; + reg =3D <0x0 0x92000000 0x8000>; + console-size =3D <0x4000>; + record-size =3D <0x4000>; + }; + + cont_splash_mem: framebuffer@e2a00000 { + reg =3D <0x0 0xe2a00000 (1440 * 2560 * 4)>; + no-map; + }; + }; + + vdd_fixed_mmc: regulator-fixed-mmc { + compatible =3D "regulator-fixed"; + + enable-active-high; + gpio =3D <&gpa3 7 GPIO_ACTIVE_HIGH>; + + regulator-max-microvolt =3D <2800000>; + regulator-min-microvolt =3D <2800000>; + regulator-name =3D "vdd_fixed_mmc"; + }; +}; + +&gpu { + /* we can only afford a slightly higher rate till there's dvfs */ + assigned-clocks =3D <&cmu_top CLK_FOUT_G3D_PLL>; + assigned-clock-rates =3D <455000000>; + + mali-supply =3D <&s2mps16_buck6>; + + status =3D "okay"; +}; + +&hsi2c_7 { + status =3D "okay"; + + touchscreen@48 { + compatible =3D "samsung,s6sa552"; + reg =3D <0x48>; + + avdd-supply =3D <&s2mps16_ldo33>; + vdd-supply =3D <&s2mps16_ldo32>; + + interrupt-parent =3D <&gpa1>; + interrupts =3D <0 IRQ_TYPE_LEVEL_LOW>; + + pinctrl-0 =3D <&ts_int>; + pinctrl-names =3D "default"; + }; +}; + +&hsi2c_10 { + status =3D "okay"; + + pmic@60 { + compatible =3D "maxim,max77838"; + reg =3D <0x60>; + + regulators { + max77838_ldo1: ldo1 { + regulator-boot-on; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-name =3D "max77838_ldo1"; + }; + + max77838_ldo2: ldo2 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-name =3D "max77838_ldo2"; + }; + + max77838_ldo3: ldo3 { + regulator-boot-on; + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3000000>; + regulator-name =3D "max77838_ldo3"; + }; + + max77838_ldo4: ldo4 { + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-name =3D "max77838_ldo4"; + }; + + max77838_buck: buck { + regulator-boot-on; + regulator-min-microvolt =3D <1600000>; + regulator-max-microvolt =3D <1600000>; + regulator-name =3D "max77838_buck"; + }; + }; + }; +}; + +&hsi2c_15 { + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "okay"; + + pmic@66 { + compatible =3D "samsung,s2mps16-pmic"; + reg =3D <0x66>; + interrupts =3D <2 IRQ_TYPE_LEVEL_LOW>; + interrupt-parent =3D <&gpa0>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pmic_irq>; + wakeup-source; + + s2mps16_osc: clocks { + compatible =3D "samsung,s2mps16-clk"; + #clock-cells =3D <1>; + clock-output-names =3D "s2mps16_ap", "s2mps16_cp", + "s2mps16_bt"; + }; + + regulators { + s2mps16_buck1: buck1 { + regulator-always-on; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1000000>; + regulator-name =3D "vdd_buck1"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_buck2: buck2 { + regulator-always-on; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1575000>; + regulator-name =3D "vdd_buck2"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_buck3: buck3 { + regulator-always-on; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1475000>; + regulator-name =3D "vdd_buck3"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_buck4: buck4 { + regulator-always-on; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1000000>; + regulator-name =3D "vdd_buck4"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_buck5: buck5 { + regulator-always-on; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1000000>; + regulator-name =3D "vdd_buck5"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_buck6: buck6 { + regulator-always-on; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1000000>; + regulator-name =3D "vdd_buck6"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_buck7: buck7 { + regulator-always-on; + regulator-min-microvolt =3D <900000>; + regulator-max-microvolt =3D <1300000>; + regulator-name =3D "vdd_buck7"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_buck8: buck8 { + regulator-always-on; + regulator-min-microvolt =3D <1000000>; + regulator-max-microvolt =3D <1500000>; + regulator-name =3D "vdd_buck8"; + regulator-ramp-delay =3D <2000>; + }; + + s2mps16_buck9: buck9 { + regulator-always-on; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2100000>; + regulator-name =3D "vdd_buck9"; + regulator-ramp-delay =3D <2700>; + }; + + /* buck10 is used for CP but lacks documentation */ + + s2mps16_buck11: buck11 { + regulator-always-on; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1300000>; + regulator-name =3D "vdd_buck11"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo1: ldo1 { + regulator-always-on; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <900000>; + regulator-name =3D "vdd_ldo1"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo2: ldo2 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2800000>; + regulator-name =3D "vdd_ldo2"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo3: ldo3 { + regulator-always-on; + regulator-min-microvolt =3D <1620000>; + regulator-max-microvolt =3D <1980000>; + regulator-name =3D "vdd_ldo3"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo4: ldo4 { + regulator-always-on; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <1110000>; + regulator-name =3D "vdd_ldo4"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo5: ldo5 { + regulator-always-on; + regulator-min-microvolt =3D <1625000>; + regulator-max-microvolt =3D <1975000>; + regulator-ramp-delay =3D <12000>; + regulator-name =3D "vdd_ldo5"; + }; + + s2mps16_ldo6: ldo6 { + regulator-always-on; + regulator-min-microvolt =3D <2250000>; + regulator-max-microvolt =3D <3300000>; + regulator-ramp-delay =3D <12000>; + regulator-name =3D "vdd_ldo6"; + }; + + s2mps16_ldo7: ldo7 { + regulator-always-on; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1250000>; + regulator-ramp-delay =3D <12000>; + regulator-name =3D "vdd_ldo7"; + }; + + s2mps16_ldo8: ldo8 { + regulator-always-on; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1000000>; + regulator-name =3D "vdd_ldo8"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo9: ldo9 { + regulator-always-on; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1000000>; + regulator-name =3D "vdd_ldo9"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo10: ldo10 { + regulator-always-on; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1200000>; + regulator-name =3D "vdd_ldo10"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo11: ldo11 { + regulator-always-on; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1000000>; + regulator-name =3D "vdd_ldo11"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo12: ldo12 { + regulator-always-on; + regulator-min-microvolt =3D <1000000>; + regulator-max-microvolt =3D <1300000>; + regulator-name =3D "vdd_ldo12"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo13: ldo13 { + regulator-always-on; + regulator-min-microvolt =3D <1000000>; + regulator-max-microvolt =3D <1300000>; + regulator-name =3D "vdd_ldo13"; + regulator-ramp-delay =3D <12000>; + }; + + /* ldo14-24 are used for CP but lack documentation */ + + s2mps16_ldo25: ldo25 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1000000>; + regulator-name =3D "vdd_ldo25"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo26: ldo26 { + regulator-min-microvolt =3D <1000000>; + regulator-max-microvolt =3D <1200000>; + regulator-name =3D "vdd_ldo26"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo27: ldo27 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-name =3D "vdd_ldo27"; + regulator-ramp-delay =3D <12000>; + }; + + s2mps16_ldo28: ldo28 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-name =3D "vdd_ldo28"; + }; + + s2mps16_ldo29: ldo29 { + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-name =3D "vdd_ldo29"; + }; + + s2mps16_ldo30: ldo30 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-name =3D "vdd_ldo30"; + }; + + s2mps16_ldo31: ldo31 { + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-name =3D "vdd_ldo31"; + }; + + s2mps16_ldo32: ldo32 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-name =3D "vdd_ldo32"; + }; + + s2mps16_ldo33: ldo33 { + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-name =3D "vdd_ldo33"; + }; + + s2mps16_ldo34: ldo34 { + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-name =3D "vdd_ldo34"; + }; + + s2mps16_ldo35: ldo35 { + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3000000>; + regulator-name =3D "vdd_ldo35"; + }; + + s2mps16_ldo36: ldo36 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-name =3D "vdd_ldo36"; + }; + + s2mps16_ldo37: ldo37 { + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-name =3D "vdd_ldo37"; + }; + }; + }; +}; + +&mmc { + bus-width =3D <4>; + + card-detect-delay =3D <200>; + cd-gpios =3D <&gpa1 5 GPIO_ACTIVE_LOW>; + + clock-frequency =3D <800000000>; + + disable-wp; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &sd2_cd>; + + sd-uhs-sdr50; + sd-uhs-sdr104; + + vmmc-supply =3D <&vdd_fixed_mmc>; + vqmmc-supply =3D <&s2mps16_ldo2>; + + samsung,dw-mshc-ciu-div =3D <3>; + samsung,dw-mshc-sdr-timing =3D <0 2>; + samsung,dw-mshc-ddr-timing =3D <1 2>; + + status =3D "okay"; +}; + +&oscclk { + clock-frequency =3D <26000000>; +}; + +&pinctrl_alive { + key_power: key-power-pins { + samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pins =3D "gpa2-4"; + }; + + key_voldown: key-voldown-pins { + samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pins =3D "gpa0-4"; + }; + + key_volup: key-volup-pins { + samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pins =3D "gpa0-3"; + }; + + pmic_irq: pmic-irq-pins { + samsung,pin-drv =3D ; + samsung,pin-pud =3D ; + samsung,pins =3D "gpa0-3"; + }; + + sd2_cd: sd2-cd-pins { + samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pins =3D "gpa1-5"; + }; + + ts_int: ts-int-pins { + samsung,pin-drv =3D ; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pins =3D "gpa1-0"; + }; +}; + +&usbdrd30 { + vdd10-supply =3D <&s2mps16_ldo4>; + vdd33-supply =3D <&s2mps16_ldo6>; + status =3D "okay"; +}; + +&usbdrd30_dwc3 { + dr_mode =3D "otg"; + maximum-speed =3D "high-speed"; + role-switch-default-mode =3D "peripheral"; + usb-role-switch; + status =3D "okay"; +}; + +&usbdrd30_phy { + /* TODO: connect with muic, add regulators */ + status =3D "okay"; +}; + +&serial_4 { + /* multiplexed over muic */ + status =3D "okay"; +}; --=20 2.43.0