From patchwork Wed Oct 25 07:47:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Neil Armstrong X-Patchwork-Id: 13435686 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0BC2AC0032E for ; Wed, 25 Oct 2023 07:58:51 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234235AbjJYH6v (ORCPT ); Wed, 25 Oct 2023 03:58:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234190AbjJYH6t (ORCPT ); Wed, 25 Oct 2023 03:58:49 -0400 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1F7E919B7 for ; Wed, 25 Oct 2023 00:47:58 -0700 (PDT) Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4079ed65471so43484085e9.1 for ; Wed, 25 Oct 2023 00:47:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1698220076; x=1698824876; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ou36K0Ph2HU2RNT+pZmhHgtEiAyvW2Vr90PPTDXRBmA=; b=ZU4xpLkAd0fjqL00jjbhu//XAGGaPEQT/SrdQW5ZHYog2Kz/yRZJYHAbNkalv1AIR5 rDkfNKqkmOrrrDVPKxz/ZtIqLIOnzgHIuRCs4KyU5SZQfAQ7VhcqnJ43ucm+0jGBRHZh 67Y/wRAfLzvVag4fVwSdCK4Gjn6xL9BIniR82/O8azRUhAhcunUwEgqviH1Xx5K3ETxB 4iOKeg36TA0H/7Dwrwsom3Yv2307JBXVsHkh27ovSx92N9hFhLiVQ1nXKh8RL5UWDI/z /kxqYJsBvpqBVf8Icrg/pDucQPpem8hvo/nhDKpLSOgqVRhpcEd2A0unqS79M2IsdxZF 7WCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698220076; x=1698824876; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ou36K0Ph2HU2RNT+pZmhHgtEiAyvW2Vr90PPTDXRBmA=; b=X8BkSjhbOAjCofiEC9L+laOcfDaNWkwbSj2l9cmpxREp/8lp5Ifs73K2s/xnw1/9n4 idExTj6XQCRVOIuaFVGFe7jalVDEhHpt8aL7iwuF1tjnu1N9chVMgGCDAGPoGfu1M1sV /juxtN7AUAWFeLTUqJZ49fLjlwkl4+Gx8JHP0ymMwjg9GpjyH3LmYaIXrKU++DjMwy0V AMVJrvmFFyMOLad6Pq/rzLUCjKwERh3XzPGcMD7UDKtBLyZCEO74cD7XTC6Nhdwo2voZ VhZAczOhvN32pjWhjnDT9QDYAWbyK6s7tliy587RpBplYDKOF2omQARqzv14JH0Ovsqs 92ZA== X-Gm-Message-State: AOJu0YwCcjxFn8UUurXj7cZ/m/fR7WoZ+lwhNIqwTD3ccAbptXfJhlfB Fr4du3H51JML0vDtXIXu6GKdag== X-Google-Smtp-Source: AGHT+IGMAhPjz3sEa56gobd6HviDhtNZEjsFQiuKbfdPDtm0VmvQDfmC/NSYT5GcatC3KHTt+M+X4Q== X-Received: by 2002:a05:600c:3d0e:b0:408:c6eb:9a87 with SMTP id bh14-20020a05600c3d0e00b00408c6eb9a87mr7818381wmb.24.1698220076516; Wed, 25 Oct 2023 00:47:56 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id p5-20020a05600c358500b004053a6b8c41sm13900970wmq.12.2023.10.25.00.47.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Oct 2023 00:47:55 -0700 (PDT) From: Neil Armstrong Date: Wed, 25 Oct 2023 09:47:48 +0200 Subject: [PATCH RFC 8/8] arm64: dts: qcom: sm8650-qrd: add interconnect dependent device nodes MIME-Version: 1.0 Message-Id: <20231025-topic-sm8650-upstream-dt-v1-8-a821712af62f@linaro.org> References: <20231025-topic-sm8650-upstream-dt-v1-0-a821712af62f@linaro.org> In-Reply-To: <20231025-topic-sm8650-upstream-dt-v1-0-a821712af62f@linaro.org> To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.12.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=6570; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=K18eWQysuBThx0/kfP13OL3LjWSDVslZjK/npy/d8J0=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBlOMgiGjOjb5974YWTl2iPk4+nIHs3+9RrdR7YrtLY rmoSD9KJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCZTjIIgAKCRB33NvayMhJ0bimD/ 9Gz3LhybMTJFdIqtmR2ZFe4Jbf1WOZSYAeBncxge+OX6GhPpVOMjXebSQfvFvZRxL+36EdVE7Ay/i8 PKf8CINRbJu+cDyP5o2sqUQlQg7+676DpgLND1O0Jnic5mzIhXomizIpMss3LwQjnJxCReis9I4PCD SI9PairSGp2siLG1lUIYKM7WJTGkBeIErwQqLCIAv5OR2niat+CmuLUV9Y+riRKRzW98PMpV5OLtlb eU4TaU482bFUWLlG5cbqesxgTy6VRmKzZCdCbIFCm/wW8ZD1oEkVTHLXyQxax0bGERvNliWIC86/U6 VhGYG23BU7p+YNjFzStsc+tDoXpvmFru6Fc62KKYrL1Cak2vPglHdQNQHf8eFM3kGkkWma3gCakkEC owzNFxZ4t1u38/Gj+WLuxaOZg5QODahYTb2rfXkI1+AHl/Bnc0SzkBXvKRwKhkX7Ecj5Qy3Uf5WgTz 1qYG8TLkOCcQ88JFxULMOnSd4ivEOwAWlyEH1W1V//a67m/tIXd9/PwTQbEZ44vVwiOYV+ySrgVkeI bMrBKYoQU7qM1dDZIieKmTOT5/46a99N1J6Ru83F6K2KqCC9IL2EEws8hunhECbR2OO7SYWSHeU/hr M5+oqdA23ypc9jsgd7VKhsEeFK2vQ7yAgTzt469JLtU7TET+5Ybq9wqbwiQg== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Now interconnect dependent devices are added in sm8650 DTSI, now enable more devices for the Qualcomm SM8650 QRD board: - PCIe - Display - DSPs - SDCard - UFS - USB role switch with PMIC Glink - Bluetooth Signed-off-by: Neil Armstrong --- arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 275 +++++++++++++++++++++++++++++++- 1 file changed, 274 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts index 207c4ba1a253..7d8e7fd1858d 100644 --- a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts +++ b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts @@ -23,6 +23,7 @@ / { aliases { serial0 = &uart15; + serial1 = &uart14; }; chosen { @@ -45,6 +46,45 @@ key-volume-up { }; }; + pmic-glink { + compatible = "qcom,sm8650-pmic-glink", + "qcom,sm8550-pmic-glink", + "qcom,pmic-glink"; + #address-cells = <1>; + #size-cells = <0>; + orientation-gpios = <&tlmm 29 GPIO_ACTIVE_HIGH>; + + connector@0 { + compatible = "usb-c-connector"; + + reg = <0>; + + power-role = "dual"; + data-role = "dual"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + pmic_glink_hs_in: endpoint { + remote-endpoint = <&usb_1_dwc3_hs>; + }; + }; + + port@1 { + reg = <1>; + + pmic_glink_ss_in: endpoint { + remote-endpoint = <&usb_1_dwc3_ss>; + }; + }; + }; + }; + }; + vph_pwr: vph-pwr-regulator { compatible = "regulator-fixed"; @@ -339,6 +379,80 @@ vreg_l3i_1p2: ldo3 { }; }; +&dispcc { + status = "okay"; +}; + +&gpi_dma1 { + status = "okay"; +}; + +&mdss { + status = "okay"; +}; + +&mdss_dsi0 { + vdda-supply = <&vreg_l3i_1p2>; + status = "okay"; + + panel@0 { + compatible = "visionox,vtdr6130"; + reg = <0>; + + vddio-supply = <&vreg_l12b_1p8>; + vci-supply = <&vreg_l13b_3p0>; + vdd-supply = <&vreg_l11b_1p2>; + + reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; + + pinctrl-0 = <&sde_dsi_active>, <&sde_te_active>; + pinctrl-1 = <&sde_dsi_suspend>, <&sde_te_suspend>; + pinctrl-names = "default", "sleep"; + + port { + panel0_in: endpoint { + remote-endpoint = <&mdss_dsi0_out>; + }; + }; + }; +}; + +&mdss_dsi0_out { + remote-endpoint = <&panel0_in>; + data-lanes = <0 1 2 3>; +}; + +&mdss_dsi0_phy { + vdds-supply = <&vreg_l1i_0p88>; + + status = "okay"; +}; + +&mdss_mdp { + status = "okay"; +}; + +&pcie_1_phy_aux_clk { + clock-frequency = <1000>; +}; + +&pcie0 { + wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>; + perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>; + + pinctrl-0 = <&pcie0_default_state>; + pinctrl-names = "default"; + + status = "okay"; +}; + +&pcie0_phy { + vdda-phy-supply = <&vreg_l1i_0p88>; + vdda-pll-supply = <&vreg_l3i_1p2>; + + status = "okay"; +}; + &pon_pwrkey { status = "okay"; }; @@ -419,22 +533,172 @@ &pmk8550_rtc { status = "okay"; }; +&qupv3_id_0 { + status = "okay"; +}; + &qupv3_id_1 { status = "okay"; }; +&remoteproc_adsp { + firmware-name = "qcom/sm8650/adsp.mbn", + "qcom/sm8650/adsp_dtb.mbn"; + + status = "okay"; +}; + +&remoteproc_cdsp { + firmware-name = "qcom/sm8650/cdsp.mbn", + "qcom/sm8650/cdsp_dtb.mbn"; + + status = "okay"; +}; + +&remoteproc_mpss { + firmware-name = "qcom/sm8650/modem.mbn", + "qcom/sm8650/modem_dtb.mbn"; + + status = "okay"; +}; + &sleep_clk { clock-frequency = <32000>; }; +&spi4 { + status = "okay"; + + touchscreen@0 { + compatible = "goodix,gt9916"; + reg = <0>; + + interrupt-parent = <&tlmm>; + interrupts = <162 IRQ_TYPE_LEVEL_LOW>; + + reset-gpios = <&tlmm 161 GPIO_ACTIVE_LOW>; + + avdd-supply = <&vreg_l14b_3p2>; + + spi-max-frequency = <1000000>; + + touchscreen-size-x = <1080>; + touchscreen-size-y = <2400>; + + pinctrl-0 = <&ts_irq>, <&ts_reset>; + pinctrl-names = "default"; + }; +}; + &tlmm { gpio-reserved-ranges = <32 8>; + + bt_default: bt-default-state { + bt-en-pins { + pins = "gpio17"; + function = "gpio"; + drive-strength = <16>; + bias-disable; + }; + + sw-ctrl-pins { + pins = "gpio18"; + function = "gpio"; + bias-pull-down; + }; + }; + + sde_dsi_active: sde-dsi-active-state { + pins = "gpio133"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + + sde_dsi_suspend: sde-dsi-suspend-state { + pins = "gpio133"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + + sde_te_active: sde-te-active-state { + pins = "gpio86"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-pull-down; + }; + + sde_te_suspend: sde-te-suspend-state { + pins = "gpio86"; + function = "mdp_vsync"; + drive-strength = <2>; + bias-pull-down; + }; + + ts_irq: ts-irq-state { + pins = "gpio161"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + output-disable; + }; + + ts_reset: ts-reset-state { + pins = "gpio162"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; +}; + +&uart14 { + status = "okay"; + + bluetooth { + compatible = "qcom,wcn7850-bt"; + + clocks = <&rpmhcc RPMH_RF_CLK1>; + + vddio-supply = <&vreg_l3c_1p2>; + vddaon-supply = <&vreg_l15b_1p8>; + vdddig-supply = <&vreg_s3c_0p9>; + vddrfa0p8-supply = <&vreg_s3c_0p9>; + vddrfa1p2-supply = <&vreg_s1c_1p2>; + vddrfa1p9-supply = <&vreg_s6c_1p8>; + + max-speed = <3200000>; + + enable-gpios = <&tlmm 17 GPIO_ACTIVE_HIGH>; + swctrl-gpios = <&tlmm 18 GPIO_ACTIVE_HIGH>; + + pinctrl-0 = <&bt_default>; + pinctrl-names = "default"; + }; }; &uart15 { status = "okay"; }; +&ufs_mem_hc { + reset-gpios = <&tlmm 210 GPIO_ACTIVE_LOW>; + + vcc-supply = <&vreg_l17b_2p5>; + vcc-max-microamp = <1300000>; + vccq-supply = <&vreg_l1c_1p2>; + vccq-max-microamp = <1200000>; + + status = "okay"; +}; + +&ufs_mem_phy { + vdda-phy-supply = <&vreg_l1d_0p88>; + vdda-pll-supply = <&vreg_l3i_1p2>; + + status = "okay"; +}; + /* * DPAUX -> WCD9395 -> USB_SBU -> USB-C * eUSB2 DP/DM -> PM85550HS -> eUSB2 DP/DM -> WCD9395 -> USB-C @@ -446,7 +710,16 @@ &usb_1 { }; &usb_1_dwc3 { - dr_mode = "peripheral"; + dr_mode = "otg"; + usb-role-switch; +}; + +&usb_1_dwc3_hs { + remote-endpoint = <&pmic_glink_hs_in>; +}; + +&usb_1_dwc3_ss { + remote-endpoint = <&pmic_glink_ss_in>; }; &usb_1_hsphy {