[PATCH 00/20] dt-bindings: usb: Add generic USB HCD, xHCI, DWC USB3 DT schema

Serge Semin Sergey.Semin at baikalelectronics.ru
Wed Oct 14 13:39:59 EDT 2020


Ah, forgot to mark the series as v2. Sorry about that. The next one will be v3
then...

-Sergey

On Wed, Oct 14, 2020 at 01:13:42PM +0300, Serge Semin wrote:
> We've performed some work on the Generic USB HCD, xHCI and DWC USB3 DT
> bindings in the framework of the Baikal-T1 SoC support integration into
> the kernel. This patchset is a result of that work.
> 
> First of all we moved the generic USB properties from the legacy text
> bindings into the USB HCD DT schema. So now the generic USB HCD-compatible
> DT nodes are validated taking into account the optional properties like:
> maximum-speed, dr_mode, otg-rev, usb-role-switch, etc. We've fixed these
> properties a bit so they would correspond to what functionality kernel
> currently supports.
> 
> Secondly we converted generic USB xHCI text bindings file into the DT
> schema. It had to be split up into two bindings: DT schema with generic
> xHCI properties and a generic xHCI device DT schema. The later will be
> used to validate the pure xHCI-based nodes, while the former can be
> utilized by some vendor-specific versions of xHCI.
> 
> Thirdly, what was primarily intended to be done for Baikal-T1 SoC USB we
> converted the legacy text-based DWC USB3 bindings to DT schema and altered
> the result a bit so it would be more coherent with what actually
> controller and its driver support. Since we've now got the DWC USB3 DT
> schema, we made it used to validate the sub-nodes of the Qualcom, TI and
> Amlogic DWC3 DT nodes.
> 
> Finally we've also fixed all the OHCI/EHCI, xHCI and DW USB3 compatible DT
> nodes so they would comply with the nodes naming scema declared in the USB
> HCD DT bindings file.
> 
> Link: https://lore.kernel.org/linux-usb/20201010224121.12672-1-Sergey.Semin@baikalelectronics.ru/
> Changelog v2:
> - Thanks to Sergei Shtylyov for suggesting the commit logs grammar fixes:
>   [PATCH 04/18] dt-bindings: usb: usb-hcd: Add "ulpi/serial/hsic" PHY types
>   [PATCH 05/18] dt-bindings: usb: usb-hcd: Add "tpl-support" property
>   [PATCH 11/18] dt-bindings: usb: dwc3: Add interrupt-names property support
>   [PATCH 13/18] dt-bindings: usb: dwc3: Add Tx De-emphasis restrictions
>   [PATCH 17/18] dt-bindings: usb: keystone-dwc3: Validate DWC3 sub-node
> - Set FL-adj of the amlogiv,meson-g12a-usb controller with value 0x20 instead
>   of completely removing the property.
> - Drop the patch:
>   [PATCH 02/18] dt-bindings: usb: usb-hcd: Add "wireless" maximum-speed
>                 property value
>   since "wireless" speed type is depracated due to lack of the device
>   supporting it.
> - Drop quotes from around the compat string constant.
> - Discard '|' from the property descriptions, since we don't need to preserve
>   the text formatting.
> - Convert abbreviated form of the "maximum-speed" enum constraint into
>   the multi-lined version of the list.
> - Fix the DW USB3 "clock-names" prop description to be refererring to the
>   enumerated clock-names instead of the ones from the Databook.
> - Add explicit "additionalProperties: true" to the usb-xhci.yaml schema,
>   since additionalProperties/unevaluatedProperties are going to be mandary
>   for each binding.
> - Use "oneOf: [dwc2.yaml#, snps,dwc3.yaml#]" instead of the bulky "if:
>   properties: compatibe: ..." statement.
> - Discard the "^dwc3@[0-9a-f]+$" nodes from being acceptable as sub-nodes
>   of the Qualcomm DWC3 DT nodes.
> - Add new patches:
>   [PATCH 18/20] arch: dts: Fix EHCI/OHCI DT nodes name
>   [PATCH 19/20] arch: dts: Fix xHCI DT nodes name
>   [PATCH 20/20] arch: dts: Fix DWC USB3 DT nodes name
> 
> Signed-off-by: Serge Semin <Sergey.Semin at baikalelectronics.ru>
> Cc: Alexey Malahov <Alexey.Malahov at baikalelectronics.ru>
> Cc: Pavel Parkhomenko <Pavel.Parkhomenko at baikalelectronics.ru>
> Cc: Andy Gross <agross at kernel.org>
> Cc: Bjorn Andersson <bjorn.andersson at linaro.org>
> Cc: Manu Gautam <mgautam at codeaurora.org>
> Cc: Roger Quadros <rogerq at ti.com>
> Cc: Lad Prabhakar <prabhakar.mahadev-lad.rj at bp.renesas.com>
> Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh at renesas.com>
> Cc: Neil Armstrong <narmstrong at baylibre.com>
> Cc: Kevin Hilman <khilman at baylibre.com>
> Cc: linux-arm-kernel at lists.infradead.org
> Cc: linux-snps-arc at lists.infradead.org
> Cc: linux-mips at vger.kernel.org
> Cc: linuxppc-dev at lists.ozlabs.org
> Cc: linux-usb at vger.kernel.org
> Cc: devicetree at vger.kernel.org
> Cc: linux-kernel at vger.kernel.org
> 
> Serge Semin (20):
>   dt-bindings: usb: usb-hcd: Convert generic USB properties to DT schema
>   dt-bindings: usb: usb-hcd: Add "otg-rev" property restriction
>   dt-bindings: usb: usb-hcd: Add "ulpi/serial/hsic" PHY types
>   dt-bindings: usb: usb-hcd: Add "tpl-support" property
>   dt-bindings: usb: usb-hcd: Add generic "usb-phy" property
>   dt-bindings: usb: Convert xHCI bindings to DT schema
>   dt-bindings: usb: xhci: Add Broadcom STB v2 compatible device
>   dt-bindings: usb: renesas-xhci: Refer to the usb-xhci.yaml file
>   dt-bindings: usb: Convert DWC USB3 bindings to DT schema
>   dt-bindings: usb: dwc3: Add interrupt-names property support
>   dt-bindings: usb: dwc3: Add synopsys,dwc3 compatible string
>   dt-bindings: usb: dwc3: Add Tx De-emphasis restrictions
>   dt-bindings: usb: dwc3: Add Frame Length Adj restrictions
>   dt-bindings: usb: meson-g12a-usb: Fix FL-adj property value
>   dt-bindings: usb: meson-g12a-usb: Validate DWC2/DWC3 sub-nodes
>   dt-bindings: usb: keystone-dwc3: Validate DWC3 sub-node
>   dt-bindings: usb: qcom,dwc3: Validate DWC3 sub-node
>   arch: dts: Fix EHCI/OHCI DT nodes name
>   arch: dts: Fix xHCI DT nodes name
>   arch: dts: Fix DWC USB3 DT nodes name
> 
>  .../usb/amlogic,meson-g12a-usb-ctrl.yaml      |   6 +-
>  .../devicetree/bindings/usb/dwc3.txt          | 125 -------
>  .../devicetree/bindings/usb/generic-xhci.yaml |  65 ++++
>  .../devicetree/bindings/usb/generic.txt       |  57 ----
>  .../devicetree/bindings/usb/qcom,dwc3.yaml    |   9 +-
>  .../bindings/usb/renesas,usb-xhci.yaml        |   4 +-
>  .../devicetree/bindings/usb/snps,dwc3.yaml    | 315 ++++++++++++++++++
>  .../bindings/usb/ti,keystone-dwc3.yaml        |   4 +-
>  .../devicetree/bindings/usb/usb-hcd.yaml      | 104 ++++++
>  .../devicetree/bindings/usb/usb-xhci.txt      |  41 ---
>  .../devicetree/bindings/usb/usb-xhci.yaml     |  42 +++
>  arch/arc/boot/dts/axs10x_mb.dtsi              |   4 +-
>  arch/arc/boot/dts/hsdk.dts                    |   4 +-
>  arch/arc/boot/dts/vdk_axs10x_mb.dtsi          |   2 +-
>  arch/arm/boot/dts/armada-375.dtsi             |   2 +-
>  arch/arm/boot/dts/bcm5301x.dtsi               |   6 +-
>  arch/arm/boot/dts/bcm53573.dtsi               |   4 +-
>  arch/arm/boot/dts/exynos5250.dtsi             |   2 +-
>  arch/arm/boot/dts/exynos54xx.dtsi             |   4 +-
>  arch/arm/boot/dts/hisi-x5hd2.dtsi             |   4 +-
>  arch/arm/boot/dts/keystone-k2e.dtsi           |   4 +-
>  arch/arm/boot/dts/keystone.dtsi               |   2 +-
>  arch/arm/boot/dts/lpc18xx.dtsi                |   4 +-
>  arch/arm/boot/dts/ls1021a.dtsi                |   2 +-
>  arch/arm/boot/dts/omap5-l4.dtsi               |   2 +-
>  arch/arm/boot/dts/stih407-family.dtsi         |   2 +-
>  arch/arm/boot/dts/stm32mp151.dtsi             |   4 +-
>  arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi  |   2 +-
>  arch/arm64/boot/dts/exynos/exynos5433.dtsi    |   4 +-
>  arch/arm64/boot/dts/exynos/exynos7.dtsi       |   2 +-
>  .../arm64/boot/dts/freescale/fsl-ls1012a.dtsi |   4 +-
>  .../arm64/boot/dts/freescale/fsl-ls1043a.dtsi |   6 +-
>  .../arm64/boot/dts/freescale/fsl-ls1088a.dtsi |   4 +-
>  .../arm64/boot/dts/freescale/fsl-ls208xa.dtsi |   4 +-
>  arch/arm64/boot/dts/hisilicon/hi3660.dtsi     |   2 +-
>  .../arm64/boot/dts/hisilicon/hi3798cv200.dtsi |   4 +-
>  arch/arm64/boot/dts/hisilicon/hip06.dtsi      |   4 +-
>  arch/arm64/boot/dts/hisilicon/hip07.dtsi      |   4 +-
>  arch/arm64/boot/dts/marvell/armada-cp11x.dtsi |   4 +-
>  arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi  |   4 +-
>  arch/arm64/boot/dts/qcom/ipq8074.dtsi         |   4 +-
>  arch/arm64/boot/dts/qcom/msm8996.dtsi         |   4 +-
>  arch/arm64/boot/dts/qcom/msm8998.dtsi         |   2 +-
>  arch/arm64/boot/dts/qcom/qcs404-evb.dtsi      |   2 +-
>  arch/arm64/boot/dts/qcom/qcs404.dtsi          |   4 +-
>  arch/arm64/boot/dts/qcom/sc7180.dtsi          |   2 +-
>  arch/arm64/boot/dts/qcom/sdm845.dtsi          |   4 +-
>  arch/arm64/boot/dts/qcom/sm8150.dtsi          |   2 +-
>  arch/mips/boot/dts/ingenic/jz4740.dtsi        |   2 +-
>  arch/mips/boot/dts/ingenic/jz4770.dtsi        |   2 +-
>  arch/mips/boot/dts/mti/sead3.dts              |   2 +-
>  arch/mips/boot/dts/ralink/mt7628a.dtsi        |   2 +-
>  arch/powerpc/boot/dts/akebono.dts             |   6 +-
>  53 files changed, 605 insertions(+), 305 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/usb/dwc3.txt
>  create mode 100644 Documentation/devicetree/bindings/usb/generic-xhci.yaml
>  delete mode 100644 Documentation/devicetree/bindings/usb/generic.txt
>  create mode 100644 Documentation/devicetree/bindings/usb/snps,dwc3.yaml
>  delete mode 100644 Documentation/devicetree/bindings/usb/usb-xhci.txt
>  create mode 100644 Documentation/devicetree/bindings/usb/usb-xhci.yaml
> 
> -- 
> 2.27.0
> 



More information about the linux-arm-kernel mailing list