From nobody Fri Feb 13 13:26:26 2026 Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) (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 50C0E13AD28 for ; Mon, 27 May 2024 08:42:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799370; cv=none; b=hxg1hR6LwotSndIoCNbL5hsyG68ci+63KDMy+U1l+T0V0KQr0b2SSX81mTH0Z+EgG4tL5NrTPwkxzYH7OZW2fhTzUKT9i368/d7LthUHr5dAAiGDadQaEXfUbkva8JXPsNSl1/lNiBQfJp0sVXjhk7AFEaoMzq/qpKn90TAkiv8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799370; c=relaxed/simple; bh=FSjR/z57MPpK+sFVQN3f9Y5HY3fXrry6aEHjLvU6BMI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kxQmrQ4RECFFvlzueKkZRVqlRkWTeIT8ey/DIIkkvPmo/xMV242u5UrwWobvzqxwl2c3g+WoY9Lzmw/YsH7FuxV14d4o26seFii5upo2q5Ol6g/dXtzJbAzFqTaNV7DKP5xLp4FGq+PTx/kG37uCv/R8b4RCOU5gRPLDfRzySqg= 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=Ip6aD4TF; arc=none smtp.client-ip=209.85.208.178 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="Ip6aD4TF" Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-2e95a1eff78so38586831fa.0 for ; Mon, 27 May 2024 01:42:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1716799365; x=1717404165; 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=wYVqqrufrlU4tP6uYGCro4lra2OX39FvNlNmisAjzCU=; b=Ip6aD4TFAy3QRpADw9fijpETJx73qabS5Tr8Fi/sjvsRgXMgmw6AkGPR0yx/oHWgKk ch0MXKh0834kyzDPiI1HMLW61FIj1mYWtipaMtBER8EfGTpWSrSpshVTQ6zNR539l7cZ Sx4v/PfZdBXRXnBKnLzjaO5XhYWUx1vVIq2D8WKG2/SXp6ec1I35K6Yq0G4aHaIflZ+4 cJ/ftk7izb6ejNkkE+swdwwV/p8rFoSHKndI42sfZpojAcLR8VUVy210+U6JLiUwu7y3 hBWW8sPCkZ4RqwKh3mwibBYrhR854v/YSri6DMmlTgS0NW0ZXaGF2Ub2eQ2YW1YoDnBc NdkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716799365; x=1717404165; 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=wYVqqrufrlU4tP6uYGCro4lra2OX39FvNlNmisAjzCU=; b=kSlqLAeGuBliOdd1RSxbccAZMr8HgnOvTOrLGLQPyBMnHWHPnx8x7Ybp+zM5BN5u3r FNsNA/FA1D/Ah6ZD3yGJRG8wYDH5lTun/tbhXebwlsROPbUhIL4Mn4K0pMV5h501RfLe GPzQwEfovwipRS+tpNX+A6XLfvfOOmCTCCAdLu2FAiu27IbelsoeRpqoXqNFH6TisyOW jhQKSZDhpk6P/cAzACCcuaeA2oHU96oPzlT2lXBcc8j2g75UKaD4iqiS6OU6Fg1q8CLi gGdUMgBXEZ8m7Pux/U1nyPdrHaFm2ppLv6dJQt7Nozm1Z4nvKwc4aWJHuo6xBhyytKVb MoQQ== X-Forwarded-Encrypted: i=1; AJvYcCVz6LTl0avU5v8xc79pmtnmruKshnTPFBHJGE38UjGHH0GqC0quZ//dGauUQNefXmI29rsaiN4fWRS/g1im5iXwCARAQ4+ihKi4mKSD X-Gm-Message-State: AOJu0Yx6sqKZr5LV1qhjTje0VmZFugvu9/FRTLi8yJDgM3lbyLw0orfz 4FSonw+AvPiagodMeOPE5BhzuGt/jEHmlFrt5uxZmBrUhpZw+TOuc/H4xOLtYRM= X-Google-Smtp-Source: AGHT+IGqVjhmpV6P5dYKIK4bQm7p4J/a/8bHzzCxS0JX9QjuVHpgXeL4JdCcI+kWd/pi8uJ22Nc/vQ== X-Received: by 2002:a05:651c:1992:b0:2e7:1e4a:31d3 with SMTP id 38308e7fff4ca-2e95b097761mr98346481fa.16.1716799362952; Mon, 27 May 2024 01:42:42 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3558889fb57sm8447292f8f.114.2024.05.27.01.42.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 May 2024 01:42:42 -0700 (PDT) From: Neil Armstrong Date: Mon, 27 May 2024 10:42:33 +0200 Subject: [PATCH v2 1/7] dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp: Reference usb-switch.yaml to allow mode-switch 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: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-1-a03e68d7b8fc@linaro.org> References: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> In-Reply-To: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1520; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=FSjR/z57MPpK+sFVQN3f9Y5HY3fXrry6aEHjLvU6BMI=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBmVEd8GmfhAqkq4Fqoj88/8nK66iClT54YKRfYfb0P 0PAPK7+JAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCZlRHfAAKCRB33NvayMhJ0Q0nD/ kBMcULAeJSxBGlLBsUcLneHOfYhQd3mHi+3AO40RXHfYiJ/HadsPEmSIK6u5QxD+p9eKXY6IBqfE+L IP1psTwbYV59r9PQclAq+evAa0bpzxtlHXIt9tH/hncy6Lj5fSYImp5GvMFdLZy3hgPcZtNfxmgDc+ obFtz6z9+9R/5OaKbFf/gofv+/Djfw1H0V1zX8r1gzws1fTQGUnPqXQcuV704oKNT8k3Lcbbhnm72A SJgbW/jT7H98OM42FjJQn26g6MOdrL4bvCVj9htpoNZIEgv1l6U5wEWx9VhnfTnJjJKUO85mOXqGeo GT55odHIc+yy6nyZtlk8sCEVWb5Tc2hY9akaeF1HL6iYkT8OUGOETN4YqEs5F6B1h8xEUZf11F0lNI +KbxRgq9nb27IapqLzD2RGKRl6E4JJGG+63A2jxZ7mhp1HHddOTTGXnCqsvRQuY+jyhCLIx/XqpNz4 MsA6SocfppaHs2Vse1Om19Xsbvl/yXqmw5PlOPcp7UO0IxWywKVhZp/9EgJVI8WdwRpps4fkDgDBtu MJ/leX8S5QAiwCCJxz/sekNnBmYC07ILgdMkmMLhgrHoZAwmoAbo/HaA65JV6Dk2LHyMtk4aYbfOJX jO3weNYZlRKf/xhplQ5j13g5oi/kTsfRzIpOO3HztKCljQIj2ssFvsNPWRzA== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE The QMP USB3/DP Combo PHY can work in 3 modes: - DisplayPort Only - USB3 Only - USB3 + DisplayPort Combo mode In order to switch between those modes, the PHY needs to receive Type-C events, allow marking to the phy with the mode-switch property in order to allow the PHY to Type-C events. Reference usb-switch.yaml as a simpler way to allow the mode-switch property instead of duplicating the property definition. Signed-off-by: Neil Armstrong Reviewed-by: Krzysztof Kozlowski --- .../devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.yaml | 7 +++= ---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43d= p-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43d= p-phy.yaml index 2d0d7e9e6431..5358d3a6fde3 100644 --- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.y= aml +++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-usb43dp-phy.y= aml @@ -71,10 +71,8 @@ properties: description: See include/dt-bindings/phy/phy-qcom-qmp.h =20 - orientation-switch: - description: - Flag the PHY as possible handler of USB Type-C orientation switching - type: boolean + mode-switch: true + orientation-switch: true =20 ports: $ref: /schemas/graph.yaml#/properties/ports @@ -104,6 +102,7 @@ required: - "#phy-cells" =20 allOf: + - $ref: /schemas/usb/usb-switch.yaml# - if: properties: compatible: --=20 2.34.1 From nobody Fri Feb 13 13:26:26 2026 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 0E94E13AD2F for ; Mon, 27 May 2024 08:42:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799369; cv=none; b=XyqnURZuuhV4pVC3p86yIPN0ibSiGwaVy1iRvjpN85RcXvg4Ki1cA0MuJQw/wx1iQpd/BgKHDZZH5C0FK6s2VsL0pU+y3q0YxWnsjEbwJqvtHr3uzPvfptn5NUqyUmlN9TzQZg7+xK9+T+ScR8+WIE3KciBjoOhtrM5GZgI0oW8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799369; c=relaxed/simple; bh=VXXtf+CxFirDj8JdDAfT60xN71u6IzO9Gzrn6JM1ZZA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=q8svnRTp66XBgcd++fwX2qS145FacIoPJMkF0QW4C3dlJqPmDCaww9tgJhteLR9nJuaeqiVoSUCUwmDMUB8ixGSxPc5dtSnleBEJy8eRbBTXxduLdZRS05QYY0HOxWl6zfhNuKu/RPsf+n31rlUqovrl/FPesUxYUd/5Y0HZMiQ= 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=KcWQk/65; arc=none smtp.client-ip=209.85.221.52 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="KcWQk/65" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-35507a3a038so2128673f8f.0 for ; Mon, 27 May 2024 01:42:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1716799366; x=1717404166; 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=D2IsXERwwkHQn+Hp66Wd5IbKCroL6ys71asrAFeZRd0=; b=KcWQk/65zyvmnycxb3773BJmaXe7AuKYaCTQT08XcMtIiKPQJIyHKon1Y7Rbvnv2Of A3mzpkldN+hGO5b20LD530I9aQY6D2AMpFzcPTqLBYeR+y9YkFCNiT69HgLalCxjNdGQ Z1dEfGo18vUBiyuSQKU+Z7mvJUtF5UyL8Cx9npOTyIHFUkr4/lOfP0g2fw6fdfSIhJo3 2FYbYWrIy9gXdA1RIF51i3x3cqtv3qtkRxrR8thF+NUQdDtPc1KlyIk4anx639i0BSun ozmdwergQJFRJp2PZQcZwcKcoyh7WIhlrjxJXMAgtr9wn0uPcGLadS91uxDPpovh2T6w ys0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716799366; x=1717404166; 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=D2IsXERwwkHQn+Hp66Wd5IbKCroL6ys71asrAFeZRd0=; b=RSIHqd6QvjEYjMB/O7OPrt9pql6UO0Vl7O6+0AQvAfJ+uWUXqpmUu1dAFqkamEyWaT 0eXOhZtGvhQjR/+0YU4A3fMYnS2Owwoa2FjCKVtBr6MQMAAmXX8xfI3LYum28qxusc8v pSdTMNFNdBInhOJILB2zX+X0sTGXwJ9lZ0hvTYTZqdJ6G0NQrGxcfeUOhaMZ2T4qBmdK zi6K4WzRS5w6B2aIK7mfHzFT52TjOFlxU1z4xX+r1NP5bqVMHmNYav49cVs6eJmQ6Ow9 MmP/eL4iVEBZ8lczxPASl3wzoT4sj8Bmhe+hhP9n4yO3q/TNxZV0uAcd5OmyiHsE6QYB Yrwg== X-Forwarded-Encrypted: i=1; AJvYcCVuRNcE70HJjNJGEAZG228H4iLB8HQNSUqa24lQ/7c65CgdhcIGewm3Jcqtv1VR0S/ACsfwzOz4lVA7NJs7X+2iNvBk809mlYaKON38 X-Gm-Message-State: AOJu0Yw3qqYSj8VnQI3BVuw9h6do/joWF1mATXYqjkgXLq+uRfIFBQ+P tXPfSk0sdTndNXo/dXFL0YyKrqYQy0hjUKv8jT/5zUn4sl1qlqo67a4ZQEqSiJ0= X-Google-Smtp-Source: AGHT+IEuz+Mn+QSgT8qOU9yvwfXCm9findguajR5dYkQSCJG+sgdEJaUN4Qzgzs1gYlk8BZWub0uFQ== X-Received: by 2002:adf:ef06:0:b0:34d:ae55:9dbc with SMTP id ffacd0b85a97d-35526c2580emr8875481f8f.16.1716799366278; Mon, 27 May 2024 01:42:46 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3558889fb57sm8447292f8f.114.2024.05.27.01.42.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 May 2024 01:42:45 -0700 (PDT) From: Neil Armstrong Date: Mon, 27 May 2024 10:42:34 +0200 Subject: [PATCH v2 2/7] phy: qcom: qmp-combo: store DP phy power state 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: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-2-a03e68d7b8fc@linaro.org> References: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> In-Reply-To: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1271; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=VXXtf+CxFirDj8JdDAfT60xN71u6IzO9Gzrn6JM1ZZA=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBmVEd9DbrO5eFkHDcV7BFyfcSFoDY9GOFx9L/4cBoo QQ6F2O+JAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCZlRHfQAKCRB33NvayMhJ0Tg/D/ 9Kqa4zSjLeuYBuHqUIvtro8GoSjzdAJC0SVyPEIE3mA+/kNewBJSEfNwiUMMBY1fNo9fWCmc1c48L6 u8ZGhwLCHzgeaRLimAYjmOnVLkt07nXxitoanFkUB7H9EdvfB27rtRVyInZ2AbN+Di+s6fkts7F6LL 2GtVJ9Swp1l8Sfyj+13LqoAqlSYAVlWRy2VP3wDxuX1SFfpwNz6AutNluqpWxy81/UeAZzVnOrdHa9 u7r/Rn8vYHw2SjkswAcNvcrho9SgauKlXFGIl4rjC81ac3kRkNQ744gaEHAwwkqf8RQ5JjCEScknK9 mFz1nH3KhRfI0eyPGKyA/pC+lorKwuxmWwzSRUWjQfkkTtJyN2kVE33oAPV+MA1xTvGM+688aoMZiI pUgcubIpMTm7O6K5/LgufrbYmyI7v0KTQRj6LY+g4N9I6nmIsia3FeUMNQudceI3nJBkTxQh4CMLFa GEuvAJSt8xK9oM7vBIiKSLTUW79MKJyCHaZ1Zi0G636u2Ja7sgbZtP6GV+7MlXo5pewjavhK1TwmfI JzB5LEVYoc+x05C5qxp72h+GU6A7cOooYQLgie1gTUOS6f4kz87Htmn8NY5k97f+NLvkhq04GY1hsa Lf1NjC/fT7WzTs5mkDb5jlQvIOGtZtkAsl7Y8zyhBzhOLQmiC5Ts6MWfWxcg== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Switching the PHY Mode requires the DisplayPort PHY to be powered off, keep track of the DisplayPort phy power state. Signed-off-by: Neil Armstrong Reviewed-by: Dmitry Baryshkov --- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c b/drivers/phy/qualco= mm/phy-qcom-qmp-combo.c index 7f999e8a433d..183cd9cd1884 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c @@ -1512,6 +1512,7 @@ struct qmp_combo { unsigned int dp_aux_cfg; struct phy_configure_opts_dp dp_opts; unsigned int dp_init_count; + bool dp_powered_on; =20 struct clk_fixed_rate pipe_clk_fixed; struct clk_hw dp_link_hw; @@ -2685,6 +2686,8 @@ static int qmp_combo_dp_power_on(struct phy *phy) /* Configure link rate, swing, etc. */ cfg->configure_dp_phy(qmp); =20 + qmp->dp_powered_on =3D true; + mutex_unlock(&qmp->phy_mutex); =20 return 0; @@ -2699,6 +2702,8 @@ static int qmp_combo_dp_power_off(struct phy *phy) /* Assert DP PHY power down */ writel(DP_PHY_PD_CTL_PSR_PWRDN, qmp->dp_dp_phy + QSERDES_DP_PHY_PD_CTL); =20 + qmp->dp_powered_on =3D false; + mutex_unlock(&qmp->phy_mutex); =20 return 0; --=20 2.34.1 From nobody Fri Feb 13 13:26:26 2026 Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (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 0031813AD3A for ; Mon, 27 May 2024 08:42:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799370; cv=none; b=dfFf1vo3GpJS0ur+LiktZnB/dIANm7a9VZaLCInDx/S/yo4F+DLEQKQnpLiGrzDIrchK9ULn4aI/z8UrMwqa+SPyQaLV4TpGJriiMH1QauixRU0IuiAMG+g78FLGn9g+s6A3/xm1WJPW7QLNdseCG6J0eFO+fVW0Qt5AgKfB4/Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799370; c=relaxed/simple; bh=64NV6QzxOvpeyMBuyWNXD513V021rtwBykr1hxoHJD4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KZr7+wmXQmtpC+QhtX6zlqaaO2IGoRj66rIPpjDZ3la5Y8Kdw/uR1WxbIjUUB27xGOZ3KaK9VM7/zKMcjngnM86kzRxp9oy/+mG9ep1dydBcPeynlzBPE6P28wZehHHwsQaw2zVEEDdA/8TFTahevbc61EScmtNmWx9qsAxg/1U= 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=irTiWpHZ; arc=none smtp.client-ip=209.85.221.49 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="irTiWpHZ" Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-354de3c5c61so4251592f8f.0 for ; Mon, 27 May 2024 01:42:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1716799367; x=1717404167; 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=5fM2JQC49aLohuvAOQ03vLAtXJ7DuKlglKcrOA/6ES0=; b=irTiWpHZo85MG5fySWD6IeyPaqfcTifcxXITjO8wmB6xSDiNEFgFZo1gQFFCZZHyKK RvJfFPsyUH3cL92tHMe3qIQrIByOGtsL88rCaIwwDILojeOXvxDljeyY0arTGvgXXHLC mjj+veB9ARg0k44P3dkDjl0MfxBkIPm0EDzyafE8mqK8bbFQltanHWgTQ24isriaXgRI ++RvpF3Ep6Noit74UgVfw225S71a/iPApoOnhWYQ8NNa2F9XYrgktjkTaO53YmheaUoY Bgs7fjqPrgAyjObGxoibnbysL1GOOjZASUlNBipqlowDfMl9gA+6x+Kmgeovm0X/KAaR F/cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716799367; x=1717404167; 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=5fM2JQC49aLohuvAOQ03vLAtXJ7DuKlglKcrOA/6ES0=; b=N+D/S5defCO1UXXthZgNgEgXkcFI3Ej9RtVeEjMWoBx+TXZGTaXA2YGkqhzzt4giGW fISZ/wIhqTICkkNyFASKKLVbMFdt7ocw3GRr2r7wKjGYysQ9sJKDMOisrAAcclb41KS7 ADvNq/p2HIRsAl3l5tloqA4XG4wyefILphoI60nqTKq79IqH4kp6RBjc0nF6TXuGQiia rJwR6gA6xf9iVgwHv3bBKI5FX+sXWFwsnZhiVVT8qobQLsbfuVKW8kpoP/vhEMFFXim+ KzwfbKwhWpBDMm/5jvsFUxk47FYOHEfvl1PaPLzLG0UMjbiFUjaCkciUh01MykPABRLf dd4A== X-Forwarded-Encrypted: i=1; AJvYcCXIu/2rCUBQD0Col7Sf6ImWvh+qaR18lXf1NSbIZ+o+X9SXTC9+a51s0gwb9083iNS7dBof/MX2HqjjZBbWAdvsGFbE0d1GzFfpcsx9 X-Gm-Message-State: AOJu0YxX4CmJMqf5rjNh/Cs/edyE1XNawkooc9qptNYLoM+nTpYM8xxT U14xSfcNwT+pYMjikB5KiMbBvJ6hNLMK3kQZIlCaKYXnVgW8AxG3hI3hpSrWQko= X-Google-Smtp-Source: AGHT+IGa1M7vqlIE1C58dap0MUYea0CUqZITS59MDPsSM5pvcClAnYC6Q9OxDuJHFWpJZfB8rOdMgQ== X-Received: by 2002:a5d:4382:0:b0:354:bde9:e286 with SMTP id ffacd0b85a97d-35526c18f20mr6513910f8f.10.1716799367174; Mon, 27 May 2024 01:42:47 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3558889fb57sm8447292f8f.114.2024.05.27.01.42.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 May 2024 01:42:46 -0700 (PDT) From: Neil Armstrong Date: Mon, 27 May 2024 10:42:35 +0200 Subject: [PATCH v2 3/7] phy: qcom: qmp-combo: introduce QPHY_MODE 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: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-3-a03e68d7b8fc@linaro.org> References: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> In-Reply-To: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2828; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=64NV6QzxOvpeyMBuyWNXD513V021rtwBykr1hxoHJD4=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBmVEd+Iqk2CoBGSG/vvhX6fqwQ1IgBdRIZAOChhnvF X/Z5q7KJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCZlRHfgAKCRB33NvayMhJ0VVkD/ 91JOyMvWaIuisFv1fb/z+0SJSAlcj9xc65JF+wOjXsIhJ8j4mVlCyUcYfGOEN011OCzET/GZ8C8GjX Q8GVS1X2RTKmwXwNKsULIdwDnf5Mep/go2GLeUBhTG+MmwelkjWV8fkL6nubsBzsy+0CCVIdd1GIPm 5COBZQEzS9RAqg2xEBGvFkwQ3SbQpfCGWG+DUXiQK/KV09U0ygYpTkP/udnODf5wdzNC8qmvqFtQ5v 5mUzE/al55I+TlLnkoPEmWRCuYfx1p0S8tS7uODLI98mwOqCqcSBDtoLpBN8KxZFVcQDJBgC1ytoqB GxsyYZJUBkJd6ahagAOb1tQsh5aRtqzw+rPmorQmL3ngMR6A4z81ude3rjs968fYU9vT5CrpGxs5Wd 68c/H4ycD8Zn20dQnnFatuLETOwX/qEdMonl3aiS0qMvBSkn4vXWTxooWBvsTN4KZTczwE6jhskaJp yTfnYkekv/8USAKiS/xT9zfRnn9bQRfv8zwdnIWYKJHzxlOatzCpZoe5bGqJwwUziDipdTr3ZoMhMV COkGCTRVZx3RWyd7sUceNCgsUg63DqF8D5/TBlv3EjC3EaOCkaSY2dBMk/GxUPFMi1qguU51YBpPow zxHNEsGQkQcimqSQfU7BhOsUGJdHVumRmYWXxOWx1Q1e+yt59QB5iNCMvFDA== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Introduce an enum for the QMP Combo PHY modes, use it in the QMP commmon phy init function and default to COMBO mode. Signed-off-by: Neil Armstrong Reviewed-by: Dmitry Baryshkov --- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 41 +++++++++++++++++++++++++++= ---- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c b/drivers/phy/qualco= mm/phy-qcom-qmp-combo.c index 183cd9cd1884..788e4c05eaf2 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c @@ -61,6 +61,12 @@ =20 #define PHY_INIT_COMPLETE_TIMEOUT 10000 =20 +enum qphy_mode { + QPHY_MODE_COMBO =3D 0, + QPHY_MODE_DP_ONLY, + QPHY_MODE_USB_ONLY, +}; + /* set of registers with offsets different per-PHY */ enum qphy_reg_layout { /* PCS registers */ @@ -1503,6 +1509,7 @@ struct qmp_combo { =20 struct mutex phy_mutex; int init_count; + enum qphy_mode init_mode; =20 struct phy *usb_phy; enum phy_mode mode; @@ -2589,12 +2596,33 @@ static int qmp_combo_com_init(struct qmp_combo *qmp= , bool force) if (qmp->orientation =3D=3D TYPEC_ORIENTATION_REVERSE) val |=3D SW_PORTSELECT_VAL; writel(val, com + QPHY_V3_DP_COM_TYPEC_CTRL); - writel(USB3_MODE | DP_MODE, com + QPHY_V3_DP_COM_PHY_MODE_CTRL); =20 - /* bring both QMP USB and QMP DP PHYs PCS block out of reset */ - qphy_clrbits(com, QPHY_V3_DP_COM_RESET_OVRD_CTRL, - SW_DPPHY_RESET_MUX | SW_DPPHY_RESET | - SW_USB3PHY_RESET_MUX | SW_USB3PHY_RESET); + switch (qmp->init_mode) { + case QPHY_MODE_COMBO: + writel(USB3_MODE | DP_MODE, com + QPHY_V3_DP_COM_PHY_MODE_CTRL); + + /* bring both QMP USB and QMP DP PHYs PCS block out of reset */ + qphy_clrbits(com, QPHY_V3_DP_COM_RESET_OVRD_CTRL, + SW_DPPHY_RESET_MUX | SW_DPPHY_RESET | + SW_USB3PHY_RESET_MUX | SW_USB3PHY_RESET); + break; + + case QPHY_MODE_DP_ONLY: + writel(DP_MODE, com + QPHY_V3_DP_COM_PHY_MODE_CTRL); + + /* bring QMP DP PHY PCS block out of reset */ + qphy_clrbits(com, QPHY_V3_DP_COM_RESET_OVRD_CTRL, + SW_DPPHY_RESET_MUX | SW_DPPHY_RESET); + break; + + case QPHY_MODE_USB_ONLY: + writel(USB3_MODE, com + QPHY_V3_DP_COM_PHY_MODE_CTRL); + + /* bring QMP USB PHY PCS block out of reset */ + qphy_clrbits(com, QPHY_V3_DP_COM_RESET_OVRD_CTRL, + SW_USB3PHY_RESET_MUX | SW_USB3PHY_RESET); + break; + } =20 qphy_clrbits(com, QPHY_V3_DP_COM_SWI_CTRL, 0x03); qphy_clrbits(com, QPHY_V3_DP_COM_SW_RESET, SW_RESET); @@ -3603,6 +3631,9 @@ static int qmp_combo_probe(struct platform_device *pd= ev) if (ret) goto err_node_put; =20 + /* Set PHY_MODE as combo by default */ + qmp->init_mode =3D QPHY_MODE_COMBO; + qmp->usb_phy =3D devm_phy_create(dev, usb_np, &qmp_combo_usb_phy_ops); if (IS_ERR(qmp->usb_phy)) { ret =3D PTR_ERR(qmp->usb_phy); --=20 2.34.1 From nobody Fri Feb 13 13:26:26 2026 Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) (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 C853713B299 for ; Mon, 27 May 2024 08:42:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799371; cv=none; b=SypXXncZQOuYar0aLAM0YG39CVg8k0CCrmvap1jPEUSoljrvILvPqjQsE/WLtgk6Nvmr1v7lR2ySKIY4YDdubaJRBqxZ7a8yMUhotmmuA5ma41T4pRn+fRLFq7sloINm/3FnXqUF6mWDTYfwzb4xZjM478yTBhmSKpmKK/ub1ig= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799371; c=relaxed/simple; bh=sHniYRJN3UOlGbmTUjhhBF3mhKVX5A4jgOzkdiNthQ8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GTE0we8pUrl9o1Of7JXMF7fBSO7ang1M7dYu2ckJF+9y6MQ7leVw0J2UENjl+ZVLMjqtFpGJMBcd1JI5tNOdZE9vRorzNL4vuyN07SCnmTsqLtYpftnusbZTlTV0Y3apsZNTLDCyKYh8onQCBTv+6MpUgSDxBJN5XWWCsuT84fA= 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=yre3ktb4; arc=none smtp.client-ip=209.85.221.52 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="yre3ktb4" Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-354dfe54738so987960f8f.3 for ; Mon, 27 May 2024 01:42:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1716799368; x=1717404168; 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=YxS/sF3QMS4pEv+lY+qbGlLSEUONW426ub4A6OzdIao=; b=yre3ktb4alLBZpXNDI3X1I7lpSWWtUl2RHUZtwmKTS6I5J953zhJuS7gFf+KnFYKWR lXxKoCHpkoXSiF/a2q8rUFFrSWvPI2RI/7PS7Nn8jvzvpb7JcqHnVugm+2cgmU7MovcR BRofT/+dmyZ3OihXCTvN9ik7pF/J1qJ9V1Ezy8TAt5fwlHnGwu6rV09BzADui8AraEPI rmr5L7jsyEEErRG/16EpOpaabHGnd0FGK+/VAvqbU445Po+3yDGIWYsEFS7ALVT+XMZA s7HjatxegIOHjH0hTPHM8wSXurb5dxEZe/4azg80UGr+hv3dOxZ7uyv5faSbeJG3ErU3 R0Xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716799368; x=1717404168; 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=YxS/sF3QMS4pEv+lY+qbGlLSEUONW426ub4A6OzdIao=; b=WYpGofc3vI9O3VbGGbgQQ76Qu5mAnIKmFmFHBqWlcJqB7x/H+5PFEZ2VhQ+yjK0QxU 04muhC1E7E0Z38JcsuoFL63Nw7dB8ei0IrbyYNN7YgibXPljaOvRoAxnGyY2dozVeMC5 V35Impc6ZlMv9lwb0wHVdVW0a/Rjwsrtwo16YPInUAedzVKhMSToOu0lGPc35hkLh1rG 49VHSsb5fZXXRPK+TV7o4H1U4wFrhsfkqe/cRMj/uVnfENYppRJaK1qfmRHiIuRkh8gn jTh3AosJ7sUSaFQDCFRm435QsuDKpc9H3Wo423QMEADL/FbNrFl4pjY0MOgslEflZA1d dNCg== X-Forwarded-Encrypted: i=1; AJvYcCU9kPKqYp+AMTrquhGWBoD8vVFyqmHq07IKnVFN3FHtw985JyCvqgzNrz/7qek6SvpeRYG6D1IDbg/folFjeHkHeuo5daFozY4lq8mr X-Gm-Message-State: AOJu0Yxf6Z55w2JurlWhRg97HPkqW8I124CEI0Li9/A8WCPfimnTT3a8 PBAwOog1aqyFjR83h3joqs4psQDcDIpiMKi2JESxxkwfFg9cifkQU4tCBYbWU+R8q9TyuB3MQtj XfEE= X-Google-Smtp-Source: AGHT+IHvYNYI+HYZ0T3aH79X8HjHbOAAMpCSMNdGza6OuIPLY6XiVGDoTfX/QWPVjBwhKX7xTtaRfQ== X-Received: by 2002:a5d:4a0b:0:b0:34c:9a04:466f with SMTP id ffacd0b85a97d-35527055733mr6097723f8f.50.1716799368167; Mon, 27 May 2024 01:42:48 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3558889fb57sm8447292f8f.114.2024.05.27.01.42.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 May 2024 01:42:47 -0700 (PDT) From: Neil Armstrong Date: Mon, 27 May 2024 10:42:36 +0200 Subject: [PATCH v2 4/7] phy: qcom: qmp-combo: register a typec mux to change the QPHY_MODE 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: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-4-a03e68d7b8fc@linaro.org> References: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> In-Reply-To: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=5577; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=sHniYRJN3UOlGbmTUjhhBF3mhKVX5A4jgOzkdiNthQ8=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBmVEd+RjMq1ikwOlKvSX0tp1PUo4ij5m+LcWVI8cZ1 doln6YSJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCZlRHfgAKCRB33NvayMhJ0R3yEA CEgX/83nEyu4aKS5hHCxQY5xF0LaZiBmIIYxauh+xU/qwPYmX4iRcyMX2E2mrqTAiw+kj+mcDEu4pX vooy6j8vWgx8x4MLb2CA64VrtT3IEX/IeFVIdDRZ3K0pZURqkV2/ivYxBYJDW1L7gHvY6xK/gEJk7z LkKiaDPo8ZWkyfhbRERNEUCASt9jRYaD8S3negkgCRMcbBsX/DztzOzfAa6/pygoYNvTXJKKqs5r+J ctT8NLhx/iP9kpZM1c9zTcurNAa6PrFhZKgq6EQn0HKoYeC7NhDD4mqDVabCmGSzPqwCML08QHReEj O6uiUl1mKKHZ/cUlRbPXABksK/m1aexFq+yVgkOjRl9NguZA+YuT/pIEl6+8PUTGYrmS3I7GI+zRyz 4zaRraEkLe6GvMW4owAV8pDs5mRtDShzz/MFE2XQJZ1wH+128QR2wETyvdvJSC74Xu3Aa+fNDnlI4s eW0vH896/NV7KHTEdj2wRh7dJQSyk7myac+iowsiIt3e0ym+unhBi8mVzde2ft9tjTJMwg3v4lY9Re DKrZ0NfIGrZrQR8KfNxB4e5uiLlTgsVhdCGbD5hC8MHcgA8TIa6SQ1XThyi03x4FimYKNyYla16vCS VAvZ3H3qzwny4jlXz8e8o1/GvMq4A/FTuftdosLMWWdMEPXCx1QCxuErz+eA== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Register a typec mux in order to change the PHY mode on the Type-C mux events depending on the mode and the svid when in Altmode setup. The DisplayPort phy should be left enabled if is still powered on by the DRM DisplayPort controller, so bail out until the DisplayPort PHY is not powered off. The Type-C Mode/SVID only changes on plug/unplug, and USB SAFE states will be set in between of USB-Only, Combo and DisplayPort Only so this will leave enough time to the DRM DisplayPort controller to turn of the DisplayPort PHY. Signed-off-by: Neil Armstrong --- drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 123 ++++++++++++++++++++++++++= ++-- 1 file changed, 118 insertions(+), 5 deletions(-) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c b/drivers/phy/qualco= mm/phy-qcom-qmp-combo.c index 788e4c05eaf2..b55ab08d44c2 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c @@ -19,6 +19,7 @@ #include #include #include +#include #include =20 #include @@ -1527,6 +1528,10 @@ struct qmp_combo { =20 struct typec_switch_dev *sw; enum typec_orientation orientation; + + struct typec_mux_dev *mux; + unsigned long mux_mode; + unsigned int svid; }; =20 static void qmp_v3_dp_aux_init(struct qmp_combo *qmp); @@ -3353,17 +3358,112 @@ static int qmp_combo_typec_switch_set(struct typec= _switch_dev *sw, return 0; } =20 -static void qmp_combo_typec_unregister(void *data) +static int qmp_combo_typec_mux_set(struct typec_mux_dev *mux, struct typec= _mux_state *state) +{ + struct qmp_combo *qmp =3D typec_mux_get_drvdata(mux); + const struct qmp_phy_cfg *cfg =3D qmp->cfg; + enum qphy_mode new_mode; + unsigned int svid; + + if (state->mode =3D=3D qmp->mode) + return 0; + + mutex_lock(&qmp->phy_mutex); + + if (state->alt) + svid =3D state->alt->svid; + else + svid =3D 0; // No SVID + + if (svid =3D=3D USB_TYPEC_DP_SID) { + switch (state->mode) { + /* DP Only */ + case TYPEC_DP_STATE_C: + case TYPEC_DP_STATE_E: + new_mode =3D QPHY_MODE_DP_ONLY; + break; + + /* DP + USB */ + case TYPEC_DP_STATE_D: + case TYPEC_DP_STATE_F: + + /* Safe fallback...*/ + default: + new_mode =3D QPHY_MODE_COMBO; + break; + } + } else { + /* Only switch to USB_ONLY when we know we only have USB3 */ + if (qmp->mux_mode =3D=3D TYPEC_MODE_USB3) + new_mode =3D QPHY_MODE_USB_ONLY; + else + new_mode =3D QPHY_MODE_COMBO; + } + + if (new_mode =3D=3D qmp->init_mode) { + dev_dbg(qmp->dev, "typec_mux_set: same phy mode, bail out\n"); + qmp->mode =3D state->mode; + goto out; + } + + if (qmp->init_mode !=3D QPHY_MODE_USB_ONLY && qmp->dp_powered_on) { + dev_dbg(qmp->dev, "typec_mux_set: DP is still powered on, delaying switc= h\n"); + goto out; + } + + dev_dbg(qmp->dev, "typec_mux_set: switching from phy mode %d to %d\n", + qmp->init_mode, new_mode); + + qmp->mux_mode =3D state->mode; + qmp->init_mode =3D new_mode; + + if (qmp->init_count) { + if (qmp->usb_init_count) + qmp_combo_usb_power_off(qmp->usb_phy); + if (qmp->dp_init_count) + writel(DP_PHY_PD_CTL_PSR_PWRDN, qmp->dp_dp_phy + QSERDES_DP_PHY_PD_CTL); + qmp_combo_com_exit(qmp, true); + + /* Now everything's powered down, power up the right PHYs */ + + qmp_combo_com_init(qmp, true); + if (qmp->init_mode =3D=3D QPHY_MODE_DP_ONLY && qmp->usb_init_count) { + qmp->usb_init_count--; + } else if (qmp->init_mode !=3D QPHY_MODE_DP_ONLY) { + qmp_combo_usb_power_on(qmp->usb_phy); + if (!qmp->usb_init_count) + qmp->usb_init_count++; + } + if (qmp->init_mode !=3D QPHY_MODE_USB_ONLY && qmp->dp_init_count) + cfg->dp_aux_init(qmp); + } + +out: + mutex_unlock(&qmp->phy_mutex); + + return 0; +} + +static void qmp_combo_typec_switch_unregister(void *data) { struct qmp_combo *qmp =3D data; =20 typec_switch_unregister(qmp->sw); } =20 -static int qmp_combo_typec_switch_register(struct qmp_combo *qmp) +static void qmp_combo_typec_mux_unregister(void *data) +{ + struct qmp_combo *qmp =3D data; + + typec_mux_unregister(qmp->mux); +} + +static int qmp_combo_typec_register(struct qmp_combo *qmp) { struct typec_switch_desc sw_desc =3D {}; + struct typec_mux_desc mux_desc =3D { }; struct device *dev =3D qmp->dev; + int ret; =20 sw_desc.drvdata =3D qmp; sw_desc.fwnode =3D dev->fwnode; @@ -3374,10 +3474,23 @@ static int qmp_combo_typec_switch_register(struct q= mp_combo *qmp) return PTR_ERR(qmp->sw); } =20 - return devm_add_action_or_reset(dev, qmp_combo_typec_unregister, qmp); + ret =3D devm_add_action_or_reset(dev, qmp_combo_typec_switch_unregister, = qmp); + if (ret) + return ret; + + mux_desc.drvdata =3D qmp; + mux_desc.fwnode =3D dev->fwnode; + mux_desc.set =3D qmp_combo_typec_mux_set; + qmp->mux =3D typec_mux_register(dev, &mux_desc); + if (IS_ERR(qmp->mux)) { + dev_err(dev, "Unable to register typec mux: %pe\n", qmp->mux); + return PTR_ERR(qmp->mux); + } + + return devm_add_action_or_reset(dev, qmp_combo_typec_mux_unregister, qmp); } #else -static int qmp_combo_typec_switch_register(struct qmp_combo *qmp) +static int qmp_combo_typec_register(struct qmp_combo *qmp) { return 0; } @@ -3609,7 +3722,7 @@ static int qmp_combo_probe(struct platform_device *pd= ev) if (ret) goto err_node_put; =20 - ret =3D qmp_combo_typec_switch_register(qmp); + ret =3D qmp_combo_typec_register(qmp); if (ret) goto err_node_put; =20 --=20 2.34.1 From nobody Fri Feb 13 13:26:26 2026 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (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 9E87413B597 for ; Mon, 27 May 2024 08:42:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799372; cv=none; b=QqXnU8GDZi762z3U6YhQLB8CXp6nFKw75P33WKnEky+zLwMxVtVDcendZ6MT0YRYhr7uKTUj2yWgjLaVwH/TRbvFl7KQnlM8y2htziYvkxvUN1wCT2HXKnl9LodB6r9lDFpO50XfJEi4D68i8V1SD8hsMzp3s5pzF8CVDEHvFHc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799372; c=relaxed/simple; bh=bUymvKgHwGJMNeWdO4E2xoRI1NZeMZTfq1gbdx2kTBk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jA1ScCnhBrrQ3TdCownXWbDk+npDkpXmqDvHMjcVfF3L2UIXgfpAK1m9j/36GJKmb/mGaWVbhO9VEDGazUGml+j1XGhlXmNdaewCyf11mcMbDBpNy2D33ZRYfu5Oif/d5ats7M3noTyTL6iiJOB7qEn0BbWMyrtznnpooIMsn6g= 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=PRQvNue8; arc=none smtp.client-ip=209.85.221.46 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="PRQvNue8" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-354b7d76c52so4541666f8f.3 for ; Mon, 27 May 2024 01:42:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1716799369; x=1717404169; 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=VaEF4gO72oykFIStkZdCU9USqrBYmrQ/jBFI2aUzk2E=; b=PRQvNue8ssMepn14rkyG4/OVbE4cQPbTqnXUWkTQCK3q9IZJHRlfs9S1+MNXwobkNX RZuDEAlhZKCaaG8HIkvCIbGpIyTvolaD+mHCyOwaef9MzUE7NWvjuCTUecunvIrSiLc3 MxNuFD4EhYEbIikoPZhUoRw8KmFpRW0whwpGMAaKXgDD0yJtA8I9IYqA2BteAKYMxFhI 27YjPcMrOFrEIGBjuJs6rXctJjZDy4zR92ALygf0jL3wBn8o74aQEioDXT2DRoJDHmg6 yGiIhT8utkrsoB3k9bfYnoFYonMZJS9Kik2lqsCNZLDKMfFb0LNEwGITuWpecFnIzGAs WCLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716799369; x=1717404169; 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=VaEF4gO72oykFIStkZdCU9USqrBYmrQ/jBFI2aUzk2E=; b=EAaPozZF4fSYF3+Rw9K/XzuBjxDkbDEMNCJ6vbXQgwm8Nt/Hdd/qn+FGgJcNwKHXnK 7jGi4kXVpyzwh4mV8969wNpr2e1CiYFhJQAe1WUztt03eGimrsbRTOMG4f9Wm+jEz5Or 8GNOAIA1ScfDmpZEeAZrgNcG0ozwurXufMvMxlmJDVR3G/hOcoPRRMkv+G7dvAThCMZP RSbkaZlgiEMYrKpnBJNy5oYosn9CL2Tw0J9TrMsQxpLoIGVFyQK5qc2I3lNMx6hHXLNM e98lg+/7OdARokIbu8/Xe6ZPxihLOC+GMxS9fPmf09T0D6XaO69lq3NA96K9FRmmQGqz B5NA== X-Forwarded-Encrypted: i=1; AJvYcCVIWUnG0+3j4F/BpaKKl13XJLjyF1lwn+X0jbrmLwxvhKoSxuKZkJkBqk5rl7Ohu+uBcJvtCk+1ok9DI26phhJ+d2NY12xeEzqZvfdz X-Gm-Message-State: AOJu0YxBm6OfBtve+VCa1lCUJGRS0HuxLToW0zNkV1STrqYco/seLUHl OWtw+NQAIpRbf3b88m2C0cFNn+bbF3atrcDH1bsQNw5CMpWz0r/lZYWC8a8meM8= X-Google-Smtp-Source: AGHT+IFlox+JYA/TQIiL3yZKdwNn/gUx+Gg1nkb+lMnlc1O4u4ePjX9SmBqGsxeiC8TMhuH9h/OxLw== X-Received: by 2002:adf:b1d3:0:b0:354:e746:7515 with SMTP id ffacd0b85a97d-35526c560f5mr5700618f8f.34.1716799369100; Mon, 27 May 2024 01:42:49 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3558889fb57sm8447292f8f.114.2024.05.27.01.42.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 May 2024 01:42:48 -0700 (PDT) From: Neil Armstrong Date: Mon, 27 May 2024 10:42:37 +0200 Subject: [PATCH v2 5/7] arm64: dts: qcom-sm8550: allow 4 lanes for DisplayPort and enable QMP PHY mode-switch 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: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-5-a03e68d7b8fc@linaro.org> References: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> In-Reply-To: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1519; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=bUymvKgHwGJMNeWdO4E2xoRI1NZeMZTfq1gbdx2kTBk=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBmVEd/+QFKuSFUK9Ik+eL30bDuvC5I0nJH7qROWMla eO0Zq6CJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCZlRHfwAKCRB33NvayMhJ0Q2DEA DNvwrXulOdcNRZRXI8w7ZpiXjlBiyTvyLLHoh4wv+9NlSrnQkFT6jfza8qR6v2QtHV9qs+cJSiVl47 1lqQ+8yIimZEbAnykiQdlFF39DtdZQQyBibDSpvxFqNLUFz3UXdGj8PFh0cq3RPypNegcL2taIxJ1a 9lZNNxFhWEuTbJu68k7DkcxiBaRb7LCZFgfNwnF8YsJBXQXB3A/CxpCdDxa3Iavpqm3n5ZYLtEENjT U96loPeH/OrecX2XVaqSWnvpBOJPB4N+SbwKYy8ZOZhqZ4wuVGmjL3ZCHIcAhwroTgIWdX31ZOIYSk hiZilxmaH7rOl0j2l7UemGBALP4yOnDgFey8g9a99pgXbpXJPEy+IcthMsmgaVScBDRWtZp3QEf5CG 4LrE3DF1FsKl4kZMdaVV7lOEvFrYPZ/wgK3hdJU5iqbbbaaLqDEIQvdwzTCWcLjiKw5DLmeK5Rv7rV r9le0N1HO+F6snQPXI0+VfneAh7gxCvciV2x801DAGFzw2zfX7pMkgDUfj/uMBiqDniCkfFbL3ap/U mOcdK+LJJn+lsepGqd7tGUZyOtdTF8TRDQnlTdzYmOaseH4S8ep2AmvKCB6dV/sLg00tUMX/47TlrU NVQiPQfoOZ3cSVgn8RKyi2sQdh5x9JCchZHscZvlqiQsTrCHBYB4Ycoxt8tA== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Allow up to 4 lanes for the DisplayPort link from the PHY to the Controller and allow mode-switch events to the QMP Combo PHY. Signed-off-by: Neil Armstrong Reviewed-by: Dmitry Baryshkov --- arch/arm64/boot/dts/qcom/sm8550-hdk.dts | 3 ++- arch/arm64/boot/dts/qcom/sm8550-qrd.dts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts b/arch/arm64/boot/dts/= qcom/sm8550-hdk.dts index ccff744dcd14..a95949c01f25 100644 --- a/arch/arm64/boot/dts/qcom/sm8550-hdk.dts +++ b/arch/arm64/boot/dts/qcom/sm8550-hdk.dts @@ -941,7 +941,7 @@ &mdss_dp0 { =20 &mdss_dp0_out { remote-endpoint =3D <&usb_dp_qmpphy_dp_in>; - data-lanes =3D <0 1>; + data-lanes =3D <0 1 2 3>; }; =20 &pcie0 { @@ -1280,6 +1280,7 @@ &usb_dp_qmpphy { vdda-phy-supply =3D <&vreg_l3e_1p2>; vdda-pll-supply =3D <&vreg_l3f_0p88>; =20 + mode-switch; orientation-switch; =20 status =3D "okay"; diff --git a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts b/arch/arm64/boot/dts/= qcom/sm8550-qrd.dts index 39ba3e9969b7..fbac5270b4d7 100644 --- a/arch/arm64/boot/dts/qcom/sm8550-qrd.dts +++ b/arch/arm64/boot/dts/qcom/sm8550-qrd.dts @@ -795,7 +795,7 @@ &mdss_dp0 { }; =20 &mdss_dp0_out { - data-lanes =3D <0 1>; + data-lanes =3D <0 1 2 3>; remote-endpoint =3D <&usb_dp_qmpphy_dp_in>; }; =20 @@ -1142,6 +1142,7 @@ &usb_dp_qmpphy { vdda-phy-supply =3D <&vreg_l3e_1p2>; vdda-pll-supply =3D <&vreg_l3f_0p88>; =20 + mode-switch; orientation-switch; =20 status =3D "okay"; --=20 2.34.1 From nobody Fri Feb 13 13:26:26 2026 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (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 B1A7D13BACE for ; Mon, 27 May 2024 08:42:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799373; cv=none; b=QKq4IFFO0CbruYVnTxM58azsjy8TwJTNcEfoJkY84wc8CKDAJYtseG4N9JYfMGEjZ3OJ/eB/u6HYRwXErkCo9elXQ2c3THgYtlTGUIaBs+H2pMjzCUyNON5JZpQmz4steuhn8UdPYxea0j5xN3UjaDrYlDLqbiXuh5elusQTaxk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799373; c=relaxed/simple; bh=NP7tAZcAVmpxoSMiDaYof/jNrt5rk0QngILAlS00ha8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CYbQPOD2I3Nx8AkcRQleA0TICqS+Nl59guCQidWAQJ7AONdl5SblcZ9J2fP2NHFj6NjCnwmUZaXUJKGDpQO3bNCb4Bn7DIMs5dQQo4rwk5nDp2/Jit24AJgWyCDsIrMxaCtYdXrUJ8cU5t8OMh5HA28TA8rc+BpH/LJCXHhJL6M= 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=V1ZjYX01; arc=none smtp.client-ip=209.85.221.43 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="V1ZjYX01" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-351d309bbcfso3625737f8f.3 for ; Mon, 27 May 2024 01:42:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1716799370; x=1717404170; 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=D2LJ1RO9W9ZmiplNXqoAHVuLIaBqUKAjCRHOSbo1zRE=; b=V1ZjYX01Mr0vVSKeHXfx6yyysTwL3OK5RyK1iRr/PDjnG2wupcLPmzBcEMdQm/H3AQ i68tKlr0UsTTtasukbSal/WnQyC7sow7ZYjqnHC34QH2NK+BrTU+1xl0hQuuvB+QNgUC cYBslXbGDT/AOo/3gTggv9hnfH+Ro1p9qesKohlnyIS968TiIZdPH99xeU6k9ouZhzHH V4WBbVPP+74jdGg5RMovaO7IQMwPfj7kXzSccLh6r8wzXguHza+rqFDr0CdnBor14hF3 HjqnxtENXer8VAoJfYpVJAEZotLg4KcbXdMEMQm2sT1fSr4aFHdP5gLgT0iSdF0fBDlD 2zYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716799370; x=1717404170; 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=D2LJ1RO9W9ZmiplNXqoAHVuLIaBqUKAjCRHOSbo1zRE=; b=uDumkL29kbrypClISgvk/WvgreymS1ti/FWS1yInbbsLK1WcchVJh7ZdSG9fCXy2ss sFWk28waAzl+POxWnbjAie9A/zlchDsSVW8tpRQIfsHdcT4C3xRjYjGQVKScGiSlt+HQ rukRjQb/oaEuQLWiSr7CG8DqdMt3mODDWo6FlBBUTjUniCEefV/qeUqQi6bJtHr3S7O2 GiiHg9vxVNfJ7VkszNEhkeRpuwWswzRCy/0mAJDK4ykhdkJ46AnN814As76z0rn8HHd2 KnZA51pBiXo2IZaKgKjUvF5jI/yY4ivnO1AMhYQGwncVX4yAzWXolT/jKG/YCGxA200x +DEQ== X-Forwarded-Encrypted: i=1; AJvYcCUN8qNMkH5BYzgfsHnGUL8EY+dPvBs6jF2Dx1W4+9KfC7TZavuE3sL2c1Qxkc9NBLppJPBEl8xYwCj8jJE+xX2+2mRJ3ARLYEDEBFuS X-Gm-Message-State: AOJu0YxG9HgDH3aQwA/Kvigt3SCMMKQ6lqiHPmLRh1davBxsq49+3nU9 olDX+U8BRgtEdcUlf2juKQlruR53BnTk43qE7meIk70HvSAr+FnJhdGOJKgcZac= X-Google-Smtp-Source: AGHT+IFdORbL0x+whnPJfYGPCVw/jWchVW0zPlS/w0jEjLQix7QZp7p2sKG8QPCYe49sDQQDgjJXgg== X-Received: by 2002:adf:f707:0:b0:356:49a8:7e0a with SMTP id ffacd0b85a97d-35649a881f9mr5480493f8f.11.1716799369998; Mon, 27 May 2024 01:42:49 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3558889fb57sm8447292f8f.114.2024.05.27.01.42.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 May 2024 01:42:49 -0700 (PDT) From: Neil Armstrong Date: Mon, 27 May 2024 10:42:38 +0200 Subject: [PATCH v2 6/7] arm64: dts: qcom-sm8650: allow 4 lanes for DisplayPort and enable QMP PHY mode-switch 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: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-6-a03e68d7b8fc@linaro.org> References: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> In-Reply-To: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1513; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=NP7tAZcAVmpxoSMiDaYof/jNrt5rk0QngILAlS00ha8=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBmVEd/GpAuxlZ3geRUZpWH7CVDUJQ+wF4m4uHJPlkw xEjpF7aJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCZlRHfwAKCRB33NvayMhJ0QqwD/ 4whHfSuSohMllMQlciqb8HcpyxsE0IsTyef8jOv1thGDKh2GRgoQfuBVFEmnGOWKm6lXQnbsSWT5A7 VxKpp3BJsajvzeHB5r8mXfbORE7U50+q+/C5SStC1d+PYO2PRPiVufnyTAH4NSEiAs3gvvrvNFf3Nq u/P9uNDjYvlKjaKkDSjeDZFEEBcIE7rTROL7WHUVG0iQn38HH6vdSW1q9MpbLkHJqBYmxFPRUoMWwx 6vf5kUiJTMlJp3+1TRMAq4+V4tN9UdAu2clLHDOXU/AQVaYMjFi+FU0n1daQ6XvMNBZFRaenmldfg1 SXI5HgnvaYA44fffD8YXljYmoG9BOiIYQva87CQNrRkqi7VHfI3yj6qDuiHHD76T8yMTMy0a+7oaOL qJnQGpUaKXR1adDbrD7z3ldmWIlba0szOiUi4frySzyR/b3sbvoGsyWv2nsH7XDsZovk+3o0yUV9g0 JPIEwV16rHsse4bMc7wnZnnzthXtaupo2AS8BuC4uQ1oB86rKkd/a7mP6qHw21Y23w5hYF7/5l2dH5 11kg31CAn9m3ZL80ckaVmCKhVZqHZBUwJEY6I1xgEXI9LN5DxBcQjVJm8zFOQSIK3SXuwuHs1nrxeu 4wJjofJsorZ7Q2uSX4uDdzwb5dWmrU1X56HM8EVsDQ8LeOx8FiKQEzzjpS1Q== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Allow up to 4 lanes for the DisplayPort link from the PHY to the Controller and allow mode-switch events to the QMP Combo PHY. Signed-off-by: Neil Armstrong Reviewed-by: Dmitry Baryshkov --- arch/arm64/boot/dts/qcom/sm8650-hdk.dts | 3 ++- arch/arm64/boot/dts/qcom/sm8650-qrd.dts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts b/arch/arm64/boot/dts/= qcom/sm8650-hdk.dts index 3791c36579be..9ab07e265321 100644 --- a/arch/arm64/boot/dts/qcom/sm8650-hdk.dts +++ b/arch/arm64/boot/dts/qcom/sm8650-hdk.dts @@ -872,7 +872,7 @@ &mdss_dp0 { }; =20 &mdss_dp0_out { - data-lanes =3D <0 1>; + data-lanes =3D <0 1 2 3>; remote-endpoint =3D <&usb_dp_qmpphy_dp_in>; }; =20 @@ -1229,6 +1229,7 @@ &usb_dp_qmpphy { vdda-phy-supply =3D <&vreg_l3i_1p2>; vdda-pll-supply =3D <&vreg_l3g_0p91>; =20 + mode-switch; orientation-switch; =20 status =3D "okay"; diff --git a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts b/arch/arm64/boot/dts/= qcom/sm8650-qrd.dts index bd87aa3aa548..884e846842f5 100644 --- a/arch/arm64/boot/dts/qcom/sm8650-qrd.dts +++ b/arch/arm64/boot/dts/qcom/sm8650-qrd.dts @@ -831,7 +831,7 @@ &mdss_dp0 { }; =20 &mdss_dp0_out { - data-lanes =3D <0 1>; + data-lanes =3D <0 1 2 3>; remote-endpoint =3D <&usb_dp_qmpphy_dp_in>; }; =20 @@ -1224,6 +1224,7 @@ &usb_dp_qmpphy { vdda-phy-supply =3D <&vreg_l3i_1p2>; vdda-pll-supply =3D <&vreg_l3g_0p91>; =20 + mode-switch; orientation-switch; =20 status =3D "okay"; --=20 2.34.1 From nobody Fri Feb 13 13:26:26 2026 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (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 91AB913C3D5 for ; Mon, 27 May 2024 08:42:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799374; cv=none; b=m1nffDCgkqUbY0AlNLHNcQwZmamCytf5SNejGdWi5z5qXO0aKsD026K2ROlAf0Rvcji0ATvH1ILpT13fqmfiicChQtpTO7KJDCvEik15VOgWKSpDf7T/y7iaS4oOMvq8pusaYN2AW+fkG1UmEyY3VWXt7+rUKbjaTfEQ2rnv3cc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716799374; c=relaxed/simple; bh=EQYEM+nXLwVomhzLq6K3CGSxN/j1/41Ke38UOW9m/Bo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AcWrz85EDC7tSdQpSNZO2ZkcpgB11LaULj2r49F/q2/ESnDdbhiiIXTBUq+v62Z4vklpiNC0FVOplSN3QwqU7QOgStlhEiqmXd8UwPJ5d9AmVUmAz1WWC6TEAJcJMUzELZC5usAtK9BDcW4U9dLgO3bx1x9ZgrutZVd2mlDB6eg= 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=Zz949cJ1; arc=none smtp.client-ip=209.85.221.51 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="Zz949cJ1" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-354df3ee1a9so5032550f8f.1 for ; Mon, 27 May 2024 01:42:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1716799371; x=1717404171; 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=gv4XcgrE+Sm06cvS3N6RCuploOyylX22ILl1HxMDPcw=; b=Zz949cJ1iHpBqRJ9gpdjUguNXC9uuToxx1LAsgH0CPHeLKIAeFAuf6U9SxrkbgTgux LZcuaMQv9YAkuuaiGqCnDpDcbKobTBwyofQT572VubOBseJHsZ49OBSgVhTk2HdGZdUz PwEPb7HGeOS11Qo4KuprrFTwzvBefJfj2alzDyZsZAz+WQ69Nqb86wvO6GMsqsLzzUIR 3adRFEAXyvGy97GRHCx4c2Y0uIwQtCuEsulXg/AUj4MRiKeGz8Pq+4T+OjBVlxvY/U27 nMbddPQEZ8p+Kb59hmyN+01/xzmZRFebZeyKlw5LWyv/EUUL3+2uWPRnUxWsOks4QaWU U3dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716799371; x=1717404171; 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=gv4XcgrE+Sm06cvS3N6RCuploOyylX22ILl1HxMDPcw=; b=KZoZu9qOBmE7Z9a0G256XtkUirLNnFnU3gXHoH5KZoDJnLXipb6aMkgxI4EVMbvT0o Z92S2ZAxVj49IGPVyQfvelZysB5wdp+wSWAn0HchP+pnClxRfVErRZGs5C6dyOxecKYh rU5eKL8vMGZSEgxjEyjD+eM8Amamshubky/d9RPZJOTo+KYEldOokhKPhgTQp4FP7Oon Kpvrhdg5xi0cKuq2HB/KISILGsnJjsMOObHs/7vcGi6yuu2hzicEvp5l2rmqo6431fjb yfiVnV/lS8JiHiAcojKHZq75yZjpZRLoQ1UIDZXzjCky6lJkW3X/DjA7foz0+j+MV+uu yYlw== X-Forwarded-Encrypted: i=1; AJvYcCXExjRV5OzlR7//G29om2B5XRBUH2s+jEYlQcQ1UMkjHXfnx+pKgNZI58EsF0MMJgj1WNRfkldRsV3cZQoVkTdFv+V/omIuVcMgF1+o X-Gm-Message-State: AOJu0YxJ/wIk6CwnfDfWa/fAU0XfllF6bQQs5RaqabTXcyqo5ZQfnd6u 0CSjQp2MoYYeTCOz/emA0vpfQ8itWq9QAji5wTfrptE4K1fKSmvDxSkLJn/6HAA= X-Google-Smtp-Source: AGHT+IHF22FK1+Ks6DxIuwzLPxEi57/bXJbpsEkYmUSNcM8jUjUfiNgSqFkwncWDon6TfTyIOBiLnA== X-Received: by 2002:adf:f48c:0:b0:354:f90c:63dd with SMTP id ffacd0b85a97d-3552210f11fmr6175693f8f.0.1716799370947; Mon, 27 May 2024 01:42:50 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:982:cbb0:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3558889fb57sm8447292f8f.114.2024.05.27.01.42.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 May 2024 01:42:50 -0700 (PDT) From: Neil Armstrong Date: Mon, 27 May 2024 10:42:39 +0200 Subject: [PATCH v2 7/7] arm64: dts: qcom: sc8280xp-lenovo-thinkpad-x13: allow 4 lanes for DisplayPort and enable QMP PHY mode-switch 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: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-7-a03e68d7b8fc@linaro.org> References: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> In-Reply-To: <20240527-topic-sm8x50-upstream-phy-combo-typec-mux-v2-0-a03e68d7b8fc@linaro.org> To: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Krzysztof Kozlowski Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1314; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=EQYEM+nXLwVomhzLq6K3CGSxN/j1/41Ke38UOW9m/Bo=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBmVEeAHBZsJopuIKCfsXkjV2XRXahXRubswN6LvOMY WusZGAeJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCZlRHgAAKCRB33NvayMhJ0f+hEA CdjaqatyiAaFU3k1VieZt3QmCuHnjKxT4lgrTMmAKQxCydsv6Z82g1Vi5hugt8ZZ73C5iXvHSAn8kK lOHQ2h7F/uFFFnfyIPl9wWPLnwo4f80hjcjDdcQ4qWKIMqdKyu8EKroW76xvNKQTZ7JFxpVQLy3B35 qAzYO4DuzIMFQN8hfCloPuH53SGceSqzMoluoYoVudwwXG/+WD1guBLIP/QWjPY61P+6dfoLv0Znkh oUCaigX/PO/BOUc7XAmzvy47Zrn29i+SO1M5NgV5C6Tcftv5z0vy+l1regR5jowBpxEpIYedIrKhk6 XbBJnWvF05Fqkw7hPajqX8QsiCEA59lo++GQJ5q79K4IFY1dU0Qo5IMY/Vnb2ucN9GLyTvjM+nO5O1 3Ch6HkJy9Jouan6hTwNzE3FOv0+r8T545yu3hy/SJiN7ZrOlN1+By0WcuTiKIV6IaV0nMGhK42nJkk 1bzatzIoi7XCux49BBqxN/5nFIwiQxgoKh1t7xV2cQHnMve74czLScmjmccl0+nYMqz402l76+Mln9 meH2oWuuCRHt31GiMgVauvFgnucIXdjXjcwo8cXaO9kv2bRwpjX6pG+K0fnrpIr28ykj2Gc9NID/vi txRALFfvbNwq4GIYFlYHLRDZFKQeT7evtqN04nYxv/iNQEiK24MBgHfDrRMg== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE Allow up to 4 lanes for the DisplayPort link from the PHYs to the Controlle= rs and allow mode-switch events to the QMP Combo PHYs. Signed-off-by: Neil Armstrong Reviewed-by: Dmitry Baryshkov --- arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts b/a= rch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts index e937732abede..bcd38831f9d3 100644 --- a/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts +++ b/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts @@ -593,7 +593,7 @@ &mdss0_dp0 { }; =20 &mdss0_dp0_out { - data-lanes =3D <0 1>; + data-lanes =3D <0 1 2 3>; remote-endpoint =3D <&usb_0_qmpphy_dp_in>; }; =20 @@ -602,7 +602,7 @@ &mdss0_dp1 { }; =20 &mdss0_dp1_out { - data-lanes =3D <0 1>; + data-lanes =3D <0 1 2 3>; remote-endpoint =3D <&usb_1_qmpphy_dp_in>; }; =20 @@ -1143,6 +1143,7 @@ &usb_0_qmpphy { vdda-phy-supply =3D <&vreg_l9d>; vdda-pll-supply =3D <&vreg_l4d>; =20 + mode-switch; orientation-switch; =20 status =3D "okay"; @@ -1180,6 +1181,7 @@ &usb_1_qmpphy { vdda-phy-supply =3D <&vreg_l4b>; vdda-pll-supply =3D <&vreg_l3b>; =20 + mode-switch; orientation-switch; =20 status =3D "okay"; --=20 2.34.1