From nobody Fri Nov 22 22:02:12 2024 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 1003518C03B; Fri, 15 Nov 2024 10:15:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731665714; cv=none; b=EynMXMBxPvY/CItAFQrA2TEi6YWXGEpT3cWznfQsF3EQ8LmgnP+oGLloPfwsGBd9yp6pdVLDP7nXxRp3amycwNjVbudsAC5kGVzgSiLrV1YyzhWZEbaha1bBXt0Gaksn+c6aULSOVW2xokleMRzezFNTEE6gObwH1tCbA8qzKgw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1731665714; c=relaxed/simple; bh=IVZnGwu6VS6IywhPePf0j+Mec3gm87uieDiuC6HjjGU=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=AUyiPy5VBFIO5MbrEyc0yuOTXdtBsxtMvYrv+ChGeTtLbNvbMVC4T1GooR06avXJyfHqHeqDvRF4cCKjNJDd499jmdD2BeN3PRxGgs/7bb4IxT1522kNn/3NbwML5azbP6hYMSwAGdB7EvWmOec2vbhTT5cIRvKFH7axNqCaShA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=qualcomm.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=Xy91abvF; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="Xy91abvF" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 4AF9ZhxB002908; Fri, 15 Nov 2024 10:15:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=/37BCGKIdzuuzerB0f764KMqidmA0gNB1w4 2B+saO8I=; b=Xy91abvFodETQgl2s1tvM36SqD/GLZOGEQw0AXayvtBFn1hzGv7 QX5yREIaK13ciqnQ1tfoR6zegR3+uN7BTOUUFyQmDixiJi3t8UYn/sRV9njaZ5OH fgWPgQ1S/PwnmsaL/RD8H763cBPVqmu0ojqlfHAo4miPBvXG8CSJIj8Gl0IKf2Gq GAq3uYRnUw2YTWFYVCJIGwslqHG5FRTkUAoAgE16mqTjVkMPr/LfFXJ4XTcmZ7y4 NedkotFYJHAkS98DulfkkOCeSk0NtQ+lYC1fV8/bZ1QG9bP5X8o1gENBc2NhI96D ETGbR6i5+PI94Ut/XWhJ+Yjqjgi+zOYXCXw== Received: from apblrppmta01.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com [103.229.18.19]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 42x3t9g4ey-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 15 Nov 2024 10:15:07 +0000 (GMT) Received: from pps.filterd (APBLRPPMTA01.qualcomm.com [127.0.0.1]) by APBLRPPMTA01.qualcomm.com (8.18.1.2/8.18.1.2) with ESMTP id 4AFAF4FB026470; Fri, 15 Nov 2024 10:15:04 GMT Received: from pps.reinject (localhost [127.0.0.1]) by APBLRPPMTA01.qualcomm.com (PPS) with ESMTPS id 42t0tn1eyf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 15 Nov 2024 10:15:04 +0000 Received: from APBLRPPMTA01.qualcomm.com (APBLRPPMTA01.qualcomm.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 4AFAF4fx026459; Fri, 15 Nov 2024 10:15:04 GMT Received: from hu-devc-hyd-u22-c.qualcomm.com ([10.213.97.252]) by APBLRPPMTA01.qualcomm.com (PPS) with ESMTPS id 4AFAF3Ar026454 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 15 Nov 2024 10:15:04 +0000 Received: by hu-devc-hyd-u22-c.qualcomm.com (Postfix, from userid 4047106) id 0CB064D9; Fri, 15 Nov 2024 15:45:03 +0530 (+0530) From: Viken Dadhaniya To: andersson@kernel.org, konradybcio@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, konrad.dybcio@oss.qualcomm.com, dmitry.baryshkov@linaro.org Cc: quic_msavaliy@quicinc.com, quic_anupkulk@quicinc.com, Viken Dadhaniya Subject: [PATCH v4] arm64: dts: qcom: qcs615: Add QUPv3 configuration Date: Fri, 15 Nov 2024 15:45:01 +0530 Message-Id: <20241115101501.1995843-1-quic_vdadhani@quicinc.com> X-Mailer: git-send-email 2.34.1 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 X-QCInternal: smtphost X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: 6tjhZEJe5bH4Q9uq70WhHG3RvZ0nsLey X-Proofpoint-ORIG-GUID: 6tjhZEJe5bH4Q9uq70WhHG3RvZ0nsLey X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29 definitions=2024-09-06_09,2024-09-06_01,2024-09-02_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 malwarescore=0 impostorscore=0 priorityscore=1501 clxscore=1015 mlxscore=0 mlxlogscore=999 adultscore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2409260000 definitions=main-2411150086 Content-Type: text/plain; charset="utf-8" Add DT support for QUPv3 Serial Engines. Co-developed-by: Mukesh Kumar Savaliya Signed-off-by: Mukesh Kumar Savaliya Signed-off-by: Viken Dadhaniya --- Build Dependencies: Base: https://lore.kernel.org/linux-devicetree/20240926-add_initial_support_for_q= cs615-v3-5-e37617e91c62@quicinc.com/ https://lore.kernel.org/linux-devicetree/20240926-add_initial_support_for_q= cs615-v3-6-e37617e91c62@quicinc.com/ Clock: https://lore.kernel.org/linux-devicetree/20240920-qcs615-clock-drive= r-v2-3-2f6de44eb2aa@quicinc.com/ ICC: https://lore.kernel.org/linux-devicetree/20240924143958.25-2-quic_rlag= gysh@quicinc.com/ Apps SMMU: https://lore.kernel.org/all/20241011063112.19087-1-quic_qqzhou@q= uicinc.com/ GPI documentation: https://lore.kernel.org/r/linux-devicetree/2024111509285= 4.1877369-1-quic_vdadhani@quicinc.com/ v3 -> v4: - Correct gpi compatible string as qcs615 requires an ee_offset of 0x0. v3 Link: https://lore.kernel.org/all/20241111084331.2564643-1-quic_vdadhani= @quicinc.com/ v2 -> v3: - Modify GPI DMA node name and compatible string. - Drop buses aliases from SOC DTSI. - Add GPI compatible for QCS615 in seperate patch. v2 Link: https://lore.kernel.org/all/20241028112049.30734-1-quic_vdadhani@q= uicinc.com/ v1 -> v2: - Add opp-shared property. - Use QCOM_ICC_TAG_ALWAYS flag in interconnect property. v1 Link: https://lore.kernel.org/all/20241011103346.22925-1-quic_vdadhani@q= uicinc.com/ --- arch/arm64/boot/dts/qcom/qcs615.dtsi | 627 ++++++++++++++++++++++++++- 1 file changed, 623 insertions(+), 4 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/qcs615.dtsi b/arch/arm64/boot/dts/qco= m/qcs615.dtsi index 865ead601f85..cccfde956973 100644 --- a/arch/arm64/boot/dts/qcom/qcs615.dtsi +++ b/arch/arm64/boot/dts/qcom/qcs615.dtsi @@ -5,6 +5,7 @@ =20 #include #include +#include #include #include #include @@ -296,6 +297,26 @@ mc_virt: interconnect-2 { qcom,bcm-voters =3D <&apps_bcm_voter>; }; =20 + qup_opp_table: opp-table-qup { + compatible =3D "operating-points-v2"; + opp-shared; + + opp-75000000 { + opp-hz =3D /bits/ 64 <75000000>; + required-opps =3D <&rpmhpd_opp_low_svs>; + }; + + opp-100000000 { + opp-hz =3D /bits/ 64 <100000000>; + required-opps =3D <&rpmhpd_opp_svs>; + }; + + opp-128000000 { + opp-hz =3D /bits/ 64 <128000000>; + required-opps =3D <&rpmhpd_opp_nom>; + }; + }; + psci { compatible =3D "arm,psci-1.0"; method =3D "smc"; @@ -392,6 +413,24 @@ qfprom: efuse@780000 { #size-cells =3D <1>; }; =20 + gpi_dma0: dma-controller@800000 { + compatible =3D "qcom,qcs615-gpi-dma", "qcom,sdm845-gpi-dma"; + reg =3D <0x0 0x800000 0x0 0x60000>; + #dma-cells =3D <3>; + interrupts =3D , + , + , + , + , + , + , + ; + dma-channels =3D <8>; + dma-channel-mask =3D <0xf>; + iommus =3D <&apps_smmu 0xd6 0x0>; + status =3D "disabled"; + }; + qupv3_id_0: geniqup@8c0000 { compatible =3D "qcom,geni-se-qup"; reg =3D <0x0 0x8c0000 0x0 0x6000>; @@ -400,6 +439,7 @@ qupv3_id_0: geniqup@8c0000 { <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>; clock-names =3D "m-ahb", "s-ahb"; + iommus =3D <&apps_smmu 0xc3 0x0>; #address-cells =3D <2>; #size-cells =3D <2>; status =3D "disabled"; @@ -412,13 +452,416 @@ uart0: serial@880000 { pinctrl-0 =3D <&qup_uart0_tx>, <&qup_uart0_rx>; pinctrl-names =3D "default"; interrupts =3D ; - interconnects =3D <&aggre1_noc MASTER_QUP_0 0 - &mc_virt SLAVE_EBI1 0>, - <&gem_noc MASTER_APPSS_PROC 0 - &config_noc SLAVE_QUP_0 0>; + interconnects =3D <&aggre1_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + status =3D "disabled"; + }; + + i2c1: i2c@884000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x884000 0x0 0x4000>; + #address-cells =3D <1>; + #size-cells =3D <0>; + interrupts =3D ; + clocks =3D <&gcc GCC_QUPV3_WRAP0_S1_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_i2c1_data_clk>; + pinctrl-names =3D "default"; + interconnects =3D <&aggre1_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config", + "qup-memory"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + dmas =3D <&gpi_dma0 0 1 QCOM_GPI_I2C>, + <&gpi_dma0 1 1 QCOM_GPI_I2C>; + dma-names =3D "tx", + "rx"; + status =3D "disabled"; + }; + + i2c2: i2c@888000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x888000 0x0 0x4000>; + #address-cells =3D <1>; + #size-cells =3D <0>; + interrupts =3D ; + clocks =3D <&gcc GCC_QUPV3_WRAP0_S2_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_i2c2_data_clk>; + pinctrl-names =3D "default"; + interconnects =3D <&aggre1_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config", + "qup-memory"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + dmas =3D <&gpi_dma0 0 2 QCOM_GPI_I2C>, + <&gpi_dma0 1 2 QCOM_GPI_I2C>; + dma-names =3D "tx", + "rx"; + status =3D "disabled"; + }; + + spi2: spi@888000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0x00888000 0x0 0x4000>; + interrupts =3D ; + clocks =3D <&gcc GCC_QUPV3_WRAP0_S2_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_spi2_data_clk>, <&qup_spi2_cs>; + pinctrl-names =3D "default"; + interconnects =3D <&aggre1_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + dmas =3D <&gpi_dma0 0 2 QCOM_GPI_SPI>, + <&gpi_dma0 1 2 QCOM_GPI_SPI>; + dma-names =3D "tx", + "rx"; + #address-cells =3D <1>; + #size-cells =3D <0>; + status =3D "disabled"; + }; + + uart2: serial@888000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0x00888000 0x0 0x4000>; + interrupts =3D ; + clocks =3D <&gcc GCC_QUPV3_WRAP0_S2_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_uart2_cts>, <&qup_uart2_rts>, + <&qup_uart2_tx>, <&qup_uart2_rx>; + pinctrl-names =3D "default"; + interconnects =3D <&aggre1_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + status =3D "disabled"; + }; + + i2c3: i2c@88c000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0x88c000 0x0 0x4000>; + #address-cells =3D <1>; + #size-cells =3D <0>; + interrupts =3D ; + clocks =3D <&gcc GCC_QUPV3_WRAP0_S3_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_i2c3_data_clk>; + pinctrl-names =3D "default"; + interconnects =3D <&aggre1_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config", + "qup-memory"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + dmas =3D <&gpi_dma0 0 3 QCOM_GPI_I2C>, + <&gpi_dma0 1 3 QCOM_GPI_I2C>; + dma-names =3D "tx", + "rx"; + status =3D "disabled"; + }; + }; + + gpi_dma1: dma-controller@a00000 { + compatible =3D "qcom,qcs615-gpi-dma", "qcom,sdm845-gpi-dma"; + reg =3D <0x0 0xa00000 0x0 0x60000>; + #dma-cells =3D <3>; + interrupts =3D , + , + , + , + , + , + , + ; + dma-channels =3D <8>; + dma-channel-mask =3D <0xf>; + iommus =3D <&apps_smmu 0x376 0x0>; + status =3D "disabled"; + }; + + qupv3_id_1: geniqup@ac0000 { + compatible =3D "qcom,geni-se-qup"; + reg =3D <0x0 0xac0000 0x0 0x2000>; + ranges; + clocks =3D <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>, + <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>; + clock-names =3D "m-ahb", + "s-ahb"; + iommus =3D <&apps_smmu 0x363 0x0>; + #address-cells =3D <2>; + #size-cells =3D <2>; + status =3D "disabled"; + + i2c4: i2c@a80000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0xa80000 0x0 0x4000>; + clocks =3D <&gcc GCC_QUPV3_WRAP1_S0_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_i2c4_data_clk>; + pinctrl-names =3D "default"; + interrupts =3D ; + #address-cells =3D <1>; + #size-cells =3D <0>; + interconnects =3D <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config", + "qup-memory"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + required-opps =3D <&rpmhpd_opp_low_svs>; + dmas =3D <&gpi_dma1 0 0 QCOM_GPI_I2C>, + <&gpi_dma1 1 0 QCOM_GPI_I2C>; + dma-names =3D "tx", + "rx"; + status =3D "disabled"; + }; + + spi4: spi@a80000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0xa80000 0x0 0x4000>; + clocks =3D <&gcc GCC_QUPV3_WRAP1_S0_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_spi4_data_clk>, <&qup_spi4_cs>; + pinctrl-names =3D "default"; + interrupts =3D ; + #address-cells =3D <1>; + #size-cells =3D <0>; + interconnects =3D <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + operating-points-v2 =3D <&qup_opp_table>; + dmas =3D <&gpi_dma1 0 0 QCOM_GPI_SPI>, + <&gpi_dma1 1 0 QCOM_GPI_SPI>; + dma-names =3D "tx", + "rx"; + status =3D "disabled"; + }; + + uart4: serial@a80000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0xa80000 0x0 0x4000>; + clocks =3D <&gcc GCC_QUPV3_WRAP1_S0_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_uart4_cts>, <&qup_uart4_rts>, + <&qup_uart4_tx>, <&qup_uart4_rx>; + pinctrl-names =3D "default"; + interrupts =3D ; + interconnects =3D <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + operating-points-v2 =3D <&qup_opp_table>; + status =3D "disabled"; + }; + + i2c5: i2c@a84000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0xa84000 0x0 0x4000>; + clocks =3D <&gcc GCC_QUPV3_WRAP1_S1_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_i2c5_data_clk>; + pinctrl-names =3D "default"; + interrupts =3D ; + #address-cells =3D <1>; + #size-cells =3D <0>; + interconnects =3D <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config", + "qup-memory"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + required-opps =3D <&rpmhpd_opp_low_svs>; + dmas =3D <&gpi_dma1 0 1 QCOM_GPI_I2C>, + <&gpi_dma1 1 1 QCOM_GPI_I2C>; + dma-names =3D "tx", + "rx"; + status =3D "disabled"; + }; + + i2c6: i2c@a88000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0xa88000 0x0 0x4000>; + clocks =3D <&gcc GCC_QUPV3_WRAP1_S2_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_i2c6_data_clk>; + pinctrl-names =3D "default"; + interrupts =3D ; + #address-cells =3D <1>; + #size-cells =3D <0>; + interconnects =3D <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config", + "qup-memory"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + required-opps =3D <&rpmhpd_opp_low_svs>; + dmas =3D <&gpi_dma1 0 2 QCOM_GPI_I2C>, + <&gpi_dma1 1 2 QCOM_GPI_I2C>; + dma-names =3D "tx", + "rx"; + status =3D "disabled"; + }; + + spi6: spi@a88000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0xa88000 0x0 0x4000>; + clocks =3D <&gcc GCC_QUPV3_WRAP1_S2_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_spi6_data_clk>, <&qup_spi6_cs>; + pinctrl-names =3D "default"; + interrupts =3D ; + #address-cells =3D <1>; + #size-cells =3D <0>; + interconnects =3D <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + operating-points-v2 =3D <&qup_opp_table>; + dmas =3D <&gpi_dma1 0 2 QCOM_GPI_SPI>, + <&gpi_dma1 1 2 QCOM_GPI_SPI>; + dma-names =3D "tx", + "rx"; + status =3D "disabled"; + }; + + uart6: serial@a88000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0xa88000 0x0 0x4000>; + clocks =3D <&gcc GCC_QUPV3_WRAP1_S2_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_uart6_cts>, <&qup_uart6_rts>, + <&qup_uart6_tx>, <&qup_uart6_rx>; + pinctrl-names =3D "default"; + interrupts =3D ; + interconnects =3D <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + operating-points-v2 =3D <&qup_opp_table>; + status =3D "disabled"; + }; + + i2c7: i2c@a8c000 { + compatible =3D "qcom,geni-i2c"; + reg =3D <0x0 0xa8c000 0x0 0x4000>; + clocks =3D <&gcc GCC_QUPV3_WRAP1_S3_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_i2c7_data_clk>; + pinctrl-names =3D "default"; + interrupts =3D ; + #address-cells =3D <1>; + #size-cells =3D <0>; + interconnects =3D <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>, + <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config", + "qup-memory"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + required-opps =3D <&rpmhpd_opp_low_svs>; + dmas =3D <&gpi_dma1 0 3 QCOM_GPI_I2C>, + <&gpi_dma1 1 3 QCOM_GPI_I2C>; + dma-names =3D "tx", + "rx"; + status =3D "disabled"; + }; + + spi7: spi@a8c000 { + compatible =3D "qcom,geni-spi"; + reg =3D <0x0 0xa8c000 0x0 0x4000>; + clocks =3D <&gcc GCC_QUPV3_WRAP1_S3_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_spi7_data_clk>, <&qup_spi7_cs>; + pinctrl-names =3D "default"; + interrupts =3D ; + #address-cells =3D <1>; + #size-cells =3D <0>; + interconnects =3D <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; + interconnect-names =3D "qup-core", + "qup-config"; + power-domains =3D <&rpmhpd RPMHPD_CX>; + operating-points-v2 =3D <&qup_opp_table>; + dmas =3D <&gpi_dma1 0 3 QCOM_GPI_SPI>, + <&gpi_dma1 1 3 QCOM_GPI_SPI>; + dma-names =3D "tx", + "rx"; + status =3D "disabled"; + }; + + uart7: serial@a8c000 { + compatible =3D "qcom,geni-uart"; + reg =3D <0x0 0xa8c000 0x0 0x4000>; + clocks =3D <&gcc GCC_QUPV3_WRAP1_S3_CLK>; + clock-names =3D "se"; + pinctrl-0 =3D <&qup_uart7_cts>, <&qup_uart7_rts>, + <&qup_uart7_tx>, <&qup_uart7_rx>; + pinctrl-names =3D "default"; + interrupts =3D ; + interconnects =3D <&aggre1_noc MASTER_BLSP_1 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS + &config_noc SLAVE_QUP_1 QCOM_ICC_TAG_ALWAYS>; interconnect-names =3D "qup-core", "qup-config"; power-domains =3D <&rpmhpd RPMHPD_CX>; + operating-points-v2 =3D <&qup_opp_table>; status =3D "disabled"; }; }; @@ -478,6 +921,102 @@ tlmm: pinctrl@3100000 { #interrupt-cells =3D <2>; wakeup-parent =3D <&pdc>; =20 + qup_i2c1_data_clk: qup-i2c1-data-clk-state { + pins =3D "gpio4", "gpio5"; + function =3D "qup0"; + + }; + + qup_i2c2_data_clk: qup-i2c2-data-clk-state { + pins =3D "gpio0", "gpio1"; + function =3D "qup0"; + }; + + qup_i2c3_data_clk: qup-i2c3-data-clk-state { + pins =3D "gpio18", "gpio19"; + function =3D "qup0"; + }; + + qup_i2c4_data_clk: qup-i2c4-data-clk-state { + pins =3D "gpio20", "gpio21"; + function =3D "qup1"; + }; + + qup_i2c5_data_clk: qup-i2c5-data-clk-state { + pins =3D "gpio14", "gpio15"; + function =3D "qup1"; + }; + + qup_i2c6_data_clk: qup-i2c6-data-clk-state { + pins =3D "gpio6", "gpio7"; + function =3D "qup1"; + }; + + qup_i2c7_data_clk: qup-i2c7-data-clk-state { + pins =3D "gpio10", "gpio11"; + function =3D "qup1"; + }; + + qup_spi2_data_clk: qup-spi2-data-clk-state { + pins =3D "gpio0", "gpio1", "gpio2"; + function =3D "qup0"; + }; + + qup_spi2_cs: qup-spi2-cs-state { + pins =3D "gpio3"; + function =3D "qup0"; + }; + + qup_spi2_cs_gpio: qup-spi2-cs-gpio-state { + pins =3D "gpio3"; + function =3D "gpio"; + }; + + qup_spi4_data_clk: qup-spi4-data-clk-state { + pins =3D "gpio20", "gpio21", "gpio22"; + function =3D "qup1"; + }; + + qup_spi4_cs: qup-spi4-cs-state { + pins =3D "gpio23"; + function =3D "qup1"; + }; + + qup_spi4_cs_gpio: qup-spi4-cs-gpio-state { + pins =3D "gpio23"; + function =3D "gpio"; + }; + + qup_spi6_data_clk: qup-spi6-data-clk-state { + pins =3D "gpio6", "gpio7", "gpio8"; + function =3D "qup1"; + }; + + qup_spi6_cs: qup-spi6-cs-state { + pins =3D "gpio9"; + function =3D "qup1"; + }; + + qup_spi6_cs_gpio: qup-spi6-cs-gpio-state { + pins =3D "gpio9"; + function =3D "gpio"; + }; + + qup_spi7_data_clk: qup-spi7-data-clk-state { + pins =3D "gpio10", "gpio11", "gpio12"; + function =3D "qup1"; + }; + + qup_spi7_cs: qup-spi7-cs-state { + pins =3D "gpio13"; + function =3D "qup1"; + }; + + qup_spi7_cs_gpio: qup-spi7-cs-gpio-state { + pins =3D "gpio13"; + function =3D "gpio"; + }; + qup_uart0_tx: qup-uart0-tx-state { pins =3D "gpio16"; function =3D "qup0"; @@ -487,6 +1026,86 @@ qup_uart0_rx: qup-uart0-rx-state { pins =3D "gpio17"; function =3D "qup0"; }; + + qup_uart2_cts: qup-uart2-cts-state { + pins =3D "gpio0"; + function =3D "qup0"; + }; + + qup_uart2_rts: qup-uart2-rts-state { + pins =3D "gpio1"; + function =3D "qup0"; + }; + + qup_uart2_tx: qup-uart2-tx-state { + pins =3D "gpio2"; + function =3D "qup0"; + }; + + qup_uart2_rx: qup-uart2-rx-state { + pins =3D "gpio3"; + function =3D "qup0"; + }; + + qup_uart4_cts: qup-uart4-cts-state { + pins =3D "gpio20"; + function =3D "qup1"; + }; + + qup_uart4_rts: qup-uart4-rts-state { + pins =3D "gpio21"; + function =3D "qup1"; + }; + + qup_uart4_tx: qup-uart4-tx-state { + pins =3D "gpio22"; + function =3D "qup1"; + }; + + qup_uart4_rx: qup-uart4-rx-state { + pins =3D "gpio23"; + function =3D "qup1"; + }; + + qup_uart6_cts: qup-uart6-cts-state { + pins =3D "gpio6"; + function =3D "qup1"; + }; + + qup_uart6_rts: qup-uart6-rts-state { + pins =3D "gpio7"; + function =3D "qup1"; + }; + + qup_uart6_tx: qup-uart6-tx-state { + pins =3D "gpio8"; + function =3D "qup1"; + }; + + qup_uart6_rx: qup-uart6-rx-state { + pins =3D "gpio9"; + function =3D "qup1"; + }; + + qup_uart7_cts: qup-uart7-cts-state { + pins =3D "gpio10"; + function =3D "qup1"; + }; + + qup_uart7_rts: qup-uart7-rts-state { + pins =3D "gpio11"; + function =3D "qup1"; + }; + + qup_uart7_tx: qup-uart7-tx-state { + pins =3D "gpio12"; + function =3D "qup1"; + }; + + qup_uart7_rx: qup-uart7-rx-state { + pins =3D "gpio13"; + function =3D "qup1"; + }; }; =20 dc_noc: interconnect@9160000 { --=20 2.34.1