|
|
Subscribe / Log in / New account

usb: Add generic repeater framework and SM8550 driver

From:  Abel Vesa <abel.vesa-AT-linaro.org>
To:  Andy Gross <agross-AT-kernel.org>, Bjorn Andersson <andersson-AT-kernel.org>, Konrad Dybcio <konrad.dybcio-AT-linaro.org>, Greg Kroah-Hartman <gregkh-AT-linuxfoundation.org>, Rob Herring <robh+dt-AT-kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt-AT-linaro.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>
Cc:  Linux Kernel Mailing List <linux-kernel-AT-vger.kernel.org>, devicetree-AT-vger.kernel.org, linux-arm-msm-AT-vger.kernel.org, linux-scsi-AT-vger.kernel.org, linux-usb-AT-vger.kernel.org
Archive-link:  Article

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

-- 
2.34.1



Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds