From nobody Fri Sep 12 20:01:53 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 029EDC636CD for ; Tue, 7 Feb 2023 13:56:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232327AbjBGN44 (ORCPT ); Tue, 7 Feb 2023 08:56:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37162 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231733AbjBGN4l (ORCPT ); Tue, 7 Feb 2023 08:56:41 -0500 Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AEB733802E for ; Tue, 7 Feb 2023 05:56:11 -0800 (PST) Received: by mail-wr1-x42c.google.com with SMTP id k13so6225946wrh.8 for ; Tue, 07 Feb 2023 05:56:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QX4rZ/apusxA+kOocMUgPZzFJ0GB7RlYqxdsd8KGKjw=; b=ZePF7sbU5Y7OjGS2yW0g9dLDgyFY7/XNsDvb4KSI8zVo4duMujEAIRIDEAYzgW/aJA FXn4Dgir0houDF4USc1XH2s73/6rqJurfSkOeT1oH1oxUfxBf6PCNk3HVe/YGNwhKxjZ qPZVgPpkhtfd0Ru0984YUutdfo1dTodUWIjs4lNTELSKRLfCXPDs0+9zz1wsd8bIIZFl iyjbxsWzCmYzqO7DjEQkem0WgEleR8XNZPpIIvOCgElV+Tx2q5aeKr9ebSPBCsaKUIbz Z1pxs8ovrpq5wYQf/FbdwaBu0nh/mBbWqiGn3+0OHZ52xsseHlNpqcNp+POJSV7GzykX 629A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QX4rZ/apusxA+kOocMUgPZzFJ0GB7RlYqxdsd8KGKjw=; b=EWfZq5/FrKxlZHCizvpuqPYGMb6aHdl+t8xsKGbMzfQL7/rtI7BgWQuUfSGNJKd0US d/qggqvwrRqHeZ9OE9TY4rjCE07Brj9IlwJ7O6iwD1kgMRuX8khFvR0v9rWYMg94zBVL cNujCyy3OiLdGxQ3zs9dAhe0axzMEAQKeTCFbsmZl9xtrQQmod8NVA5N7q9+/cuPg4M2 vq1rGC4iBSmCDsNBSep+Ig9pd77Aw/lwPlZjSyYyjsiV74Uu6p+rctTDO+aKtcarJ84J 1gioTCFp9gn/Rog0kNIgYfZqvV+GQ1AefapZy97IKWHAje0zS/Jz8IpCrNLY9fI6ZC6p 5C7Q== X-Gm-Message-State: AO0yUKWQVRY7I5cC5CGPaEDFA93UPoxN5R+YkNNVgwDpckHnxDmBXZIS Q7Z8AVliycXvtfU+2NtxCGKTOw== X-Google-Smtp-Source: AK7set/3HsxRPjRdhDnMoTIKD5/HI3EB5DMI/wZsOGOaUNEUdIzsU4vzJeppub9ye2E67JzGIA9cbA== X-Received: by 2002:adf:dc04:0:b0:2c3:ea92:3494 with SMTP id t4-20020adfdc04000000b002c3ea923494mr2499644wri.55.1675778156573; Tue, 07 Feb 2023 05:55:56 -0800 (PST) Received: from hackbox.lan ([94.52.112.99]) by smtp.gmail.com with ESMTPSA id p10-20020a5d59aa000000b002be5401ef5fsm11611312wrr.39.2023.02.07.05.55.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Feb 2023 05:55:56 -0800 (PST) From: Abel Vesa To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Lee Jones , Rob Herring , Krzysztof Kozlowski , "vkoul@kernel.org" , Kishon Vijay Abraham I , Johan Hovold Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, Linux Kernel Mailing List Subject: [PATCH v4 1/7] dt-bindings: phy: Add qcom,snps-eusb2-repeater schema file Date: Tue, 7 Feb 2023 15:55:45 +0200 Message-Id: <20230207135551.1418637-2-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230207135551.1418637-1-abel.vesa@linaro.org> References: <20230207135551.1418637-1-abel.vesa@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The SM8550 SoC uses Synopsis eUSB2 repeater found in PM8550b. Add a dt-binding schema for the new driver. Signed-off-by: Abel Vesa Reviewed-by: Krzysztof Kozlowski --- The v3 (rfc) is here: https://lore.kernel.org/all/20230202133816.4026990-3-abel.vesa@linaro.org/ Changes since v3: * made this patch the first one in the series to fix the binding check for the 2nd patch. * dropped the compatible for pmic in the example. This is due to the dependency between this patch and the next one. .../phy/qcom,snps-eusb2-repeater.yaml | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/qcom,snps-eusb2-r= epeater.yaml diff --git a/Documentation/devicetree/bindings/phy/qcom,snps-eusb2-repeater= .yaml b/Documentation/devicetree/bindings/phy/qcom,snps-eusb2-repeater.yaml new file mode 100644 index 000000000000..54afab7e21fb --- /dev/null +++ b/Documentation/devicetree/bindings/phy/qcom,snps-eusb2-repeater.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/qcom,snps-eusb2-repeater.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Synopsis eUSB2 to USB 2.0 repeater + +maintainers: + - Abel Vesa + +properties: + compatible: + const: qcom,pm8550b-eusb2-repeater + + reg: + maxItems: 1 + + "#phy-cells": + const: 0 + + vdd18-supply: true + + vdd3-supply: true + +required: + - compatible + - reg + - "#phy-cells" + +additionalProperties: false + +examples: + - | + #include + + pmic@7 { + reg =3D <0x7 SPMI_USID>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + pm8550b_eusb2_repeater: phy@fd00 { + compatible =3D "qcom,pm8550b-eusb2-repeater"; + reg =3D <0xfd00>; + #phy-cells =3D <0>; + }; + }; +... --=20 2.34.1 From nobody Fri Sep 12 20:01:53 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2FBB0C636CC for ; Tue, 7 Feb 2023 13:57:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232346AbjBGN47 (ORCPT ); Tue, 7 Feb 2023 08:56:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38330 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231909AbjBGN4m (ORCPT ); Tue, 7 Feb 2023 08:56:42 -0500 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [IPv6:2a00:1450:4864:20::42d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 68B8E38E82 for ; Tue, 7 Feb 2023 05:56:15 -0800 (PST) Received: by mail-wr1-x42d.google.com with SMTP id i5so6461233wrc.0 for ; Tue, 07 Feb 2023 05:56:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=woyCLhhr9GNDZ+ZK9imdrAaOvVCw51EmSZRJm9R7J5w=; b=NtU54NwNW0ruK/8LURJT6C7S7FeX/i5HcbZpzVPSd8N4FDeryJMrp6kX0Ad05ncNEc g9vDeJ1/IVQLVx3XzIc+t86oT6mr60a2tMn0UqqxrOC8LSTRd3ycdIRBs7chpFuPc0X+ qNqC4otwYGd4bjSgMGjhAh9e1OMmbbFXvFVFQk2fS0fSVcPbp2uq0k6KMaYkKSDnhysS 88iL/fSSSKruvvOoLlrRofeuXgpaYWHUsuRSg+VS1V/wvSI6x2njwiqw/sSFXA8M80/r x/pD2M37xtEOV4yy03FSeC9nDx60cjzg8MdiBWM/e85wWIfOP82P5LNmh1KzLIACptYD Fomw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=woyCLhhr9GNDZ+ZK9imdrAaOvVCw51EmSZRJm9R7J5w=; b=IV8UZj9rPrpiW2jY1rOp5181j5OBqChjj2DZjKu+hbuwjA1ltTllFLgUxKyMoL8FqC uzE3xroFKpJGGld3cXmEjAdQ37Dq+uPAXfxVU9Bbh1DeedoAytTqjp6uLmBeFq1Xfknn NN2YLbDyU2+/dh9TUv+5H+zIFGVCjlcihW9D7ggreCaCYhLOJuhCjz7WKuNQPwMqovZk 1F53cax9km4sMODuwgOJd2Jg6Gee5uAcZm3DZuyc9Doj7M5N5hNWWT5GAf/WPW4Tv+bz nCV2BQ70hTNoebtcZNlxwtgnlMRnXdK0NXTsSOt+GqMrIvfKqB+8tW3QxWIM0Pu4YxFt YqEQ== X-Gm-Message-State: AO0yUKULoTp9oPosmxbZ/KCpDA/EMWYjMIuru+S8bLCzNk+NWAXzQiLT suz3+zc1DtMY63o4+oSaQWGe/g== X-Google-Smtp-Source: AK7set+310+2rkvwM3A7GBlhW9EtKuxs3n1k3TNZRXyXkrqITOpLCmAe3j3hq/Bam4I+ObeiHtxrgQ== X-Received: by 2002:a05:6000:188d:b0:2c3:be89:7c36 with SMTP id a13-20020a056000188d00b002c3be897c36mr15394572wri.25.1675778157897; Tue, 07 Feb 2023 05:55:57 -0800 (PST) Received: from hackbox.lan ([94.52.112.99]) by smtp.gmail.com with ESMTPSA id p10-20020a5d59aa000000b002be5401ef5fsm11611312wrr.39.2023.02.07.05.55.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Feb 2023 05:55:57 -0800 (PST) From: Abel Vesa To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Lee Jones , Rob Herring , Krzysztof Kozlowski , "vkoul@kernel.org" , Kishon Vijay Abraham I , Johan Hovold Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, Linux Kernel Mailing List Subject: [PATCH v4 2/7] dt-bindings: mfd: qcom,spmi-pmic: Add pattern property for phy Date: Tue, 7 Feb 2023 15:55:46 +0200 Message-Id: <20230207135551.1418637-3-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230207135551.1418637-1-abel.vesa@linaro.org> References: <20230207135551.1418637-1-abel.vesa@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The phy pattern property will be used for providing eUSB2 repeater functionality. This will be modelled as a Qualcomm PHY driver. Signed-off-by: Abel Vesa --- The v3 (rfc) is here: https://lore.kernel.org/all/20230202133816.4026990-2-abel.vesa@linaro.org/ Changes since v3: * made this the second patch rather than the first in the series Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml b/Do= cumentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml index adf88245c409..1e6fadec1301 100644 --- a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml +++ b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml @@ -135,6 +135,10 @@ patternProperties: type: object $ref: /schemas/pinctrl/qcom,pmic-gpio.yaml# =20 + "phy@[0-9a-f]+$": + type: object + $ref: /schemas/phy/qcom,snps-eusb2-repeater.yaml# + "pon@[0-9a-f]+$": type: object $ref: /schemas/power/reset/qcom,pon.yaml# --=20 2.34.1 From nobody Fri Sep 12 20:01:53 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B42DDC636CC for ; Tue, 7 Feb 2023 13:57:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232371AbjBGN5J (ORCPT ); Tue, 7 Feb 2023 08:57:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38418 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232016AbjBGN4m (ORCPT ); Tue, 7 Feb 2023 08:56:42 -0500 Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DE15E38E9F for ; Tue, 7 Feb 2023 05:56:15 -0800 (PST) Received: by mail-wr1-x42f.google.com with SMTP id m14so13594929wrg.13 for ; Tue, 07 Feb 2023 05:56:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=AtkmhwFT5j7wowMrMh6FyT6x9TPEWHJ6LPVu2crAaaY=; b=yeueLFHd13NZAGnJvHZuHiRYVpoEhoTeSIVMwEFaDaXr5X0uS8p6ut2gDavnB5/VgO ufg7Wc06MA0b55lSEfpMo6PFPe22YZHwbfC+LPFuRehpLt4mL/7ka4vKc+wUAqcXsExZ 3rD5ih/CiTv+4pHMalF8CDQmrrx/ptBvrb/sXDseu+uTw6/uIUtwSYRKlzKlbpxmO3zf qUgFykksZcGNShdv57SOn3leRwxKfRKZS1Q9tviP5zlMXE6vCgu+ZEVhel9qvsIXP4pJ d+Y8YODSm/EZ8foMFeFgaPwklYAoaCl1MqU8XD8bXpouzbOjMBs1T+2k7T2r4UzyJY2E e6sQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AtkmhwFT5j7wowMrMh6FyT6x9TPEWHJ6LPVu2crAaaY=; b=Gq6IgtI40fQevrXF2eyn1kjvTwsLaMM+rsqLc8pHuRcSc8iKmKocFjkX5IMuSiBwo/ lzgqesjaF0jd0RwAVDNXmh3UMeKv4D4wP9OAobGN4KCU5FwN6hS5w2TTUHwD3PZDT4Qb ix3suQFP0QAUkuOrwE02uhqMYu3IL7S1vgXoJTDs6wVACIARA3UzXOtXKpnvZM9U4PwP QDRVpo6V+JhmXyhXJhrRz7cyTVRYtMKYZg+cRqtescH2s32sbNy2G6ZJmH3vE3pT3ueE Q+B73DVGc9HJB3pPLq4Y97mtTi7G1Mpi3sHX3Ti4C8mclK1ZiWHdapPeF0d9oehe9KQv eTQg== X-Gm-Message-State: AO0yUKUA3vIuv7qbjKmKwTPXVn3LlnsmLZdNW/dleoXINBN9Uq70a7Nl 4wHCEzDwFaOs2SuTdXMQNkQDCw== X-Google-Smtp-Source: AK7set8sX8qVfXWnL7rMwHmKqSHv+hoK0KTIKBOfrnCPm2yh0mFF/nczg+iG/jdmQKu8ghiXhTpjCQ== X-Received: by 2002:a5d:49c9:0:b0:2bf:9656:d1a8 with SMTP id t9-20020a5d49c9000000b002bf9656d1a8mr2270813wrs.32.1675778159182; Tue, 07 Feb 2023 05:55:59 -0800 (PST) Received: from hackbox.lan ([94.52.112.99]) by smtp.gmail.com with ESMTPSA id p10-20020a5d59aa000000b002be5401ef5fsm11611312wrr.39.2023.02.07.05.55.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Feb 2023 05:55:58 -0800 (PST) From: Abel Vesa To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Lee Jones , Rob Herring , Krzysztof Kozlowski , "vkoul@kernel.org" , Kishon Vijay Abraham I , Johan Hovold Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, Linux Kernel Mailing List Subject: [PATCH v4 3/7] dt-bindings: phy: qcom,snps-eusb2-phy: Add phys property for the repeater Date: Tue, 7 Feb 2023 15:55:47 +0200 Message-Id: <20230207135551.1418637-4-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230207135551.1418637-1-abel.vesa@linaro.org> References: <20230207135551.1418637-1-abel.vesa@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The phys property is used for allowing the eusb2 to interface with the repeater, which is modelled as a phy driver. Signed-off-by: Abel Vesa Acked-by: Krzysztof Kozlowski --- The v3 (rfc) is here: https://lore.kernel.org/all/20230202133816.4026990-4-abel.vesa@linaro.org/ Changes since v3: * dropped the phy-names property and changed the commit message accordingly .../devicetree/bindings/phy/qcom,snps-eusb2-phy.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/qcom,snps-eusb2-phy.yaml= b/Documentation/devicetree/bindings/phy/qcom,snps-eusb2-phy.yaml index de72577e34a4..c53bab107b6d 100644 --- a/Documentation/devicetree/bindings/phy/qcom,snps-eusb2-phy.yaml +++ b/Documentation/devicetree/bindings/phy/qcom,snps-eusb2-phy.yaml @@ -33,6 +33,11 @@ properties: resets: maxItems: 1 =20 + phys: + maxItems: 1 + description: + Phandle to eUSB2 to USB 2.0 repeater + vdd-supply: description: Phandle to 0.88V regulator supply to PHY digital circuit. --=20 2.34.1 From nobody Fri Sep 12 20:01:53 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DDF60C636CD for ; Tue, 7 Feb 2023 13:57:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232404AbjBGN5N (ORCPT ); Tue, 7 Feb 2023 08:57:13 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37516 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232278AbjBGN4o (ORCPT ); Tue, 7 Feb 2023 08:56:44 -0500 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E1C823A589 for ; Tue, 7 Feb 2023 05:56:16 -0800 (PST) Received: by mail-wr1-x42e.google.com with SMTP id h3so5792124wrp.10 for ; Tue, 07 Feb 2023 05:56:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=wknXjDaGXH+LX2K/TaaG7FdKylzkWnpWRhGp8pLhtGE=; b=CpsnTxFsn5qi50XjG1iAOSliAdXfjTiEkhuSOfCEbyx7GMkKl8B/UZ1xReJQgiESTn csRYg0SnxBQvUSDQHU2Pgt+yY2n96NOzDe7KoDCItV72Uc8gx2yL5ZOnqbIFMSP0vzv1 BFIuSY/02m/CzNIw7NwI5Y7yczO4eOR1PC0rk74e8RVSTy4HjprioE4lPZC4JZtE5nU3 Wy23uiE68t6fMEcTbbyHFTs0LP6ZqJp+bwtC0og02noA80LOEXZttPWR+nG7hiUe0UfY 7oDacN0uqd2NfdXexDl2gGA4v1NSPzU/3Vqx8PcPd4cPJKNXQiGywwKisBHrUlrZkZRO iXpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wknXjDaGXH+LX2K/TaaG7FdKylzkWnpWRhGp8pLhtGE=; b=tvVwJNW+k3pfRb/W1KSkX6A+PFEJmB4bsEzVz8o/BZ9PGnjQCJmSQgxSLdkN5NENN5 aX0kAHVeRCDKWxiqIawGCb5EOxzxCdUsuEyoo6fSwCjPq41lvKJMjT/Fr1kom7p2CsjK kA0B76jhEP3ectRVyCGAP6rkm0BE2OapqCAVQX6dqit8Mk5VCEvxrzWzvAv+fu07M2La FyHx8UDsUJsrunVcrhYaFw+/ruge1sYlZpmSbz98F7Er4J/VwjXaDwxnh4DiLR9vzEBM pxik+ZC85jLKj19qI8tqZl62m8DmkqqxHsT0ITt9hOsBzzM72hq2mmAO+DWlWA6VhIks w0Ng== X-Gm-Message-State: AO0yUKVjmo8bw1g8Iy8TImezbolR3DvBRYtoVU3WKb8a6yW1pzhhxIBD j+4hSm2iu1+ZyvB83Mn+j9wA3A== X-Google-Smtp-Source: AK7set+oRWPLZzVSZcYAw1/0txRXToUbZSBz46U8JnoNq2rVlETdGipEGRtWjRCQT7H1y/bd8csvWg== X-Received: by 2002:adf:f749:0:b0:2bd:f71a:5b32 with SMTP id z9-20020adff749000000b002bdf71a5b32mr2772989wrp.58.1675778160430; Tue, 07 Feb 2023 05:56:00 -0800 (PST) Received: from hackbox.lan ([94.52.112.99]) by smtp.gmail.com with ESMTPSA id p10-20020a5d59aa000000b002be5401ef5fsm11611312wrr.39.2023.02.07.05.55.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Feb 2023 05:56:00 -0800 (PST) From: Abel Vesa To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Lee Jones , Rob Herring , Krzysztof Kozlowski , "vkoul@kernel.org" , Kishon Vijay Abraham I , Johan Hovold Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, Linux Kernel Mailing List Subject: [PATCH v4 4/7] phy: qcom: Add QCOM SNPS eUSB2 repeater driver Date: Tue, 7 Feb 2023 15:55:48 +0200 Message-Id: <20230207135551.1418637-5-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230207135551.1418637-1-abel.vesa@linaro.org> References: <20230207135551.1418637-1-abel.vesa@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" PM8550B contains a eUSB2 repeater used for making the eUSB2 from SM8550 USB 2.0 compliant. This can be modelled SW-wise as a Phy. So add a new phy driver for it. Signed-off-by: Abel Vesa --- The v3 (rfc) is here: https://lore.kernel.org/all/20230202133816.4026990-5-abel.vesa@linaro.org/ Changes since v3: * fixed all indentation issues and dropped a few blank lines to pass checkpatch * dropped shift defines as they were not used * dropped the repeater_mode as it was not used * dropped the of_node_get and of_node_put for of_node * dropped the comment related to regulators in eusb2_repeater_cfg, like Vinod suggested * dropped the initialization of ret in eusb2_repeater_init drivers/phy/qualcomm/Kconfig | 9 + drivers/phy/qualcomm/Makefile | 1 + .../phy/qualcomm/phy-qcom-eusb2-repeater.c | 259 ++++++++++++++++++ 3 files changed, 269 insertions(+) create mode 100644 drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c diff --git a/drivers/phy/qualcomm/Kconfig b/drivers/phy/qualcomm/Kconfig index 513322cdf83c..4850d48f31fa 100644 --- a/drivers/phy/qualcomm/Kconfig +++ b/drivers/phy/qualcomm/Kconfig @@ -121,6 +121,15 @@ config PHY_QCOM_SNPS_EUSB2 chipsets. The PHY is paired with a Synopsys DWC3 USB controller on Qualcomm SOCs. =20 +config PHY_QCOM_EUSB2_REPEATER + tristate "Qualcomm SNPS eUSB2 Repeater Driver" + depends on OF && (ARCH_QCOM || COMPILE_TEST) + select GENERIC_PHY + help + Enable support for the USB high-speed SNPS eUSB2 repeater on Qualcomm + PMICs. The repeater is paired with a Synopsys eUSB2 Phy + on Qualcomm SOCs. + config PHY_QCOM_USB_HS tristate "Qualcomm USB HS PHY module" depends on USB_ULPI_BUS diff --git a/drivers/phy/qualcomm/Makefile b/drivers/phy/qualcomm/Makefile index b2c01665622b..de3dc9ccf067 100644 --- a/drivers/phy/qualcomm/Makefile +++ b/drivers/phy/qualcomm/Makefile @@ -14,6 +14,7 @@ obj-$(CONFIG_PHY_QCOM_QMP_USB) +=3D phy-qcom-qmp-usb.o =20 obj-$(CONFIG_PHY_QCOM_QUSB2) +=3D phy-qcom-qusb2.o obj-$(CONFIG_PHY_QCOM_SNPS_EUSB2) +=3D phy-qcom-snps-eusb2.o +obj-$(CONFIG_PHY_QCOM_EUSB2_REPEATER) +=3D phy-qcom-eusb2-repeater.o obj-$(CONFIG_PHY_QCOM_USB_HS) +=3D phy-qcom-usb-hs.o obj-$(CONFIG_PHY_QCOM_USB_HSIC) +=3D phy-qcom-usb-hsic.o obj-$(CONFIG_PHY_QCOM_USB_HS_28NM) +=3D phy-qcom-usb-hs-28nm.o diff --git a/drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c b/drivers/phy/q= ualcomm/phy-qcom-eusb2-repeater.c new file mode 100644 index 000000000000..3f265ac2df20 --- /dev/null +++ b/drivers/phy/qualcomm/phy-qcom-eusb2-repeater.c @@ -0,0 +1,259 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2023, Linaro Limited + */ + +#include +#include +#include +#include +#include +#include +#include + +/* eUSB2 status registers */ +#define EUSB2_RPTR_STATUS 0x08 +#define RPTR_OK BIT(7) + +/* eUSB2 control registers */ +#define EUSB2_EN_CTL1 0x46 +#define EUSB2_RPTR_EN BIT(7) + +#define EUSB2_FORCE_EN_5 0xe8 +#define F_CLK_19P2M_EN BIT(6) + +#define EUSB2_FORCE_VAL_5 0xeD +#define V_CLK_19P2M_EN BIT(6) + +#define EUSB2_TUNE_IUSB2 0x51 +#define EUSB2_TUNE_SQUELCH_U 0x54 +#define EUSB2_TUNE_USB2_PREEM 0x57 + +#define QCOM_EUSB2_REPEATER_INIT_CFG(o, v) \ + { \ + .offset =3D o, \ + .val =3D v, \ + } + +struct eusb2_repeater_init_tbl { + unsigned int offset; + unsigned int val; +}; + +struct eusb2_repeater_cfg { + const struct eusb2_repeater_init_tbl *init_tbl; + int init_tbl_num; + const char * const *vreg_list; + int num_vregs; +}; + +struct eusb2_repeater { + struct device *dev; + struct regmap *regmap; + struct phy *phy; + struct regulator_bulk_data *vregs; + const struct eusb2_repeater_cfg *cfg; + u16 base; + enum phy_mode mode; +}; + +static const char * const pm8550b_vreg_l[] =3D { + "vdd18", "vdd3", +}; + +static const struct eusb2_repeater_init_tbl pm8550b_init_tbl[] =3D { + QCOM_EUSB2_REPEATER_INIT_CFG(EUSB2_TUNE_IUSB2, 0x8), + QCOM_EUSB2_REPEATER_INIT_CFG(EUSB2_TUNE_SQUELCH_U, 0x3), + QCOM_EUSB2_REPEATER_INIT_CFG(EUSB2_TUNE_USB2_PREEM, 0x5), +}; + +static const struct eusb2_repeater_cfg pm8550b_eusb2_cfg =3D { + .init_tbl =3D pm8550b_init_tbl, + .init_tbl_num =3D ARRAY_SIZE(pm8550b_init_tbl), + .vreg_list =3D pm8550b_vreg_l, + .num_vregs =3D ARRAY_SIZE(pm8550b_vreg_l), +}; + +static int eusb2_repeater_init_vregs(struct eusb2_repeater *rptr) +{ + int num =3D rptr->cfg->num_vregs; + struct device *dev =3D rptr->dev; + int i; + + rptr->vregs =3D devm_kcalloc(dev, num, sizeof(*rptr->vregs), GFP_KERNEL); + if (!rptr->vregs) + return -ENOMEM; + + for (i =3D 0; i < num; i++) + rptr->vregs[i].supply =3D rptr->cfg->vreg_list[i]; + + return devm_regulator_bulk_get(dev, num, rptr->vregs); +} + +static int eusb2_repeater_init(struct phy *phy) +{ + struct eusb2_repeater *rptr =3D phy_get_drvdata(phy); + const struct eusb2_repeater_init_tbl *init_tbl =3D rptr->cfg->init_tbl; + int num =3D rptr->cfg->init_tbl_num; + u32 val; + int ret; + int i; + + ret =3D regulator_bulk_enable(rptr->cfg->num_vregs, rptr->vregs); + if (ret) + return ret; + + regmap_update_bits(rptr->regmap, rptr->base + EUSB2_EN_CTL1, + EUSB2_RPTR_EN, EUSB2_RPTR_EN); + + for (i =3D 0; i < num; i++) + regmap_update_bits(rptr->regmap, + rptr->base + init_tbl[i].offset, + init_tbl[i].val, init_tbl[i].val); + + ret =3D regmap_read_poll_timeout(rptr->regmap, + rptr->base + EUSB2_RPTR_STATUS, val, + val & RPTR_OK, 10, 5); + if (ret) + dev_err(rptr->dev, "initialization timed-out\n"); + + return ret; +} + +static int eusb2_repeater_set_mode(struct phy *phy, + enum phy_mode mode, int submode) +{ + struct eusb2_repeater *rptr =3D phy_get_drvdata(phy); + + switch (mode) { + case PHY_MODE_USB_HOST: + /* + * CM.Lx is prohibited when repeater is already into Lx state as + * per eUSB 1.2 Spec. Below implement software workaround until + * PHY and controller is fixing seen observation. + */ + regmap_update_bits(rptr->regmap, rptr->base + EUSB2_FORCE_EN_5, + F_CLK_19P2M_EN, F_CLK_19P2M_EN); + regmap_update_bits(rptr->regmap, rptr->base + EUSB2_FORCE_VAL_5, + V_CLK_19P2M_EN, V_CLK_19P2M_EN); + break; + case PHY_MODE_USB_DEVICE: + /* + * In device mode clear host mode related workaround as there + * is no repeater reset available, and enable/disable of + * repeater doesn't clear previous value due to shared + * regulators (say host <-> device mode switch). + */ + regmap_update_bits(rptr->regmap, rptr->base + EUSB2_FORCE_EN_5, + F_CLK_19P2M_EN, 0); + regmap_update_bits(rptr->regmap, rptr->base + EUSB2_FORCE_VAL_5, + V_CLK_19P2M_EN, 0); + break; + default: + return -EINVAL; + } + + return 0; +} + +static int eusb2_repeater_exit(struct phy *phy) +{ + struct eusb2_repeater *rptr =3D phy_get_drvdata(phy); + + return regulator_bulk_disable(rptr->cfg->num_vregs, rptr->vregs); +} + +static const struct phy_ops eusb2_repeater_ops =3D { + .init =3D eusb2_repeater_init, + .exit =3D eusb2_repeater_exit, + .set_mode =3D eusb2_repeater_set_mode, + .owner =3D THIS_MODULE, +}; + +static int eusb2_repeater_probe(struct platform_device *pdev) +{ + struct eusb2_repeater *rptr; + struct device *dev =3D &pdev->dev; + struct phy_provider *phy_provider; + struct device_node *np =3D dev->of_node; + u32 res; + int ret; + + rptr =3D devm_kzalloc(dev, sizeof(*rptr), GFP_KERNEL); + if (!rptr) + return -ENOMEM; + + rptr->dev =3D dev; + dev_set_drvdata(dev, rptr); + + rptr->cfg =3D of_device_get_match_data(dev); + if (!rptr->cfg) + return -EINVAL; + + rptr->regmap =3D dev_get_regmap(dev->parent, NULL); + if (!rptr->regmap) + return -ENODEV; + + ret =3D of_property_read_u32(np, "reg", &res); + if (ret < 0) + return ret; + + rptr->base =3D res; + + ret =3D eusb2_repeater_init_vregs(rptr); + if (ret < 0) { + dev_err(dev, "unable to get supplies\n"); + return ret; + } + + rptr->phy =3D devm_phy_create(dev, np, &eusb2_repeater_ops); + if (IS_ERR(rptr->phy)) { + dev_err(dev, "failed to create PHY: %d\n", ret); + return PTR_ERR(rptr->phy); + } + + phy_set_drvdata(rptr->phy, rptr); + + phy_provider =3D devm_of_phy_provider_register(dev, of_phy_simple_xlate); + if (IS_ERR(phy_provider)) + return PTR_ERR(phy_provider); + + dev_info(dev, "Registered Qcom-eUSB2 repeater\n"); + + return 0; +} + +static int eusb2_repeater_remove(struct platform_device *pdev) +{ + struct eusb2_repeater *rptr =3D platform_get_drvdata(pdev); + + if (!rptr) + return 0; + + eusb2_repeater_exit(rptr->phy); + + return 0; +} + +static const struct of_device_id eusb2_repeater_of_match_table[] =3D { + { + .compatible =3D "qcom,pm8550b-eusb2-repeater", + .data =3D &pm8550b_eusb2_cfg, + }, + { }, +}; +MODULE_DEVICE_TABLE(of, eusb2_repeater_of_match_table); + +static struct platform_driver eusb2_repeater_driver =3D { + .probe =3D eusb2_repeater_probe, + .remove =3D eusb2_repeater_remove, + .driver =3D { + .name =3D "qcom-eusb2-repeater", + .of_match_table =3D eusb2_repeater_of_match_table, + }, +}; + +module_platform_driver(eusb2_repeater_driver); + +MODULE_DESCRIPTION("Qualcomm PMIC eUSB2 Repeater driver"); +MODULE_LICENSE("GPL"); --=20 2.34.1 From nobody Fri Sep 12 20:01:53 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 79CB5C636CC for ; Tue, 7 Feb 2023 13:57:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232426AbjBGN5T (ORCPT ); Tue, 7 Feb 2023 08:57:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37120 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232288AbjBGN4o (ORCPT ); Tue, 7 Feb 2023 08:56:44 -0500 Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com [IPv6:2a00:1450:4864:20::433]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B6AD43A856 for ; Tue, 7 Feb 2023 05:56:17 -0800 (PST) Received: by mail-wr1-x433.google.com with SMTP id o18so13638736wrj.3 for ; Tue, 07 Feb 2023 05:56:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5nP2A5i34h6FhI1PmIGZwHqThelkL340fyNZ8uWjSxo=; b=VdzEKUA+I7BR/04OKzVJQzQLbpCpYeLoYwT+7MbmJwBzCXC8/Wz9dBXpicw1nu5t7K wPcXLo7jpe4VQnBgW6nM+ByBemVBAgt747KHH8XpV1yCtZedPB9s2ntVMAlVkvVOzGWJ bVhhWQkLCxPhB3zAJgXi57guzJWqe/gdNWLZsd5Ar9hLs6L+4zD4vJZmPsiJL4YvGWNq UgeGd21VezuELwjDjCuqUxM+GVIdrj1AOeIq5D98I4RmPqJ50zwKPFC9dqlitzTy/ZlT QHieExN+/CjvvdfwBMdpxpLH12Cu9I8mf7kbPFi47Px4LXJSY89ahz2E/hl6kkUiGyUl JyVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=5nP2A5i34h6FhI1PmIGZwHqThelkL340fyNZ8uWjSxo=; b=qpfHA9XTOUkpBbNIVo8taDdKrTu2JSBi+r4vrhJCZTIAEdNDy2AfEikNl88DzRfXTn jPzECSRETorpkocR7qj6tjko1lZOIAsp9yvfzOzUUthvJFdmnXaDCI/INx8MrM4+6ekv OiqpuKRjUuccs0D+c/BajbhRtE0m5bIanLmXTRSNpqfMwz8aoL2yYeGlMoWOT00WqpU3 m9N2TlLhWd8AV6/yiQSkKAaiJXkAh31BdEj5zS/Rfk+N0HQSZK7KK7DKeXMNW4AC14Gu agGuQIacfPRcsiTS4V8pe2BFhAb6fOrB+z+0NYtPlu8xSjt3lPQG5Eu1J8Sq/bbKUPIP ht1w== X-Gm-Message-State: AO0yUKXER8+At+G6+UBquyzOiz1CmaK3LNYLA+6v5tb64FmdKmyrSxwZ 3w6BV+ujY6NT8CXXbDl72IJmNA== X-Google-Smtp-Source: AK7set+L3zQVDlpG8ELGNddTYFVEar45muQRLY/0lkqS/38deLKHfGuV5eXNxsjES2KHz4jIs6x/Zg== X-Received: by 2002:adf:f3cc:0:b0:2c3:ea59:a8b with SMTP id g12-20020adff3cc000000b002c3ea590a8bmr2878259wrp.24.1675778161731; Tue, 07 Feb 2023 05:56:01 -0800 (PST) Received: from hackbox.lan ([94.52.112.99]) by smtp.gmail.com with ESMTPSA id p10-20020a5d59aa000000b002be5401ef5fsm11611312wrr.39.2023.02.07.05.56.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Feb 2023 05:56:01 -0800 (PST) From: Abel Vesa To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Lee Jones , Rob Herring , Krzysztof Kozlowski , "vkoul@kernel.org" , Kishon Vijay Abraham I , Johan Hovold Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, Linux Kernel Mailing List , Neil Armstrong Subject: [PATCH v4 5/7] phy: qcom: phy-qcom-snps-eusb2: Add support for eUSB2 repeater Date: Tue, 7 Feb 2023 15:55:49 +0200 Message-Id: <20230207135551.1418637-6-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230207135551.1418637-1-abel.vesa@linaro.org> References: <20230207135551.1418637-1-abel.vesa@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Neil Armstrong For USB 2.0 compliance, eUSB2 needs a repeater. The PHY needs to initialize and reset it. So add repeater support Co-developed-by: Abel Vesa Signed-off-by: Abel Vesa Signed-off-by: Neil Armstrong --- The v3 (rfc) is here: https://lore.kernel.org/all/20230202133816.4026990-6-abel.vesa@linaro.org/ Changes since v3: * none drivers/phy/qualcomm/phy-qcom-snps-eusb2.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/phy/qualcomm/phy-qcom-snps-eusb2.c b/drivers/phy/qualc= omm/phy-qcom-snps-eusb2.c index 23ec162cc3bd..703e2f23ea00 100644 --- a/drivers/phy/qualcomm/phy-qcom-snps-eusb2.c +++ b/drivers/phy/qualcomm/phy-qcom-snps-eusb2.c @@ -128,6 +128,8 @@ struct qcom_snps_eusb2_hsphy { struct regulator_bulk_data vregs[EUSB2_NUM_VREGS]; =20 enum phy_mode mode; + + struct phy *repeater; }; =20 static int qcom_snps_eusb2_hsphy_set_mode(struct phy *p, enum phy_mode mod= e, int submode) @@ -136,7 +138,7 @@ static int qcom_snps_eusb2_hsphy_set_mode(struct phy *p= , enum phy_mode mode, int =20 phy->mode =3D mode; =20 - return 0; + return phy_set_mode_ext(phy->repeater, mode, submode); } =20 static void qcom_snps_eusb2_hsphy_write_mask(void __iomem *base, u32 offse= t, @@ -235,6 +237,12 @@ static int qcom_snps_eusb2_hsphy_init(struct phy *p) if (ret) return ret; =20 + ret =3D phy_init(phy->repeater); + if (ret) { + dev_err(&p->dev, "repeater init failed. %d\n", ret); + goto disable_vreg; + } + ret =3D clk_prepare_enable(phy->ref_clk); if (ret) { dev_err(&p->dev, "failed to enable ref clock, %d\n", ret); @@ -342,6 +350,8 @@ static int qcom_snps_eusb2_hsphy_exit(struct phy *p) =20 regulator_bulk_disable(ARRAY_SIZE(phy->vregs), phy->vregs); =20 + phy_exit(phy->repeater); + return 0; } =20 @@ -355,6 +365,7 @@ static const struct phy_ops qcom_snps_eusb2_hsphy_ops = =3D { static int qcom_snps_eusb2_hsphy_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; + struct device_node *np =3D dev->of_node; struct qcom_snps_eusb2_hsphy *phy; struct phy_provider *phy_provider; struct phy *generic_phy; @@ -386,6 +397,12 @@ static int qcom_snps_eusb2_hsphy_probe(struct platform= _device *pdev) if (ret) return dev_err_probe(dev, ret, "failed to get regulator supplies\n"); + + phy->repeater =3D devm_of_phy_get_by_index(dev, np, 0); + if (IS_ERR(phy->repeater)) + return dev_err_probe(dev, PTR_ERR(phy->repeater), + "failed to get repeater\n"); + generic_phy =3D devm_phy_create(dev, NULL, &qcom_snps_eusb2_hsphy_ops); if (IS_ERR(generic_phy)) { dev_err(dev, "failed to create phy %d\n", ret); --=20 2.34.1 From nobody Fri Sep 12 20:01:53 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 588A4C636CC for ; Tue, 7 Feb 2023 13:57:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232418AbjBGN5P (ORCPT ); Tue, 7 Feb 2023 08:57:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37976 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232283AbjBGN4o (ORCPT ); Tue, 7 Feb 2023 08:56:44 -0500 Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 66E9C3A868 for ; Tue, 7 Feb 2023 05:56:18 -0800 (PST) Received: by mail-wm1-x332.google.com with SMTP id u10so8033084wmj.3 for ; Tue, 07 Feb 2023 05:56:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=kE+AxQUwOxA1DoNBo9L3Bq1W/VtJeoaV/fW1FjliOjc=; b=AXNPNIpXWGRFXmVvnNyBaX3EUaHtz5imfr2Kc2AD4XzXrTayE70iIYQFWo7gi7/vaB ZuplajGB2GW4JSSMA8hYQJbJBf7pUSzb5+ilXMwY1WYl+jqm4LFvl6CZiiAdFXVnXXZ2 A+GCL3cp9W2GviQruhIqWMioQ2m1ATFWr3lVbhHBxoFDY4FJyAcmiDapk/5xyzOGsvOK xIX16EfERwN9r/GBHDjTum7EHzk5vbYPi/SaOPlTRSFlxmHkLhYU6dJMYN2z9UTicq30 Vr1zsArjd0KRjatg1r9i9WKhNoAYpPlnmLoMOHr4wZT+UfigRJsrDGC6II8wGPWDIAHf QihA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kE+AxQUwOxA1DoNBo9L3Bq1W/VtJeoaV/fW1FjliOjc=; b=vYC9kDXWdtx0Kdo+bUhP12gy6MaArHyWug/WjFm7G92MrSXAAz2PaIa7hpNeguTfUM SN6cXFRMSFEyT/MxmdRnQZ+8RTzHmO4/to2l8dVsieGiNOSIsXxLsOip3OjUPIoEC6TV U7XD2sYDhNcSsk+azvuspGbjH3oEiKlpiHFqHhJI3Xfo1newqZ3f8kho7RJN2FDCq111 6q8nkY/6SfS5X0cWffPupfLHODM7lipA5+zidVQtc0joGv5XFXgxZ0YEYwg3zOlu8cRL NlcfHtaEmy6VBVZIB8r6TKHLc0JLi5p2RkQMia04w7IVcHV0yw4GrEXnJrzop+Gy7Aun YR3w== X-Gm-Message-State: AO0yUKWVipGhqSvEagOFIofD3xwhp/sUbHd4Nrn053HOCPpDYAC3F7wE AGbuSKZo4r5O9t22JQ35rtQfGQ== X-Google-Smtp-Source: AK7set/0VFvjfWv6VFXsQD+RR8iooJZ7MrlzClaN0ljfreU4ICsHnB9bcDH781X3XLtXeWSkncAZnA== X-Received: by 2002:a05:600c:4b1b:b0:3d9:f836:3728 with SMTP id i27-20020a05600c4b1b00b003d9f8363728mr3209658wmp.11.1675778163004; Tue, 07 Feb 2023 05:56:03 -0800 (PST) Received: from hackbox.lan ([94.52.112.99]) by smtp.gmail.com with ESMTPSA id p10-20020a5d59aa000000b002be5401ef5fsm11611312wrr.39.2023.02.07.05.56.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Feb 2023 05:56:02 -0800 (PST) From: Abel Vesa To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Lee Jones , Rob Herring , Krzysztof Kozlowski , "vkoul@kernel.org" , Kishon Vijay Abraham I , Johan Hovold Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, Linux Kernel Mailing List , Neil Armstrong Subject: [PATCH v4 6/7] arm64: dts: qcom: pm8550b: Add eUSB2 repeater node Date: Tue, 7 Feb 2023 15:55:50 +0200 Message-Id: <20230207135551.1418637-7-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230207135551.1418637-1-abel.vesa@linaro.org> References: <20230207135551.1418637-1-abel.vesa@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" From: Neil Armstrong Add nodes for the eUSB2 repeater found on the pm8550b SPMI PMIC. Signed-off-by: Neil Armstrong Signed-off-by: Abel Vesa --- The v3 (rfc) is here: https://lore.kernel.org/all/20230202133816.4026990-7-abel.vesa@linaro.org/ Changes since v3: * none arch/arm64/boot/dts/qcom/pm8550b.dtsi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/pm8550b.dtsi b/arch/arm64/boot/dts/qc= om/pm8550b.dtsi index 16bcfb64d735..72609f31c890 100644 --- a/arch/arm64/boot/dts/qcom/pm8550b.dtsi +++ b/arch/arm64/boot/dts/qcom/pm8550b.dtsi @@ -55,5 +55,11 @@ pm8550b_gpios: gpio@8800 { interrupt-controller; #interrupt-cells =3D <2>; }; + + pm8550b_eusb2_repeater: phy@fd00 { + compatible =3D "qcom,pm8550b-eusb2-repeater"; + reg =3D <0xfd00>; + #phy-cells =3D <0>; + }; }; }; --=20 2.34.1 From nobody Fri Sep 12 20:01:53 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6BA5C64EC4 for ; Tue, 7 Feb 2023 13:57:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232437AbjBGN5V (ORCPT ); Tue, 7 Feb 2023 08:57:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38330 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232294AbjBGN4p (ORCPT ); Tue, 7 Feb 2023 08:56:45 -0500 Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com [IPv6:2a00:1450:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 63EDE3A59D for ; Tue, 7 Feb 2023 05:56:19 -0800 (PST) Received: by mail-wr1-x42a.google.com with SMTP id m14so13595182wrg.13 for ; Tue, 07 Feb 2023 05:56:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=V1aUOJzlnvog/gfPWV5JW0Qf9tdncCWCmWydTboOvKw=; b=bO5sg5C5vYk9TdSOnLjR4vlhtn9sPiCyuwTtqnTTgWRlpu6ZIHi2AuSfyxwDUhH1E3 7iIfij9Fjz7f1MYJpQy2hjG1h8vjsYElgJEhcWCYbarfC1ZcxdyLCyd/IPGwYUz+3Mde oqQp5TY/prn2vOHVAiD4YbRNxJmoIEX9aMEGWawsmNYceIIZqF3dZuYM8TqTJFLpiItC gUZj8ZewAg+J/0uxy84V7Sd9T7B9STa6We5Gn5QUkuDdBa0eSe6ZESufOyJ8RqKi93Fd zZeqp4/kmqKAY2c8yu6aJKqcT81K8WZv25+Y4RCXZ0TR+A81ExbJ+Ite5QCLES6P4aWw A8eA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=V1aUOJzlnvog/gfPWV5JW0Qf9tdncCWCmWydTboOvKw=; b=Q3UGNjKwOKbjaG6bVnqLRHBHbrSYOdrwN8Vzro3Ei7T+8FXSjuTMG5koAZ1S/GVIJa VD/SaRnjmBVW/TJLmt7Kb0UjsirAtyQE8HOm2Jp5gHSvIPlZrSf1eTw58jF9WDEMyiUr WbmvknoM/MCoCj2QrcrxFFYl9dP6tghjY2y1+IrL2vi3XSBkDAFuuzPate8aIwiHN+St B5Qlyu4AprCf32azL8/hceQPMQnuRThpCcqdix8pBWllqBbuEXruyLP/XZKNx8YuNzfs vRRnO4aYp1DJUb8cn/7+UzLe3C2gFxQANKD9Mz8067n41K0AxXyqXBRWwwh5E6TkKqjW Azxg== X-Gm-Message-State: AO0yUKXQD2a/Q/IiNE33NgNMcHCUPl4ez4vDDmTE+Xl2ZVLNYBmqeMtv oWEIk6fm6ielfXvCrEvxP5yLO5knAYzoAu8i X-Google-Smtp-Source: AK7set8/7pguR2nkrh5sfxWhRMJoc0cANOCX7qiQNTzv4aIYl17VUb020gXBfptdCuTi7LOG4aoGAA== X-Received: by 2002:a5d:6d82:0:b0:2c3:c138:e52d with SMTP id l2-20020a5d6d82000000b002c3c138e52dmr14202450wrs.4.1675778164473; Tue, 07 Feb 2023 05:56:04 -0800 (PST) Received: from hackbox.lan ([94.52.112.99]) by smtp.gmail.com with ESMTPSA id p10-20020a5d59aa000000b002be5401ef5fsm11611312wrr.39.2023.02.07.05.56.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Feb 2023 05:56:03 -0800 (PST) From: Abel Vesa To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Lee Jones , Rob Herring , Krzysztof Kozlowski , "vkoul@kernel.org" , Kishon Vijay Abraham I , Johan Hovold Cc: linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, Linux Kernel Mailing List Subject: [PATCH v4 7/7] arm64: dts: qcom: sm8550-mtp: Add eUSB2 repeater node Date: Tue, 7 Feb 2023 15:55:51 +0200 Message-Id: <20230207135551.1418637-8-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230207135551.1418637-1-abel.vesa@linaro.org> References: <20230207135551.1418637-1-abel.vesa@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Add the PMIC eUSB2 repeater node and add the usb-repeater property to the eUSB2 PHY to allow it to be controlled by the PHY driver. Signed-off-by: Abel Vesa --- The v3 (rfc) is here: https://lore.kernel.org/all/20230202133816.4026990-8-abel.vesa@linaro.org/ Changes since v3: * Dropped the phy-names property from usb_1_hsphy, like Dmitry suggested arch/arm64/boot/dts/qcom/sm8550-mtp.dts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts b/arch/arm64/boot/dts/= qcom/sm8550-mtp.dts index 56aab7cafcbc..6b6ec0fe5e5e 100644 --- a/arch/arm64/boot/dts/qcom/sm8550-mtp.dts +++ b/arch/arm64/boot/dts/qcom/sm8550-mtp.dts @@ -457,6 +457,11 @@ sdc2_card_det_n: sdc2-card-det-state { }; }; =20 +&pm8550b_eusb2_repeater { + vdd18-supply =3D <&vreg_l15b_1p8>; + vdd3-supply =3D <&vreg_l5b_3p1>; +}; + &qupv3_id_0 { status =3D "okay"; }; @@ -563,6 +568,8 @@ &usb_1_hsphy { vdd-supply =3D <&vreg_l1e_0p88>; vdda12-supply =3D <&vreg_l3e_1p2>; =20 + phys =3D <&pm8550b_eusb2_repeater>; + status =3D "okay"; }; =20 --=20 2.34.1