forked from rpms/kernel
		
	Add ACPI fixes plus a DT for qcom sd850 based Yoga C630
This commit is contained in:
		
							parent
							
								
									8a4687c244
								
							
						
					
					
						commit
						bff345a8a8
					
				
							
								
								
									
										623
									
								
								arm64-dts-qcom-Add-Lenovo-Yoga-C630.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										623
									
								
								arm64-dts-qcom-Add-Lenovo-Yoga-C630.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,623 @@ | |||||||
|  | From patchwork Thu Sep  5 14:51:12 2019 | ||||||
|  | Content-Type: text/plain; charset="utf-8" | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Content-Transfer-Encoding: 7bit | ||||||
|  | X-Patchwork-Submitter: Lee Jones <lee.jones@linaro.org> | ||||||
|  | X-Patchwork-Id: 11133293 | ||||||
|  | Return-Path:  | ||||||
|  |  <SRS0=FLD0=XA=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> | ||||||
|  | Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org | ||||||
|  |  [172.30.200.123]) | ||||||
|  | 	by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EF29913BD | ||||||
|  | 	for <patchwork-linux-arm@patchwork.kernel.org>; | ||||||
|  |  Thu,  5 Sep 2019 14:51:26 +0000 (UTC) | ||||||
|  | Received: from bombadil.infradead.org (bombadil.infradead.org | ||||||
|  |  [198.137.202.133]) | ||||||
|  | 	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) | ||||||
|  | 	(No client certificate requested) | ||||||
|  | 	by mail.kernel.org (Postfix) with ESMTPS id 1997020820 | ||||||
|  | 	for <patchwork-linux-arm@patchwork.kernel.org>; | ||||||
|  |  Thu,  5 Sep 2019 14:51:27 +0000 (UTC) | ||||||
|  | Authentication-Results: mail.kernel.org; | ||||||
|  | 	dkim=pass (2048-bit key) header.d=lists.infradead.org | ||||||
|  |  header.i=@lists.infradead.org header.b="QcCmRfwJ"; | ||||||
|  | 	dkim=fail reason="signature verification failed" (2048-bit key) | ||||||
|  |  header.d=linaro.org header.i=@linaro.org header.b="UUIx2S2a" | ||||||
|  | DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1997020820 | ||||||
|  | Authentication-Results: mail.kernel.org; | ||||||
|  |  dmarc=fail (p=none dis=none) header.from=linaro.org | ||||||
|  | Authentication-Results: mail.kernel.org; | ||||||
|  |  spf=none | ||||||
|  |  smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org | ||||||
|  | DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; | ||||||
|  | 	d=lists.infradead.org; s=bombadil.20170209; h=Sender: | ||||||
|  | 	Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: | ||||||
|  | 	List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: | ||||||
|  | 	Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: | ||||||
|  | 	Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: | ||||||
|  | 	References:List-Owner; bh=RFMjkhfiAb3mDQJcei/M3ErXIrcuIvXho1uY3CGaFs8=; b=QcC | ||||||
|  | 	mRfwJTEzsniFc2PQTDfopo/phWmprscia3e6OqRIHx0I6F8qNt3pLneLcx7MATAHPJHeD2Bfz/d1W | ||||||
|  | 	vk/w8leYRcdrNca/SkMK3grqwTP3XueqwIC3W59cpisOR1/MTcmZZ05pTYnppFox5HNzWRfOL6Z6r | ||||||
|  | 	CZvdTV7DVN0DYpv+NU1GnegQ3L8w/B1BaXGHVCPJjH/dHMLJ4OqBor2LD0dBQpYwROMamQbE3enrN | ||||||
|  | 	WGMNjdb3YYZU47m5stsgoivzulIOlOF5PKp+VY75IwHxck1S07mqhqxB9cmIvdEke7S9T1EpoIOJs | ||||||
|  | 	2cu8v9rxofEpJNocOcSJeYiEpGj6qIA==; | ||||||
|  | Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) | ||||||
|  | 	by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) | ||||||
|  | 	id 1i5t6X-0000ra-3X; Thu, 05 Sep 2019 14:51:21 +0000 | ||||||
|  | Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]) | ||||||
|  |  by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) | ||||||
|  |  id 1i5t6S-0000r9-W3 | ||||||
|  |  for linux-arm-kernel@lists.infradead.org; Thu, 05 Sep 2019 14:51:18 +0000 | ||||||
|  | Received: by mail-wm1-x343.google.com with SMTP id n10so3441823wmj.0 | ||||||
|  |  for <linux-arm-kernel@lists.infradead.org>; | ||||||
|  |  Thu, 05 Sep 2019 07:51:16 -0700 (PDT) | ||||||
|  | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; | ||||||
|  |  h=from:to:cc:subject:date:message-id; | ||||||
|  |  bh=hP6dTKrGhmI4Li1vYBwvA5G00RWYLdiehRQLahBt/08=; | ||||||
|  |  b=UUIx2S2a1OTzLYcxsOGi8vjYvnpXjIXXfjjInQmQhJrOoLVMUI4bMk0pP8K4hv5+v1 | ||||||
|  |  bC+ahF3FezFlzFIlypiny7EYPPxM79sdZHZnnpe6qgrTfl/6guRvEmNJy8vpPadhocR8 | ||||||
|  |  IW0JAJGxuc7RH4bWScdjpjBLvTYEo3MLTNDGuJOCB05O5AH8D6gSDZPqwaUWbITmdboy | ||||||
|  |  JTOLJ37XUMxPF83r7F6BQwynpfcnLc9Ytv9w1tMp0R82MmO52QP457mar3d7PWPJu/Rw | ||||||
|  |  YJb6IDjcjSjZJrr3aGvnJVnETp/zGeRsmeTgNtJe37OYQ5blm4tzTlx1dRxuMiRRs6DS | ||||||
|  |  rUaA== | ||||||
|  | X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; | ||||||
|  |  d=1e100.net; s=20161025; | ||||||
|  |  h=x-gm-message-state:from:to:cc:subject:date:message-id; | ||||||
|  |  bh=hP6dTKrGhmI4Li1vYBwvA5G00RWYLdiehRQLahBt/08=; | ||||||
|  |  b=d2RovY2av4Dyx8Ou6LJ+nAvLFVrruV6de3b6OWCOF5mnVZA2T2tJEcsrZEGXSSpkiz | ||||||
|  |  1YxSkV7YgJJElZhqlfudvkyyxth7A1ZDQnU4x3QyppMQ5lWeHg/xT9+q+h7orxiRjQeX | ||||||
|  |  2J+SRG4WqZwcpbUSe95Wy2tPFVB5GYv1eyARjCARCpYOECeprtSl1ckDVyBJ/3G4AVLm | ||||||
|  |  kB1xk3Ua101/bad3LA8IW1Zo0ld7x7u42jPYO7kJhPH8Ec/l0mrAVSIJn54PKoLu/DhW | ||||||
|  |  yH6q+kD4LffmAtpj4ICo/rQdtmjV7msTJZ/Dcos9IpUPi5KoXbxWdP+NoUyaVleKhEIl | ||||||
|  |  IYMA== | ||||||
|  | X-Gm-Message-State: APjAAAUQgezKycPxaZ7DvJWRiVy/0dp867xlik7J0fXQ60D99YKcuW0q | ||||||
|  |  aRR9aWXTADWPSkrcTkd0a071Qw== | ||||||
|  | X-Google-Smtp-Source:  | ||||||
|  |  APXvYqybUDyw7bzKyC0JJlkse2i6lXau2tHY0+7iUxCwZcbyfwIDTqmYWXxNn26wfhgBAKudt68zBQ== | ||||||
|  | X-Received: by 2002:a1c:a404:: with SMTP id n4mr3206745wme.137.1567695075383; | ||||||
|  |  Thu, 05 Sep 2019 07:51:15 -0700 (PDT) | ||||||
|  | Received: from localhost.localdomain ([95.147.198.36]) | ||||||
|  |  by smtp.gmail.com with ESMTPSA id g201sm4376858wmg.34.2019.09.05.07.51.14 | ||||||
|  |  (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); | ||||||
|  |  Thu, 05 Sep 2019 07:51:14 -0700 (PDT) | ||||||
|  | From: Lee Jones <lee.jones@linaro.org> | ||||||
|  | To: agross@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, | ||||||
|  |  bjorn.andersson@linaro.org, arnd@arndb.de | ||||||
|  | Subject: [PATCH v4 1/1] arm64: dts: qcom: Add Lenovo Yoga C630 | ||||||
|  | Date: Thu,  5 Sep 2019 15:51:12 +0100 | ||||||
|  | Message-Id: <20190905145112.7366-1-lee.jones@linaro.org> | ||||||
|  | X-Mailer: git-send-email 2.17.1 | ||||||
|  | X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3  | ||||||
|  | X-CRM114-CacheID: sfid-20190905_075117_040430_5C619449  | ||||||
|  | X-CRM114-Status: GOOD (  14.05  ) | ||||||
|  | X-Spam-Score: -0.2 (/) | ||||||
|  | X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: | ||||||
|  |  Content analysis details:   (-0.2 points) | ||||||
|  |  pts rule name              description | ||||||
|  |  ---- ---------------------- | ||||||
|  |  -------------------------------------------------- | ||||||
|  |  -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/, | ||||||
|  |  no trust [2a00:1450:4864:20:0:0:0:343 listed in] | ||||||
|  |  [list.dnswl.org] | ||||||
|  |  -0.0 SPF_PASS               SPF: sender matches SPF record | ||||||
|  |  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record | ||||||
|  |  -0.1 DKIM_VALID_EF          Message has a valid DKIM or DK signature from | ||||||
|  |  envelope-from domain | ||||||
|  |  -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from | ||||||
|  |  author's domain | ||||||
|  |  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, | ||||||
|  |  not necessarily | ||||||
|  |  valid | ||||||
|  |  -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature | ||||||
|  | X-BeenThere: linux-arm-kernel@lists.infradead.org | ||||||
|  | X-Mailman-Version: 2.1.29 | ||||||
|  | Precedence: list | ||||||
|  | List-Id: <linux-arm-kernel.lists.infradead.org> | ||||||
|  | List-Unsubscribe:  | ||||||
|  |  <http://lists.infradead.org/mailman/options/linux-arm-kernel>, | ||||||
|  |  <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> | ||||||
|  | List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> | ||||||
|  | List-Post: <mailto:linux-arm-kernel@lists.infradead.org> | ||||||
|  | List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> | ||||||
|  | List-Subscribe:  | ||||||
|  |  <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, | ||||||
|  |  <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> | ||||||
|  | Cc: devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, | ||||||
|  |  linux-kernel@vger.kernel.org, soc@kernel.org, | ||||||
|  |  Lee Jones <lee.jones@linaro.org>, | ||||||
|  |  linux-arm-kernel@lists.infradead.org | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Content-Type: text/plain; charset="us-ascii" | ||||||
|  | Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> | ||||||
|  | Errors-To:  | ||||||
|  |  linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org | ||||||
|  | 
 | ||||||
|  | From: Bjorn Andersson <bjorn.andersson@linaro.org> | ||||||
|  | 
 | ||||||
|  | The Lenovo Yoga C630 is built on the SDM850 from Qualcomm, but this seem | ||||||
|  | to be similar enough to the SDM845 that we can reuse the sdm845.dtsi. | ||||||
|  | 
 | ||||||
|  | Supported by this patch is: keyboard, battery monitoring, UFS storage, | ||||||
|  | USB host and Bluetooth. | ||||||
|  | 
 | ||||||
|  | Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> | ||||||
|  | Reviewed-by: Vinod Koul <vkoul@kernel.org> | ||||||
|  | Acked-by: Sudeep Holla <sudeep.holla@arm.com> | ||||||
|  | [Lee] Reorder, change licence, remove non-upstream device node | ||||||
|  | Signed-off-by: Lee Jones <lee.jones@linaro.org> | ||||||
|  | ---
 | ||||||
|  | 
 | ||||||
|  | Changelog: | ||||||
|  |  * Reorder nodes alphabetically | ||||||
|  |  * Remove superfluous node for driver not yet upstream | ||||||
|  |  * Add (then remove) 'no-dma' property | ||||||
|  |  * Change licence to BSD | ||||||
|  | 
 | ||||||
|  | arch/arm64/boot/dts/qcom/Makefile             |   1 + | ||||||
|  |  .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 446 ++++++++++++++++++ | ||||||
|  |  2 files changed, 447 insertions(+) | ||||||
|  |  create mode 100644 arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | ||||||
|  | 
 | ||||||
|  | diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
 | ||||||
|  | index 0a7e5dfce6f7..670c6c65f9e9 100644
 | ||||||
|  | --- a/arch/arm64/boot/dts/qcom/Makefile
 | ||||||
|  | +++ b/arch/arm64/boot/dts/qcom/Makefile
 | ||||||
|  | @@ -12,5 +12,6 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r2.dtb
 | ||||||
|  |  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-cheza-r3.dtb | ||||||
|  |  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-db845c.dtb | ||||||
|  |  dtb-$(CONFIG_ARCH_QCOM)	+= sdm845-mtp.dtb | ||||||
|  | +dtb-$(CONFIG_ARCH_QCOM)	+= sdm850-lenovo-yoga-c630.dtb
 | ||||||
|  |  dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-1000.dtb | ||||||
|  |  dtb-$(CONFIG_ARCH_QCOM)	+= qcs404-evb-4000.dtb | ||||||
|  | diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
 | ||||||
|  | new file mode 100644 | ||||||
|  | index 000000000000..ded120d3aef5
 | ||||||
|  | --- /dev/null
 | ||||||
|  | +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
 | ||||||
|  | @@ -0,0 +1,446 @@
 | ||||||
|  | +// SPDX-License-Identifier: BSD-3-Clause
 | ||||||
|  | +/*
 | ||||||
|  | + * Lenovo Yoga C630
 | ||||||
|  | + *
 | ||||||
|  | + * Copyright (c) 2019, Linaro Ltd.
 | ||||||
|  | + */
 | ||||||
|  | +
 | ||||||
|  | +/dts-v1/;
 | ||||||
|  | +
 | ||||||
|  | +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
 | ||||||
|  | +#include "sdm845.dtsi"
 | ||||||
|  | +#include "pm8998.dtsi"
 | ||||||
|  | +
 | ||||||
|  | +/ {
 | ||||||
|  | +	model = "Lenovo Yoga C630";
 | ||||||
|  | +	compatible = "lenovo,yoga-c630", "qcom,sdm845";
 | ||||||
|  | +
 | ||||||
|  | +	aliases {
 | ||||||
|  | +		hsuart0 = &uart6;
 | ||||||
|  | +	};
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&apps_rsc {
 | ||||||
|  | +	pm8998-rpmh-regulators {
 | ||||||
|  | +		compatible = "qcom,pm8998-rpmh-regulators";
 | ||||||
|  | +		qcom,pmic-id = "a";
 | ||||||
|  | +
 | ||||||
|  | +		vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>;
 | ||||||
|  | +		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
 | ||||||
|  | +
 | ||||||
|  | +		vreg_s2a_1p125: smps2 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_s3a_1p35: smps3 {
 | ||||||
|  | +			regulator-min-microvolt = <1352000>;
 | ||||||
|  | +			regulator-max-microvolt = <1352000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_s4a_1p8: smps4 {
 | ||||||
|  | +			regulator-min-microvolt = <1800000>;
 | ||||||
|  | +			regulator-max-microvolt = <1800000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_s5a_2p04: smps5 {
 | ||||||
|  | +			regulator-min-microvolt = <2040000>;
 | ||||||
|  | +			regulator-max-microvolt = <2040000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_s7a_1p025: smps7 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vdd_qusb_hs0:
 | ||||||
|  | +		vdda_hp_pcie_core:
 | ||||||
|  | +		vdda_mipi_csi0_0p9:
 | ||||||
|  | +		vdda_mipi_csi1_0p9:
 | ||||||
|  | +		vdda_mipi_csi2_0p9:
 | ||||||
|  | +		vdda_mipi_dsi0_pll:
 | ||||||
|  | +		vdda_mipi_dsi1_pll:
 | ||||||
|  | +		vdda_qlink_lv:
 | ||||||
|  | +		vdda_qlink_lv_ck:
 | ||||||
|  | +		vdda_qrefs_0p875:
 | ||||||
|  | +		vdda_pcie_core:
 | ||||||
|  | +		vdda_pll_cc_ebi01:
 | ||||||
|  | +		vdda_pll_cc_ebi23:
 | ||||||
|  | +		vdda_sp_sensor:
 | ||||||
|  | +		vdda_ufs1_core:
 | ||||||
|  | +		vdda_ufs2_core:
 | ||||||
|  | +		vdda_usb1_ss_core:
 | ||||||
|  | +		vdda_usb2_ss_core:
 | ||||||
|  | +		vreg_l1a_0p875: ldo1 {
 | ||||||
|  | +			regulator-min-microvolt = <880000>;
 | ||||||
|  | +			regulator-max-microvolt = <880000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vddpx_10:
 | ||||||
|  | +		vreg_l2a_1p2: ldo2 {
 | ||||||
|  | +			regulator-min-microvolt = <1200000>;
 | ||||||
|  | +			regulator-max-microvolt = <1200000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +			regulator-always-on;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l3a_1p0: ldo3 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vdd_wcss_cx:
 | ||||||
|  | +		vdd_wcss_mx:
 | ||||||
|  | +		vdda_wcss_pll:
 | ||||||
|  | +		vreg_l5a_0p8: ldo5 {
 | ||||||
|  | +			regulator-min-microvolt = <800000>;
 | ||||||
|  | +			regulator-max-microvolt = <800000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vddpx_13:
 | ||||||
|  | +		vreg_l6a_1p8: ldo6 {
 | ||||||
|  | +			regulator-min-microvolt = <1800000>;
 | ||||||
|  | +			regulator-max-microvolt = <1800000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l7a_1p8: ldo7 {
 | ||||||
|  | +			regulator-min-microvolt = <1800000>;
 | ||||||
|  | +			regulator-max-microvolt = <1800000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l8a_1p2: ldo8 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l9a_1p8: ldo9 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l10a_1p8: ldo10 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l11a_1p0: ldo11 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vdd_qfprom:
 | ||||||
|  | +		vdd_qfprom_sp:
 | ||||||
|  | +		vdda_apc1_cs_1p8:
 | ||||||
|  | +		vdda_gfx_cs_1p8:
 | ||||||
|  | +		vdda_qrefs_1p8:
 | ||||||
|  | +		vdda_qusb_hs0_1p8:
 | ||||||
|  | +		vddpx_11:
 | ||||||
|  | +		vreg_l12a_1p8: ldo12 {
 | ||||||
|  | +			regulator-min-microvolt = <1800000>;
 | ||||||
|  | +			regulator-max-microvolt = <1800000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vddpx_2:
 | ||||||
|  | +		vreg_l13a_2p95: ldo13 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l14a_1p88: ldo14 {
 | ||||||
|  | +			regulator-min-microvolt = <1880000>;
 | ||||||
|  | +			regulator-max-microvolt = <1880000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +			regulator-always-on;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l15a_1p8: ldo15 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l16a_2p7: ldo16 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l17a_1p3: ldo17 {
 | ||||||
|  | +			regulator-min-microvolt = <1304000>;
 | ||||||
|  | +			regulator-max-microvolt = <1304000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l18a_2p7: ldo18 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l19a_3p0: ldo19 {
 | ||||||
|  | +			regulator-min-microvolt = <3100000>;
 | ||||||
|  | +			regulator-max-microvolt = <3108000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l20a_2p95: ldo20 {
 | ||||||
|  | +			regulator-min-microvolt = <2960000>;
 | ||||||
|  | +			regulator-max-microvolt = <2960000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l21a_2p95: ldo21 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l22a_2p85: ldo22 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l23a_3p3: ldo23 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vdda_qusb_hs0_3p1:
 | ||||||
|  | +		vreg_l24a_3p075: ldo24 {
 | ||||||
|  | +			regulator-min-microvolt = <3075000>;
 | ||||||
|  | +			regulator-max-microvolt = <3083000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l25a_3p3: ldo25 {
 | ||||||
|  | +			regulator-min-microvolt = <3104000>;
 | ||||||
|  | +			regulator-max-microvolt = <3112000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vdda_hp_pcie_1p2:
 | ||||||
|  | +		vdda_hv_ebi0:
 | ||||||
|  | +		vdda_hv_ebi1:
 | ||||||
|  | +		vdda_hv_ebi2:
 | ||||||
|  | +		vdda_hv_ebi3:
 | ||||||
|  | +		vdda_mipi_csi_1p25:
 | ||||||
|  | +		vdda_mipi_dsi0_1p2:
 | ||||||
|  | +		vdda_mipi_dsi1_1p2:
 | ||||||
|  | +		vdda_pcie_1p2:
 | ||||||
|  | +		vdda_ufs1_1p2:
 | ||||||
|  | +		vdda_ufs2_1p2:
 | ||||||
|  | +		vdda_usb1_ss_1p2:
 | ||||||
|  | +		vdda_usb2_ss_1p2:
 | ||||||
|  | +		vreg_l26a_1p2: ldo26 {
 | ||||||
|  | +			regulator-min-microvolt = <1200000>;
 | ||||||
|  | +			regulator-max-microvolt = <1208000>;
 | ||||||
|  | +			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_l28a_3p0: ldo28 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_lvs1a_1p8: lvs1 {
 | ||||||
|  | +		};
 | ||||||
|  | +
 | ||||||
|  | +		vreg_lvs2a_1p8: lvs2 {
 | ||||||
|  | +		};
 | ||||||
|  | +	};
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&apps_smmu {
 | ||||||
|  | +	/* TODO: Figure out how to survive booting with this enabled */
 | ||||||
|  | +	status = "disabled";
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&gcc {
 | ||||||
|  | +	protected-clocks = <GCC_QSPI_CORE_CLK>,
 | ||||||
|  | +			   <GCC_QSPI_CORE_CLK_SRC>,
 | ||||||
|  | +			   <GCC_QSPI_CNOC_PERIPH_AHB_CLK>;
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&i2c1 {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +	clock-frequency = <400000>;
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&i2c3 {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +	clock-frequency = <400000>;
 | ||||||
|  | +
 | ||||||
|  | +	hid@15 {
 | ||||||
|  | +		compatible = "hid-over-i2c";
 | ||||||
|  | +		reg = <0x15>;
 | ||||||
|  | +		hid-descr-addr = <0x1>;
 | ||||||
|  | +
 | ||||||
|  | +		interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_RISING>;
 | ||||||
|  | +	};
 | ||||||
|  | +
 | ||||||
|  | +	hid@2c {
 | ||||||
|  | +		compatible = "hid-over-i2c";
 | ||||||
|  | +		reg = <0x2c>;
 | ||||||
|  | +		hid-descr-addr = <0x20>;
 | ||||||
|  | +
 | ||||||
|  | +		interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_RISING>;
 | ||||||
|  | +
 | ||||||
|  | +		pinctrl-names = "default";
 | ||||||
|  | +		pinctrl-0 = <&i2c2_hid_active>;
 | ||||||
|  | +	};
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&i2c5 {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +	clock-frequency = <400000>;
 | ||||||
|  | +
 | ||||||
|  | +	hid@10 {
 | ||||||
|  | +		compatible = "hid-over-i2c";
 | ||||||
|  | +		reg = <0x10>;
 | ||||||
|  | +		hid-descr-addr = <0x1>;
 | ||||||
|  | +
 | ||||||
|  | +		interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>;
 | ||||||
|  | +
 | ||||||
|  | +		pinctrl-names = "default";
 | ||||||
|  | +		pinctrl-0 = <&i2c6_hid_active>;
 | ||||||
|  | +	};
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&i2c11 {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +	clock-frequency = <400000>;
 | ||||||
|  | +
 | ||||||
|  | +	hid@5c {
 | ||||||
|  | +		compatible = "hid-over-i2c";
 | ||||||
|  | +		reg = <0x5c>;
 | ||||||
|  | +		hid-descr-addr = <0x1>;
 | ||||||
|  | +
 | ||||||
|  | +		interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>;
 | ||||||
|  | +
 | ||||||
|  | +		pinctrl-names = "default";
 | ||||||
|  | +		pinctrl-0 = <&i2c12_hid_active>;
 | ||||||
|  | +	};
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&qup_i2c12_default {
 | ||||||
|  | +	drive-strength = <2>;
 | ||||||
|  | +	bias-disable;
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&qup_uart6_default {
 | ||||||
|  | +	pinmux {
 | ||||||
|  | +		 pins = "gpio45", "gpio46", "gpio47", "gpio48";
 | ||||||
|  | +		 function = "qup6";
 | ||||||
|  | +	};
 | ||||||
|  | +
 | ||||||
|  | +	cts {
 | ||||||
|  | +		pins = "gpio45";
 | ||||||
|  | +		bias-pull-down;
 | ||||||
|  | +	};
 | ||||||
|  | +
 | ||||||
|  | +	rts-tx {
 | ||||||
|  | +		pins = "gpio46", "gpio47";
 | ||||||
|  | +		drive-strength = <2>;
 | ||||||
|  | +		bias-disable;
 | ||||||
|  | +	};
 | ||||||
|  | +
 | ||||||
|  | +	rx {
 | ||||||
|  | +		pins = "gpio48";
 | ||||||
|  | +		bias-pull-up;
 | ||||||
|  | +	};
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&qupv3_id_0 {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&qupv3_id_1 {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&tlmm {
 | ||||||
|  | +	gpio-reserved-ranges = <0 4>, <81 4>;
 | ||||||
|  | +
 | ||||||
|  | +	i2c2_hid_active: i2c2-hid-active {
 | ||||||
|  | +		pins = <37>;
 | ||||||
|  | +		function = "gpio";
 | ||||||
|  | +
 | ||||||
|  | +		input-enable;
 | ||||||
|  | +		bias-pull-up;
 | ||||||
|  | +		drive-strength = <2>;
 | ||||||
|  | +	};
 | ||||||
|  | +
 | ||||||
|  | +	i2c6_hid_active: i2c6-hid-active {
 | ||||||
|  | +		pins = <125>;
 | ||||||
|  | +		function = "gpio";
 | ||||||
|  | +
 | ||||||
|  | +		input-enable;
 | ||||||
|  | +		bias-pull-up;
 | ||||||
|  | +		drive-strength = <2>;
 | ||||||
|  | +	};
 | ||||||
|  | +
 | ||||||
|  | +	i2c12_hid_active: i2c12-hid-active {
 | ||||||
|  | +		pins = <92>;
 | ||||||
|  | +		function = "gpio";
 | ||||||
|  | +
 | ||||||
|  | +		input-enable;
 | ||||||
|  | +		bias-pull-up;
 | ||||||
|  | +		drive-strength = <2>;
 | ||||||
|  | +	};
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&uart6 {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +
 | ||||||
|  | +	bluetooth {
 | ||||||
|  | +		compatible = "qcom,wcn3990-bt";
 | ||||||
|  | +
 | ||||||
|  | +		vddio-supply = <&vreg_s4a_1p8>;
 | ||||||
|  | +		vddxo-supply = <&vreg_l7a_1p8>;
 | ||||||
|  | +		vddrf-supply = <&vreg_l17a_1p3>;
 | ||||||
|  | +		vddch0-supply = <&vreg_l25a_3p3>;
 | ||||||
|  | +		max-speed = <3200000>;
 | ||||||
|  | +	};
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&ufs_mem_hc {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +
 | ||||||
|  | +	vcc-supply = <&vreg_l20a_2p95>;
 | ||||||
|  | +	vcc-max-microamp = <600000>;
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&ufs_mem_phy {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +
 | ||||||
|  | +	vdda-phy-supply = <&vdda_ufs1_core>;
 | ||||||
|  | +	vdda-pll-supply = <&vdda_ufs1_1p2>;
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&usb_1 {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&usb_1_dwc3 {
 | ||||||
|  | +	dr_mode = "host";
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&usb_1_hsphy {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +
 | ||||||
|  | +	vdd-supply = <&vdda_usb1_ss_core>;
 | ||||||
|  | +	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
 | ||||||
|  | +	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
 | ||||||
|  | +
 | ||||||
|  | +	qcom,imp-res-offset-value = <8>;
 | ||||||
|  | +	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
 | ||||||
|  | +	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
 | ||||||
|  | +	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&usb_1_qmpphy {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +
 | ||||||
|  | +	vdda-phy-supply = <&vdda_usb1_ss_1p2>;
 | ||||||
|  | +	vdda-pll-supply = <&vdda_usb1_ss_core>;
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&usb_2 {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&usb_2_dwc3 {
 | ||||||
|  | +	dr_mode = "host";
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&usb_2_hsphy {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +
 | ||||||
|  | +	vdd-supply = <&vdda_usb2_ss_core>;
 | ||||||
|  | +	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
 | ||||||
|  | +	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
 | ||||||
|  | +
 | ||||||
|  | +	qcom,imp-res-offset-value = <8>;
 | ||||||
|  | +	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>;
 | ||||||
|  | +};
 | ||||||
|  | +
 | ||||||
|  | +&usb_2_qmpphy {
 | ||||||
|  | +	status = "okay";
 | ||||||
|  | +
 | ||||||
|  | +	vdda-phy-supply = <&vdda_usb2_ss_1p2>;
 | ||||||
|  | +	vdda-pll-supply = <&vdda_usb2_ss_core>;
 | ||||||
|  | +};
 | ||||||
| @ -0,0 +1,128 @@ | |||||||
|  | From patchwork Thu Sep  5 19:24:12 2019 | ||||||
|  | Content-Type: text/plain; charset="utf-8" | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Content-Transfer-Encoding: 7bit | ||||||
|  | X-Patchwork-Submitter: Lee Jones <lee.jones@linaro.org> | ||||||
|  | X-Patchwork-Id: 11133827 | ||||||
|  | Return-Path: <SRS0=OmJI=XA=vger.kernel.org=linux-arm-msm-owner@kernel.org> | ||||||
|  | Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org | ||||||
|  |  [172.30.200.123]) | ||||||
|  | 	by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DDFD514ED | ||||||
|  | 	for <patchwork-linux-arm-msm@patchwork.kernel.org>; | ||||||
|  |  Thu,  5 Sep 2019 19:24:19 +0000 (UTC) | ||||||
|  | Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) | ||||||
|  | 	by mail.kernel.org (Postfix) with ESMTP id D540020870 | ||||||
|  | 	for <patchwork-linux-arm-msm@patchwork.kernel.org>; | ||||||
|  |  Thu,  5 Sep 2019 19:24:19 +0000 (UTC) | ||||||
|  | Authentication-Results: mail.kernel.org; | ||||||
|  | 	dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org | ||||||
|  |  header.b="j/6kUy9p" | ||||||
|  | Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand | ||||||
|  |         id S1727540AbfIETYS (ORCPT | ||||||
|  |         <rfc822;patchwork-linux-arm-msm@patchwork.kernel.org>); | ||||||
|  |         Thu, 5 Sep 2019 15:24:18 -0400 | ||||||
|  | Received: from mail-wr1-f49.google.com ([209.85.221.49]:36821 "EHLO | ||||||
|  |         mail-wr1-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org | ||||||
|  |         with ESMTP id S1726008AbfIETYS (ORCPT | ||||||
|  |         <rfc822;linux-arm-msm@vger.kernel.org>); | ||||||
|  |         Thu, 5 Sep 2019 15:24:18 -0400 | ||||||
|  | Received: by mail-wr1-f49.google.com with SMTP id y19so4081592wrd.3 | ||||||
|  |         for <linux-arm-msm@vger.kernel.org>; | ||||||
|  |  Thu, 05 Sep 2019 12:24:16 -0700 (PDT) | ||||||
|  | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; | ||||||
|  |         d=linaro.org; s=google; | ||||||
|  |         h=from:to:cc:subject:date:message-id; | ||||||
|  |         bh=19vbMBbLeKgWt8VsEseKuJu+9+rmeS/Lh0ZhXOFWQYc=; | ||||||
|  |         b=j/6kUy9psCaV+YLvz8j0kAZ3/WrmOU3xyh5rDOj0TwK0TnwjLtaLil9Q+C9KpFvvVG | ||||||
|  |          h4R8p4cZFB0U4b/PAfc9Xt4p4xJNkAIpTzL4QRjM+nkXdDcYyiwUGkr9BRJnJmO0lyZB | ||||||
|  |          zmylqwjRd1oOrTQ1tPvwqUV3OUR5u6WA+rDyhn+A516vskkns0bEICMG787HdDEwjigd | ||||||
|  |          +3SR4L9u7swSDpNhqxtfPsn9UFP36sehUfgx32xUcjUhX3ls4RtX+6HCZU+rkeQuILt5 | ||||||
|  |          0qlmqliIuKXWkQe+ii/gtrK+ulFQ7lEl76YfDJyqXVo4Z357rIhVFAz+mooVn5qpscmU | ||||||
|  |          E+xA== | ||||||
|  | X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; | ||||||
|  |         d=1e100.net; s=20161025; | ||||||
|  |         h=x-gm-message-state:from:to:cc:subject:date:message-id; | ||||||
|  |         bh=19vbMBbLeKgWt8VsEseKuJu+9+rmeS/Lh0ZhXOFWQYc=; | ||||||
|  |         b=QjFuCunKeBkoabY9fIsWTo3krapsS69k52eNtOIeLBaCd7M1lvCmItn41DcbJ5ykqT | ||||||
|  |          RQ0rnlNq35x9QvKNumPai3fMZp9AWt3KpJpxbpEokltyLbkGUqRWaeYTrOtuV9P9nRmT | ||||||
|  |          Yj72UBVzYj4d/G+FGq8EBesWjRyEFC51+RekvPlbRZ/h1fVW7/XAy5cO1ywnHrtNe8pQ | ||||||
|  |          7gYQJ3Xh1Y09qkiO0i8iru5PSMTK3U+vPSLWVdFOeqMh+Beins6I9mbKf+UX+xa8ECK3 | ||||||
|  |          mEFjYxY57YVx+SpaKrmBwEmu9YXLgXqEif1OH1FHFiKZVQ4ABPp19D4+5JOXEV1tCwUS | ||||||
|  |          B6Qw== | ||||||
|  | X-Gm-Message-State: APjAAAUM7yEkrkGZ+mbleFtCMQGsXfLQSXt2Bd+K6leuP2oAs8Vj1j9k | ||||||
|  |         4bsoJvF042q/z9+6bnLlGShjoA== | ||||||
|  | X-Google-Smtp-Source:  | ||||||
|  |  APXvYqyThx0kWliMdrjc7dedZ/+AhabFi7TIc04exnxhWAEkAOh7foRP8Cz8ZjjhxGJCvUyUPA4lFg== | ||||||
|  | X-Received: by 2002:adf:ea0c:: with SMTP id q12mr4172788wrm.172.1567711455933; | ||||||
|  |         Thu, 05 Sep 2019 12:24:15 -0700 (PDT) | ||||||
|  | Received: from localhost.localdomain ([95.147.198.36]) | ||||||
|  |         by smtp.gmail.com with ESMTPSA id | ||||||
|  |  q24sm7942378wmc.3.2019.09.05.12.24.14 | ||||||
|  |         (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); | ||||||
|  |         Thu, 05 Sep 2019 12:24:14 -0700 (PDT) | ||||||
|  | From: Lee Jones <lee.jones@linaro.org> | ||||||
|  | To: alokc@codeaurora.org, agross@kernel.org, robh+dt@kernel.org, | ||||||
|  |         mark.rutland@arm.com, bjorn.andersson@linaro.org, vkoul@kernel.org, | ||||||
|  |         wsa@the-dreams.de | ||||||
|  | Cc: linux-i2c@vger.kernel.org, linux-arm-msm@vger.kernel.org, | ||||||
|  |         devicetree@vger.kernel.org, Lee Jones <lee.jones@linaro.org> | ||||||
|  | Subject: [RESEND v3 1/1] i2c: qcom-geni: Disable DMA processing on the Lenovo | ||||||
|  |  Yoga C630 | ||||||
|  | Date: Thu,  5 Sep 2019 20:24:12 +0100 | ||||||
|  | Message-Id: <20190905192412.23116-1-lee.jones@linaro.org> | ||||||
|  | X-Mailer: git-send-email 2.17.1 | ||||||
|  | Sender: linux-arm-msm-owner@vger.kernel.org | ||||||
|  | Precedence: bulk | ||||||
|  | List-ID: <linux-arm-msm.vger.kernel.org> | ||||||
|  | X-Mailing-List: linux-arm-msm@vger.kernel.org | ||||||
|  | 
 | ||||||
|  | We have a production-level laptop (Lenovo Yoga C630) which is exhibiting | ||||||
|  | a rather horrific bug.  When I2C HID devices are being scanned for at | ||||||
|  | boot-time the QCom Geni based I2C (Serial Engine) attempts to use DMA. | ||||||
|  | When it does, the laptop reboots and the user never sees the OS. | ||||||
|  | 
 | ||||||
|  | Attempts are being made to debug the reason for the spontaneous reboot. | ||||||
|  | No luck so far, hence the requirement for this hot-fix.  This workaround | ||||||
|  | will be removed once we have a viable fix. | ||||||
|  | 
 | ||||||
|  | Signed-off-by: Lee Jones <lee.jones@linaro.org> | ||||||
|  | ---
 | ||||||
|  |  drivers/i2c/busses/i2c-qcom-geni.c | 12 ++++++++---- | ||||||
|  |  1 file changed, 8 insertions(+), 4 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c
 | ||||||
|  | index a89bfce5388e..17abf60c94ae 100644
 | ||||||
|  | --- a/drivers/i2c/busses/i2c-qcom-geni.c
 | ||||||
|  | +++ b/drivers/i2c/busses/i2c-qcom-geni.c
 | ||||||
|  | @@ -355,11 +355,13 @@ static int geni_i2c_rx_one_msg(struct geni_i2c_dev *gi2c, struct i2c_msg *msg,
 | ||||||
|  |  { | ||||||
|  |  	dma_addr_t rx_dma; | ||||||
|  |  	unsigned long time_left; | ||||||
|  | -	void *dma_buf;
 | ||||||
|  | +	void *dma_buf = NULL;
 | ||||||
|  |  	struct geni_se *se = &gi2c->se; | ||||||
|  |  	size_t len = msg->len; | ||||||
|  |   | ||||||
|  | -	dma_buf = i2c_get_dma_safe_msg_buf(msg, 32);
 | ||||||
|  | +	if (!of_machine_is_compatible("lenovo,yoga-c630"))
 | ||||||
|  | +		dma_buf = i2c_get_dma_safe_msg_buf(msg, 32);
 | ||||||
|  | +
 | ||||||
|  |  	if (dma_buf) | ||||||
|  |  		geni_se_select_mode(se, GENI_SE_DMA); | ||||||
|  |  	else | ||||||
|  | @@ -394,11 +396,13 @@ static int geni_i2c_tx_one_msg(struct geni_i2c_dev *gi2c, struct i2c_msg *msg,
 | ||||||
|  |  { | ||||||
|  |  	dma_addr_t tx_dma; | ||||||
|  |  	unsigned long time_left; | ||||||
|  | -	void *dma_buf;
 | ||||||
|  | +	void *dma_buf = NULL;
 | ||||||
|  |  	struct geni_se *se = &gi2c->se; | ||||||
|  |  	size_t len = msg->len; | ||||||
|  |   | ||||||
|  | -	dma_buf = i2c_get_dma_safe_msg_buf(msg, 32);
 | ||||||
|  | +	if (!of_machine_is_compatible("lenovo,yoga-c630"))
 | ||||||
|  | +		dma_buf = i2c_get_dma_safe_msg_buf(msg, 32);
 | ||||||
|  | +
 | ||||||
|  |  	if (dma_buf) | ||||||
|  |  		geni_se_select_mode(se, GENI_SE_DMA); | ||||||
|  |  	else | ||||||
							
								
								
									
										170
									
								
								arm64-qcom-soc-geni-Provide-parameter-error-checking.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										170
									
								
								arm64-qcom-soc-geni-Provide-parameter-error-checking.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,170 @@ | |||||||
|  | From patchwork Tue Sep  3 13:50:52 2019 | ||||||
|  | Content-Type: text/plain; charset="utf-8" | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Content-Transfer-Encoding: 7bit | ||||||
|  | X-Patchwork-Submitter: Lee Jones <lee.jones@linaro.org> | ||||||
|  | X-Patchwork-Id: 11127947 | ||||||
|  | Return-Path:  | ||||||
|  |  <SRS0=hPab=W6=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> | ||||||
|  | Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org | ||||||
|  |  [172.30.200.123]) | ||||||
|  | 	by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 211ED15E9 | ||||||
|  | 	for <patchwork-linux-arm@patchwork.kernel.org>; | ||||||
|  |  Tue,  3 Sep 2019 13:51:08 +0000 (UTC) | ||||||
|  | Received: from bombadil.infradead.org (bombadil.infradead.org | ||||||
|  |  [198.137.202.133]) | ||||||
|  | 	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) | ||||||
|  | 	(No client certificate requested) | ||||||
|  | 	by mail.kernel.org (Postfix) with ESMTPS id F2B4223697 | ||||||
|  | 	for <patchwork-linux-arm@patchwork.kernel.org>; | ||||||
|  |  Tue,  3 Sep 2019 13:51:07 +0000 (UTC) | ||||||
|  | Authentication-Results: mail.kernel.org; | ||||||
|  | 	dkim=pass (2048-bit key) header.d=lists.infradead.org | ||||||
|  |  header.i=@lists.infradead.org header.b="JOnhiPQ9"; | ||||||
|  | 	dkim=fail reason="signature verification failed" (2048-bit key) | ||||||
|  |  header.d=linaro.org header.i=@linaro.org header.b="SEnDskUH" | ||||||
|  | DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F2B4223697 | ||||||
|  | Authentication-Results: mail.kernel.org; | ||||||
|  |  dmarc=fail (p=none dis=none) header.from=linaro.org | ||||||
|  | Authentication-Results: mail.kernel.org; | ||||||
|  |  spf=none | ||||||
|  |  smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org | ||||||
|  | DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; | ||||||
|  | 	d=lists.infradead.org; s=bombadil.20170209; h=Sender: | ||||||
|  | 	Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: | ||||||
|  | 	List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: | ||||||
|  | 	Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: | ||||||
|  | 	Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: | ||||||
|  | 	References:List-Owner; bh=iBinOFVzpVLpQjMFQihnz4YShgsi9g6EpwmncVh/Z7w=; b=JOn | ||||||
|  | 	hiPQ9KFR6cH5EwYkfrvqC1G19LNqow7b6BITbSbXjqii66AxeGJigg5tbw9Me/Kbo+eN23e79bE8o | ||||||
|  | 	Vk2892dHrEXHdKcBJR/1vQM0wq8olODLV+GRMYWEov7+/2jarweMBFKscwV2LpJW2GgIPcpPtVMR/ | ||||||
|  | 	r+9an9TpJoBRPLKdXhd+kzFIu4eaUkyZA7h9k9enM2wL4JbTV4opuSf4h3w5EkNe6ofsx/KnUnduA | ||||||
|  | 	5qjRR4+H70sMRSoWEjl3UzRP9RFfS1ZZK141CHEYVxsty/PgTqJAbAu7UIsY6XPOjSGhqDHCmooDr | ||||||
|  | 	D5rC9BDLBycolYPzh/LfvDgt/gxEGHg==; | ||||||
|  | Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) | ||||||
|  | 	by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) | ||||||
|  | 	id 1i59D6-0003pp-Kr; Tue, 03 Sep 2019 13:51:04 +0000 | ||||||
|  | Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) | ||||||
|  |  by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) | ||||||
|  |  id 1i59D2-0003m0-8L | ||||||
|  |  for linux-arm-kernel@lists.infradead.org; Tue, 03 Sep 2019 13:51:01 +0000 | ||||||
|  | Received: by mail-wr1-x441.google.com with SMTP id s18so17635199wrn.1 | ||||||
|  |  for <linux-arm-kernel@lists.infradead.org>; | ||||||
|  |  Tue, 03 Sep 2019 06:50:57 -0700 (PDT) | ||||||
|  | DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; | ||||||
|  |  h=from:to:cc:subject:date:message-id; | ||||||
|  |  bh=aOyM32hMSWR1qRMtRvlicJ7f1Z5Z1CPh11gGjkkMTtY=; | ||||||
|  |  b=SEnDskUHk7MKEpfjF3e0404Vx6RbV3Us34tpICArdFY5gu+Ad0LCkJkr+CWV8p0R7D | ||||||
|  |  0P9jX11NcJR/cppXMJNg4DK7nZ4wLb6hHDDRE5vjvkM60LHU4/vAUwvFhKtPrHwDZ2ed | ||||||
|  |  MSUFYAAPsEguqTREsrN9QgP2MicHw3nwD4o0WSQ9aRwsqQbzSqEACxn4LH5D+Vp78CVk | ||||||
|  |  zGVrqCc8E494TwnqdASdi1A/hNkXjwD2RO4iTxLPHlIZqeX4ExGXV9jYgJPO74QRp3dQ | ||||||
|  |  cpqFJjn1ShGo0tkINNFZOWHirhB8CwhLCdXMAd2igfWtPSS/kpS4LJwQGOzp98a8ZqJS | ||||||
|  |  bO/Q== | ||||||
|  | X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; | ||||||
|  |  d=1e100.net; s=20161025; | ||||||
|  |  h=x-gm-message-state:from:to:cc:subject:date:message-id; | ||||||
|  |  bh=aOyM32hMSWR1qRMtRvlicJ7f1Z5Z1CPh11gGjkkMTtY=; | ||||||
|  |  b=VmzFJMTsGa9Cn3WMHjIALg7U7YHArpdvEfYnPAD55napbVHC5TDGEAStQ+qN0Xcvlp | ||||||
|  |  8jdTCVrQLkK1AHh5rt8IajYkAXumoy8yBPUeiHg0AagRRKIU6d+zI5h8ouGmAsp6u0r+ | ||||||
|  |  t3kKe8KyJtpYtPHZFUkJWz47dq8vyykFNdqMOvz2aBm7P3gudDp1r/4b1XJ6DCD/6bOf | ||||||
|  |  mKnKqIyH5eS7jBihH6Qc+ftTYsqrQspeO+Gp3ftG1SydngVep9cV0ZScrDkdnhlErg4w | ||||||
|  |  F7M52wo5gyEFJ11cWO43CbvQL5FKprblEJZOlvkisW1nab/6GI4rPZGWIzd3KEf9q72w | ||||||
|  |  t1wQ== | ||||||
|  | X-Gm-Message-State: APjAAAV4h7EJUO17k9Y2ylXtgKmsuwIZyAXrfttAEwbfDF5BZJhbO639 | ||||||
|  |  kTLfw7n6xfgRcyzJtPKNbZtCYQ== | ||||||
|  | X-Google-Smtp-Source:  | ||||||
|  |  APXvYqwcNl225P8oK2CwZViBuGxf6CcNTfssQRviSxt65FF0BMbjIKf7EyVLOO4EJX1BTSuZUsMZLg== | ||||||
|  | X-Received: by 2002:adf:9e09:: with SMTP id u9mr43453065wre.169.1567518656051; | ||||||
|  |  Tue, 03 Sep 2019 06:50:56 -0700 (PDT) | ||||||
|  | Received: from localhost.localdomain ([95.147.198.93]) | ||||||
|  |  by smtp.gmail.com with ESMTPSA id a17sm20710665wmm.47.2019.09.03.06.50.55 | ||||||
|  |  (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); | ||||||
|  |  Tue, 03 Sep 2019 06:50:55 -0700 (PDT) | ||||||
|  | From: Lee Jones <lee.jones@linaro.org> | ||||||
|  | To: agross@kernel.org | ||||||
|  | Subject: [PATCH 1/1] soc: qcom: geni: Provide parameter error checking | ||||||
|  | Date: Tue,  3 Sep 2019 14:50:52 +0100 | ||||||
|  | Message-Id: <20190903135052.13827-1-lee.jones@linaro.org> | ||||||
|  | X-Mailer: git-send-email 2.17.1 | ||||||
|  | X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3  | ||||||
|  | X-CRM114-CacheID: sfid-20190903_065100_335676_4C5DA68D  | ||||||
|  | X-CRM114-Status: UNSURE (   9.95  ) | ||||||
|  | X-CRM114-Notice: Please train this message. | ||||||
|  | X-Spam-Score: -0.2 (/) | ||||||
|  | X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: | ||||||
|  |  Content analysis details:   (-0.2 points) | ||||||
|  |  pts rule name              description | ||||||
|  |  ---- ---------------------- | ||||||
|  |  -------------------------------------------------- | ||||||
|  |  -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/, | ||||||
|  |  no trust [2a00:1450:4864:20:0:0:0:441 listed in] | ||||||
|  |  [list.dnswl.org] | ||||||
|  |  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record | ||||||
|  |  -0.0 SPF_PASS               SPF: sender matches SPF record | ||||||
|  |  -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature | ||||||
|  |  -0.1 DKIM_VALID_AU          Message has a valid DKIM or DK signature from | ||||||
|  |  author's domain | ||||||
|  |  -0.1 DKIM_VALID_EF          Message has a valid DKIM or DK signature from | ||||||
|  |  envelope-from domain | ||||||
|  |  0.1 DKIM_SIGNED            Message has a DKIM or DK signature, | ||||||
|  |  not necessarily | ||||||
|  |  valid | ||||||
|  | X-BeenThere: linux-arm-kernel@lists.infradead.org | ||||||
|  | X-Mailman-Version: 2.1.29 | ||||||
|  | Precedence: list | ||||||
|  | List-Id: <linux-arm-kernel.lists.infradead.org> | ||||||
|  | List-Unsubscribe:  | ||||||
|  |  <http://lists.infradead.org/mailman/options/linux-arm-kernel>, | ||||||
|  |  <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> | ||||||
|  | List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> | ||||||
|  | List-Post: <mailto:linux-arm-kernel@lists.infradead.org> | ||||||
|  | List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> | ||||||
|  | List-Subscribe:  | ||||||
|  |  <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, | ||||||
|  |  <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> | ||||||
|  | Cc: linux-arm-msm@vger.kernel.org, Lee Jones <lee.jones@linaro.org>, | ||||||
|  |  linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, | ||||||
|  |  bjorn.andersson@linaro.org | ||||||
|  | MIME-Version: 1.0 | ||||||
|  | Content-Type: text/plain; charset="us-ascii" | ||||||
|  | Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> | ||||||
|  | Errors-To:  | ||||||
|  |  linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org | ||||||
|  | 
 | ||||||
|  | When booting with ACPI, the Geni Serial Engine is not set as the I2C/SPI | ||||||
|  | parent and thus, the wrapper (parent device) is unassigned.  This causes | ||||||
|  | the kernel to crash with a null dereference error. | ||||||
|  | 
 | ||||||
|  | Fixes: 8bc529b25354 ("soc: qcom: geni: Add support for ACPI") | ||||||
|  | Signed-off-by: Lee Jones <lee.jones@linaro.org> | ||||||
|  | Reviewed-by: Stephen Boyd <swboyd@chromium.org> | ||||||
|  | ---
 | ||||||
|  | Since we are already at -rc7 this patch should be processed ASAP - thank you. | ||||||
|  | 
 | ||||||
|  | drivers/soc/qcom/qcom-geni-se.c | 6 ++++++ | ||||||
|  |  1 file changed, 6 insertions(+) | ||||||
|  | 
 | ||||||
|  | diff --git a/drivers/soc/qcom/qcom-geni-se.c b/drivers/soc/qcom/qcom-geni-se.c
 | ||||||
|  | index d5cf953b4337..7d622ea1274e 100644
 | ||||||
|  | --- a/drivers/soc/qcom/qcom-geni-se.c
 | ||||||
|  | +++ b/drivers/soc/qcom/qcom-geni-se.c
 | ||||||
|  | @@ -630,6 +630,9 @@ int geni_se_tx_dma_prep(struct geni_se *se, void *buf, size_t len,
 | ||||||
|  |  	struct geni_wrapper *wrapper = se->wrapper; | ||||||
|  |  	u32 val; | ||||||
|  |   | ||||||
|  | +	if (!wrapper)
 | ||||||
|  | +		return -EINVAL;
 | ||||||
|  | +
 | ||||||
|  |  	*iova = dma_map_single(wrapper->dev, buf, len, DMA_TO_DEVICE); | ||||||
|  |  	if (dma_mapping_error(wrapper->dev, *iova)) | ||||||
|  |  		return -EIO; | ||||||
|  | @@ -663,6 +666,9 @@ int geni_se_rx_dma_prep(struct geni_se *se, void *buf, size_t len,
 | ||||||
|  |  	struct geni_wrapper *wrapper = se->wrapper; | ||||||
|  |  	u32 val; | ||||||
|  |   | ||||||
|  | +	if (!wrapper)
 | ||||||
|  | +		return -EINVAL;
 | ||||||
|  | +
 | ||||||
|  |  	*iova = dma_map_single(wrapper->dev, buf, len, DMA_FROM_DEVICE); | ||||||
|  |  	if (dma_mapping_error(wrapper->dev, *iova)) | ||||||
|  |  		return -EIO; | ||||||
| @ -559,6 +559,14 @@ Patch320: arm64-tegra-jetson-tx1-fixes.patch | |||||||
| # https://www.spinics.net/lists/linux-tegra/msg43110.html | # https://www.spinics.net/lists/linux-tegra/msg43110.html | ||||||
| Patch321: arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch | Patch321: arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch | ||||||
| 
 | 
 | ||||||
|  | # QCom laptop bits | ||||||
|  | # https://patchwork.kernel.org/patch/11133827/ | ||||||
|  | Patch330: arm64-qcom-i2c-geni-Disable-DMA-processing-on-the-Lenovo-Yoga-C630.patch | ||||||
|  | # https://patchwork.kernel.org/patch/11127947/ | ||||||
|  | Patch331: arm64-qcom-soc-geni-Provide-parameter-error-checking.patch | ||||||
|  | # https://patchwork.kernel.org/patch/11133293/ | ||||||
|  | Patch332: arm64-dts-qcom-Add-Lenovo-Yoga-C630.patch | ||||||
|  | 
 | ||||||
| # 400 - IBM (ppc/s390x) patches | # 400 - IBM (ppc/s390x) patches | ||||||
| 
 | 
 | ||||||
| # 500 - Temp fixes/CVEs etc | # 500 - Temp fixes/CVEs etc | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user