[2/4] dt-bindings: usb: Convert multiple "usb-ohci" bindings to DT schema
Commit Message
"usb-ohci" is another "generic" OHCI controller compatible string used by
several platforms. Add it to the generic-ohci.yaml schema and remove all
the old binding docs.
Marvell pxa-usb.txt has "usb-ohci" in the example, but actual users don't,
so drop it.
Signed-off-by: Rob Herring <robh@kernel.org>
---
.../devicetree/bindings/powerpc/nintendo/wii.txt | 10 -------
.../devicetree/bindings/usb/generic-ohci.yaml | 31 ++++++++++++++++---
Documentation/devicetree/bindings/usb/ohci-nxp.txt | 24 ---------------
.../devicetree/bindings/usb/ohci-omap3.txt | 15 ----------
Documentation/devicetree/bindings/usb/pxa-usb.txt | 2 +-
.../devicetree/bindings/usb/spear-usb.txt | 35 ----------------------
6 files changed, 28 insertions(+), 89 deletions(-)
Comments
On Tue, Jan 10, 2023 at 5:18 PM Rob Herring <robh@kernel.org> wrote:
>
> "usb-ohci" is another "generic" OHCI controller compatible string used by
> several platforms. Add it to the generic-ohci.yaml schema and remove all
> the old binding docs.
>
> Marvell pxa-usb.txt has "usb-ohci" in the example, but actual users don't,
> so drop it.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> .../devicetree/bindings/powerpc/nintendo/wii.txt | 10 -------
> .../devicetree/bindings/usb/generic-ohci.yaml | 31 ++++++++++++++++---
> Documentation/devicetree/bindings/usb/ohci-nxp.txt | 24 ---------------
> .../devicetree/bindings/usb/ohci-omap3.txt | 15 ----------
> Documentation/devicetree/bindings/usb/pxa-usb.txt | 2 +-
> .../devicetree/bindings/usb/spear-usb.txt | 35 ----------------------
> 6 files changed, 28 insertions(+), 89 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt b/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt
> index c4d78f28d23c..3ff6ebbb4998 100644
> --- a/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt
> +++ b/Documentation/devicetree/bindings/powerpc/nintendo/wii.txt
> @@ -97,16 +97,6 @@ Nintendo Wii device tree
> - reg : should contain the EXI registers location and length
> - interrupts : should contain the EXI interrupt
>
> -1.g) The Open Host Controller Interface (OHCI) nodes
> -
> - Represent the USB 1.x Open Host Controller Interfaces.
> -
> - Required properties:
> -
> - - compatible : should be "nintendo,hollywood-usb-ohci","usb-ohci"
> - - reg : should contain the OHCI registers location and length
> - - interrupts : should contain the OHCI interrupt
> -
> 1.h) The Enhanced Host Controller Interface (EHCI) node
>
> Represents the USB 2.0 Enhanced Host Controller Interface.
> diff --git a/Documentation/devicetree/bindings/usb/generic-ohci.yaml b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
> index 4fcbd0add49d..b898303381f8 100644
> --- a/Documentation/devicetree/bindings/usb/generic-ohci.yaml
> +++ b/Documentation/devicetree/bindings/usb/generic-ohci.yaml
> @@ -6,9 +6,6 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
>
> title: USB OHCI Controller
>
> -allOf:
> - - $ref: "usb-hcd.yaml"
> -
> maintainers:
> - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>
> @@ -49,7 +46,16 @@ properties:
> - ingenic,jz4740-ohci
> - snps,hsdk-v1.0-ohci
> - const: generic-ohci
> - - const: generic-ohci
> + - enum:
> + - generic-ohci
> + - ti,ohci-omap3
> + - items:
> + - enum:
> + - cavium,octeon-6335-ohci
> + - nintendo,hollywood-usb-ohci
> + - nxp,ohci-nxp
> + - st,spear600-ohci
> + - const: usb-ohci
>
> reg:
> maxItems: 1
> @@ -119,11 +125,28 @@ properties:
> - host
> - otg
>
> + transceiver:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + The associated ISP1301 device. Necessary for the UDC controller for
> + connecting to the USB physical layer.
> +
> required:
> - compatible
> - reg
> - interrupts
>
> +allOf:
> + - $ref: usb-hcd.yaml
> + - if:
> + not:
> + properties:
> + compatible:
> + contains:
> + const: nxp,ohci-nxp
> + then:
Sigh. Need a 'properties' in here...
> + transceiver: false
> +
> additionalProperties: false
>
> examples:
> diff --git a/Documentation/devicetree/bindings/usb/ohci-nxp.txt b/Documentation/devicetree/bindings/usb/ohci-nxp.txt
> deleted file mode 100644
> index 71e28c1017ed..000000000000
> --- a/Documentation/devicetree/bindings/usb/ohci-nxp.txt
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -* OHCI controller, NXP ohci-nxp variant
> -
> -Required properties:
> -- compatible: must be "nxp,ohci-nxp"
> -- reg: physical base address of the controller and length of memory mapped
> - region.
> -- interrupts: The OHCI interrupt
> -- transceiver: phandle of the associated ISP1301 device - this is necessary for
> - the UDC controller for connecting to the USB physical layer
> -
> -Example (LPC32xx):
> -
> - isp1301: usb-transceiver@2c {
> - compatible = "nxp,isp1301";
> - reg = <0x2c>;
> - };
> -
> - ohci@31020000 {
> - compatible = "nxp,ohci-nxp";
> - reg = <0x31020000 0x300>;
> - interrupt-parent = <&mic>;
> - interrupts = <0x3b 0>;
> - transceiver = <&isp1301>;
> - };
> diff --git a/Documentation/devicetree/bindings/usb/ohci-omap3.txt b/Documentation/devicetree/bindings/usb/ohci-omap3.txt
> deleted file mode 100644
> index ce8c47cff6d0..000000000000
> --- a/Documentation/devicetree/bindings/usb/ohci-omap3.txt
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -OMAP HS USB OHCI controller (OMAP3 and later)
> -
> -Required properties:
> -
> -- compatible: should be "ti,ohci-omap3"
> -- reg: should contain one register range i.e. start and length
> -- interrupts: description of the interrupt line
> -
> -Example for OMAP4:
> -
> -usbhsohci: ohci@4a064800 {
> - compatible = "ti,ohci-omap3";
> - reg = <0x4a064800 0x400>;
> - interrupts = <0 76 0x4>;
> -};
> diff --git a/Documentation/devicetree/bindings/usb/pxa-usb.txt b/Documentation/devicetree/bindings/usb/pxa-usb.txt
> index 9c331799b87c..53fdae4fa6f6 100644
> --- a/Documentation/devicetree/bindings/usb/pxa-usb.txt
> +++ b/Documentation/devicetree/bindings/usb/pxa-usb.txt
> @@ -22,7 +22,7 @@ Optional properties:
> Example:
>
> usb0: ohci@4c000000 {
> - compatible = "marvell,pxa-ohci", "usb-ohci";
> + compatible = "marvell,pxa-ohci";
> reg = <0x4c000000 0x100000>;
> interrupts = <18>;
> marvell,enable-port1;
> diff --git a/Documentation/devicetree/bindings/usb/spear-usb.txt b/Documentation/devicetree/bindings/usb/spear-usb.txt
> deleted file mode 100644
> index 1dc91cc459c0..000000000000
> --- a/Documentation/devicetree/bindings/usb/spear-usb.txt
> +++ /dev/null
> @@ -1,35 +0,0 @@
> -ST SPEAr SoC USB controllers:
> ------------------------------
> -
> -EHCI:
> ------
> -
> -Required properties:
> -- compatible: "st,spear600-ehci"
> -- interrupts: Should contain the EHCI interrupt
> -
> -Example:
> -
> - ehci@e1800000 {
> - compatible = "st,spear600-ehci", "usb-ehci";
> - reg = <0xe1800000 0x1000>;
> - interrupt-parent = <&vic1>;
> - interrupts = <27>;
> - };
> -
> -
> -OHCI:
> ------
> -
> -Required properties:
> -- compatible: "st,spear600-ohci"
> -- interrupts: Should contain the OHCI interrupt
> -
> -Example:
> -
> - ohci@e1900000 {
> - compatible = "st,spear600-ohci", "usb-ohci";
> - reg = <0xe1800000 0x1000>;
> - interrupt-parent = <&vic1>;
> - interrupts = <26>;
> - };
>
> --
> 2.39.0
>
Hi Rob,
I love your patch! Perhaps something to improve:
[auto build test WARNING on 1b929c02afd37871d5afb9d498426f83432e71c2]
url: https://github.com/intel-lab-lkp/linux/commits/Rob-Herring/dt-bindings-usb-Remove-obsolete-brcm-bcm3384-usb-txt/20230111-072007
base: 1b929c02afd37871d5afb9d498426f83432e71c2
patch link: https://lore.kernel.org/r/20230110-dt-usb-v1-2-8e366e326513%40kernel.org
patch subject: [PATCH 2/4] dt-bindings: usb: Convert multiple "usb-ohci" bindings to DT schema
reproduce:
# https://github.com/intel-lab-lkp/linux/commit/ba91c0f61e446a9bc5008e2cc562727f6300da4e
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Rob-Herring/dt-bindings-usb-Remove-obsolete-brcm-bcm3384-usb-txt/20230111-072007
git checkout ba91c0f61e446a9bc5008e2cc562727f6300da4e
make menuconfig
# enable CONFIG_COMPILE_TEST, CONFIG_WARN_MISSING_DOCUMENTS, CONFIG_WARN_ABI_ERRORS
make htmldocs
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> Warning: Documentation/devicetree/bindings/mfd/omap-usb-host.txt references a file that doesn't exist: Documentation/devicetree/bindings/usb/ohci-omap3.txt
@@ -97,16 +97,6 @@ Nintendo Wii device tree
- reg : should contain the EXI registers location and length
- interrupts : should contain the EXI interrupt
-1.g) The Open Host Controller Interface (OHCI) nodes
-
- Represent the USB 1.x Open Host Controller Interfaces.
-
- Required properties:
-
- - compatible : should be "nintendo,hollywood-usb-ohci","usb-ohci"
- - reg : should contain the OHCI registers location and length
- - interrupts : should contain the OHCI interrupt
-
1.h) The Enhanced Host Controller Interface (EHCI) node
Represents the USB 2.0 Enhanced Host Controller Interface.
@@ -6,9 +6,6 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
title: USB OHCI Controller
-allOf:
- - $ref: "usb-hcd.yaml"
-
maintainers:
- Greg Kroah-Hartman <gregkh@linuxfoundation.org>
@@ -49,7 +46,16 @@ properties:
- ingenic,jz4740-ohci
- snps,hsdk-v1.0-ohci
- const: generic-ohci
- - const: generic-ohci
+ - enum:
+ - generic-ohci
+ - ti,ohci-omap3
+ - items:
+ - enum:
+ - cavium,octeon-6335-ohci
+ - nintendo,hollywood-usb-ohci
+ - nxp,ohci-nxp
+ - st,spear600-ohci
+ - const: usb-ohci
reg:
maxItems: 1
@@ -119,11 +125,28 @@ properties:
- host
- otg
+ transceiver:
+ $ref: /schemas/types.yaml#/definitions/phandle
+ description:
+ The associated ISP1301 device. Necessary for the UDC controller for
+ connecting to the USB physical layer.
+
required:
- compatible
- reg
- interrupts
+allOf:
+ - $ref: usb-hcd.yaml
+ - if:
+ not:
+ properties:
+ compatible:
+ contains:
+ const: nxp,ohci-nxp
+ then:
+ transceiver: false
+
additionalProperties: false
examples:
deleted file mode 100644
@@ -1,24 +0,0 @@
-* OHCI controller, NXP ohci-nxp variant
-
-Required properties:
-- compatible: must be "nxp,ohci-nxp"
-- reg: physical base address of the controller and length of memory mapped
- region.
-- interrupts: The OHCI interrupt
-- transceiver: phandle of the associated ISP1301 device - this is necessary for
- the UDC controller for connecting to the USB physical layer
-
-Example (LPC32xx):
-
- isp1301: usb-transceiver@2c {
- compatible = "nxp,isp1301";
- reg = <0x2c>;
- };
-
- ohci@31020000 {
- compatible = "nxp,ohci-nxp";
- reg = <0x31020000 0x300>;
- interrupt-parent = <&mic>;
- interrupts = <0x3b 0>;
- transceiver = <&isp1301>;
- };
deleted file mode 100644
@@ -1,15 +0,0 @@
-OMAP HS USB OHCI controller (OMAP3 and later)
-
-Required properties:
-
-- compatible: should be "ti,ohci-omap3"
-- reg: should contain one register range i.e. start and length
-- interrupts: description of the interrupt line
-
-Example for OMAP4:
-
-usbhsohci: ohci@4a064800 {
- compatible = "ti,ohci-omap3";
- reg = <0x4a064800 0x400>;
- interrupts = <0 76 0x4>;
-};
@@ -22,7 +22,7 @@ Optional properties:
Example:
usb0: ohci@4c000000 {
- compatible = "marvell,pxa-ohci", "usb-ohci";
+ compatible = "marvell,pxa-ohci";
reg = <0x4c000000 0x100000>;
interrupts = <18>;
marvell,enable-port1;
deleted file mode 100644
@@ -1,35 +0,0 @@
-ST SPEAr SoC USB controllers:
------------------------------
-
-EHCI:
------
-
-Required properties:
-- compatible: "st,spear600-ehci"
-- interrupts: Should contain the EHCI interrupt
-
-Example:
-
- ehci@e1800000 {
- compatible = "st,spear600-ehci", "usb-ehci";
- reg = <0xe1800000 0x1000>;
- interrupt-parent = <&vic1>;
- interrupts = <27>;
- };
-
-
-OHCI:
------
-
-Required properties:
-- compatible: "st,spear600-ohci"
-- interrupts: Should contain the OHCI interrupt
-
-Example:
-
- ohci@e1900000 {
- compatible = "st,spear600-ohci", "usb-ohci";
- reg = <0xe1800000 0x1000>;
- interrupt-parent = <&vic1>;
- interrupts = <26>;
- };