0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/usb/brcm,usb-pinmap.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Broadcom USB pin map Controller Device Tree Bindings
0008
0009 maintainers:
0010 - Al Cooper <alcooperx@gmail.com>
0011
0012 properties:
0013 compatible:
0014 items:
0015 - const: brcm,usb-pinmap
0016
0017 reg:
0018 maxItems: 1
0019
0020 interrupts:
0021 maxItems: 1
0022 description: Interrupt for signals mirrored to out-gpios.
0023
0024 in-gpios:
0025 minItems: 1
0026 maxItems: 2
0027 description: Array of one or two GPIO pins used for input signals.
0028
0029 brcm,in-functions:
0030 $ref: /schemas/types.yaml#/definitions/string-array
0031 description: Array of input signal names, one per gpio in in-gpios.
0032
0033 brcm,in-masks:
0034 $ref: /schemas/types.yaml#/definitions/uint32-array
0035 description: Array of enable and mask pairs, one per gpio in-gpios.
0036
0037 out-gpios:
0038 maxItems: 1
0039 description: Array of one GPIO pin used for output signals.
0040
0041 brcm,out-functions:
0042 $ref: /schemas/types.yaml#/definitions/string-array
0043 description: Array of output signal names, one per gpio in out-gpios.
0044
0045 brcm,out-masks:
0046 $ref: /schemas/types.yaml#/definitions/uint32-array
0047 description: Array of enable, value, changed and clear masks, one
0048 per gpio in out-gpios.
0049
0050 required:
0051 - compatible
0052 - reg
0053
0054 additionalProperties: false
0055
0056 dependencies:
0057 in-gpios: [ interrupts ]
0058
0059 examples:
0060 - |
0061 usb_pinmap: usb-pinmap@22000d0 {
0062 compatible = "brcm,usb-pinmap";
0063 reg = <0x22000d0 0x4>;
0064 in-gpios = <&gpio 18 0>, <&gpio 19 0>;
0065 brcm,in-functions = "VBUS", "PWRFLT";
0066 brcm,in-masks = <0x8000 0x40000 0x10000 0x80000>;
0067 out-gpios = <&gpio 20 0>;
0068 brcm,out-functions = "PWRON";
0069 brcm,out-masks = <0x20000 0x800000 0x400000 0x200000>;
0070 interrupts = <0x0 0xb2 0x4>;
0071 };
0072
0073 ...