From patchwork Wed Nov 16 12:30:16 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 1754 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp112626wru; Wed, 16 Nov 2022 04:32:05 -0800 (PST) X-Google-Smtp-Source: AA0mqf4du0xg4IYTaOfO0vH6wJgzS/1ljn3mxuCasEZkcIKaQiCcOU1kkzPXqGCF2NkB8PdD1Bie X-Received: by 2002:a17:906:5053:b0:7ad:f5a9:ece3 with SMTP id e19-20020a170906505300b007adf5a9ece3mr17824518ejk.635.1668601925084; Wed, 16 Nov 2022 04:32:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668601925; cv=none; d=google.com; s=arc-20160816; b=ZsMAVgNkwB5AQwNBFI7wBd3kwVm2U9pePM/yk/HtCjU4VGU90Zi5aFmutaIAK+muWA 7Xwb2VqSyp9EXsEmQf8XXQYVutXW8YIF6vH8Xw76sZjcqJEzbqhJHm2hKtKUgKovJlKS FGz7HHXdU5+BQlNscAIe1fX/DOmbSwp7f7FvLXNb5nF+vrcBPPtqiEj+tQHUfhFQcox0 KOCmR49wRpMwBLZxvFwHimuN/et0naDci2x1MH86HXk1YM/20HNBr2DenTMv0obuf9dJ VPnYrfW1Ei7WNotPR0dJrHq3B+Y0NGiWh3/gJ0BjyER68S0KKmkFQYSkoZARoHFutqr0 Ws9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=AVAqY273akgzvATGouXznwiEQyYEMmvaAfQqpAHVy/Y=; b=cFwn9y32R2erbVWAZQIiiSWZsXDH6tYQ79yxyy0BmsA1EuFWGzOMDSHBT+z/SKMpvH cRjOEaLpA1lCT7Kyc5qNL5TJ57R8Vi9uUgvUmWZ5BpUg4cA+esOhNULJYc72t3XbiCLT skZEOG/kcb1OFpO5Ep00gzzz0aHqFQkMnYhlWQt+Sun6EEgEYpA/BeRvXwLwmDc5dFjJ Roy07sdQGY+XpPsiqEhec8vjERm10U1t56fun6pxyLK0lcWeklIS6VtKQxR5I3svsy3/ sRgNZE76UuBqO1WVLwcxDfUccLXuvDmJNqpFxxsJcrRo+YhfJeUqX3kclgirnulBv/23 lypQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=uJ5HW9NI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id he42-20020a1709073daa00b00781132a4ca6si15266796ejc.850.2022.11.16.04.31.40; Wed, 16 Nov 2022 04:32:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=uJ5HW9NI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233109AbiKPMbZ (ORCPT + 99 others); Wed, 16 Nov 2022 07:31:25 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233846AbiKPMav (ORCPT ); Wed, 16 Nov 2022 07:30:51 -0500 Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [IPv6:2a00:1450:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 91F2762EC for ; Wed, 16 Nov 2022 04:30:35 -0800 (PST) Received: by mail-wr1-x42b.google.com with SMTP id a14so29687812wru.5 for ; Wed, 16 Nov 2022 04:30:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=AVAqY273akgzvATGouXznwiEQyYEMmvaAfQqpAHVy/Y=; b=uJ5HW9NIYILUhOvOa7UHspl5xI8tEPd2J47UeR60fXCk1Rx9ISrFuEHNHoFAMf2iKb sEoUkHh6hvP7JnY2GxIrK93etU3nvUi0cj21V9kV4lvctePzP9VEosOWo4aXixpdyZja LGYsg9WkXhuGlBgTS4I/9iZC3IvvUzwENJ6PpB1W+DPO38dTjS6qcBpmWewax/A64oiI McDoAWoPSUdGneNKp4DN1b9tX77ijPbK+0psSrF+7lBbmg3j0ro4U4LsK7I0hb8i2lx9 +zK/N6/BlwWt0HzYugFCVcF+FnKerMt6qnS545b5poxJO+Cl4bKqJCvlpLAOEfaUMITs Rdgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=AVAqY273akgzvATGouXznwiEQyYEMmvaAfQqpAHVy/Y=; b=VOIWVSzBhoBHhPj6twVjgWh2OgePba0Ch22Ah9t+wikusfaPnrPCStZibFSkMILo89 XwBaXzYgp/SGhgHFBzpF0jYqsl7if83IO50R3uoYE9djVLVfKlAdHUWCJx+XA+5z9AGu nZ9UInv5LJk5o4b0mSZk7K5GxWVtJEJp482GtLCSRq/XvqVI9yTKpEfz1qYLG/2ndcxK GglClOGQcxki78kT1dvhbFTIB+TOhm20SLkBejVjGD4hKTXd5d4uNhjoW8wr+I6PXp65 niukP3o8piYvSjh9Lcu14NuUmitHgeO6Jvm3nlB6GI6fwJGHU+MzBzROLUt2ouPQsQ1O j8kA== X-Gm-Message-State: ANoB5pnvzT5sGFpZfTPwGEFDyl3ZsM0uwqG5bw3wFzqtZ+vHnVuP28vx kAC8PAuAcd8j36r4k61746VXmQ== X-Received: by 2002:adf:e2d1:0:b0:236:8638:121a with SMTP id d17-20020adfe2d1000000b002368638121amr12923647wrj.188.1668601834098; Wed, 16 Nov 2022 04:30:34 -0800 (PST) Received: from localhost.localdomain ([94.52.112.99]) by smtp.gmail.com with ESMTPSA id l42-20020a05600c1d2a00b003cf4eac8e80sm2870991wms.23.2022.11.16.04.30.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Nov 2022 04:30:33 -0800 (PST) From: Abel Vesa To: Andy Gross , Bjorn Andersson , Konrad Dybcio , Greg Kroah-Hartman , Rob Herring , Krzysztof Kozlowski Cc: Linux Kernel Mailing List , devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-scsi@vger.kernel.org, linux-usb@vger.kernel.org Subject: [RFC PATCH 0/3] usb: Add generic repeater framework and SM8550 driver Date: Wed, 16 Nov 2022 14:30:16 +0200 Message-Id: <20221116123019.2753230-1-abel.vesa@linaro.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1749655931832378248?= X-GMAIL-MSGID: =?utf-8?q?1749655931832378248?= This patchset adds a generic USB repeater framework to be used by platforms that have eUSB2 support and want to have USB 2.0 compliance. In such cases there is a device between the eUSB2 PHY and the actual connector. That device is basically a repeater and the most important thing it does is to level shift in both directions. Such a device needs to be controlled in software usually by the PHY or by the HC. So add a generic framework with basic ops to allow consumer drivers to get a phandle to it and to control it. Also add the SM8550 PMIC eUSB2 repeater which uses the generic framework. Abel Vesa (3): usb: Add USB repeater generic framework dt-bindings: usb: Add qcom,snps-eusb2-repeater schema usb: repeater: Add Qualcomm PMIC eUSB2 driver .../usb/qcom,snps-eusb2-repeater.yaml | 43 +++ drivers/usb/Kconfig | 2 + drivers/usb/Makefile | 2 + drivers/usb/repeater/Kconfig | 20 ++ drivers/usb/repeater/Makefile | 7 + .../usb/repeater/repeater-qcom-pmic-eusb2.c | 251 ++++++++++++++++++ drivers/usb/repeater/repeater.c | 198 ++++++++++++++ include/linux/usb/repeater.h | 78 ++++++ 8 files changed, 601 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/qcom,snps-eusb2-repeater.yaml create mode 100644 drivers/usb/repeater/Kconfig create mode 100644 drivers/usb/repeater/Makefile create mode 100644 drivers/usb/repeater/repeater-qcom-pmic-eusb2.c create mode 100644 drivers/usb/repeater/repeater.c create mode 100644 include/linux/usb/repeater.h