Squashed 'dts/upstream/' content from commit aaba2d45dc2a
git-subtree-dir: dts/upstream
git-subtree-split: aaba2d45dc2a1b3bbb710f2a3808ee1c9f340abe
diff --git a/Bindings/usb/brcm,usb-pinmap.yaml b/Bindings/usb/brcm,usb-pinmap.yaml
new file mode 100644
index 0000000..5cc81ce
--- /dev/null
+++ b/Bindings/usb/brcm,usb-pinmap.yaml
@@ -0,0 +1,73 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/brcm,usb-pinmap.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Broadcom USB pin map Controller
+
+maintainers:
+ - Al Cooper <alcooperx@gmail.com>
+
+properties:
+ compatible:
+ items:
+ - const: brcm,usb-pinmap
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+ description: Interrupt for signals mirrored to out-gpios.
+
+ in-gpios:
+ minItems: 1
+ maxItems: 2
+ description: Array of one or two GPIO pins used for input signals.
+
+ brcm,in-functions:
+ $ref: /schemas/types.yaml#/definitions/string-array
+ description: Array of input signal names, one per gpio in in-gpios.
+
+ brcm,in-masks:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ description: Array of enable and mask pairs, one per gpio in-gpios.
+
+ out-gpios:
+ maxItems: 1
+ description: Array of one GPIO pin used for output signals.
+
+ brcm,out-functions:
+ $ref: /schemas/types.yaml#/definitions/string-array
+ description: Array of output signal names, one per gpio in out-gpios.
+
+ brcm,out-masks:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ description: Array of enable, value, changed and clear masks, one
+ per gpio in out-gpios.
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+dependencies:
+ in-gpios: [ interrupts ]
+
+examples:
+ - |
+ usb_pinmap: usb-pinmap@22000d0 {
+ compatible = "brcm,usb-pinmap";
+ reg = <0x22000d0 0x4>;
+ in-gpios = <&gpio 18 0>, <&gpio 19 0>;
+ brcm,in-functions = "VBUS", "PWRFLT";
+ brcm,in-masks = <0x8000 0x40000 0x10000 0x80000>;
+ out-gpios = <&gpio 20 0>;
+ brcm,out-functions = "PWRON";
+ brcm,out-masks = <0x20000 0x800000 0x400000 0x200000>;
+ interrupts = <0x0 0xb2 0x4>;
+ };
+
+...