[PATCH robh next] dt-bindings: usb: add USB controller port

From: Rafał Miłecki
Date: Tue Mar 09 2021 - 07:15:02 EST


From: Rafał Miłecki <rafal@xxxxxxxxxx>

USB bindings already allow specifying USB device hard wired to a
specific controller port but they don't allow describing port on its
own.

This fixes:
arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dt.yaml: usb@23000: port@1: 'compatible' is a required property
From schema: Documentation/devicetree/bindings/usb/generic-xhci.yaml

Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx>
---
Please check if I got the $nodename part right. Somehow I don't see any
errors / warnings when using:

something@1 {
reg = <1>;
};
---
.../devicetree/bindings/usb/usb-hcd.yaml | 4 +-
.../devicetree/bindings/usb/usb-port.yaml | 39 +++++++++++++++++++
2 files changed, 42 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/usb/usb-port.yaml

diff --git a/Documentation/devicetree/bindings/usb/usb-hcd.yaml b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
index 56853c17af66..b0c6a79cad57 100644
--- a/Documentation/devicetree/bindings/usb/usb-hcd.yaml
+++ b/Documentation/devicetree/bindings/usb/usb-hcd.yaml
@@ -33,7 +33,9 @@ patternProperties:
"^.*@[0-9a-f]{1,2}$":
description: The hard wired USB devices
type: object
- $ref: /usb/usb-device.yaml
+ oneOf:
+ - $ref: /usb/usb-port.yaml
+ - $ref: /usb/usb-device.yaml

additionalProperties: true

diff --git a/Documentation/devicetree/bindings/usb/usb-port.yaml b/Documentation/devicetree/bindings/usb/usb-port.yaml
new file mode 100644
index 000000000000..68fe16c8703e
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/usb-port.yaml
@@ -0,0 +1,39 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/usb-port.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: USB port on USB controller
+
+maintainers:
+ - Rafał Miłecki <rafal@xxxxxxxxxx>
+
+description: |
+ This binding describes a single USB controller port that doesn't have any
+ device hard wired.
+
+properties:
+ $nodename:
+ pattern: "^port@[0-9a-f]{1,2}$"
+
+ reg:
+ description: number of USB controller port
+ maxItems: 1
+
+required:
+ - reg
+
+additionalProperties: true
+
+examples:
+ - |
+ usb@11270000 {
+ reg = <0x11270000 0x1000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@1 {
+ reg = <1>;
+ };
+ };
--
2.26.2