From nobody Mon Mar 23 19:50:49 2026 Received: from mail-244116.protonmail.ch (mail-244116.protonmail.ch [109.224.244.116]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8BDD03AE18C; Mon, 23 Mar 2026 13:54:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=109.224.244.116 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774274088; cv=none; b=BLMmXMn2D6Eh5yeXaaffreuQOfML4QNNQ2ERYemPdF1A7ZTx/XE4TH8p+fzbKQma7FX/1qdcGOi/+lc4ZyfHOxfT8a0fV4XH3MMzNw4C6GkaP5YQN02kW/rUpL3+BJeY4PrulszIujz+l3+vde+G1tQXOyZ0+BS5QheUNV8dnco= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774274088; c=relaxed/simple; bh=CJ05O/D3YyINstpoJfjOM1H2gNnTSCwwOkhDciVwz48=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=g6f4FQGeEkajhVtIV6yuwne6mMiTd4OTl0hNuKF2JgMTemXFJseYTa+zKfkuDaH9aiWAb2IlRZrVaeKKU/eKbYmnXZCr6B6BfIb/WCH2ssPwu4pC9K51hzsFr/gf8wc8SFdoeme5qitjguF3qXDCgGnuNsUJEfO8lgKJAX+0yGA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=pm.me; spf=pass smtp.mailfrom=pm.me; dkim=pass (2048-bit key) header.d=pm.me header.i=@pm.me header.b=FkOPBNOH; arc=none smtp.client-ip=109.224.244.116 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=pm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=pm.me header.i=@pm.me header.b="FkOPBNOH" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pm.me; s=protonmail3; t=1774274085; x=1774533285; bh=BDNCp6uII1CrHPsn/n4iEUtlyhyWeKsnKrHaZIh5o/c=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=FkOPBNOH4H8c62h6M+sEw3DpvAzAJ5LV19rhe7xTz59BeMlUXkLA9Fwovkl1RtVVy WG0vfRtsMeQv54jzGsEcrQehlnNi0DGHon2IxDQt6XH1xTD0ykPlHzfPBhWCsXqifP t+EazgOmyXHbHfPLpHmHMo84fbbMZbf/tONvUxTH5npKUTjSmcSdkzB4KGaFm64nzK qG9d3SVBhtH5qWsOSORXusfXQ+Ja1Ck8Sd9AXHNHfT0nHhfNhZSkSKyOcsusRjGL4s 9H8tMFY/rq/PEuY8LiG4mOp/nFBZoj1B42gbWaPmUOAktM0P+tViyXT1DUFX534stY g4AGX96GccSbg== Date: Mon, 23 Mar 2026 13:54:42 +0000 To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , Luca Weiss , Dmitry Baryshkov From: Alexander Koskovich Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio , Alexander Koskovich Subject: [PATCH v2 1/3] arm64: dts: qcom: milos: Reduce rmtfs_mem size to 2.5MiB Message-ID: <20260323-asteroids-v2-1-1a35fa9e178a@pm.me> In-Reply-To: <20260323-asteroids-v2-0-1a35fa9e178a@pm.me> References: <20260323-asteroids-v2-0-1a35fa9e178a@pm.me> Feedback-ID: 37836894:user:proton X-Pm-Message-ID: e222cd248fb651b7434a62ed8b527f518beb0b76 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" The rmtfs_mem region is currently sized at 6MiB but the default for milos downstream is 2.5MiB. This causes remoteproc crashes on devices that expect the smaller size: modem_ac.c:281:Access Control Error: Could not protect the region specified= :Start:e1f00000 End:e2180000, PID:1 Reduce the default to 2.5MiB to match the QCOM downstream config, and override the size for FP6. Fixes: d9d59d105f98 ("arm64: dts: qcom: Add initial Milos dtsi") Reviewed-by: Luca Weiss Reviewed-by: Konrad Dybcio Signed-off-by: Alexander Koskovich --- arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts | 5 +++++ arch/arm64/boot/dts/qcom/milos.dtsi | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts b/arch/arm64/= boot/dts/qcom/milos-fairphone-fp6.dts index 52895dd9e4fa..5663ab4589f3 100644 --- a/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts +++ b/arch/arm64/boot/dts/qcom/milos-fairphone-fp6.dts @@ -724,6 +724,11 @@ &remoteproc_wpss { status =3D "okay"; }; =20 +&rmtfs_mem { + /* Increase the size from 2.5 MiB to 6 MiB */ + reg =3D <0x0 0xe1f00000 0x0 0x600000>; +}; + &sdhc_2 { cd-gpios =3D <&tlmm 65 GPIO_ACTIVE_HIGH>; =20 diff --git a/arch/arm64/boot/dts/qcom/milos.dtsi b/arch/arm64/boot/dts/qcom= /milos.dtsi index e1a51d43943f..915642498516 100644 --- a/arch/arm64/boot/dts/qcom/milos.dtsi +++ b/arch/arm64/boot/dts/qcom/milos.dtsi @@ -640,7 +640,7 @@ cpusys_vm_mem: cpusys-vm-region@e0600000 { =20 rmtfs_mem: rmtfs@e1f00000 { compatible =3D "qcom,rmtfs-mem"; - reg =3D <0x0 0xe1f00000 0x0 0x600000>; + reg =3D <0x0 0xe1f00000 0x0 0x280000>; no-map; =20 qcom,client-id =3D <1>; --=20 2.53.0 From nobody Mon Mar 23 19:50:49 2026 Received: from mail-10631.protonmail.ch (mail-10631.protonmail.ch [79.135.106.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 443CB21D00A for ; Mon, 23 Mar 2026 13:55:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=79.135.106.31 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774274109; cv=none; b=EN0NKGgxUaJSna0G2hC0vO0qG4TTv8K0R3FlijK2esX/lP+jYNm/lAM8ypg14pxEZo0+RbuiCx3GR0154WE4MwEWLcOPXI4SYiVrgqZPd9JruWToNmEXmbvR+9/5iVb4tQtN9XgLd6Uz02YbjR6LYLo9ttTcBcCumxcHqktakuw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774274109; c=relaxed/simple; bh=UEreFWWLBJFmuAItGcpZ6+qXRrOzHIy6NJZREzOyEiE=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=C3Uqm+rb9borjKsha1aKUDmhulm7oEEqQaoFMDoAfOdeDgc3VUeH2t2nM1TkeEjdWHjnUbyigUPnY00VS3zhKabHWUusGAmz7QmFjdbKZ+IOw2PPKiMPuL+Z6Udcur77jQ5Nt3Hk644UXL4LxhX9qP6OmSy7+lnAVLgtKA1gR1U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=pm.me; spf=pass smtp.mailfrom=pm.me; dkim=pass (2048-bit key) header.d=pm.me header.i=@pm.me header.b=foC1RS1p; arc=none smtp.client-ip=79.135.106.31 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=pm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=pm.me header.i=@pm.me header.b="foC1RS1p" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pm.me; s=protonmail3; t=1774274100; x=1774533300; bh=+ZWa3YsogKXIEf9nJdsmauSQWEO86dinJQD1mqooGYY=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=foC1RS1pbyuBdbxaP4H8ElDqck8m5msmyx4ZqTKCNYWrOQuNBtmnk3XRIyMmHXEK7 54uizq8yomxzPbag18+1GkBcBhtKTJe0mAlRaFJoQY3b78eTV7cAklUl40cSp5R4Yi QQmbnZ1c5f14yF60R9Dogzboew4bF6VpXodL0Q6LClxNU8NgxD331sE/iQeZQ/NySI XOcfIkkntShYI5jhAmxWjo6AYlVOh5foVKbEcV22OV8mw9zmMznpjXpM1ItTsYyZ8U qGGKG3rgeJjkZY2B2lNDqCkk43MbUAW0unC2S2EvXtzaUMVsv9d4YmDq9Pxv3mzUQy lrIN8LWV9V/eA== Date: Mon, 23 Mar 2026 13:54:53 +0000 To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , Luca Weiss , Dmitry Baryshkov From: Alexander Koskovich Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio , Alexander Koskovich , Krzysztof Kozlowski Subject: [PATCH v2 2/3] dt-bindings: arm: qcom: Add the Nothing Phone (3a) Message-ID: <20260323-asteroids-v2-2-1a35fa9e178a@pm.me> In-Reply-To: <20260323-asteroids-v2-0-1a35fa9e178a@pm.me> References: <20260323-asteroids-v2-0-1a35fa9e178a@pm.me> Feedback-ID: 37836894:user:proton X-Pm-Message-ID: d7eb4e224a96784ac3c4ac5098eba0780e4f4fb9 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" Document the Milos-based Nothing Phone (3a) smartphone. Acked-by: Krzysztof Kozlowski Signed-off-by: Alexander Koskovich --- Documentation/devicetree/bindings/arm/qcom.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentatio= n/devicetree/bindings/arm/qcom.yaml index d48c625d3fc4..63b55a7fbdae 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -64,6 +64,7 @@ properties: - items: - enum: - fairphone,fp6 + - nothing,asteroids - const: qcom,milos =20 - items: --=20 2.53.0 From nobody Mon Mar 23 19:50:49 2026 Received: from mail-43102.protonmail.ch (mail-43102.protonmail.ch [185.70.43.102]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5D09E21D00A; Mon, 23 Mar 2026 13:55:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.70.43.102 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774274115; cv=none; b=JEE95axM3eP1YANmbD41EsPPJz/zSkpvcqEyyCnjLYa0lrhAKGHQ1I4RvN1l7+qIf05ac6znYF8iGkzFqJ134zKu4hSXPi9vwK6l6kP0UwF0TVY1nUkGMr2rCGiOYKMocDGNNy7uzRfQkR4LvlcD/7gTjF95/ff1es28afOPSCw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774274115; c=relaxed/simple; bh=JPKqyaITQ5uHiCHRYwA4d7w8vTHrooLIjg63PQUoXrc=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=jQ3gxDB3HEoBnLuxXZd3fKNxu+vNgJoT8QQlJonuRCmeZSRjP2w2o3bCE0t0JKfosVHHXhpEl7suBerSx4QZa5Pn8cwrswxW7rbfy+VgXFRdYeC7rrcDdEKuFo+ZFNKqINWOFfALCHhKA1gWAlW2kFD/8NWRYaH4tfY5Jdhjj/w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=pm.me; spf=pass smtp.mailfrom=pm.me; dkim=pass (2048-bit key) header.d=pm.me header.i=@pm.me header.b=jLGAffn/; arc=none smtp.client-ip=185.70.43.102 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=pm.me Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pm.me Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=pm.me header.i=@pm.me header.b="jLGAffn/" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pm.me; s=protonmail3; t=1774274110; x=1774533310; bh=feWEHvnJhw0p+uvNK12oWJsw4XdghZSjVbsCcwS4RZw=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=jLGAffn/wxhsR1RI67WTTsj/60KWMy1Sdn+hVx6pf+cjBgJWLBgRROhpx5ILUPv+A h+iWFtkBZQu4D2iI9Dqbn2v8LdGgSfpniBdT1HXjUZwUqWTUjIdDfYYi1qfB8xczxJ dGCGp0GtHTe+lqOC0haWPXZ2/TKG8ImmfKwjIHJl1kPfxZTnL9wpA602z0c/ZNp+UI 7MPbeiBIa8Nt587zOIOGu3epwDe/Dc4d29+RzTu1tVwMFfdq4lcBkFg6eF/nJrW9lQ sP8A2YEq2TzTap15ADNVFMhgxOH9yLGHpddmHuuehJZXwe02ruST5s7Z48uH9LELs0 hGueXQTFVLXOQ== Date: Mon, 23 Mar 2026 13:55:05 +0000 To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , Luca Weiss , Dmitry Baryshkov From: Alexander Koskovich Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Konrad Dybcio , Alexander Koskovich Subject: [PATCH v2 3/3] arm64: dts: qcom: Add the Nothing Phone (3a) Message-ID: <20260323-asteroids-v2-3-1a35fa9e178a@pm.me> In-Reply-To: <20260323-asteroids-v2-0-1a35fa9e178a@pm.me> References: <20260323-asteroids-v2-0-1a35fa9e178a@pm.me> Feedback-ID: 37836894:user:proton X-Pm-Message-ID: 420df30b2f17ef1864a90e4114c89e7ef8592eb7 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" Add a devicetree for the Nothing Phone (3a) smartphone, which is based on the Milos/SM7635 SoC. Supported functionality as of this initial submission: * Camera flash/torch LED * Debug UART * Glyph LEDs (AW20036) * PMIC-GLINK (Charger, Fuel gauge, USB-C mode switching) * Assistant Key, Power Button, Volume Keys * Regulators (PM7550, PM8550VS, PMR735B) * Remoteprocs (ADSP, CDSP, MPSS, WPSS) * USB (USB2 + FSA4480) Reviewed-by: Konrad Dybcio Signed-off-by: Alexander Koskovich --- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/milos-nothing-asteroids.dts | 964 +++++++++++++++++= ++++ 2 files changed, 965 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index f80b5d9cf1e8..bb7ac369682c 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -44,6 +44,7 @@ lemans-evk-el2-dtbs :=3D lemans-evk.dtb lemans-el2.dtbo =20 dtb-$(CONFIG_ARCH_QCOM) +=3D lemans-evk-el2.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D milos-fairphone-fp6.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D milos-nothing-asteroids.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D monaco-evk.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8216-samsung-fortuna3g.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D msm8916-acer-a1-724.dtb diff --git a/arch/arm64/boot/dts/qcom/milos-nothing-asteroids.dts b/arch/ar= m64/boot/dts/qcom/milos-nothing-asteroids.dts new file mode 100644 index 000000000000..7393978926e4 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/milos-nothing-asteroids.dts @@ -0,0 +1,964 @@ +// SPDX-License-Identifier: BSD-3-Clause + +/dts-v1/; + +#define PMIV0104_SID 7 + +#include +#include +#include + +#include "milos.dtsi" +#include "pm7550.dtsi" +#include "pm8550vs.dtsi" +#include "pmiv0104.dtsi" /* PMIV0102 */ +#include "pmk8550.dtsi" /* PMK7635 */ +#include "pmr735b.dtsi" + +/ { + model =3D "Nothing Phone (3a)"; + compatible =3D "nothing,asteroids", "qcom,milos"; + chassis-type =3D "handset"; + + aliases { + serial0 =3D &uart5; + }; + + chosen { + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + stdout-path =3D "serial0:115200n8"; + + framebuffer0: framebuffer@e3940000 { + compatible =3D "simple-framebuffer"; + reg =3D <0x0 0xe3940000 0x0 (2392 * 1080 * 4)>; + width =3D <1080>; + height =3D <2392>; + stride =3D <(1080 * 4)>; + format =3D "a8r8g8b8"; + panel =3D <&panel>; + interconnects =3D <&mmss_noc MASTER_MDP QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + clocks =3D <&gcc GCC_DISP_HF_AXI_CLK>; + + /* Dummy panel for simple-framebuffer dimension info */ + panel: dummy-panel { + compatible =3D "boe,bf068mwm-td0"; + height-mm =3D <157>; + width-mm =3D <71>; + }; + }; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + + pinctrl-0 =3D <&assist_default>, <&volume_up_default>; + pinctrl-names =3D "default"; + + key-assist { + gpios =3D <&tlmm 71 GPIO_ACTIVE_LOW>; + label =3D "Assistant"; + linux,code =3D ; + }; + + key-volume-up { + gpios =3D <&pm7550_gpios 6 GPIO_ACTIVE_LOW>; + label =3D "Volume Up"; + linux,code =3D ; + }; + }; + + pmic-glink { + compatible =3D "qcom,milos-pmic-glink", + "qcom,sm8550-pmic-glink", + "qcom,pmic-glink"; + #address-cells =3D <1>; + #size-cells =3D <0>; + orientation-gpios =3D <&tlmm 131 GPIO_ACTIVE_HIGH>; + + connector@0 { + compatible =3D "usb-c-connector"; + reg =3D <0>; + + data-role =3D "dual"; + power-role =3D "dual"; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + pmic_glink_hs_in: endpoint { + remote-endpoint =3D <&usb_1_dwc3_hs>; + }; + }; + + port@1 { + reg =3D <1>; + + pmic_glink_sbu: endpoint { + remote-endpoint =3D <&fsa4480_sbu_mux>; + }; + }; + }; + }; + }; + + vph_pwr: regulator-vph-pwr { + compatible =3D "regulator-fixed"; + regulator-name =3D "vph_pwr"; + regulator-min-microvolt =3D <3700000>; + regulator-max-microvolt =3D <3700000>; + + regulator-always-on; + regulator-boot-on; + }; + + reserved-memory { + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + ramoops@81f20000 { + compatible =3D "ramoops"; + reg =3D <0x0 0x81f20000 0x0 0x400000>; + console-size =3D <0x200000>; + mem-type =3D <2>; + pmsg-size =3D <0x200000>; + }; + + /* + * ABL is powering down display and controller if this node is + * not named exactly "splash_region". + */ + splash_region@e3940000 { + reg =3D <0x0 0xe3940000 0x0 0x2b00000>; + no-map; + }; + }; +}; + +&apps_rsc { + regulators-0 { + compatible =3D "qcom,pm7550-rpmh-regulators"; + + vdd-l1-supply =3D <&vreg_s1b>; + vdd-l2-l3-supply =3D <&vreg_s3b>; + vdd-l4-l5-supply =3D <&vreg_s2b>; + vdd-l7-supply =3D <&vreg_s1b>; + vdd-l8-supply =3D <&vreg_s1b>; + vdd-l9-l10-supply =3D <&vreg_s1b>; + vdd-l11-supply =3D <&vreg_s1b>; + vdd-l12-l14-supply =3D <&vreg_bob>; + vdd-l13-l16-supply =3D <&vreg_bob>; + vdd-l15-l17-l18-l19-l20-l21-l22-l23-supply =3D <&vreg_bob>; + vdd-s1-supply =3D <&vph_pwr>; + vdd-s2-supply =3D <&vph_pwr>; + vdd-s3-supply =3D <&vph_pwr>; + vdd-s4-supply =3D <&vph_pwr>; + vdd-s5-supply =3D <&vph_pwr>; + vdd-s6-supply =3D <&vph_pwr>; + vdd-bob-supply =3D <&vph_pwr>; + + qcom,pmic-id =3D "b"; + + vreg_s1b: smps1 { + regulator-name =3D "vreg_s1b"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2080000>; + regulator-initial-mode =3D ; + }; + + vreg_s2b: smps2 { + regulator-name =3D "vreg_s2b"; + regulator-min-microvolt =3D <1256000>; + regulator-max-microvolt =3D <1408000>; + regulator-initial-mode =3D ; + }; + + vreg_s3b: smps3 { + regulator-name =3D "vreg_s3b"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <1040000>; + regulator-initial-mode =3D ; + }; + + vreg_s4b: smps4 { + regulator-name =3D "vreg_s4b"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <1004000>; + regulator-initial-mode =3D ; + }; + + vreg_l1b: ldo1 { + regulator-name =3D "vreg_l1b"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l2b: ldo2 { + regulator-name =3D "vreg_l2b"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + }; + + vreg_l3b: ldo3 { + regulator-name =3D "vreg_l3b"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + }; + + vreg_l4b: ldo4 { + regulator-name =3D "vreg_l4b"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + }; + + vreg_l5b: ldo5 { + regulator-name =3D "vreg_l5b"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + }; + + vreg_l7b: ldo7 { + regulator-name =3D "vreg_l7b"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l8b: ldo8 { + regulator-name =3D "vreg_l8b"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l9b: ldo9 { + regulator-name =3D "vreg_l9b"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l10b: ldo10 { + regulator-name =3D "vreg_l10b"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l11b: ldo11 { + regulator-name =3D "vreg_l11b"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l12b: ldo12 { + regulator-name =3D "vreg_l12b"; + regulator-min-microvolt =3D <2952000>; + regulator-max-microvolt =3D <2952000>; + regulator-initial-mode =3D ; + }; + + vreg_l13b: ldo13 { + regulator-name =3D "vreg_l13b"; + regulator-min-microvolt =3D <2700000>; + regulator-max-microvolt =3D <3300000>; + regulator-initial-mode =3D ; + }; + + vreg_l14b: ldo14 { + regulator-name =3D "vreg_l14b"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3304000>; + regulator-initial-mode =3D ; + }; + + vreg_l15b: ldo15 { + regulator-name =3D "vreg_l15b"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3304000>; + regulator-initial-mode =3D ; + }; + + vreg_l16b: ldo16 { + regulator-name =3D "vreg_l16b"; + regulator-min-microvolt =3D <3008000>; + regulator-max-microvolt =3D <3008000>; + regulator-initial-mode =3D ; + }; + + vreg_l17b: ldo17 { + regulator-name =3D "vreg_l17b"; + regulator-min-microvolt =3D <3104000>; + regulator-max-microvolt =3D <3104000>; + regulator-initial-mode =3D ; + }; + + vreg_l18b: ldo18 { + regulator-name =3D "vreg_l18b"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-initial-mode =3D ; + }; + + vreg_l19b: ldo19 { + regulator-name =3D "vreg_l19b"; + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3000000>; + regulator-initial-mode =3D ; + }; + + vreg_l20b: ldo20 { + regulator-name =3D "vreg_l20b"; + regulator-min-microvolt =3D <1620000>; + regulator-max-microvolt =3D <3544000>; + regulator-initial-mode =3D ; + }; + + vreg_l21b: ldo21 { + regulator-name =3D "vreg_l21b"; + regulator-min-microvolt =3D <1620000>; + regulator-max-microvolt =3D <3544000>; + regulator-initial-mode =3D ; + }; + + vreg_l22b: ldo22 { + regulator-name =3D "vreg_l22b"; + regulator-min-microvolt =3D <3200000>; + regulator-max-microvolt =3D <3200000>; + regulator-initial-mode =3D ; + }; + + vreg_l23b: ldo23 { + regulator-name =3D "vreg_l23b"; + regulator-min-microvolt =3D <1650000>; + regulator-max-microvolt =3D <3544000>; + regulator-initial-mode =3D ; + }; + + vreg_bob: bob { + regulator-name =3D "vreg_bob"; + regulator-min-microvolt =3D <3008000>; + regulator-max-microvolt =3D <3960000>; + regulator-initial-mode =3D ; + }; + }; + + regulators-1 { + compatible =3D "qcom,pm8550vs-rpmh-regulators"; + + vdd-l1-supply =3D <&vreg_s3b>; + vdd-l2-supply =3D <&vreg_s3b>; + vdd-l3-supply =3D <&vreg_s3b>; + vdd-s3-supply =3D <&vph_pwr>; + vdd-s4-supply =3D <&vph_pwr>; + vdd-s5-supply =3D <&vph_pwr>; + vdd-s6-supply =3D <&vph_pwr>; + + qcom,pmic-id =3D "c"; + + vreg_s3c: smps3 { + regulator-name =3D "vreg_s3c"; + regulator-min-microvolt =3D <1010000>; + regulator-max-microvolt =3D <1120000>; + regulator-initial-mode =3D ; + }; + + vreg_s4c: smps4 { + regulator-name =3D "vreg_s4c"; + regulator-min-microvolt =3D <352000>; + regulator-max-microvolt =3D <812000>; + regulator-initial-mode =3D ; + }; + + vreg_s5c: smps5 { + regulator-name =3D "vreg_s5c"; + regulator-min-microvolt =3D <540000>; + regulator-max-microvolt =3D <884000>; + regulator-initial-mode =3D ; + }; + + vreg_s6c: smps6 { + regulator-name =3D "vreg_s6c"; + regulator-min-microvolt =3D <352000>; + regulator-max-microvolt =3D <904000>; + regulator-initial-mode =3D ; + }; + + vreg_l1c: ldo1 { + regulator-name =3D "vreg_l1c"; + regulator-min-microvolt =3D <320000>; + regulator-max-microvolt =3D <1004000>; + regulator-initial-mode =3D ; + }; + + vreg_l2c: ldo2 { + regulator-name =3D "vreg_l2c"; + regulator-min-microvolt =3D <320000>; + regulator-max-microvolt =3D <650000>; + regulator-initial-mode =3D ; + }; + + vreg_l3c: ldo3 { + regulator-name =3D "vreg_l3c"; + regulator-min-microvolt =3D <320000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + }; + }; + + regulators-2 { + compatible =3D "qcom,pmr735b-rpmh-regulators"; + + vdd-l1-l2-supply =3D <&vreg_s3b>; + vdd-l3-supply =3D <&vreg_s3b>; + vdd-l4-supply =3D <&vreg_s1b>; + vdd-l5-supply =3D <&vreg_s2b>; + vdd-l7-l8-supply =3D <&vreg_s2b>; + vdd-l9-supply =3D <&vreg_s3b>; + vdd-l10-supply =3D <&vreg_s1b>; + vdd-l11-supply =3D <&vreg_s3b>; + vdd-l12-supply =3D <&vreg_s3b>; + + qcom,pmic-id =3D "f"; + + vreg_l1f: ldo1 { + regulator-name =3D "vreg_l1f"; + regulator-min-microvolt =3D <852000>; + regulator-max-microvolt =3D <950000>; + regulator-initial-mode =3D ; + }; + + vreg_l2f: ldo2 { + regulator-name =3D "vreg_l2f"; + regulator-min-microvolt =3D <751000>; + regulator-max-microvolt =3D <824000>; + regulator-initial-mode =3D ; + }; + + vreg_l3f: ldo3 { + regulator-name =3D "vreg_l3f"; + regulator-min-microvolt =3D <650000>; + regulator-max-microvolt =3D <880000>; + regulator-initial-mode =3D ; + }; + + vreg_l4f: ldo4 { + regulator-name =3D "vreg_l4f"; + regulator-min-microvolt =3D <1700000>; + regulator-max-microvolt =3D <1950000>; + regulator-initial-mode =3D ; + }; + + vreg_l5f: ldo5 { + regulator-name =3D "vreg_l5f"; + regulator-min-microvolt =3D <1140000>; + regulator-max-microvolt =3D <1260000>; + regulator-initial-mode =3D ; + }; + + vreg_l7f: ldo7 { + regulator-name =3D "vreg_l7f"; + regulator-min-microvolt =3D <1080000>; + regulator-max-microvolt =3D <1350000>; + regulator-initial-mode =3D ; + }; + + vreg_l9f: ldo9 { + regulator-name =3D "vreg_l9f"; + regulator-min-microvolt =3D <870000>; + regulator-max-microvolt =3D <970000>; + regulator-initial-mode =3D ; + }; + + vreg_l10f: ldo10 { + regulator-name =3D "vreg_l10f"; + regulator-min-microvolt =3D <1500000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l11f: ldo11 { + regulator-name =3D "vreg_l11f"; + regulator-min-microvolt =3D <320000>; + regulator-max-microvolt =3D <864000>; + regulator-initial-mode =3D ; + }; + + vreg_l12f: ldo12 { + regulator-name =3D "vreg_l12f"; + regulator-min-microvolt =3D <480000>; + regulator-max-microvolt =3D <884000>; + regulator-initial-mode =3D ; + }; + }; +}; + +&dispcc { + /* Disable for now so simple-framebuffer continues working */ + status =3D "disabled"; +}; + +&gcc { + protected-clocks =3D , , + , , + , , + , , + , , + , ; +}; + +&i2c7 { + clock-frequency =3D <400000>; + + status =3D "okay"; + + led-controller@3a { + compatible =3D "awinic,aw20036"; + reg =3D <0x3a>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + enable-gpios =3D <&tlmm 54 GPIO_ACTIVE_HIGH>; + + led@0 { + reg =3D <0x0>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <0>; + led-max-microamp =3D <6560>; + }; + + led@1 { + reg =3D <0x1>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <1>; + led-max-microamp =3D <6560>; + }; + + led@2 { + reg =3D <0x2>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <2>; + led-max-microamp =3D <6560>; + }; + + led@3 { + reg =3D <0x3>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <3>; + led-max-microamp =3D <6560>; + }; + + led@4 { + reg =3D <0x4>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <4>; + led-max-microamp =3D <6560>; + }; + + led@5 { + reg =3D <0x5>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <5>; + led-max-microamp =3D <6560>; + }; + + led@6 { + reg =3D <0x6>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <6>; + led-max-microamp =3D <6560>; + }; + + led@7 { + reg =3D <0x7>; + color =3D ; + function =3D "glyph-2"; + function-enumerator =3D <0>; + led-max-microamp =3D <6560>; + }; + + led@8 { + reg =3D <0x8>; + color =3D ; + function =3D "glyph-3"; + function-enumerator =3D <0>; + led-max-microamp =3D <6560>; + }; + + led@9 { + reg =3D <0x9>; + color =3D ; + function =3D "glyph-3"; + function-enumerator =3D <1>; + led-max-microamp =3D <6560>; + }; + + led@a { + reg =3D <0xa>; + color =3D ; + function =3D "glyph-3"; + function-enumerator =3D <2>; + led-max-microamp =3D <6560>; + }; + + led@b { + reg =3D <0xb>; + color =3D ; + function =3D "glyph-3"; + function-enumerator =3D <3>; + led-max-microamp =3D <6560>; + }; + + led@c { + reg =3D <0xc>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <7>; + led-max-microamp =3D <6560>; + }; + + led@d { + reg =3D <0xd>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <8>; + led-max-microamp =3D <6560>; + }; + + led@e { + reg =3D <0xe>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <9>; + led-max-microamp =3D <6560>; + }; + + led@f { + reg =3D <0xf>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <10>; + led-max-microamp =3D <6560>; + }; + + led@10 { + reg =3D <0x10>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <11>; + led-max-microamp =3D <6560>; + }; + + led@11 { + reg =3D <0x11>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <12>; + led-max-microamp =3D <6560>; + }; + + led@12 { + reg =3D <0x12>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <13>; + led-max-microamp =3D <6560>; + }; + + led@13 { + reg =3D <0x13>; + color =3D ; + function =3D "glyph-2"; + function-enumerator =3D <1>; + led-max-microamp =3D <6560>; + }; + + led@14 { + reg =3D <0x14>; + color =3D ; + function =3D "glyph-2"; + function-enumerator =3D <2>; + led-max-microamp =3D <6560>; + }; + + led@15 { + reg =3D <0x15>; + color =3D ; + function =3D "glyph-3"; + function-enumerator =3D <4>; + led-max-microamp =3D <6560>; + }; + + led@16 { + reg =3D <0x16>; + color =3D ; + function =3D "glyph-3"; + function-enumerator =3D <5>; + led-max-microamp =3D <6560>; + }; + + led@17 { + reg =3D <0x17>; + color =3D ; + function =3D "glyph-3"; + function-enumerator =3D <6>; + led-max-microamp =3D <6560>; + }; + + led@18 { + reg =3D <0x18>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <14>; + led-max-microamp =3D <6560>; + }; + + led@19 { + reg =3D <0x19>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <15>; + led-max-microamp =3D <6560>; + }; + + led@1a { + reg =3D <0x1a>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <16>; + led-max-microamp =3D <6560>; + }; + + led@1b { + reg =3D <0x1b>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <17>; + led-max-microamp =3D <6560>; + }; + + led@1c { + reg =3D <0x1c>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <18>; + led-max-microamp =3D <6560>; + }; + + led@1d { + reg =3D <0x1d>; + color =3D ; + function =3D "glyph-1"; + function-enumerator =3D <19>; + led-max-microamp =3D <6560>; + }; + + led@1e { + reg =3D <0x1e>; + color =3D ; + function =3D "glyph-2"; + function-enumerator =3D <3>; + led-max-microamp =3D <6560>; + }; + + led@1f { + reg =3D <0x1f>; + color =3D ; + function =3D "glyph-2"; + function-enumerator =3D <4>; + led-max-microamp =3D <6560>; + }; + + led@20 { + reg =3D <0x20>; + color =3D ; + function =3D "glyph-3"; + function-enumerator =3D <7>; + led-max-microamp =3D <6560>; + }; + + led@21 { + reg =3D <0x21>; + color =3D ; + function =3D "glyph-3"; + function-enumerator =3D <8>; + led-max-microamp =3D <6560>; + }; + + led@22 { + reg =3D <0x22>; + color =3D ; + function =3D "glyph-3"; + function-enumerator =3D <9>; + led-max-microamp =3D <6560>; + }; + + led@23 { + reg =3D <0x23>; + color =3D ; + function =3D "glyph-3"; + function-enumerator =3D <10>; + led-max-microamp =3D <6560>; + }; + }; + + typec-mux@42 { + compatible =3D "fcs,fsa4480"; + reg =3D <0x42>; + + vcc-supply =3D <&vph_pwr>; + + mode-switch; + orientation-switch; + + port { + fsa4480_sbu_mux: endpoint { + remote-endpoint =3D <&pmic_glink_sbu>; + }; + }; + }; +}; + +&pm7550_flash { + status =3D "okay"; + + led-0 { + function =3D LED_FUNCTION_FLASH; + color =3D ; + led-sources =3D <1>, <4>; + led-max-microamp =3D <350000>; + flash-max-microamp =3D <1500000>; + flash-max-timeout-us =3D <400000>; + }; +}; + +&pm7550_gpios { + volume_up_default: volume-up-default-state { + pins =3D "gpio6"; + function =3D PMIC_GPIO_FUNC_NORMAL; + power-source =3D <1>; + bias-pull-up; + }; +}; + +&pm8550vs_c { + status =3D "okay"; +}; + +&pmiv0104_eusb2_repeater { + vdd18-supply =3D <&vreg_l7b>; + vdd3-supply =3D <&vreg_l17b>; + + qcom,tune-res-fsdif =3D /bits/ 8 <0x5>; + qcom,tune-usb2-amplitude =3D /bits/ 8 <0x8>; + qcom,tune-usb2-disc-thres =3D /bits/ 8 <0x7>; + qcom,tune-usb2-preem =3D /bits/ 8 <0x6>; +}; + +&pon_pwrkey { + status =3D "okay"; +}; + +&pon_resin { + linux,code =3D ; + + status =3D "okay"; +}; + +&qupv3_id_0 { + status =3D "okay"; +}; + +&qupv3_id_1 { + status =3D "okay"; +}; + +&remoteproc_adsp { + firmware-name =3D "qcom/milos/nothing/asteroids/adsp.mbn", + "qcom/milos/nothing/asteroids/adsp_dtb.mbn"; + + status =3D "okay"; +}; + +&remoteproc_cdsp { + firmware-name =3D "qcom/milos/nothing/asteroids/cdsp.mbn", + "qcom/milos/nothing/asteroids/cdsp_dtb.mbn"; + + status =3D "okay"; +}; + +&remoteproc_mpss { + firmware-name =3D "qcom/milos/nothing/asteroids/modem.mbn"; + + status =3D "okay"; +}; + +&remoteproc_wpss { + firmware-name =3D "qcom/milos/nothing/asteroids/wpss.mbn"; + + status =3D "okay"; +}; + +&tlmm { + gpio-reserved-ranges =3D <13 1>, /* Display */ + <63 2>; /* WLAN UART */ + + assist_default: assist-default-state { + pins =3D "gpio71"; + function =3D "gpio"; + bias-pull-up; + }; +}; + +&trusted_apps_mem { + reg =3D <0x0 0xe9500000 0x0 0x5500000>; +}; + +/* + * UART_RX and UART_TX are routed to test points on board, not + * available over USB. + */ +&uart5 { + status =3D "okay"; +}; + +&usb_1 { + /* USB 2.0 only, HW does not support USB 3.x */ + qcom,select-utmi-as-pipe-clk; + + status =3D "okay"; +}; + +&usb_1_dwc3_hs { + remote-endpoint =3D <&pmic_glink_hs_in>; +}; + +&usb_1_hsphy { + vdd-supply =3D <&vreg_l2b>; + vdda12-supply =3D <&vreg_l4b>; + + phys =3D <&pmiv0104_eusb2_repeater>; + + status =3D "okay"; +}; --=20 2.53.0