From nobody Thu Sep 24 16:08:57 2026 Received: from mail-wm2-f12.google.com (mail-wm2-f12.google.com [74.125.225.140]) (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 14E2653A3B0 for ; Tue, 22 Sep 2026 11:28:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.140 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790076524; cv=none; b=EqvOZS3H6B5F6ER8fEBdRLQMn5qzIoc03TI4LFXX+TKEx5dtUzkVLYv+0rnTu6SWCrenNm0E3uTSIgN8jrpz+eaoVGP/rlqyOZOcDQREk7lgri0En6fOaWVLKryZWHXR9S3WBZB9GiSAjqnUx0xJ2/VKBF2qb7Wv94xvmBgIP6s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790076524; c=relaxed/simple; bh=DRDBx8uJu/gmNOt8neF/NrrQZ8Y1qYuByeAf3Z74Z9c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pBxqQDj09MSvYPur814KaewUo1Pawtxza8nyKBAk4PBa5TIBMUHv8yUkdeT/XYtVWCyYnHsF9mR0mgdeo6Jy3Wf2j9/w6NXPDeu0E9n2aLzBtoN3biODgOR0VvJALcZp9Y3/WWLZnnDIzLS7rlU0m8cjY/Q+YnQ7dbEmWjhaBiY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=rbU6YrFG; arc=none smtp.client-ip=74.125.225.140 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="rbU6YrFG" Received: by mail-wm2-f12.google.com with SMTP id 5b1f17b1804b1-49ccead2aecso19640335e9.0 for ; Tue, 22 Sep 2026 04:28:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1790076519; x=1790681319; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=CZcSVYTseMvcfqltwTfiGnUkc5ciw/nLJHbubGeUkOo=; b=rbU6YrFGbcjNEkfvefVv1fNf2f+5oRulBJQeyLfjyYn/IP/MoyEPatuwdGg8mfJgWO QoW0creJTfScZfE5h2WIETa5yMjxHFaicQ2S6Fdo3sc6atTLJqtLxZerl/3DzherM6Zl +OW4HbWQuWQPPS897xntWgGGg+sbh7DrYSmlEC2UKGzb57eLFBt84lvhYIzlxIKxFV9k MqQKxpCZg+ttyOO87H4hkk6K+Ti/kTzm1EVOdbGQu/XIqUeyHEJtIeyzAI1HAvW7QOJi x+wC9EatA3rII2FiEMZ45c+kw2BoaNuwFJ+L+F+7l7VCkHmUQpvU5tDGUZAC4tYEvWz8 CHiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790076519; x=1790681319; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=CZcSVYTseMvcfqltwTfiGnUkc5ciw/nLJHbubGeUkOo=; b=2EkTR+hnMO9KvqkjCcIlrWg9qPej57D4SuJrFHZg/bWCVEOonJdVNW/xph7N5cMTyI 16qpRazqLWEkDSy3DVtMKyE0dVuwe6B7Z+1zMb3FhNWpw98c/nLHxrm8FojXlMWVA4g0 t2W/s75a1D3fFjLV2z1bQ7W90OK0PL1frVs7icfPwvRmXedgKLSx+L47znyT69IlzKxj tr4qhmQ54cDKzS4DTE3dkV5yKFSWxONj8Hv7B7Fz9wmZ4E0VFJ3f1VG1BV3WkCJ9NBp4 OCCimIFqkYc5Y3g+saccEOeSB1g1iRHbK1UJcNJH40Fmfua3+4dTBgjrwTkdfzDNKrsV JGlQ== X-Forwarded-Encrypted: i=1; AKwUvBxi4xWI5gB+cQpw5i0uB+6MdBoKa2q3TH9bhVhz9gCvJocXVq0x3uDMyuiL1T9zqsId2jzGXjUVpzebtjM=@vger.kernel.org X-Gm-Message-State: AFuF++m6fMnMxQ9S8r1HzmLFMKfw34xZ75hryiNXsJbGjRJUlCd1shwI BsguB/Qo9X1GYH6bMGLaFIvjAcs4u27zrugkM8TJVQtEivpYt+gZ06qpDTGoyxgk/Tk= X-Gm-Gg: AYBFou0jN0qLTC6mbwgJkYtzn7ZsDqKMl2tyS5VY2lIfvPYClWyqJhL8ENfBLuy4lfP KW8BHh4AkYnGr8qeF2zz9jD0iAGic5kkRZZsj6hyynFBA7Arh0AebUuwHaNOrqDMXlNKu1BOu0w EHRg1M57alzygylwbPajvFfQpJSVPw3kfoZ5AKw33lUifS4FaKr2XFYQ1DfTNvrbAIJ0R6CowJ/ IuD3BobDJ8qTDc9dPEQkZoJNAIY4G8VOHTt2/+HonJ7YcuKPLrVkKylMlcD67wD77QbnWOHCOs5 yFHmpQDb8ipNNa3Vc7gDBATUOwSGRLDs1Pb+8rzrXwX801bNuvJ/3KPsMPmHS8scoJZLxyySCCS KkZ+kHQB3M5AekGHUgXpl4rBkEfycQlhKNntdIpjLZu6DfDW+KXXbSahoAvMrfpXLZy9AoYEIvr QN0jVS2+RbXwMLHth3xThN/NBjScoL2aK0ckZsmT/oPSnRjLWUdJNl9Hn9mfbekbY3W7FGUWFYd xwmVKhexN4MTDUu0BA= X-Received: by 2002:a05:600c:3584:b0:49d:286:83d5 with SMTP id 5b1f17b1804b1-49fc5722755mr248984825e9.13.1790076519490; Tue, 22 Sep 2026 04:28:39 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:106d:1080:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49fdab0e46fsm6687485e9.3.2026.09.22.04.28.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 04:28:39 -0700 (PDT) From: Neil Armstrong Date: Tue, 22 Sep 2026 13:28:35 +0200 Subject: [PATCH 1/2] dt-bindings: arm: qcom: document the Valve Deckard headset Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-topic-sm8650-deckard-initial-dt-v1-1-c25e7759d04a@linaro.org> References: <20260922-topic-sm8650-deckard-initial-dt-v1-0-c25e7759d04a@linaro.org> In-Reply-To: <20260922-topic-sm8650-deckard-initial-dt-v1-0-c25e7759d04a@linaro.org> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kees Cook , Tony Luck , "Guilherme G. Piccoli" Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=811; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=DRDBx8uJu/gmNOt8neF/NrrQZ8Y1qYuByeAf3Z74Z9c=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBqsmZlyJKDWoV2ssgh24kWwz2H/hQYohfE8pwcdwwS 59II9b+JAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCarJmZQAKCRB33NvayMhJ0fIlEA CsJCKN3Knnm5FXJGJ8YaA84ahFOOo1s8QDCQqFythWfxOblnDtLd7HvZyGyRotxb50HCXZDUIz3Got ebTqZs+D9jzUERH5lYO5eDq226etSqv4wQNJxqCAqfue5tdeYXhr2yyeJe29yhDejz0vHfSdYCWdcN GiG5qvhVzUYksSEutSnDFW/elIpBkOhTrQfJoA3VbGWgi5kiQmEyJ1aGFSTFBnvqXqOZgYJYraawGi nYHwLz3+kD9LtG4Pa4MZ5qw/fVVSvlSSraSfHZhhv46xMiEY25rOr1Wmi9Z7yR+s5aisZ7o1Dg6M7i MR9d0R+JjoKMSvThMLr2XR9oY3ivgOwpUgfZAA7B3VejWp4g8kVo7i9cOzUjV6YrQNx6vwMSMOcEXV 7DNDifKRNG9gxXR/zWgHa4Jjs3Rz9b7jFJ1retp3veE9UJXmzu/LFZSrU1iaHG1nMWE2hQuvRmfw4d hKZTuiGxMI+9UKe/oTzMtrsgFmEYjdNxGREEharOs+I14umUUvjZljz7pI7IzjEoWEXTAI4Szb2+Kj GGp3Y+wQEMueCRzpwWhOkrWPKpnYac8EyvkfGiWAB7SJ+VVMDjHehmACF8M/Bp58f3pore44M1ITO7 +900hzU6EZX4+Qi678Wng/Lti9pGUKyyiLW+H/EorD+YpavsBJNfK6WN/89g== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Document the Valve "Steam Frame" codename Deckard. The Steam Frame is a virtual reality headset based on the Qualcomm Snapdragon 8 Gen 3 SoC (SM8650). Signed-off-by: Neil Armstrong --- 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 ff8a35df7862..0130bf93987c 100644 --- a/Documentation/devicetree/bindings/arm/qcom.yaml +++ b/Documentation/devicetree/bindings/arm/qcom.yaml @@ -1164,6 +1164,7 @@ properties: - qcom,sm8650-hdk - qcom,sm8650-mtp - qcom,sm8650-qrd + - valve,deckard - const: qcom,sm8650 =20 - items: --=20 2.34.1 From nobody Thu Sep 24 16:08:57 2026 Received: from mail-wm2-f12.google.com (mail-wm2-f12.google.com [74.125.225.140]) (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 546BE53B341 for ; Tue, 22 Sep 2026 11:28:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.225.140 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790076530; cv=none; b=Zy8NL4EJKoCrYvLM/0x0sZbdfj/yBw1Bc62QwfvMbHfyQQ8JtrBXryE8oIquCg59aRzGVT58AEiWUh7GTnAWlI+UAkbjNLOXZ8Jomz6fZ7nfS4AXmtU8ICZfN1bADfBcMARY1TGdmgbO/O3aiBl3PUq6cIWvavPFTVPBQnLjkT8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790076530; c=relaxed/simple; bh=SRkeW7cD/ZkeXoXmI/qxQUCkmC9F831vI9OA0zDFSQ4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kM6xG71MEghQLd40O1NnVdU6wHSCD70zGv59GxfIoDzTwDaX+P6je5e2W6++onovJ5yh/utyz3bR+qhbhBvXCaATEaZXJZD6ABLu4/Qu+7KSDO4JoYfZGhEJDS6DCilDygi58gKaqfEajO6s7uyiG1Erln+asHxXIIcL20uzhwY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=FNNPhcZU; arc=none smtp.client-ip=74.125.225.140 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="FNNPhcZU" Received: by mail-wm2-f12.google.com with SMTP id 5b1f17b1804b1-49ccff31419so34138685e9.3 for ; Tue, 22 Sep 2026 04:28:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1790076521; x=1790681321; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=rjpa7EptOv7WHBDxjsrYlJ5SdseWg2Hw5ulyaYg9L3E=; b=FNNPhcZUJHKPrhuvRR+JbCGJH+1IJ0fabDIkNSFd58s14Dz2Q2quGS9D8F/yFNhO11 R29xTK3L73X62YwZ1ltuGnqEbbaOd601UHevJ/Z/yNRUNV4q12b/u6RemSzTMKDAgxup /I3MxCDE4/NoMTZPCn+S4W017nN0BeEd6vWwzJUZ3EPofxO/XTXAiP1VMzLlhwhSIcM8 iKyA5ZZfdph22je++ldc7Cl1L00vg4zQLtB7w+AV/qm6DeBBS0YqTnhswNnjBZZF2+B/ dtKaPuoqKfNHh8cv3TZUvUkDjcCbPEV6bTtEMWJsqCiuB4cCYVYezhH4qSgb3JbiFiDq ckxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790076521; x=1790681321; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=rjpa7EptOv7WHBDxjsrYlJ5SdseWg2Hw5ulyaYg9L3E=; b=s9/JHBJm6CziEyV77i9FnVUy0uz6UjEzjeMRmqL4ycZFs7cueB4CoCzhhr+O8wFpSg khLYmDlvJC4RxY9Ukteq325QaK0Mo1NhQENSCulagxXIeclvR/t9SO0IiM4r/zlxNIGx gbagfbUwne9NMy0LVfxJOJ0A903R5qNdTlidIFdjUICgigzwBEGlyezJsC05JTwdLm2k Bg9SU0z8YBK65n3HEVUIe5W/jr8HOtxdoOvkgEnQqEOMK1sx4/g61of3qGmrZmcWdM+L XIPmuKwqEWfvnW3DygJ6hjuXUxr/+5fizBnas/w/bySMipDrfjxrbUBnylqXptjGnW6o ParA== X-Forwarded-Encrypted: i=1; AKwUvBx0cKk1bAPb3cmeGGHfAZuEVcWxvsAXM1grtjPFkEnDRVow1gfFb3VCgMGFIPl23d52Y4PZIbNEWWhvce0=@vger.kernel.org X-Gm-Message-State: AFuF++nt4mLUCbpcvOi2ddH4o40J1yQvbgw2xk+9BbsUbtBlHrenSlDb ZcYf73qbAC1FpBuPcQwbHMiDy0yd8HH7CFNXngCZ73FDqSQAuigbENjzNtmKmuGt7SQ= X-Gm-Gg: AYBFou3SOc2up/xkuE/Dg8LXPgD0GSqMFkuPILlef3w5nDqNq8X3W+LvgQICvKnPH5s 6doGOACjtoJjqLUh0ZCUi8eF8PHLyfj/A/sGNerHCtpt0qxjJWeRU2CMK329NGn3cEla73Im/Uc AHW9C+J8KYMSGwxv5hoxGMVAuPq+glVb2q1vdd+e8btVMwbCcCDKOtHA0XkPAVodNWFa2787CoI XJjf7KNjuSvUNV3O+Jkk/JwLaVMmbOjbXYBuM9bX5KrTd9bRII2UN+9F1FxRLPB15hoL6ellJf9 yBmjAsco4dqP8UyjJBae1LBwkTEFhTF96WmIUkrdFWpmvWxFsn0tqNgx0YtsO42dcXL+Nxg1DXm GgR2BmF+QrEnkI5OuBU/EzDNBgop1UnShXu5Fdt9B2+gvKHweMVkKJBUDsLd4o9qfVB/lr3fgE8 wtamTjKASRMjrzoRCGQQF3vMexlLi6IX9Y0XBvrLHMwvH+ZNDfxGUvtxFyyGhAy7NHBteRR0DYg 6bkTyBtWC/jRb0586Ky X-Received: by 2002:a05:600c:8b61:b0:49e:69ff:c6b1 with SMTP id 5b1f17b1804b1-49fc5749edemr213283795e9.31.1790076520375; Tue, 22 Sep 2026 04:28:40 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:106d:1080:52eb:f6ff:feb3:451a]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49fdab0e46fsm6687485e9.3.2026.09.22.04.28.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 22 Sep 2026 04:28:40 -0700 (PDT) From: Neil Armstrong Date: Tue, 22 Sep 2026 13:28:36 +0200 Subject: [PATCH 2/2] arm64: dts: qcom: sm8650: Add initial Valve Deckard devicetree Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260922-topic-sm8650-deckard-initial-dt-v1-2-c25e7759d04a@linaro.org> References: <20260922-topic-sm8650-deckard-initial-dt-v1-0-c25e7759d04a@linaro.org> In-Reply-To: <20260922-topic-sm8650-deckard-initial-dt-v1-0-c25e7759d04a@linaro.org> To: Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kees Cook , Tony Luck , "Guilherme G. Piccoli" Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=32347; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=SRkeW7cD/ZkeXoXmI/qxQUCkmC9F831vI9OA0zDFSQ4=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBqsmZlE/GqokgrucG3sCoQ6Ltf6ryZzL9X379SPped Trh60cOJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCarJmZQAKCRB33NvayMhJ0Y+CD/ sG2UI1k0L1fEURfMibJ9OL0fa+wBKE0LrwCP2rRBqvWDf5O7ItTtM0jRVKCojkrY8uHQ1ZvDRyFvQB HbwM+IR24In/yFPaMTkf2ox2hfx9Y+LZ29uiMlG4NiMtBgzWCYLTbDxExVeiQDA8WweX5P8T/h/qJo u838oN3hOnkXwqvQN6zkK21vOvhk0WormkEOjXdpxngvBiGgP2grJdQELTBQvBi7+jGYR+F6X4kiSE h0lMHWAoKXRcRjEopKknGsUCrcHMus2Rlky8IUFprBharlQCd9t886yWD8BpN75GNbqYAgG3jxWl0k LJ9jEQw+o8tIrWaSsm4GmAGHiqW21RXH5sZj8cuwQy1zpY/rKEQRGOS1rFLkrsGVuocZzduA+tamEB k9SoKM/aoxefw3cIh4EX/CnPSSS3o1u8QEvjhGN2Lkl6mcEo3Emb4+lLUEDSzL0PXq3C4ar9ZdvZjz VegGr5Gi5RO7UHmAzquBRkXjb/lvGd9K/xLFD6V/v3pgSVM+Flaa0xQrFOL2if+r2EuywzPLFcKomG Yj+H60UI4LSVxGDQJT0r645SrFZ0s+xmZorV+8lnDORp8XH/S8qmz9dJJ8YdJA8FtnI17+L6LtIweu kZHctzywzI65EVIENDBfEcEUDemM0P0KyQO7G0NCsjRslFL1Y7Ceb990TR9g== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Add an initial DeviceTree for the Valve "Steam Frame" codename Deckard. The Steam Frame is a virtual reality headset based on the Qualcomm Snapdragon 8 Gen 3 SoC (SM8650). Providing initial support for: - System reserved memory, regulators, gpio keys, PMIC functions.. - PMIC ADC Channels - UFS Storage - USB Gadget - WCN7850 Wifi7 + Bluetooth - I2C + basic peripherals - SDCard slot The bootloader starts Linux in EL2, thus a bunch of EL1 & DSP related nodes needs to be removed and the reserved-memory mapping must be defined. Signed-off-by: Neil Armstrong --- arch/arm64/boot/dts/qcom/Makefile | 1 + arch/arm64/boot/dts/qcom/sm8650-valve-deckard.dts | 1290 +++++++++++++++++= ++++ 2 files changed, 1291 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/M= akefile index 1c86e7e98f55..3de6d95135a7 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -406,6 +406,7 @@ dtb-$(CONFIG_ARCH_QCOM) +=3D sm8650-hdk-rear-camera-car= d.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sm8650-hdk.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sm8650-mtp.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sm8650-qrd.dtb +dtb-$(CONFIG_ARCH_QCOM) +=3D sm8650-valve-deckard.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sm8750-mtp.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D sm8750-qrd.dtb dtb-$(CONFIG_ARCH_QCOM) +=3D talos-evk.dtb diff --git a/arch/arm64/boot/dts/qcom/sm8650-valve-deckard.dts b/arch/arm64= /boot/dts/qcom/sm8650-valve-deckard.dts new file mode 100644 index 000000000000..cd801359d2b5 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/sm8650-valve-deckard.dts @@ -0,0 +1,1290 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2026, Valve Software + */ + +/dts-v1/; + +#include +#include +#include +#include "sm8650.dtsi" +#include "pm8010.dtsi" +#include "pm8550.dtsi" +#include "pm8550b.dtsi" +#define PMK8550VE_SID 8 +#include "pm8550ve.dtsi" +#include "pm8550vs.dtsi" +#include "pmk8550.dtsi" + +/* Remove nodes */ +/delete-node/ &ipa; +/delete-node/ &gpu_zap_shader; +/delete-node/ &lpass_wsa2macro; +/delete-node/ &lpass_rxmacro; +/delete-node/ &lpass_txmacro; +/delete-node/ &lpass_wsamacro; +/delete-node/ &lpass_vamacro; +/delete-node/ &lpass_tlmm; +/delete-node/ &remoteproc_adsp; +/delete-node/ &remoteproc_cdsp; +/delete-node/ &remoteproc_mpss; +/delete-node/ &reserved_memory; +/delete-node/ &swr0; +/delete-node/ &swr1; +/delete-node/ &swr2; +/delete-node/ &swr3; + +/ { + model =3D "Valve Deckard"; + compatible =3D "valve,deckard", "qcom,sm8650"; + + aliases { + serial0 =3D &uart15; + serial1 =3D &uart14; + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + + framebuffer { + compatible =3D "simple-framebuffer"; + width =3D <4320>; + height =3D <2160>; + stride =3D <(4320 * 4)>; + format =3D "a8r8g8b8"; + memory-region =3D <&framebuffer_mem>; + + /* Bootloader will enable the node */ + status =3D "disabled"; + }; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + + pinctrl-0 =3D <&volume_up_n>, <&select_n>; + pinctrl-names =3D "default"; + + key-volume-up { + label =3D "Volume Up"; + linux,code =3D ; + gpios =3D <&pm8550_gpios 6 GPIO_ACTIVE_LOW>; + debounce-interval =3D <15>; + linux,can-disable; + }; + + key-select { + label =3D "Select"; + linux,code =3D ; + gpios =3D <&pm8550b_gpios 5 GPIO_ACTIVE_LOW>; + debounce-interval =3D <15>; + linux,can-disable; + }; + }; + + 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 { + ranges; + + #address-cells =3D <2>; + #size-cells =3D <2>; + + aop_mem: aop-region@81c00000 { + no-map; + reg =3D <0x0 0x81c00000 0x0 0x60000>; + }; + + ramoops: ramoops-region@84a00000 { + compatible =3D "ramoops"; + reg =3D <0 0x84a00000 0 0x100000>; + record-size =3D <0x40000>; + console-size =3D <0x40000>; + pmsg-size =3D <0x1000>; + ecc-size =3D <16>; + }; + + aop_cmd_db_mem: aop-cmd-db-region@81c60000 { + compatible =3D "qcom,cmd-db"; + reg =3D <0x0 0x81c60000 0x0 0x20000>; + no-map; + }; + + /* merged aop_config, tme_crash_dump, tme_log */ + aop_config_merged_mem: aop-config-merged-region@81c80000 { + reg =3D <0x0 0x81c80000 0x0 0x75000>; + no-map; + }; + + smem: smem-region@81d00000 { + compatible =3D "qcom,smem"; + reg =3D <0x0 0x81d00000 0x0 0x200000>; + hwlocks =3D <&tcsr_mutex 3>; + no-map; + }; + + cpucp_fw_mem: cpucp-fw-region@d8040000 { + reg =3D <0x0 0xd8040000 0x0 0x1b2000>; + no-map; + }; + + video_mem: video-region@9bb00000 { + reg =3D <0 0x9bb00000 0 0x800000>; + no-map; + }; + + tz_stat_mem: tz-stat-region@82700000 { + reg =3D <0 0x82700000 0 0x100000>; + no-map; + }; + + /* 2MB, 8 clocks to power on each 256KB block */ + lpass_lpi_tcm: lpm-region@6000000 { + compatible =3D "shared-dma-pool"; + reg =3D <0 0x06000000 0 0x00200000>; + no-map; + }; + + /* 64KB, 4 clocks to power on each 16KB block */ + lpass_audio_lpm: lpm-region@6c80000 { + compatible =3D "shared-dma-pool"; + reg =3D <0 0x06c80000 0 0x10000>; + no-map; + }; + + /* 12KB, 1 clock */ + lpass_va_lpm: lpm-region@6d40000 { + compatible =3D "shared-dma-pool"; + reg =3D <0 0x06d40000 0 0x3000>; + no-map; + }; + + lpass_lpm: lpm-region@7c10000 { + compatible =3D "shared-dma-pool"; + reg =3D <0 0x07c10000 0 0x8000>; + no-map; + }; + + framebuffer_mem: framebuffer-region@af400000 { + reg =3D <0 0xaf400000 0 0x03000000>; + no-map; + }; + }; + + /delete-node/ smp2p-adsp; + /delete-node/ smp2p-cdsp; + /delete-node/ smp2p-modem; + + wcn7850-pmu { + compatible =3D "qcom,wcn7850-pmu"; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&wlan_en>, <&bt_default>; + + wlan-enable-gpios =3D <&tlmm 16 GPIO_ACTIVE_HIGH>; + bt-enable-gpios =3D <&tlmm 17 GPIO_ACTIVE_HIGH>; + + vdd-supply =3D <&vreg_s4i_0p85>; + vddio-supply =3D <&vreg_l15b_1p8>; + vddio1p2-supply =3D <&vreg_l3c_1p2>; + vddaon-supply =3D <&vreg_s2c_0p8>; + vdddig-supply =3D <&vreg_s3c_0p9>; + vddrfa1p2-supply =3D <&vreg_s1c_1p2>; + vddrfa1p8-supply =3D <&vreg_s6c_1p8>; + + clocks =3D <&rpmhcc RPMH_RF_CLK1>; + + regulators { + vreg_pmu_rfa_cmn: ldo0 { + regulator-name =3D "vreg_pmu_rfa_cmn"; + }; + + vreg_pmu_aon_0p59: ldo1 { + regulator-name =3D "vreg_pmu_aon_0p59"; + }; + + vreg_pmu_wlcx_0p8: ldo2 { + regulator-name =3D "vreg_pmu_wlcx_0p8"; + }; + + vreg_pmu_wlmx_0p85: ldo3 { + regulator-name =3D "vreg_pmu_wlmx_0p85"; + }; + + vreg_pmu_btcmx_0p85: ldo4 { + regulator-name =3D "vreg_pmu_btcmx_0p85"; + }; + + vreg_pmu_rfa_0p8: ldo5 { + regulator-name =3D "vreg_pmu_rfa_0p8"; + }; + + vreg_pmu_rfa_1p2: ldo6 { + regulator-name =3D "vreg_pmu_rfa_1p2"; + }; + + vreg_pmu_rfa_1p8: ldo7 { + regulator-name =3D "vreg_pmu_rfa_1p8"; + }; + + vreg_pmu_pcie_0p9: ldo8 { + regulator-name =3D "vreg_pmu_pcie_0p9"; + }; + + vreg_pmu_pcie_1p8: ldo9 { + regulator-name =3D "vreg_pmu_pcie_1p8"; + }; + }; + }; +}; + +&apps_rsc { + regulators-0 { + compatible =3D "qcom,pm8550-rpmh-regulators"; + + vdd-bob1-supply =3D <&vph_pwr>; + vdd-bob2-supply =3D <&vph_pwr>; + vdd-l1-l4-l10-supply =3D <&vreg_s6c_1p8>; + vdd-l2-l13-l14-supply =3D <&vreg_bob1>; + vdd-l3-supply =3D <&vreg_s1c_1p2>; + vdd-l5-l16-supply =3D <&vreg_bob1>; + vdd-l8-l9-supply =3D <&vreg_bob1>; + vdd-l12-supply =3D <&vreg_s6c_1p8>; + vdd-l15-supply =3D <&vreg_s6c_1p8>; + vdd-l17-supply =3D <&vreg_bob2>; + + qcom,pmic-id =3D "b"; + + vreg_bob1: bob1 { + regulator-name =3D "vreg_bob1"; + regulator-min-microvolt =3D <3296000>; + regulator-max-microvolt =3D <3960000>; + regulator-initial-mode =3D ; + }; + + vreg_bob2: bob2 { + regulator-name =3D "vreg_bob2"; + regulator-min-microvolt =3D <2720000>; + regulator-max-microvolt =3D <3008000>; + regulator-initial-mode =3D ; + }; + + vreg_l1b_1p8: ldo1 { + regulator-name =3D "vreg_l1b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l2b_3p0: ldo2 { + regulator-name =3D "vreg_l2b_3p0"; + regulator-min-microvolt =3D <3008000>; + regulator-max-microvolt =3D <3008000>; + regulator-initial-mode =3D ; + }; + + vreg_l5b_3p1: ldo5 { + regulator-name =3D "vreg_l5b_3p1"; + regulator-min-microvolt =3D <3104000>; + regulator-max-microvolt =3D <3104000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l8b_1p8: ldo8 { + regulator-name =3D "vreg_l8b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l9b_2p9: ldo9 { + regulator-name =3D "vreg_l9b_2p9"; + regulator-min-microvolt =3D <2960000>; + regulator-max-microvolt =3D <2960000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l10b_1p8: ldo10 { + regulator-name =3D "vreg_l10b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l12b_1p8: ldo12 { + regulator-name =3D "vreg_l12b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l15b_1p8: ldo15 { + regulator-name =3D "vreg_l15b_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l17b_2p5: ldo17 { + regulator-name =3D "vreg_l17b_2p5"; + regulator-min-microvolt =3D <2504000>; + regulator-max-microvolt =3D <2504000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + regulators-1 { + compatible =3D "qcom,pm8550vs-rpmh-regulators"; + + vdd-l1-supply =3D <&vreg_s1c_1p2>; + vdd-l3-supply =3D <&vreg_s1c_1p2>; + 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>; + + qcom,pmic-id =3D "c"; + + vreg_s1c_1p2: smps1 { + regulator-name =3D "vreg_s1c_1p2"; + regulator-min-microvolt =3D <1224000>; + regulator-max-microvolt =3D <1348000>; + regulator-initial-mode =3D ; + }; + + vreg_s2c_0p8: smps2 { + regulator-name =3D "vreg_s2c_0p8"; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1036000>; + regulator-initial-mode =3D ; + }; + + vreg_s3c_0p9: smps3 { + regulator-name =3D "vreg_s3c_0p9"; + regulator-min-microvolt =3D <904000>; + regulator-max-microvolt =3D <1064000>; + regulator-initial-mode =3D ; + }; + + vreg_s4c_1p2: smps4 { + regulator-name =3D "vreg_s4c_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1280000>; + regulator-initial-mode =3D ; + }; + + vreg_s5c_0p7: smps5 { + regulator-name =3D "vreg_s5c_0p7"; + regulator-min-microvolt =3D <300000>; + regulator-max-microvolt =3D <900000>; + regulator-initial-mode =3D ; + }; + + vreg_s6c_1p8: smps6 { + regulator-name =3D "vreg_s6c_1p8"; + regulator-min-microvolt =3D <1856000>; + regulator-max-microvolt =3D <2000000>; + regulator-initial-mode =3D ; + }; + + vreg_l1c_1p2: ldo1 { + regulator-name =3D "vreg_l1c_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + }; + + vreg_l3c_1p2: ldo3 { + regulator-name =3D "vreg_l3c_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + regulators-2 { + compatible =3D "qcom,pm8550vs-rpmh-regulators"; + + vdd-l1-supply =3D <&vreg_s3c_0p9>; + + qcom,pmic-id =3D "d"; + + vreg_l1d_0p9: ldo1 { + regulator-name =3D "vreg_l1d_0p9"; + regulator-min-microvolt =3D <912000>; + regulator-max-microvolt =3D <920000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + regulators-3 { + compatible =3D "qcom,pm8550vs-rpmh-regulators"; + + vdd-l3-supply =3D <&vreg_s3c_0p9>; + + qcom,pmic-id =3D "e"; + + vreg_l3e_0p9: ldo3 { + regulator-name =3D "vreg_l3e_0p9"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <920000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + regulators-4 { + compatible =3D "qcom,pm8550vs-rpmh-regulators"; + + vdd-l1-supply =3D <&vreg_s3c_0p9>; + vdd-l2-supply =3D <&vreg_s1c_1p2>; + vdd-l3-supply =3D <&vreg_s3c_0p9>; + + qcom,pmic-id =3D "g"; + + vreg_l1g_0p9: ldo1 { + regulator-name =3D "vreg_l1g_0p9"; + regulator-min-microvolt =3D <912000>; + regulator-max-microvolt =3D <920000>; + regulator-initial-mode =3D ; + }; + + vreg_l2g_1p1: ldo2 { + regulator-name =3D "vreg_l2g_1p1"; + regulator-min-microvolt =3D <1104000>; + regulator-max-microvolt =3D <1104000>; + regulator-initial-mode =3D ; + }; + + vreg_l3g_0p91: ldo3 { + regulator-name =3D "vreg_l3g_0p91"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + }; + }; + + regulators-5 { + compatible =3D "qcom,pm8550ve-rpmh-regulators"; + + vdd-l1-supply =3D <&vreg_s3c_0p9>; + vdd-l2-supply =3D <&vreg_s3c_0p9>; + vdd-l3-supply =3D <&vreg_s1c_1p2>; + vdd-s4-supply =3D <&vph_pwr>; + + qcom,pmic-id =3D "i"; + + vreg_s4i_0p85: smps4 { + regulator-name =3D "vreg_s4i_0p85"; + regulator-min-microvolt =3D <852000>; + regulator-max-microvolt =3D <1004000>; + regulator-initial-mode =3D ; + }; + + vreg_l1i_0p88: ldo1 { + regulator-name =3D "vreg_l1i_0p88"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l2i_0p88: ldo2 { + regulator-name =3D "vreg_l2i_0p88"; + regulator-min-microvolt =3D <880000>; + regulator-max-microvolt =3D <912000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l3i_1p2: ldo3 { + regulator-name =3D "vreg_l3i_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + }; + + regulators-6 { + compatible =3D "qcom,pm8010-rpmh-regulators"; + + vdd-l1-l2-supply =3D <&vreg_s1c_1p2>; + vdd-l3-l4-supply =3D <&vreg_bob2>; + vdd-l5-supply =3D <&vreg_s6c_1p8>; + vdd-l6-supply =3D <&vreg_bob2>; + vdd-l7-supply =3D <&vreg_bob1>; + + qcom,pmic-id =3D "m"; + + vreg_l1m_1p1: ldo1 { + regulator-name =3D "vreg_l1m_1p1"; + regulator-min-microvolt =3D <1104000>; + regulator-max-microvolt =3D <1104000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l2m_1p2: ldo2 { + regulator-name =3D "vreg_l2m_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l3m_2p8: ldo3 { + regulator-name =3D "vreg_l3m_2p8"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-initial-mode =3D ; + }; + + vreg_l4m_2p8: ldo4 { + regulator-name =3D "vreg_l4m_2p8"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-initial-mode =3D ; + }; + + vreg_l5m_1p8: ldo5 { + regulator-name =3D "vreg_l5m_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l6m_2p8: ldo6 { + regulator-name =3D "vreg_l6m_2p8"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-initial-mode =3D ; + }; + + vreg_l7m_3p3: ldo7 { + regulator-name =3D "vreg_l7m_3p3"; + regulator-min-microvolt =3D <3304000>; + regulator-max-microvolt =3D <3304000>; + regulator-initial-mode =3D ; + + regulator-always-on; + }; + }; + + regulators-7 { + compatible =3D "qcom,pm8010-rpmh-regulators"; + + vdd-l1-l2-supply =3D <&vreg_s1c_1p2>; + vdd-l3-l4-supply =3D <&vreg_bob2>; + vdd-l5-supply =3D <&vreg_s6c_1p8>; + vdd-l6-supply =3D <&vreg_bob2>; + + qcom,pmic-id =3D "n"; + + vreg_l1n_1p1: ldo1 { + regulator-name =3D "vreg_l1n_1p1"; + regulator-min-microvolt =3D <1104000>; + regulator-max-microvolt =3D <1104000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l2n_1p2: ldo2 { + regulator-name =3D "vreg_l2n_1p2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-initial-mode =3D ; + regulator-allow-set-load; + regulator-allowed-modes =3D ; + }; + + vreg_l3n_2p8: ldo3 { + regulator-name =3D "vreg_l3n_2p8"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-initial-mode =3D ; + }; + + vreg_l4n_2p8: ldo4 { + regulator-name =3D "vreg_l4n_2p8"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-initial-mode =3D ; + }; + + vreg_l5n_1p8: ldo5 { + regulator-name =3D "vreg_l5n_1p8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-initial-mode =3D ; + }; + + vreg_l6n_2p8: ldo6 { + regulator-name =3D "vreg_l6n_2p8"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-initial-mode =3D ; + }; + }; +}; + +&dispcc { + status =3D "disabled"; +}; + +&gpi_dma1 { + status =3D "okay"; +}; + +&gpi_dma2 { + status =3D "okay"; +}; + +&gpu { + status =3D "okay"; +}; + +&i2c_hub_8 { + clock-frequency =3D <100000>; + + status =3D "okay"; + + right_spkr_i2s: speaker@38 { + compatible =3D "maxim,max98390"; + reg =3D <0x38>; + + reset-gpios =3D <&tlmm 73 GPIO_ACTIVE_LOW>; + + pinctrl-0 =3D <&r_spkr_irq_default>; + pinctrl-names =3D "default"; + + #sound-dai-cells =3D <0>; + sound-name-prefix =3D "Speaker Right"; + + maxim,temperature_calib =3D <1024>; + maxim,r0_calib =3D <100232>; + }; + + left_spkr_i2s: speaker@3d { + compatible =3D "maxim,max98390"; + reg =3D <0x3d>; + + reset-gpios =3D <&tlmm 161 GPIO_ACTIVE_LOW>; + + pinctrl-0 =3D <&l_spkr_irq_default>; + pinctrl-names =3D "default"; + + #sound-dai-cells =3D <0>; + sound-name-prefix =3D "Speaker Left"; + + maxim,temperature_calib =3D <1024>; + maxim,r0_calib =3D <100232>; + }; + + light-sensor@60 { + compatible =3D "vishay,vcnl4040"; + reg =3D <0x60>; + + vin0-supply =3D <&vreg_l2b_3p0>; + vin1-supply =3D <&vreg_l15b_1p8>; + + proximity-near-level =3D <220>; + }; +}; + +&i2c_master_hub_0 { + firmware-name =3D "qcom/sm8650/qupv3fw.elf"; + + status =3D "okay"; +}; + +&i2c2 { + clock-frequency =3D <100000>; + + status =3D "okay"; + + eeprom@50 { + compatible =3D "atmel,24c32"; + reg =3D <0x50>; + + label =3D "strap_eeprom"; + vcc-supply =3D <&vreg_l15b_1p8>; + }; + + eeprom@51 { + compatible =3D "atmel,24c04"; + reg =3D <0x51>; + + label =3D "strap_v2_eeprom"; + vcc-supply =3D <&vreg_l15b_1p8>; + }; +}; + +&i2c4 { + clock-frequency =3D <100000>; + + status =3D "okay"; + + magnetometer@6c { + compatible =3D "allegromicro,als31300-500"; + reg =3D <0x6c>; + + vcc-supply =3D <&vreg_l2b_3p0>; + }; +}; + +&i2c5 { + clock-frequency =3D <100000>; + + status =3D "okay"; + + eeprom@50 { + compatible =3D "atmel,24c64"; + reg =3D <0x50>; + label =3D "core_v2_eeprom"; + vcc-supply =3D <&vreg_l15b_1p8>; + pagesize =3D <32>; + size =3D <8192>; + address-width =3D <16>; + wp-gpios =3D <&tlmm 78 GPIO_ACTIVE_HIGH>; + }; +}; + +&pcie0 { + wake-gpios =3D <&tlmm 96 GPIO_ACTIVE_HIGH>; + perst-gpios =3D <&tlmm 94 GPIO_ACTIVE_LOW>; + + pinctrl-0 =3D <&pcie0_default_state>; + pinctrl-names =3D "default"; + + status =3D "okay"; +}; + +&pcieport0 { + wifi@0 { + compatible =3D "pci17cb,1107"; + reg =3D <0x10000 0x0 0x0 0x0 0x0>; + + vddrfacmn-supply =3D <&vreg_pmu_rfa_cmn>; + vddaon-supply =3D <&vreg_pmu_aon_0p59>; + vddwlcx-supply =3D <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply =3D <&vreg_pmu_wlmx_0p85>; + vddrfa0p8-supply =3D <&vreg_pmu_rfa_0p8>; + vddrfa1p2-supply =3D <&vreg_pmu_rfa_1p2>; + vddrfa1p8-supply =3D <&vreg_pmu_rfa_1p8>; + vddpcie0p9-supply =3D <&vreg_pmu_pcie_0p9>; + vddpcie1p8-supply =3D <&vreg_pmu_pcie_1p8>; + }; +}; + +&pcie0_phy { + vdda-phy-supply =3D <&vreg_l1i_0p88>; + vdda-pll-supply =3D <&vreg_l3i_1p2>; + + status =3D "okay"; +}; + +&pm8550_gpios { + sdc2_card_det_n: sdc2-card-det-state { + pins =3D "gpio12"; + function =3D "normal"; + bias-pull-up; + input-enable; + output-disable; + power-source =3D <1>; /* 1.8 V */ + }; + + volume_up_n: volume-up-n-state { + pins =3D "gpio6"; + function =3D "normal"; + bias-pull-up; + input-enable; + power-source =3D <1>; + }; +}; + +&pm8550_pwm { + status =3D "okay"; + + multi-led { + color =3D ; + function =3D LED_FUNCTION_STATUS; + default-state =3D "keep"; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + led@1 { + reg =3D <1>; + color =3D ; + }; + + led@2 { + reg =3D <2>; + color =3D ; + }; + + led@3 { + reg =3D <3>; + color =3D ; + }; + }; +}; + +&pm8550_temp_alarm { + io-channels =3D <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(1)>; + io-channel-names =3D "thermal"; +}; + +&pm8550b_gpios { + detect_n: detect-n-state { + pins =3D "gpio6"; + function =3D "normal"; + power-source =3D <1>; + bias-pull-up; + input-enable; + }; + + select_n: select-n-state { + pins =3D "gpio5"; + function =3D "normal"; + power-source =3D <1>; + bias-pull-up; + input-enable; + }; +}; + +&pm8550b_eusb2_repeater { + vdd18-supply =3D <&vreg_l15b_1p8>; + vdd3-supply =3D <&vreg_l5b_3p1>; +}; + +&pm8550b_temp_alarm { + io-channels =3D <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(7)>; + io-channel-names =3D "thermal"; +}; + +&pm8550vs_c { + status =3D "okay"; +}; + +&pm8550vs_c_temp_alarm { + io-channels =3D <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(2)>; + io-channel-names =3D "thermal"; +}; + +&pm8550vs_d { + status =3D "okay"; +}; + +&pm8550vs_d_temp_alarm { + io-channels =3D <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(3)>; + io-channel-names =3D "thermal"; +}; + +&pm8550vs_e { + status =3D "okay"; +}; + +&pm8550vs_e_temp_alarm { + io-channels =3D <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(4)>; + io-channel-names =3D "thermal"; +}; + +&pm8550vs_g { + status =3D "okay"; +}; + +&pm8550vs_g_temp_alarm { + io-channels =3D <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(6)>; + io-channel-names =3D "thermal"; +}; + +&pm8550ve_temp_alarm { + io-channels =3D <&pmk8550_vadc ADC5_GEN3_DIE_TEMP(PMK8550VE_SID)>; + io-channel-names =3D "thermal"; +}; + +&pmk8550_rtc { + allow-set-time; + + status =3D "okay"; +}; + +&pmk8550_vadc { + /* PMK8550 Channel nodes */ + channel@44 { + reg =3D ; + label =3D "pmk8550_xo_therm"; + qcom,ratiometric; + qcom,hw-settle-time =3D <200>; + qcom,pre-scaling =3D <1 1>; + }; + + channel@49 { + reg =3D ; + label =3D "display_left_therm"; + qcom,ratiometric; + qcom,hw-settle-time =3D <15>; + }; + + /* PM8550 Channel nodes */ + channel@100 { + reg =3D ; + label =3D "pm8550_offset_ref"; + qcom,pre-scaling =3D <1 1>; + }; + + channel@101 { + reg =3D ; + label =3D "pm8550_vref_1p25"; + qcom,pre-scaling =3D <1 1>; + }; + + channel@103 { + reg =3D ; + label =3D "pm8550_die_temp"; + qcom,pre-scaling =3D <1 1>; + }; + + channel@144 { + reg =3D ; + label =3D "pcba_at_fan_exhaust"; + qcom,ratiometric; + qcom,hw-settle-time =3D <200>; + }; + + channel@145 { + reg =3D ; + label =3D "pcba_at_40pin_connector"; + qcom,ratiometric; + qcom,hw-settle-time =3D <200>; + }; + + channel@146 { + reg =3D ; + label =3D "pcba_at_wifi"; + qcom,ratiometric; + qcom,hw-settle-time =3D <200>; + }; + + channel@147 { + reg =3D ; + label =3D "pcba_at_flash"; + qcom,ratiometric; + qcom,hw-settle-time =3D <200>; + }; + + channel@148 { + reg =3D ; + label =3D "pcba_at_nrf"; + qcom,ratiometric; + qcom,hw-settle-time =3D <200>; + }; + + channel@18e { + reg =3D ; + label =3D "pm8550_vph_pwr"; + qcom,pre-scaling =3D <1 3>; + }; + + /* PM8550VS_C Channel nodes */ + channel@203 { + reg =3D ; + label =3D "pm8550vs_c_die_temp"; + qcom,pre-scaling =3D <1 1>; + }; + + /* PM8550VS_D Channel nodes */ + channel@303 { + reg =3D ; + label =3D "pm8550vs_d_die_temp"; + qcom,pre-scaling =3D <1 1>; + }; + + /* PM8550VS_E Channel nodes */ + channel@403 { + reg =3D ; + label =3D "pm8550vs_e_die_temp"; + qcom,pre-scaling =3D <1 1>; + }; + + /* PM8550VE Channel nodes */ + channel@503 { + reg =3D ; + label =3D "pm8550ve_die_temp"; + qcom,pre-scaling =3D <1 1>; + }; + + /* PM8550VS_G Channel nodes */ + channel@603 { + reg =3D ; + label =3D "pm8550vs_g_die_temp"; + qcom,pre-scaling =3D <1 1>; + }; + + /* PM8550B Channel nodes */ + channel@700 { + reg =3D ; + label =3D "pm8550b_offset_ref"; + qcom,pre-scaling =3D <1 1>; + }; + + channel@701 { + reg =3D ; + label =3D "pm8550b_vref_1p25"; + qcom,pre-scaling =3D <1 1>; + }; + + channel@703 { + reg =3D ; + label =3D "pm8550b_die_temp"; + qcom,pre-scaling =3D <1 1>; + }; + + channel@711 { + reg =3D ; + label =3D "pm8550b_usb_sns_v_div_16"; + qcom,pre-scaling =3D <1 16>; + }; + + channel@712 { + reg =3D ; + label =3D "pm8550b_wls_vin_div_16"; + qcom,pre-scaling =3D <1 16>; + }; + + channel@744 { + reg =3D ; + label =3D "battery_temp"; + qcom,ratiometric; + qcom,hw-settle-time =3D <200>; + }; + + channel@747 { + reg =3D ; + label =3D "pcba_at_heat_sink_fins"; + qcom,ratiometric; + qcom,hw-settle-time =3D <200>; + }; + + channel@78e { + reg =3D ; + label =3D "pm8550b_vph_pwr"; + qcom,pre-scaling =3D <1 3>; + }; + + channel@78f { + reg =3D ; + label =3D "pm8550b_vbat_sns_qbg"; + qcom,pre-scaling =3D <1 6>; + }; +}; + +&pon_pwrkey { + status =3D "okay"; +}; + +&pon_resin { + linux,code =3D ; + + status =3D "okay"; +}; + +&qupv3_id_0 { + firmware-name =3D "qcom/sm8650/qupv3fw.elf"; + + status =3D "okay"; +}; + +&qupv3_id_1 { + firmware-name =3D "qcom/sm8650/qupv3fw.elf"; + + status =3D "okay"; +}; + +&sdhc_2 { + cd-gpios =3D <&pm8550_gpios 12 GPIO_ACTIVE_LOW>; + + vmmc-supply =3D <&vreg_l9b_2p9>; + vqmmc-supply =3D <&vreg_l8b_1p8>; + bus-width =3D <4>; + no-sdio; + no-mmc; + + pinctrl-0 =3D <&sdc2_default>, <&sdc2_card_det_n>; + pinctrl-1 =3D <&sdc2_sleep>, <&sdc2_card_det_n>; + pinctrl-names =3D "default", "sleep"; + + status =3D "okay"; +}; + +&sleep_clk { + clock-frequency =3D <32764>; +}; + +&tlmm { + bt_default: bt-default-state { + bt-en-pins { + pins =3D "gpio17"; + function =3D "gpio"; + drive-strength =3D <16>; + bias-disable; + }; + + sw-ctrl-pins { + pins =3D "gpio18"; + function =3D "gpio"; + bias-pull-down; + }; + }; + + i2c4_default: i2c4-default-state { + pins =3D "gpio48", "gpio49"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + + i2c5_default: i2c5-default-state { + pins =3D "gpio52", "gpio53"; + function =3D "gpio"; + drive-strength =3D <2>; + bias-pull-up; + }; + + l_spkr_irq_default: l-spkr-irq-state-state { + pins =3D "gpio77"; + function =3D "gpio"; + bias-pull-up; + }; + + r_spkr_irq_default: r-spkr-irq-default-state { + pins =3D "gpio186"; + function =3D "gpio"; + bias-pull-up; + }; + + wlan_en: wlan-en-state { + pins =3D "gpio16"; + function =3D "gpio"; + drive-strength =3D <8>; + bias-pull-down; + }; +}; + +&uart14 { + status =3D "okay"; + + bluetooth { + compatible =3D "qcom,wcn7850-bt"; + + vddrfacmn-supply =3D <&vreg_pmu_rfa_cmn>; + vddaon-supply =3D <&vreg_pmu_aon_0p59>; + vddwlcx-supply =3D <&vreg_pmu_wlcx_0p8>; + vddwlmx-supply =3D <&vreg_pmu_wlmx_0p85>; + vddrfa0p8-supply =3D <&vreg_pmu_rfa_0p8>; + vddrfa1p2-supply =3D <&vreg_pmu_rfa_1p2>; + vddrfa1p8-supply =3D <&vreg_pmu_rfa_1p8>; + + max-speed =3D <3200000>; + }; +}; + +&uart15 { + status =3D "okay"; +}; + +&ufs_mem_hc { + reset-gpios =3D <&tlmm 210 GPIO_ACTIVE_LOW>; + + vcc-supply =3D <&vreg_l17b_2p5>; + vcc-max-microamp =3D <1300000>; + vccq-supply =3D <&vreg_l1c_1p2>; + vccq-max-microamp =3D <1200000>; + + status =3D "okay"; +}; + +&ufs_mem_phy { + vdda-phy-supply =3D <&vreg_l1d_0p9>; + vdda-pll-supply =3D <&vreg_l3i_1p2>; + + status =3D "okay"; +}; + +&usb_1 { + dr_mode =3D "peripheral"; + + /* USB 2.0 only */ + qcom,select-utmi-as-pipe-clk; + maximum-speed =3D "high-speed"; + + /* Remove USB3 phy */ + phys =3D <&usb_1_hsphy>; + phy-names =3D "usb2-phy"; + + status =3D "okay"; +}; + +&usb_1_hsphy { + vdd-supply =3D <&vreg_l1i_0p88>; + vdda12-supply =3D <&vreg_l3i_1p2>; + + phys =3D <&pm8550b_eusb2_repeater>; + + status =3D "okay"; +}; + +&xo_board { + clock-frequency =3D <76800000>; +}; --=20 2.34.1