code:
TCPCI(Typec port cotroller interface) binding
---------------------------------------------

Required properties:
- compatible:       should be set one of following:
		    - "nxp,ptn5110" for NXP USB PD TCPC PHY IC ptn5110.

- reg:              the i2c slave address of typec port controller device.
- interrupt-parent: the phandle to the interrupt controller which provides
                    the interrupt.
- interrupts:       interrupt specification for tcpci alert.

Required sub-node:
- connector: The "usb-c-connector" attached to the tcpci chip, the bindings
  of connector node are specified in
  Documentation/devicetree/bindings/connector/usb-connector.yaml

Example:

ptn5110@50 {
	compatible = "nxp,ptn5110";
	reg = <0x50>;
	interrupt-parent = <&gpio3>;
	interrupts = <3 IRQ_TYPE_LEVEL_LOW>;

	usb_con: connector {
		compatible = "usb-c-connector";
		label = "USB-C";
		data-role = "dual";
		power-role = "dual";
		try-power-role = "sink";
		source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
		sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)
			     PDO_VAR(5000, 12000, 2000)>;
		op-sink-microwatt = <10000000>;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@1 {
				reg = <1>;
				usb_con_ss: endpoint {
					remote-endpoint = <&usb3_data_ss>;
				};
			};
		};
	};
};


code:
ULPI bus binding
----------------

Phys that are behind a ULPI connection can be described with the following
binding. The host controller shall have a "ulpi" named node as a child, and
that node shall have one enabled node underneath it representing the ulpi
device on the bus.

EXAMPLE
-------

usb {
	compatible = "vendor,usb-controller";

	ulpi {
		phy {
			compatible = "vendor,phy";
		};
	};
};

repo_name: angery/linux


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/usb-device.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: The device tree bindings for the Generic USB Device

maintainers:
  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>

description: |
  Usually, we only use device tree for hard wired USB device.
  The reference binding doc is from:
  http://www.devicetree.org/open-firmware/bindings/usb/usb-1_0.ps

  Four types of device-tree nodes are defined: "host-controller nodes"
  representing USB host controllers, "device nodes" representing USB devices,
  "interface nodes" representing USB interfaces and "combined nodes"
  representing simple USB devices.

  A combined node shall be used instead of a device node and an interface node
  for devices of class 0 or 9 (hub) with a single configuration and a single
  interface.

  A "hub node" is a combined node or an interface node that represents a USB
  hub.

properties:
  compatible:
    pattern: "^usb[0-9a-f]{1,4},[0-9a-f]{1,4}$"
    description: Device nodes or combined nodes.
      "usbVID,PID", where VID is the vendor id and PID the product id.
      The textual representation of VID and PID shall be in lower case
      hexadecimal with leading zeroes suppressed. The other compatible
      strings from the above standard binding could also be used,
      but a device adhering to this binding may leave out all except
      for "usbVID,PID".

  reg:
    description: the number of the USB hub port or the USB host-controller
      port to which this device is attached. The range is 1-255.
    maxItems: 1

  "#address-cells":
    description: should be 1 for hub nodes with device nodes,
      should be 2 for device nodes with interface nodes.
    enum: [1, 2]

  "#size-cells":
    const: 0

patternProperties:
  "^interface@[0-9a-f]{1,2}(,[0-9a-f]{1,2})$":
    type: object
    description: USB interface nodes.
      The configuration component is not included in the textual
      representation of an interface-node unit address for configuration 1.

    properties:
      compatible:
        pattern: "^usbif[0-9a-f]{1,4},[0-9a-f]{1,4}.config[0-9a-f]{1,2}.[0-9a-f]{1,2}$"
        description: Interface nodes.
          "usbifVID,PID.configCN.IN", where VID is the vendor id, PID is
          the product id, CN is the configuration value and IN is the interface
          number. The textual representation of VID, PID, CN and IN shall be
          in lower case hexadecimal with leading zeroes suppressed.
          The other compatible strings from the above standard binding could
          also be used, but a device adhering to this binding may leave out
          all except for "usbifVID,PID.configCN.IN".

      reg:
        description: should be 2 cells long, the first cell represents
          the interface number and the second cell represents the
          configuration value.
        maxItems: 1

required:
  - compatible
  - reg

additionalProperties: true

examples:
  # hub connected to port 1
  # device connected to port 2
  # device connected to port 3
  #    interface 0 of configuration 1
  #    interface 0 of configuration 2
  - |
    usb@11270000 {
        reg = <0x11270000 0x1000>;
        interrupts = <0x0 0x4e 0x0>;
        #address-cells = <1>;
        #size-cells = <0>;

        hub@1 {
            compatible = "usb5e3,608";
            reg = <1>;
        };

        device@2 {
            compatible = "usb123,4567";
            reg = <2>;
        };

        device@3 {
            compatible = "usb123,abcd";
            reg = <3>;

            #address-cells = <2>;
            #size-cells = <0>;

            interface@0 {
                compatible = "usbif123,abcd.config1.0";
                reg = <0 1>;
            };

            interface@0,2 {
                compatible = "usbif123,abcd.config2.0";
                reg = <0 2>;
            };
        };
    };


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/usb-drd.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Generic USB OTG Controller

maintainers:
  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>

properties:
  otg-rev:
    description:
      Tells usb driver the release number of the OTG and EH supplement with
      which the device and its descriptors are compliant, in binary-coded
      decimal (i.e. 2.0 is 0200H). This property is used if any real OTG
      features (HNP/SRP/ADP) is enabled. If ADP is required, otg-rev should be
      0x0200 or above.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0x0100, 0x0120, 0x0130, 0x0200]

  dr_mode:
    description:
      Tells Dual-Role USB controllers that we want to work on a particular
      mode. In case this attribute isn't passed via DT, USB DRD controllers
      should default to OTG.
    $ref: /schemas/types.yaml#/definitions/string
    enum: [host, peripheral, otg]
    default: otg

  hnp-disable:
    description:
      Tells OTG controllers we want to disable OTG HNP. Normally HNP is the
      basic function of real OTG except you want it to be a srp-capable only B
      device.
    type: boolean

  srp-disable:
    description:
      Tells OTG controllers we want to disable OTG SRP. SRP is optional for OTG
      device.
    type: boolean

  adp-disable:
    description:
      Tells OTG controllers we want to disable OTG ADP. ADP is optional for OTG
      device.
    type: boolean

  usb-role-switch:
    description:
      Indicates that the device is capable of assigning the USB data role
      (USB host or USB device) for a given USB connector, such as Type-C,
      Type-B(micro). See connector/usb-connector.yaml.

  role-switch-default-mode:
    description:
      Indicates if usb-role-switch is enabled, the device default operation
      mode of controller while usb role is USB_ROLE_NONE.
    $ref: /schemas/types.yaml#/definitions/string
    enum: [host, peripheral]
    default: peripheral

additionalProperties: true

examples:
  - |
    usb@4a030000 {
        compatible = "snps,dwc3";
        reg = <0x4a030000 0xcfff>;
        interrupts = <0 92 4>;
        usb-phy = <&usb2_phy>, <&usb3_phy>;
        maximum-speed = "super-speed";
        dr_mode = "otg";
        phy_type = "utmi_wide";
        otg-rev = <0x0200>;
        adp-disable;
    };


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/usb-hcd.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Generic USB Host Controller

maintainers:
  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>

allOf:
  - $ref: usb.yaml#

properties:
  companion:
    description: Phandle of a companion device
    $ref: /schemas/types.yaml#/definitions/phandle

  tpl-support:
    description:
      Indicates if the Targeted Peripheral List is supported for given
      targeted hosts (non-PC hosts).
    type: boolean

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

patternProperties:
  "^.*@[0-9a-f]{1,2}$":
    description: The hard wired USB devices
    type: object
    $ref: /schemas/usb/usb-device.yaml

additionalProperties: true

examples:
  - |
    usb {
        phys = <&usb2_phy1>, <&usb3_phy1>;
        phy-names = "usb";
        #address-cells = <1>;
        #size-cells = <0>;

        hub@1 {
            compatible = "usb5e3,610";
            reg = <1>;
        };
    };


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/usb-nop-xceiv.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: USB NOP PHY

maintainers:
  - Rob Herring <robh@kernel.org>

properties:
  compatible:
    const: usb-nop-xceiv

  clocks:
    maxItems: 1

  clock-names:
    const: main_clk

  clock-frequency: true

  '#phy-cells':
    const: 0

  vcc-supply:
    description: phandle to the regulator that provides power to the PHY.

  reset-gpios:
    maxItems: 1

  vbus-detect-gpio:
    description: Should specify the GPIO detecting a VBus insertion
    maxItems: 1

  vbus-regulator:
    description: Should specifiy the regulator supplying current drawn from
      the VBus line.
    $ref: /schemas/types.yaml#/definitions/phandle

  wakeup-source:
    description:
      Specify if the USB phy can detect the remote wakeup signal
      while the system sleep.

required:
  - compatible
  - '#phy-cells'

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    hsusb1_phy {
        compatible = "usb-nop-xceiv";
        clock-frequency = <19200000>;
        clocks = <&osc 0>;
        clock-names = "main_clk";
        vcc-supply = <&hsusb1_vcc_regulator>;
        reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
        vbus-detect-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>;
        vbus-regulator = <&vbus_regulator>;
        #phy-cells = <0>;
    };

...


code:
Generic Platform UHCI Controller
-----------------------------------------------------

Required properties:
- compatible : "generic-uhci" (deprecated: "platform-uhci")
- reg : Should contain 1 register ranges(address and length)
- interrupts : UHCI controller interrupt

additionally the properties from usb-hcd.yaml (in the current directory) are
supported.

Example:

	uhci@d8007b00 {
		compatible = "generic-uhci";
		reg = <0xd8007b00 0x200>;
		interrupts = <43>;
	};


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/usb-xhci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Generic USB xHCI Controller

maintainers:
  - Mathias Nyman <mathias.nyman@intel.com>

allOf:
  - $ref: "usb-hcd.yaml#"

properties:
  usb2-lpm-disable:
    description: Indicates if we don't want to enable USB2 HW LPM
    type: boolean

  usb3-lpm-capable:
    description: Determines if platform is USB3 LPM capable
    type: boolean

  quirk-broken-port-ped:
    description: Set if the controller has broken port disable mechanism
    type: boolean

  imod-interval-ns:
    description: Interrupt moderation interval
    default: 5000

additionalProperties: true

examples:
  - |
    usb@f0930000 {
      compatible = "generic-xhci";
      reg = <0xf0930000 0x8c8>;
      interrupts = <0x0 0x4e 0x0>;
      usb2-lpm-disable;
      usb3-lpm-capable;
    };


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/usb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Generic USB Controller

maintainers:
  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>

select: false

properties:
  $nodename:
    pattern: "^usb(@.*)?"

  phys:
    description:
      List of all the USB PHYs on this HCD

  phy-names:
    description:
      Name specifier for the USB PHY

  usb-phy:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description:
      List of all the USB PHYs on this HCD to be accepted by the legacy USB
      Physical Layer subsystem.
    deprecated: true

  phy_type:
    description:
      Tells USB controllers that we want to configure the core to support a
      UTMI+ PHY with an 8- or 16-bit interface if UTMI+ is selected, UTMI+ low
      pin interface if ULPI is specified, Serial core/PHY interconnect if
      serial is specified and High-Speed Inter-Chip feature if HSIC is
      selected. In case this isn't passed via DT, USB controllers should
      default to HW capability.
    $ref: /schemas/types.yaml#/definitions/string
    enum: [utmi, utmi_wide, ulpi, serial, hsic]

  maximum-speed:
    description:
      Tells USB controllers we want to work up to a certain speed. In case this
      isn't passed via DT, USB controllers should default to their maximum HW
      capability.
    $ref: /schemas/types.yaml#/definitions/string
    enum:
      - low-speed
      - full-speed
      - high-speed
      - super-speed
      - super-speed-plus
      - super-speed-plus-gen2x1
      - super-speed-plus-gen1x2
      - super-speed-plus-gen2x2

additionalProperties: true

...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/usb251xb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microchip USB 2.0 Hi-Speed Hub Controller

maintainers:
  - Richard Leitner <richard.leitner@skidata.com>

properties:
  compatible:
    enum:
      - microchip,usb2422
      - microchip,usb2512b
      - microchip,usb2512bi
      - microchip,usb2513b
      - microchip,usb2513bi
      - microchip,usb2514b
      - microchip,usb2514bi
      - microchip,usb2517
      - microchip,usb2517i
      - microchip,usb251xb

  reg:
    maxItems: 1

  reset-gpios:
    description: |
      Should specify the gpio for hub reset

  vdd-supply:
    description: |
      Should specify the phandle to the regulator supplying vdd

  skip-config:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      Skip Hub configuration, but only send the USB-Attach command

  vendor-id:
    $ref: /schemas/types.yaml#/definitions/uint16
    default: 0x0424
    description: |
      Set USB Vendor ID of the hub

  product-id:
    $ref: /schemas/types.yaml#/definitions/uint16
    description: |
      Set USB Product ID of the hub

  device-id:
    $ref: /schemas/types.yaml#/definitions/uint16
    default: 0x0bb3
    description: |
      Set USB Device ID of the hub

  language-id:
    $ref: /schemas/types.yaml#/definitions/uint16
    default: 0x0000
    description: |
      Set USB Language ID

  manufacturer:
    $ref: /schemas/types.yaml#/definitions/string
    description: |
      Set USB Manufacturer string (max 31 characters long)

  product:
    $ref: /schemas/types.yaml#/definitions/string
    description: |
      Set USB Product string (max 31 characters long)

  serial:
    $ref: /schemas/types.yaml#/definitions/string
    description: |
      Set USB Serial string (max 31 characters long)

  bus-powered:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      selects between self- and bus-powered operation
      (boolean, default is self-powered)

  self-powered:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      selects between self- and bus-powered operation
      (boolean, default is self-powered)

  disable-hi-speed:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      disable USB Hi-Speed support (boolean)

  multi-tt:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      selects between multi- and single-transaction-translator
      (boolean, default is multi-tt)

  single-tt:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      selects between multi- and single-transaction-translator
      (boolean, default is multi-tt)

  disable-eop:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      disable End of Packet generation in full-speed mode (boolean)

  ganged-sensing:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      select over-current sense type in self-powered mode
      (boolean, default is individual)

  individual-sensing:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      select over-current sense type in self-powered mode
      (boolean, default is individual)

  ganged-port-switching:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      select port power switching mode (boolean, default is individual)

  individual-port-switching:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      select port power switching mode (boolean, default is individual)

  dynamic-power-switching:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      enable auto-switching from self- to bus-powered operation if the
      local power source is removed or unavailable (boolean)

  oc-delay-us:
    enum: [100, 4000, 8000, 16000]
    default: 8000
    description: |
      Delay time (in microseconds) for filtering the over-current sense
      inputs. If an invalid value is given, the default is used instead.

  compound-device:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      indicate the hub is part of a compound device (boolean)

  port-mapping-mode:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      enable port mapping mode (boolean)

  led-usb-mode:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      led usb/speed indication mode selection (boolean, default is speed mode)

  led-speed-mode:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      led usb/speed indication mode selection (boolean, default is speed mode)

  string-support:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      enable string descriptor support (required for manufacturer, product
      and serial string configuration)

  non-removable-ports:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description: |
      Should specify the ports which have a non-removable device connected.

  sp-disabled-ports:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description: |
      Specifies the ports which will be self-power disabled

  bp-disabled-ports:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description: |
      Specifies the ports which will be bus-power disabled

  sp-max-total-current-microamp:
    maximum: 100000
    default: 1000
    description: |
      Specifies max current consumed by the hub from VBUS when
      operating in self-powered hub. It includes the hub silicon
      along with all associated circuitry including a permanently
      attached peripheral.

  bp-max-total-current-microamp:
    maximum: 510000
    default: 100000
    description: |
      Specifies max current consumed by the hub from VBUS when
      operating in self-powered hub. It includes the hub silicon
      along with all associated circuitry including a permanently
      attached peripheral.

  sp-max-removable-current-microamp:
    maximum: 100000
    default: 1000
    description: |
      Specifies max current consumed by the hub from VBUS when
      operating in self-powered hub. It includes the hub silicon
      along with all associated circuitry excluding a permanently
      attached peripheral.

  bp-max-removable-current-microamp:
    maximum: 510000
    default: 100000
    description: |
      Specifies max current consumed by the hub from VBUS when
      operating in self-powered hub. It includes the hub silicon
      along with all associated circuitry excluding a permanently
      attached peripheral.

  power-on-time-ms:
    maximum: 510
    default: 100
    description: |
      Specifies the time it takes from the time the host initiates the
      power-on sequence to a port until the port has adequate power.

  swap-dx-lanes:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description: |
      Specifies the ports which will swap the differential-pair (D+/D-),
      default is not-swapped.

additionalProperties: false

required:
  - compatible
  - reg

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      usb-hub@2c {
        compatible = "microchip,usb2512b";
        reg = <0x2c>;
        reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
      };

      usb-hub@2d {
        compatible = "microchip,usb2514b";
        reg = <0x2d>;
        vendor-id = /bits/ 16 <0x0000>;
        product-id = /bits/ 16 <0x0000>;
        string-support;
        manufacturer = "Foo";
        product = "Foo-Bar";
        serial = "1234567890A";
        /* correct misplaced usb connectors on port 1,2 */
        swap-dx-lanes = <1 2>;
      };
    };


code:
SMSC USB4604 High-Speed Hub Controller

Required properties:
- compatible: Should be "smsc,usb4604"

Optional properties:
- reg: Specifies the i2c slave address, it is required and should be 0x2d
       if I2C is used.
- reset-gpios: Should specify GPIO for reset.
- initial-mode: Should specify initial mode.
                (1 for HUB mode, 2 for STANDBY mode)

Examples:
	usb-hub@2d {
		compatible = "smsc,usb4604";
		reg = <0x2d>;
		reset-gpios = <&gpx3 5 1>;
		initial-mode = <1>;
	};


code:
* Freescale i.MX non-core registers

Required properties:
- #index-cells: Cells used to describe usb controller index. Should be <1>
- compatible: Should be one of below:
	"fsl,imx6q-usbmisc" for imx6q
	"fsl,vf610-usbmisc" for Vybrid vf610
	"fsl,imx6sx-usbmisc" for imx6sx
	"fsl,imx7d-usbmisc" for imx7d
	"fsl,imx7ulp-usbmisc" for imx7ulp
- reg: Should contain registers location and length

Examples:
usbmisc@2184800 {
	#index-cells = <1>;
	compatible = "fsl,imx6q-usbmisc";
	reg = <0x02184800 0x200>;
};


code:
Ux500 MUSB

Required properties:
 - compatible : Should be "stericsson,db8500-musb"
 - reg        : Offset and length of registers
 - interrupts : Interrupt; mode, number and trigger
 - dr_mode    : Dual-role; either host mode "host", peripheral mode "peripheral"
                or both "otg"

Optional properties:
 - dmas       : A list of dma channels;
                dma-controller, event-line, fixed-channel, flags
 - dma-names  : An ordered list of channel names affiliated to the above

Example:

usb_per5@a03e0000 {
	compatible = "stericsson,db8500-musb";
	reg = <0xa03e0000 0x10000>;
	interrupts = <0 23 0x4>;
	interrupt-names = "mc";

	dr_mode = "otg";

	dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
	       <&dma 38 0 0x0>, /* Logical - MemToDev */
	       <&dma 37 0 0x2>, /* Logical - DevToMem */
	       <&dma 37 0 0x0>, /* Logical - MemToDev */
	       <&dma 36 0 0x2>, /* Logical - DevToMem */
	       <&dma 36 0 0x0>, /* Logical - MemToDev */
	       <&dma 19 0 0x2>, /* Logical - DevToMem */
	       <&dma 19 0 0x0>, /* Logical - MemToDev */
	       <&dma 18 0 0x2>, /* Logical - DevToMem */
	       <&dma 18 0 0x0>, /* Logical - MemToDev */
	       <&dma 17 0 0x2>, /* Logical - DevToMem */
	       <&dma 17 0 0x0>, /* Logical - MemToDev */
	       <&dma 16 0 0x2>, /* Logical - DevToMem */
	       <&dma 16 0 0x0>, /* Logical - MemToDev */
	       <&dma 39 0 0x2>, /* Logical - DevToMem */
	       <&dma 39 0 0x0>; /* Logical - MemToDev */

	dma-names = "iep_1_9",  "oep_1_9",
		    "iep_2_10", "oep_2_10",
		    "iep_3_11", "oep_3_11",
		    "iep_4_12", "oep_4_12",
		    "iep_5_13", "oep_5_13",
		    "iep_6_14", "oep_6_14",
		    "iep_7_15", "oep_7_15",
		    "iep_8",    "oep_8";
};


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/willsemi,wusb3801.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: WUSB3801 Type-C port controller DT bindings

description:
  The Will Semiconductor WUSB3801 is a USB Type-C port controller which
  supports role and plug orientation detection using the CC pins. It is
  compatible with the USB Type-C Cable and Connector Specification v1.2.

maintainers:
  - Samuel Holland <samuel@sholland.org>

properties:
  compatible:
    enum:
      - willsemi,wusb3801

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  connector:
    type: object
    $ref: ../connector/usb-connector.yaml#
    unevaluatedProperties: false
    description:
      The managed USB Type-C connector. Since WUSB3801 does not support
      Power Delivery, the node should have the "pd-disable" property.

    properties:
      compatible:
        const: usb-c-connector

    required:
      - pd-disable

required:
  - compatible
  - reg
  - interrupts
  - connector

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
      #address-cells = <1>;
      #size-cells = <0>;

      tcpc@60 {
        compatible = "willsemi,wusb3801";
        reg = <0x60>;
        interrupt-parent = <&gpio0>;
        interrupts = <4 IRQ_TYPE_LEVEL_LOW>;

        connector {
          compatible = "usb-c-connector";
          label = "USB-C";
          vbus-supply = <&otg_switch>;
          power-role = "dual";
          try-power-role = "sink";
          data-role = "dual";
          typec-power-opmode = "default";
          pd-disable;
        };
      };
    };


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/xlnx,usb2.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Xilinx udc controller

maintainers:
  - Manish Narani <manish.narani@xilinx.com>

properties:
  compatible:
    const: xlnx,usb2-device-4.00.a

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  xlnx,has-builtin-dma:
    description:
      If present, hardware has dma capability.
    type: boolean

  clocks:
    minItems: 1

  clock-names:
    const: s_axi_aclk

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    axi-usb2-device@42e00000 {
        compatible = "xlnx,usb2-device-4.00.a";
        interrupts = <0x0 0x39 0x1>;
        reg = <0xee000000 0xc00>;
        xlnx,has-builtin-dma;
    };


code:
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/vendor-prefixes.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Devicetree Vendor Prefix Registry

maintainers:
  - Rob Herring <robh@kernel.org>

select: true

properties: {}

patternProperties:
  # Prefixes which are not vendors, but followed the pattern
  # DO NOT ADD NEW PROPERTIES TO THIS LIST
  "^(at25|bm|devbus|dmacap|dsa|exynos|fsi[ab]|gpio-fan|gpio-key|gpio|gpmc|hdmi|i2c-gpio),.*": true
  "^(keypad|m25p|max8952|max8997|max8998|mpmc),.*": true
  "^(pinctrl-single|#pinctrl-single|PowerPC),.*": true
  "^(pl022|pxa-mmc|rcar_sound|rotary-encoder|s5m8767|sdhci),.*": true
  "^(simple-audio-card|st-plgpio|st-spics|ts),.*": true

  # Keep list in alphabetical order.
  "^100ask,.*":
    description: Baiwen.com (100ask).
  "^70mai,.*":
    description: 70mai Co., Ltd.
  "^8dev,.*":
    description: 8devices, UAB
  "^abb,.*":
    description: ABB
  "^abilis,.*":
    description: Abilis Systems
  "^abracon,.*":
    description: Abracon Corporation
  "^abt,.*":
    description: ShenZhen Asia Better Technology Ltd.
  "^acer,.*":
    description: Acer Inc.
  "^acme,.*":
    description: Acme Systems srl
  "^actions,.*":
    description: Actions Semiconductor Co., Ltd.
  "^active-semi,.*":
    description: Active-Semi International Inc
  "^ad,.*":
    description: Avionic Design GmbH
  "^adafruit,.*":
    description: Adafruit Industries, LLC
  "^adapteva,.*":
    description: Adapteva, Inc.
  "^adaptrum,.*":
    description: Adaptrum, Inc.
  "^adh,.*":
    description: AD Holdings Plc.
  "^adi,.*":
    description: Analog Devices, Inc.
  "^advantech,.*":
    description: Advantech Corporation
  "^aeroflexgaisler,.*":
    description: Aeroflex Gaisler AB
  "^aesop,.*":
    description: AESOP Embedded Forum
  "^airoha,.*":
    description: Airoha
  "^al,.*":
    description: Annapurna Labs
  "^alcatel,.*":
    description: Alcatel
  "^alfa-network,.*":
    description: ALFA Network Inc.
  "^allegro,.*":
    description: Allegro DVT
  "^allo,.*":
    description: Allo.com
  "^allwinner,.*":
    description: Allwinner Technology Co., Ltd.
  "^alphascale,.*":
    description: AlphaScale Integrated Circuits Systems, Inc.
  "^alps,.*":
    description: Alps Electric Co., Ltd.
  "^alt,.*":
    description: Altus-Escon-Company BV
  "^altr,.*":
    description: Altera Corp.
  "^amarula,.*":
    description: Amarula Solutions
  "^amazon,.*":
    description: Amazon.com, Inc.
  "^amcc,.*":
    description: Applied Micro Circuits Corporation (APM, formally AMCC)
  "^amd,.*":
    description: Advanced Micro Devices (AMD), Inc.
  "^amediatech,.*":
    description: Shenzhen Amediatech Technology Co., Ltd
  "^amlogic,.*":
    description: Amlogic, Inc.
  "^ampere,.*":
    description: Ampere Computing LLC
  "^ampire,.*":
    description: Ampire Co., Ltd.
  "^ams,.*":
    description: AMS AG
  "^amstaos,.*":
    description: AMS-Taos Inc.
  "^analogix,.*":
    description: Analogix Semiconductor, Inc.
  "^anbernic,.*":
    description: Anbernic
  "^andestech,.*":
    description: Andes Technology Corporation
  "^anvo,.*":
    description: Anvo-Systems Dresden GmbH
  "^apm,.*":
    description: Applied Micro Circuits Corporation (APM)
  "^apple,.*":
    description: Apple Inc.
  "^aptina,.*":
    description: Aptina Imaging
  "^arasan,.*":
    description: Arasan Chip Systems
  "^archermind,.*":
    description: ArcherMind Technology (Nanjing) Co., Ltd.
  "^arctic,.*":
    description: Arctic Sand
  "^arcx,.*":
    description: arcx Inc. / Archronix Inc.
  "^aries,.*":
    description: Aries Embedded GmbH
  "^arm,.*":
    description: ARM Ltd.
  "^armadeus,.*":
    description: ARMadeus Systems SARL
  "^arrow,.*":
    description: Arrow Electronics
  "^artesyn,.*":
    description: Artesyn Embedded Technologies Inc.
  "^asahi-kasei,.*":
    description: Asahi Kasei Corp.
  "^asc,.*":
    description: All Sensors Corporation
  "^asix,.*":
    description: ASIX Electronics Corporation
  "^aspeed,.*":
    description: ASPEED Technology Inc.
  "^asrock,.*":
    description: ASRock Inc.
  "^asus,.*":
    description: AsusTek Computer Inc.
  "^atheros,.*":
    description: Qualcomm Atheros, Inc. (deprecated, use qca)
    deprecated: true
  "^atlas,.*":
    description: Atlas Scientific LLC
  "^atmel,.*":
    description: Atmel Corporation
  "^auo,.*":
    description: AU Optronics Corporation
  "^auvidea,.*":
    description: Auvidea GmbH
  "^avago,.*":
    description: Avago Technologies
  "^avia,.*":
    description: avia semiconductor
  "^avic,.*":
    description: Shanghai AVIC Optoelectronics Co., Ltd.
  "^avnet,.*":
    description: Avnet, Inc.
  "^awinic,.*":
    description: Shanghai Awinic Technology Co., Ltd.
  "^axentia,.*":
    description: Axentia Technologies AB
  "^axis,.*":
    description: Axis Communications AB
  "^azoteq,.*":
    description: Azoteq (Pty) Ltd
  "^azw,.*":
    description: Shenzhen AZW Technology Co., Ltd.
  "^baikal,.*":
    description: BAIKAL ELECTRONICS, JSC
  "^bananapi,.*":
    description: BIPAI KEJI LIMITED
  "^beacon,.*":
    description: Compass Electronics Group, LLC
  "^beagle,.*":
    description: BeagleBoard.org Foundation
  "^bhf,.*":
    description: Beckhoff Automation GmbH & Co. KG
  "^bitmain,.*":
    description: Bitmain Technologies
  "^blutek,.*":
    description: BluTek Power
  "^boe,.*":
    description: BOE Technology Group Co., Ltd.
  "^bosch,.*":
    description: Bosch Sensortec GmbH
  "^boundary,.*":
    description: Boundary Devices Inc.
  "^broadmobi,.*":
    description: Shanghai Broadmobi Communication Technology Co.,Ltd.
  "^brcm,.*":
    description: Broadcom Corporation
  "^bsh,.*":
    description: BSH Hausgeraete GmbH
  "^bticino,.*":
    description: Bticino International
  "^buffalo,.*":
    description: Buffalo, Inc.
  "^bur,.*":
    description: B&R Industrial Automation GmbH
  "^bytedance,.*":
    description: ByteDance Ltd.
  "^calamp,.*":
    description: CalAmp Corp.
  "^calaosystems,.*":
    description: CALAO Systems SAS
  "^calxeda,.*":
    description: Calxeda
  "^canaan,.*":
    description: Canaan, Inc.
  "^caninos,.*":
    description: Caninos Loucos Program
  "^capella,.*":
    description: Capella Microsystems, Inc
  "^cascoda,.*":
    description: Cascoda, Ltd.
  "^catalyst,.*":
    description: Catalyst Semiconductor, Inc.
  "^cavium,.*":
    description: Cavium, Inc.
  "^cdns,.*":
    description: Cadence Design Systems Inc.
  "^cdtech,.*":
    description: CDTech(H.K.) Electronics Limited
  "^cellwise,.*":
    description: CellWise Microelectronics Co., Ltd
  "^ceva,.*":
    description: Ceva, Inc.
  "^checkpoint,.*":
    description: Check Point Software Technologies Ltd.
  "^chefree,.*":
    description: Chefree Technology Corp.
  "^chipidea,.*":
    description: Chipidea, Inc
  "^chipone,.*":
    description: ChipOne
  "^chipspark,.*":
    description: ChipSPARK
  "^chongzhou,.*":
    description: Shenzhen Chongzhou Electronic Technology Co., Ltd
  "^chrontel,.*":
    description: Chrontel, Inc.
  "^chrp,.*":
    description: Common Hardware Reference Platform
  "^chunghwa,.*":
    description: Chunghwa Picture Tubes Ltd.
  "^chuwi,.*":
    description: Chuwi Innovation Ltd.
  "^ciaa,.*":
    description: Computadora Industrial Abierta Argentina
  "^cirrus,.*":
    description: Cirrus Logic, Inc.
  "^cisco,.*":
    description: Cisco Systems, Inc.
  "^cloos,.*":
    description: Carl Cloos Schweisstechnik GmbH.
  "^cloudengines,.*":
    description: Cloud Engines, Inc.
  "^cnm,.*":
    description: Chips&Media, Inc.
  "^cnxt,.*":
    description: Conexant Systems, Inc.
  "^colorfly,.*":
    description: Colorful GRP, Shenzhen Xueyushi Technology Ltd.
  "^compulab,.*":
    description: CompuLab Ltd.
  "^congatec,.*":
    description: congatec GmbH
  "^coreriver,.*":
    description: CORERIVER Semiconductor Co.,Ltd.
  "^corpro,.*":
    description: Chengdu Corpro Technology Co., Ltd.
  "^cortina,.*":
    description: Cortina Systems, Inc.
  "^cosmic,.*":
    description: Cosmic Circuits
  "^crane,.*":
    description: Crane Connectivity Solutions
  "^creative,.*":
    description: Creative Technology Ltd
  "^crystalfontz,.*":
    description: Crystalfontz America, Inc.
  "^csky,.*":
    description: Hangzhou C-SKY Microsystems Co., Ltd
  "^csq,.*":
    description: Shenzen Chuangsiqi Technology Co.,Ltd.
  "^ctera,.*":
    description: CTERA Networks Intl.
  "^ctu,.*":
    description: Czech Technical University in Prague
  "^cubietech,.*":
    description: Cubietech, Ltd.
  "^cui,.*":
    description: CUI Devices
  "^cypress,.*":
    description: Cypress Semiconductor Corporation
  "^cyx,.*":
    description: Shenzhen CYX Industrial Co., Ltd
  "^cznic,.*":
    description: CZ.NIC, z.s.p.o.
  "^dallas,.*":
    description: Maxim Integrated Products (formerly Dallas Semiconductor)
  "^dataimage,.*":
    description: DataImage, Inc.
  "^davicom,.*":
    description: DAVICOM Semiconductor, Inc.
  "^dell,.*":
    description: Dell Inc.
  "^delta,.*":
    description: Delta Electronics, Inc.
  "^densitron,.*":
    description: Densitron Technologies Ltd
  "^denx,.*":
    description: Denx Software Engineering
  "^devantech,.*":
    description: Devantech, Ltd.
  "^dfi,.*":
    description: DFI Inc.
  "^dh,.*":
    description: DH electronics GmbH
  "^difrnce,.*":
    description: Shenzhen Yagu Electronic Technology Co., Ltd.
  "^digi,.*":
    description: Digi International Inc.
  "^digilent,.*":
    description: Diglent, Inc.
  "^diodes,.*":
    description: Diodes, Inc.
  "^dioo,.*":
    description: Dioo Microcircuit Co., Ltd
  "^dlc,.*":
    description: DLC Display Co., Ltd.
  "^dlg,.*":
    description: Dialog Semiconductor
  "^dlink,.*":
    description: D-Link Corporation
  "^dmo,.*":
    description: Data Modul AG
  "^domintech,.*":
    description: Domintech Co., Ltd.
  "^dongwoon,.*":
    description: Dongwoon Anatech
  "^dptechnics,.*":
    description: DPTechnics
  "^dragino,.*":
    description: Dragino Technology Co., Limited
  "^ds,.*":
    description: DaSheng, Inc.
  "^dserve,.*":
    description: dServe Technology B.V.
  "^dynaimage,.*":
    description: Dyna-Image
  "^ea,.*":
    description: Embedded Artists AB
  "^ebang,.*":
    description: Zhejiang Ebang Communication Co., Ltd
  "^ebbg,.*":
    description: EBBG
  "^ebs-systart,.*":
    description: EBS-SYSTART GmbH
  "^ebv,.*":
    description: EBV Elektronik
  "^eckelmann,.*":
    description: Eckelmann AG
  "^edimax,.*":
    description: EDIMAX Technology Co., Ltd
  "^edt,.*":
    description: Emerging Display Technologies
  "^eeti,.*":
    description: eGalax_eMPIA Technology Inc
  "^einfochips,.*":
    description: Einfochips
  "^eink,.*":
    description: E Ink Corporation
  "^elan,.*":
    description: Elan Microelectronic Corp.
  "^element14,.*":
    description: Element14 (A Premier Farnell Company)
  "^elgin,.*":
    description: Elgin S/A.
  "^elida,.*":
    description: Shenzhen Elida Technology Co., Ltd.
  "^elimo,.*":
    description: Elimo Engineering Ltd.
  "^elpida,.*":
    description: Elpida Memory, Inc.
  "^embest,.*":
    description: Shenzhen Embest Technology Co., Ltd.
  "^emlid,.*":
    description: Emlid, Ltd.
  "^emmicro,.*":
    description: EM Microelectronic
  "^empire-electronix,.*":
    description: Empire Electronix
  "^emtrion,.*":
    description: emtrion GmbH
  "^enclustra,.*":
    description: Enclustra GmbH
  "^endless,.*":
    description: Endless Mobile, Inc.
  "^ene,.*":
    description: ENE Technology, Inc.
  "^energymicro,.*":
    description: Silicon Laboratories (formerly Energy Micro AS)
  "^engicam,.*":
    description: Engicam S.r.l.
  "^engleder,.*":
    description: Engleder
  "^epcos,.*":
    description: EPCOS AG
  "^epfl,.*":
    description: Ecole Polytechnique Fédérale de Lausanne
  "^epson,.*":
    description: Seiko Epson Corp.
  "^esp,.*":
    description: Espressif Systems Co. Ltd.
  "^est,.*":
    description: ESTeem Wireless Modems
  "^ettus,.*":
    description: NI Ettus Research
  "^eukrea,.*":
    description: Eukréa Electromatique
  "^everest,.*":
    description: Everest Semiconductor Co. Ltd.
  "^everspin,.*":
    description: Everspin Technologies, Inc.
  "^evervision,.*":
    description: Evervision Electronics Co. Ltd.
  "^exar,.*":
    description: Exar Corporation
  "^excito,.*":
    description: Excito
  "^exegin,.*":
    description: Exegin Technologies Limited
  "^ezchip,.*":
    description: EZchip Semiconductor
  "^facebook,.*":
    description: Facebook
  "^fairphone,.*":
    description: Fairphone B.V.
  "^faraday,.*":
    description: Faraday Technology Corporation
  "^fastrax,.*":
    description: Fastrax Oy
  "^fcs,.*":
    description: Fairchild Semiconductor
  "^feixin,.*":
    description: Shenzhen Feixin Photoelectic Co., Ltd
  "^feiyang,.*":
    description: Shenzhen Fly Young Technology Co.,LTD.
  "^fii,.*":
    description: Foxconn Industrial Internet
  "^firefly,.*":
    description: Firefly
  "^focaltech,.*":
    description: FocalTech Systems Co.,Ltd
  "^forlinx,.*":
    description: Baoding Forlinx Embedded Technology Co., Ltd.
  "^frida,.*":
    description: Shenzhen Frida LCD Co., Ltd.
  "^friendlyarm,.*":
    description: Guangzhou FriendlyARM Computer Tech Co., Ltd
  "^fsl,.*":
    description: Freescale Semiconductor
  "^fujitsu,.*":
    description: Fujitsu Ltd.
  "^fxtec,.*":
    description: FX Technology Ltd.
  "^gardena,.*":
    description: GARDENA GmbH
  "^gateworks,.*":
    description: Gateworks Corporation
  "^gcw,.*":
    description: Game Consoles Worldwide
  "^ge,.*":
    description: General Electric Company
  "^geekbuying,.*":
    description: GeekBuying
  "^gef,.*":
    description: GE Fanuc Intelligent Platforms Embedded Systems, Inc.
  "^GEFanuc,.*":
    description: GE Fanuc Intelligent Platforms Embedded Systems, Inc.
  "^gemei,.*":
    description: Gemei Digital Technology Co., Ltd.
  "^genesys,.*":
    description: Genesys Logic, Inc.
  "^geniatech,.*":
    description: Geniatech, Inc.
  "^giantec,.*":
    description: Giantec Semiconductor, Inc.
  "^giantplus,.*":
    description: Giantplus Technology Co., Ltd.
  "^globalscale,.*":
    description: Globalscale Technologies, Inc.
  "^globaltop,.*":
    description: GlobalTop Technology, Inc.
  "^gmt,.*":
    description: Global Mixed-mode Technology, Inc.
  "^goodix,.*":
    description: Shenzhen Huiding Technology Co., Ltd.
  "^google,.*":
    description: Google, Inc.
  "^grinn,.*":
    description: Grinn
  "^grmn,.*":
    description: Garmin Limited
  "^gumstix,.*":
    description: Gumstix, Inc.
  "^gw,.*":
    description: Gateworks Corporation
                 use "gateworks" vendor prefix
    deprecated: true
  "^hannstar,.*":
    description: HannStar Display Corporation
  "^haochuangyi,.*":
    description: Shenzhen Haochuangyi Technology Co.,Ltd
  "^haoyu,.*":
    description: Haoyu Microelectronic Co. Ltd.
  "^hardkernel,.*":
    description: Hardkernel Co., Ltd
  "^hechuang,.*":
    description: Shenzhen Hechuang Intelligent Co.
  "^hideep,.*":
    description: HiDeep Inc.
  "^himax,.*":
    description: Himax Technologies, Inc.
  "^hirschmann,.*":
    description: Hirschmann Automation and Control GmbH
  "^hisi,.*":
    description: HiSilicon Limited (deprecated, use hisilicon)
    deprecated: true
  "^hisilicon,.*":
    description: HiSilicon Limited.
  "^hit,.*":
    description: Hitachi Ltd.
  "^hitex,.*":
    description: Hitex Development Tools
  "^holt,.*":
    description: Holt Integrated Circuits, Inc.
  "^honestar,.*":
    description: Honestar Technologies Co., Ltd.
  "^honeywell,.*":
    description: Honeywell
  "^hoperun,.*":
    description: Jiangsu HopeRun Software Co., Ltd.
  "^hp,.*":
    description: Hewlett Packard Inc.
  "^hpe,.*":
    description: Hewlett Packard Enterprise
  "^hsg,.*":
    description: HannStar Display Co.
  "^holtek,.*":
    description: Holtek Semiconductor, Inc.
  "^huawei,.*":
    description: Huawei Technologies Co., Ltd.
  "^hugsun,.*":
    description: Shenzhen Hugsun Technology Co. Ltd.
  "^hwacom,.*":
    description: HwaCom Systems Inc.
  "^hxt,.*":
    description: HXT Semiconductor
  "^hycon,.*":
    description: Hycon Technology Corp.
  "^hydis,.*":
    description: Hydis Technologies
  "^hynitron,.*":
    description: Shanghai Hynitron Microelectronics Co. Ltd.
  "^hynix,.*":
    description: SK Hynix Inc.
  "^hyundai,.*":
    description: Hyundai Technology
  "^i2se,.*":
    description: I2SE GmbH
  "^ibm,.*":
    description: International Business Machines (IBM)
  "^icplus,.*":
    description: IC Plus Corp.
  "^idt,.*":
    description: Integrated Device Technologies, Inc.
  "^ifi,.*":
    description: Ingenieurburo Fur Ic-Technologie (I/F/I)
  "^ilitek,.*":
    description: ILI Technology Corporation (ILITEK)
  "^imagis,.*":
    description: Imagis Technologies Co., Ltd.
  "^img,.*":
    description: Imagination Technologies Ltd.
  "^imi,.*":
    description: Integrated Micro-Electronics Inc.
  "^incircuit,.*":
    description: In-Circuit GmbH
  "^inet-tek,.*":
    description: Shenzhen iNet Mobile Internet Technology Co., Ltd
  "^infineon,.*":
    description: Infineon Technologies
  "^inforce,.*":
    description: Inforce Computing
  "^ingrasys,.*":
    description: Ingrasys Technology Inc.
  "^ivo,.*":
    description: InfoVision Optoelectronics Kunshan Co. Ltd.
  "^ingenic,.*":
    description: Ingenic Semiconductor
  "^injoinic,.*":
    description: Injoinic Technology Corp.
  "^innocomm,.*":
    description: InnoComm Mobile Technology Corp.
  "^innolux,.*":
    description: Innolux Corporation
  "^inside-secure,.*":
    description: INSIDE Secure
  "^insignal,.*":
    description: Insignal Ltd.
  "^inspur,.*":
    description: Inspur Corporation
  "^intel,.*":
    description: Intel Corporation
  "^intercontrol,.*":
    description: Inter Control Group
  "^invensense,.*":
    description: InvenSense Inc.
  "^inventec,.*":
    description: Inventec
  "^inversepath,.*":
    description: Inverse Path
  "^iom,.*":
    description: Iomega Corporation
  "^isee,.*":
    description: ISEE 2007 S.L.
  "^isil,.*":
    description: Intersil
  "^issi,.*":
    description: Integrated Silicon Solutions Inc.
  "^ite,.*":
    description: ITE Tech. Inc.
  "^itead,.*":
    description: ITEAD Intelligent Systems Co.Ltd
  "^itian,.*":
    description: ITian Corporation
  "^iwave,.*":
    description: iWave Systems Technologies Pvt. Ltd.
  "^jadard,.*":
    description: Jadard Technology Inc.
  "^jdi,.*":
    description: Japan Display Inc.
  "^jedec,.*":
    description: JEDEC Solid State Technology Association
  "^jesurun,.*":
    description: Shenzhen Jesurun Electronics Business Dept.
  "^jethome,.*":
    description: JetHome (IP Sokolov P.A.)
  "^jianda,.*":
    description: Jiandangjing Technology Co., Ltd.
  "^joz,.*":
    description: JOZ BV
  "^kam,.*":
    description: Kamstrup A/S
  "^karo,.*":
    description: Ka-Ro electronics GmbH
  "^keithkoep,.*":
    description: Keith & Koep GmbH
  "^keymile,.*":
    description: Keymile GmbH
  "^khadas,.*":
    description: Khadas
  "^kiebackpeter,.*":
    description: Kieback & Peter GmbH
  "^kinetic,.*":
    description: Kinetic Technologies
  "^kingdisplay,.*":
    description: King & Display Technology Co., Ltd.
  "^kingnovel,.*":
    description: Kingnovel Technology Co., Ltd.
  "^kionix,.*":
    description: Kionix, Inc.
  "^kobo,.*":
    description: Rakuten Kobo Inc.
  "^kobol,.*":
    description: Kobol Innovations Pte. Ltd.
  "^koe,.*":
    description: Kaohsiung Opto-Electronics Inc.
  "^kontron,.*":
    description: Kontron S&T AG
  "^kosagi,.*":
    description: Sutajio Ko-Usagi PTE Ltd.
  "^kvg,.*":
    description: Kverneland Group
  "^kyo,.*":
    description: Kyocera Corporation
  "^lacie,.*":
    description: LaCie
  "^laird,.*":
    description: Laird PLC
  "^lamobo,.*":
    description: Ketai Huajie Technology Co., Ltd.
  "^lantiq,.*":
    description: Lantiq Semiconductor
  "^lattice,.*":
    description: Lattice Semiconductor
  "^leadtek,.*":
    description: Shenzhen Leadtek Technology Co., Ltd.
  "^leez,.*":
    description: Leez
  "^lego,.*":
    description: LEGO Systems A/S
  "^lemaker,.*":
    description: Shenzhen LeMaker Technology Co., Ltd.
  "^lenovo,.*":
    description: Lenovo Group Ltd.
  "^lg,.*":
    description: LG Corporation
  "^lgphilips,.*":
    description: LG Display
  "^libretech,.*":
    description: Shenzhen Libre Technology Co., Ltd
  "^licheepi,.*":
    description: Lichee Pi
  "^linaro,.*":
    description: Linaro Limited
  "^linksprite,.*":
    description: LinkSprite Technologies, Inc.
  "^linksys,.*":
    description: Belkin International, Inc. (Linksys)
  "^linutronix,.*":
    description: Linutronix GmbH
  "^linux,.*":
    description: Linux-specific binding
  "^linx,.*":
    description: Linx Technologies
  "^liteon,.*":
    description: LITE-ON Technology Corp.
  "^litex,.*":
    description: LiteX SoC builder
  "^lltc,.*":
    description: Linear Technology Corporation
  "^logicpd,.*":
    description: Logic PD, Inc.
  "^logictechno,.*":
    description: Logic Technologies Limited
  "^longcheer,.*":
    description: Longcheer Technology (Shanghai) Co., Ltd.
  "^lontium,.*":
    description: Lontium Semiconductor Corporation
  "^loongson,.*":
    description: Loongson Technology Corporation Limited
  "^lsi,.*":
    description: LSI Corp. (LSI Logic)
  "^lwn,.*":
    description: Liebherr-Werk Nenzing GmbH
  "^lxa,.*":
    description: Linux Automation GmbH
  "^m5stack,.*":
    description: M5Stack
  "^macnica,.*":
    description: Macnica Americas
  "^mantix,.*":
    description: Mantix Display Technology Co.,Ltd.
  "^mapleboard,.*":
    description: Mapleboard.org
  "^marvell,.*":
    description: Marvell Technology Group Ltd.
  "^maxbotix,.*":
    description: MaxBotix Inc.
  "^maxim,.*":
    description: Maxim Integrated Products
  "^mbvl,.*":
    description: Mobiveil Inc.
  "^mcube,.*":
    description: mCube
  "^meas,.*":
    description: Measurement Specialties
  "^mecer,.*":
    description: Mustek Limited
  "^mediatek,.*":
    description: MediaTek Inc.
  "^megachips,.*":
    description: MegaChips
  "^mele,.*":
    description: Shenzhen MeLE Digital Technology Ltd.
  "^melexis,.*":
    description: Melexis N.V.
  "^melfas,.*":
    description: MELFAS Inc.
  "^mellanox,.*":
    description: Mellanox Technologies
  "^memsensing,.*":
    description: MEMSensing Microsystems Co., Ltd.
  "^memsic,.*":
    description: MEMSIC Inc.
  "^menlo,.*":
    description: Menlo Systems GmbH
  "^mentor,.*":
    description: Mentor Graphics
  "^meraki,.*":
    description: Cisco Meraki, LLC
  "^merrii,.*":
    description: Merrii Technology Co., Ltd.
  "^methode,.*":
    description: Methode Electronics, Inc.
  "^micrel,.*":
    description: Micrel Inc.
  "^microchip,.*":
    description: Microchip Technology Inc.
  "^microcrystal,.*":
    description: Micro Crystal AG
  "^micron,.*":
    description: Micron Technology Inc.
  "^microsoft,.*":
    description: Microsoft Corporation
  "^microsys,.*":
    description: MicroSys Electronics GmbH
  "^mikroe,.*":
    description: MikroElektronika d.o.o.
  "^mikrotik,.*":
    description: MikroTik
  "^miniand,.*":
    description: Miniand Tech
  "^minix,.*":
    description: MINIX Technology Ltd.
  "^miramems,.*":
    description: MiraMEMS Sensing Technology Co., Ltd.
  "^mitsubishi,.*":
    description: Mitsubishi Electric Corporation
  "^mixel,.*":
    description: Mixel, Inc.
  "^miyoo,.*":
    description: Miyoo
  "^mntre,.*":
    description: MNT Research GmbH
  "^modtronix,.*":
    description: Modtronix Engineering
  "^moortec,.*":
    description: Moortec Semiconductor Ltd.
  "^mosaixtech,.*":
    description: Mosaix Technologies, Inc.
  "^motorola,.*":
    description: Motorola, Inc.
  "^moxa,.*":
    description: Moxa Inc.
  "^mpl,.*":
    description: MPL AG
  "^mps,.*":
    description: Monolithic Power Systems Inc.
  "^mqmaker,.*":
    description: mqmaker Inc.
  "^mrvl,.*":
    description: Marvell Technology Group Ltd.
    deprecated: true
  "^mscc,.*":
    description: Microsemi Corporation
  "^msi,.*":
    description: Micro-Star International Co. Ltd.
  "^mstar,.*":
    description: MStar Semiconductor, Inc. (acquired by MediaTek Inc.)
  "^mti,.*":
    description: Imagination Technologies Ltd. (formerly MIPS Technologies Inc.)
  "^multi-inno,.*":
    description: Multi-Inno Technology Co.,Ltd
  "^mundoreader,.*":
    description: Mundo Reader S.L.
  "^murata,.*":
    description: Murata Manufacturing Co., Ltd.
  "^mxic,.*":
    description: Macronix International Co., Ltd.
    deprecated: true
  "^mxicy,.*":
    description: Macronix International Co., Ltd.
  "^myir,.*":
    description: MYIR Tech Limited
  "^national,.*":
    description: National Semiconductor
  "^nec,.*":
    description: NEC LCD Technologies, Ltd.
  "^neonode,.*":
    description: Neonode Inc.
  "^netgear,.*":
    description: NETGEAR
  "^netlogic,.*":
    description: Broadcom Corporation (formerly NetLogic Microsystems)
  "^netron-dy,.*":
    description: Netron DY
  "^netronix,.*":
    description: Netronix, Inc.
  "^netxeon,.*":
    description: Shenzhen Netxeon Technology CO., LTD
  "^neweast,.*":
    description: Guangdong Neweast Optoelectronics CO., LTD
  "^newvision,.*":
    description: New Vision Display (Shenzhen) Co., Ltd.
  "^nexbox,.*":
    description: Nexbox
  "^nextthing,.*":
    description: Next Thing Co.
  "^newhaven,.*":
    description: Newhaven Display International
  "^ni,.*":
    description: National Instruments
  "^nintendo,.*":
    description: Nintendo
  "^nlt,.*":
    description: NLT Technologies, Ltd.
  "^nokia,.*":
    description: Nokia
  "^nordic,.*":
    description: Nordic Semiconductor
  "^novtech,.*":
    description: NovTech, Inc.
  "^nutsboard,.*":
    description: NutsBoard
  "^nuvoton,.*":
    description: Nuvoton Technology Corporation
  "^nvd,.*":
    description: New Vision Display
  "^nvidia,.*":
    description: NVIDIA
  "^nxp,.*":
    description: NXP Semiconductors
  "^oceanic,.*":
    description: Oceanic Systems (UK) Ltd.
  "^ocs,.*":
    description: Orient Chip Technology Co., Ltd.
  "^oct,.*":
    description: Octavo Systems LLC
  "^okaya,.*":
    description: Okaya Electric America, Inc.
  "^oki,.*":
    description: Oki Electric Industry Co., Ltd.
  "^olimex,.*":
    description: OLIMEX Ltd.
  "^olpc,.*":
    description: One Laptop Per Child
  "^oneplus,.*":
    description: OnePlus Technology (Shenzhen) Co., Ltd.
  "^onie,.*":
    description: Open Network Install Environment group
  "^onion,.*":
    description: Onion Corporation
  "^onnn,.*":
    description: ON Semiconductor Corp.
  "^ontat,.*":
    description: On Tat Industrial Company
  "^opalkelly,.*":
    description: Opal Kelly Incorporated
  "^openailab,.*":
    description: openailab.com
  "^opencores,.*":
    description: OpenCores.org
  "^openembed,.*":
    description: OpenEmbed
  "^openrisc,.*":
    description: OpenRISC.io
  "^option,.*":
    description: Option NV
  "^oranth,.*":
    description: Shenzhen Oranth Technology Co., Ltd.
  "^ORCL,.*":
    description: Oracle Corporation
  "^orisetech,.*":
    description: Orise Technology
  "^ortustech,.*":
    description: Ortus Technology Co., Ltd.
  "^osddisplays,.*":
    description: OSD Displays
  "^osmc,.*":
    description: Sam Nazarko Trading Ltd. (Open Source Media Centre)
  "^ouya,.*":
    description: Ouya Inc.
  "^overkiz,.*":
    description: Overkiz SAS
  "^ovti,.*":
    description: OmniVision Technologies
  "^oxsemi,.*":
    description: Oxford Semiconductor, Ltd.
  "^ozzmaker,.*":
    description: OzzMaker
  "^panasonic,.*":
    description: Panasonic Corporation
  "^parade,.*":
    description: Parade Technologies Inc.
  "^parallax,.*":
    description: Parallax Inc.
  "^pda,.*":
    description: Precision Design Associates, Inc.
  "^pericom,.*":
    description: Pericom Technology Inc.
  "^pervasive,.*":
    description: Pervasive Displays, Inc.
  "^phicomm,.*":
    description: PHICOMM Co., Ltd.
  "^phytec,.*":
    description: PHYTEC Messtechnik GmbH
  "^picochip,.*":
    description: Picochip Ltd
  "^pine64,.*":
    description: Pine64
  "^pineriver,.*":
    description: Shenzhen PineRiver Designs Co., Ltd.
  "^pixcir,.*":
    description: PIXCIR MICROELECTRONICS Co., Ltd
  "^plantower,.*":
    description: Plantower Co., Ltd
  "^plathome,.*":
    description: Plat\'Home Co., Ltd.
  "^plda,.*":
    description: PLDA
  "^plx,.*":
    description: Broadcom Corporation (formerly PLX Technology)
  "^ply,.*":
    description: Plymovent Group BV
  "^pni,.*":
    description: PNI Sensor Corporation
  "^pocketbook,.*":
    description: PocketBook International SA
  "^polaroid,.*":
    description: Polaroid Corporation
  "^portwell,.*":
    description: Portwell Inc.
  "^poslab,.*":
    description: Poslab Technology Co., Ltd.
  "^pov,.*":
    description: Point of View International B.V.
  "^powertip,.*":
    description: Powertip Tech. Corp.
  "^powervr,.*":
    description: PowerVR (deprecated, use img)
  "^primux,.*":
    description: Primux Trading, S.L.
  "^probox2,.*":
    description: PROBOX2 (by W2COMP Co., Ltd.)
  "^prt,.*":
    description: Protonic Holland
  "^pulsedlight,.*":
    description: PulsedLight, Inc
  "^purism,.*":
    description: Purism, SPC
  "^qca,.*":
    description: Qualcomm Atheros, Inc.
  "^qcom,.*":
    description: Qualcomm Technologies, Inc
  "^qemu,.*":
    description: QEMU, a generic and open source machine emulator and virtualizer
  "^qi,.*":
    description: Qi Hardware
  "^qihua,.*":
    description: Chengdu Kaixuan Information Technology Co., Ltd.
  "^qiaodian,.*":
    description: QiaoDian XianShi Corporation
  "^qishenglong,.*":
    description: Shenzhen QiShenglong Industrialist Co., Ltd.
  "^qnap,.*":
    description: QNAP Systems, Inc.
  "^quanta,.*":
    description: Quanta Computer Inc.
  "^radxa,.*":
    description: Radxa
  "^raidsonic,.*":
    description: RaidSonic Technology GmbH
  "^ralink,.*":
    description: Mediatek/Ralink Technology Corp.
  "^ramtron,.*":
    description: Ramtron International
  "^raspberrypi,.*":
    description: Raspberry Pi Foundation
  "^raydium,.*":
    description: Raydium Semiconductor Corp.
  "^rda,.*":
    description: Unisoc Communications, Inc.
  "^realtek,.*":
    description: Realtek Semiconductor Corp.
  "^remarkable,.*":
    description: reMarkable AS
  "^renesas,.*":
    description: Renesas Electronics Corporation
  "^rex,.*":
    description: iMX6 Rex Project
  "^rervision,.*":
    description: Shenzhen Rervision Technology Co., Ltd.
  "^revotics,.*":
    description: Revolution Robotics, Inc. (Revotics)
  "^richtek,.*":
    description: Richtek Technology Corporation
  "^ricoh,.*":
    description: Ricoh Co. Ltd.
  "^rikomagic,.*":
    description: Rikomagic Tech Corp. Ltd
  "^riscv,.*":
    description: RISC-V Foundation
  "^riot,.*":
    description: Embest RIoT
  "^rockchip,.*":
    description: Fuzhou Rockchip Electronics Co., Ltd
  "^rocktech,.*":
    description: ROCKTECH DISPLAYS LIMITED
  "^rohm,.*":
    description: ROHM Semiconductor Co., Ltd
  "^ronbo,.*":
    description: Ronbo Electronics
  "^roofull,.*":
    description: Shenzhen Roofull Technology Co, Ltd
  "^roseapplepi,.*":
    description: RoseapplePi.org
  "^samsung,.*":
    description: Samsung Semiconductor
  "^samtec,.*":
    description: Samtec/Softing company
  "^sancloud,.*":
    description: Sancloud Ltd
  "^sandisk,.*":
    description: Sandisk Corporation
  "^satoz,.*":
    description: Satoz International Co., Ltd
  "^sbs,.*":
    description: Smart Battery System
  "^schindler,.*":
    description: Schindler
  "^seagate,.*":
    description: Seagate Technology PLC
  "^seeed,.*":
    description: Seeed Technology Co., Ltd
  "^seirobotics,.*":
    description: Shenzhen SEI Robotics Co., Ltd
  "^semtech,.*":
    description: Semtech Corporation
  "^senseair,.*":
    description: Senseair AB
  "^sensirion,.*":
    description: Sensirion AG
  "^sensortek,.*":
    description: Sensortek Technology Corporation
  "^sercomm,.*":
    description: Sercomm (Suzhou) Corporation
  "^sff,.*":
    description: Small Form Factor Committee
  "^sgd,.*":
    description: Solomon Goldentek Display Corporation
  "^sgmicro,.*":
    description: SG Micro Corp
  "^sgx,.*":
    description: SGX Sensortech
  "^sharp,.*":
    description: Sharp Corporation
  "^shift,.*":
    description: SHIFT GmbH
  "^shimafuji,.*":
    description: Shimafuji Electric, Inc.
  "^shiratech,.*":
    description: Shiratech Solutions
  "^si-en,.*":
    description: Si-En Technology Ltd.
  "^si-linux,.*":
    description: Silicon Linux Corporation
  "^sifive,.*":
    description: SiFive, Inc.
  "^sigma,.*":
    description: Sigma Designs, Inc.
  "^sii,.*":
    description: Seiko Instruments, Inc.
  "^sil,.*":
    description: Silicon Image
  "^silabs,.*":
    description: Silicon Laboratories
  "^silan,.*":
    description: Hangzhou Silan Microelectronics Co., Ltd.
  "^silead,.*":
    description: Silead Inc.
  "^silergy,.*":
    description: Silergy Corp.
  "^silex-insight,.*":
    description: Silex Insight
  "^siliconfile,.*":
    description: Siliconfile Technologies lnc.
  "^siliconmitus,.*":
    description: Silicon Mitus, Inc.
  "^siemens,.*":
    description: Siemens AG
  "^simtek,.*":
    description: Cypress Semiconductor Corporation (Simtek Corporation)
  "^sinlinx,.*":
    description: Sinlinx Electronics Technology Co., LTD
  "^sinovoip,.*":
    description: SinoVoip Co., Ltd
  "^sinowealth,.*":
    description: SINO WEALTH Electronic Ltd.
  "^sipeed,.*":
    description: Shenzhen Sipeed Technology Co., Ltd.
  "^sirf,.*":
    description: SiRF Technology, Inc.
  "^sis,.*":
    description: Silicon Integrated Systems Corp.
  "^sitronix,.*":
    description: Sitronix Technology Corporation
  "^skov,.*":
    description: SKOV A/S
  "^skyworks,.*":
    description: Skyworks Solutions, Inc.
  "^smartlabs,.*":
    description: SmartLabs LLC
  "^smsc,.*":
    description: Standard Microsystems Corporation
  "^snps,.*":
    description: Synopsys, Inc.
  "^sochip,.*":
    description: Shenzhen SoChip Technology Co., Ltd.
  "^socionext,.*":
    description: Socionext Inc.
  "^solidrun,.*":
    description: SolidRun
  "^solomon,.*":
    description: Solomon Systech Limited
  "^sony,.*":
    description: Sony Corporation
  "^spansion,.*":
    description: Spansion Inc.
  "^sparkfun,.*":
    description: SparkFun Electronics
  "^spinalhdl,.*":
    description: SpinalHDL
  "^sprd,.*":
    description: Spreadtrum Communications Inc.
  "^ssi,.*":
    description: SSI Computer Corp
  "^sst,.*":
    description: Silicon Storage Technology, Inc.
  "^sstar,.*":
    description: Xiamen Xingchen(SigmaStar) Technology Co., Ltd.
      (formerly part of MStar Semiconductor, Inc.)
  "^st,.*":
    description: STMicroelectronics
  "^starfive,.*":
    description: StarFive Technology Co. Ltd.
  "^starry,.*":
    description: Starry Electronic Technology (ShenZhen) Co., LTD
  "^startek,.*":
    description: Startek
  "^ste,.*":
    description: ST-Ericsson
    deprecated: true
  "^stericsson,.*":
    description: ST-Ericsson
  "^st-ericsson,.*":
    description: ST-Ericsson
    deprecated: true
  "^storlink,.*":
    description: StorLink Semiconductors, Inc.
  "^storm,.*":
    description: Storm Semiconductor, Inc.
  "^storopack,.*":
    description: Storopack
  "^summit,.*":
    description: Summit microelectronics
  "^sunchip,.*":
    description: Shenzhen Sunchip Technology Co., Ltd
  "^sundance,.*":
    description: Sundance DSP Inc.
  "^sunplus,.*":
    description: Sunplus Technology Co., Ltd.
  "^SUNW,.*":
    description: Sun Microsystems, Inc
  "^supermicro,.*":
    description: Super Micro Computer, Inc.
  "^silvaco,.*":
    description: Silvaco, Inc.
  "^swir,.*":
    description: Sierra Wireless
  "^syna,.*":
    description: Synaptics Inc.
  "^synology,.*":
    description: Synology, Inc.
  "^synopsys,.*":
    description: Synopsys, Inc. (deprecated, use snps)
    deprecated: true
  "^tbs,.*":
    description: TBS Technologies
  "^tbs-biometrics,.*":
    description: Touchless Biometric Systems AG
  "^tcg,.*":
    description: Trusted Computing Group
  "^tcl,.*":
    description: Toby Churchill Ltd.
  "^tcs,.*":
    description: Shenzhen City Tang Cheng Technology Co., Ltd.
  "^tdo,.*":
    description: Shangai Top Display Optoelectronics Co., Ltd
  "^technexion,.*":
    description: TechNexion
  "^technologic,.*":
    description: Technologic Systems
  "^teltonika,.*":
    description: Teltonika Networks
  "^tempo,.*":
    description: Tempo Semiconductor
  "^techstar,.*":
    description: Shenzhen Techstar Electronics Co., Ltd.
  "^terasic,.*":
    description: Terasic Inc.
  "^tesla,.*":
    description: Tesla, Inc.
  "^tfc,.*":
    description: Three Five Corp
  "^thead,.*":
    description: T-Head Semiconductor Co., Ltd.
  "^thine,.*":
    description: THine Electronics, Inc.
  "^thingyjp,.*":
    description: thingy.jp
  "^thundercomm,.*":
    description: Thundercomm Technology Co., Ltd.
  "^ti,.*":
    description: Texas Instruments
  "^tianma,.*":
    description: Tianma Micro-electronics Co., Ltd.
  "^tlm,.*":
    description: Trusted Logic Mobility
  "^tmt,.*":
    description: Tecon Microprocessor Technologies, LLC.
  "^topeet,.*":
    description: Topeet
  "^topic,.*":
    description: Topic Embedded Systems
  "^toppoly,.*":
    description: TPO (deprecated, use tpo)
    deprecated: true
  "^topwise,.*":
    description: Topwise Communication Co., Ltd.
  "^toradex,.*":
    description: Toradex AG
  "^toshiba,.*":
    description: Toshiba Corporation
  "^toumaz,.*":
    description: Toumaz
  "^tpk,.*":
    description: TPK U.S.A. LLC
  "^tplink,.*":
    description: TP-LINK Technologies Co., Ltd.
  "^tpo,.*":
    description: TPO
  "^tq,.*":
    description: TQ-Systems GmbH
  "^traverse,.*":
    description: Traverse Technologies Australia Pty Ltd
  "^tronfy,.*":
    description: Tronfy
  "^tronsmart,.*":
    description: Tronsmart
  "^truly,.*":
    description: Truly Semiconductors Limited
  "^visionox,.*":
    description: Visionox
  "^team-source-display,.*":
    description: Shenzhen Team Source Display Technology Co., Ltd. (TSD)
  "^tsd,.*":
    description: Theobroma Systems Design und Consulting GmbH
  "^tyan,.*":
    description: Tyan Computer Corporation
  "^u-blox,.*":
    description: u-blox
  "^u-boot,.*":
    description: U-Boot bootloader
  "^ucrobotics,.*":
    description: uCRobotics
  "^ubnt,.*":
    description: Ubiquiti Networks
  "^udoo,.*":
    description: Udoo
  "^ugoos,.*":
    description: Ugoos Industrial Co., Ltd.
  "^uniwest,.*":
    description: United Western Technologies Corp (UniWest)
  "^upisemi,.*":
    description: uPI Semiconductor Corp.
  "^urt,.*":
    description: United Radiant Technology Corporation
  "^usi,.*":
    description: Universal Scientific Industrial Co., Ltd.
  "^utoo,.*":
    description: Aigo Digital Technology Co., Ltd.
  "^v3,.*":
    description: V3 Semiconductor
  "^vaisala,.*":
    description: Vaisala
  "^vamrs,.*":
    description: Vamrs Ltd.
  "^variscite,.*":
    description: Variscite Ltd.
  "^vdl,.*":
    description: Van der Laan b.v.
  "^vertexcom,.*":
    description: Vertexcom Technologies, Inc.
  "^via,.*":
    description: VIA Technologies, Inc.
  "^vicor,.*":
    description: Vicor Corporation
  "^videostrong,.*":
    description: Videostrong Technology Co., Ltd.
  "^virtio,.*":
    description: Virtual I/O Device Specification, developed by the OASIS consortium
  "^virtual,.*":
    description: Used for virtual device without specific vendor.
  "^vishay,.*":
    description: Vishay Intertechnology, Inc
  "^vitesse,.*":
    description: Vitesse Semiconductor Corporation
  "^vivante,.*":
    description: Vivante Corporation
  "^vivax,.*":
    description: Vivax brand by M SAN Grupa d.o.o.
  "^vocore,.*":
    description: VoCore Studio
  "^voipac,.*":
    description: Voipac Technologies s.r.o.
  "^vot,.*":
    description: Vision Optical Technology Co., Ltd.
  "^vxt,.*":
    description: VXT Ltd
  "^wand,.*":
    description: Wandbord (Technexion)
  "^waveshare,.*":
    description: Waveshare Electronics
  "^wd,.*":
    description: Western Digital Corp.
  "^we,.*":
    description: Würth Elektronik GmbH.
  "^welltech,.*":
    description: Welltech Computer Co., Limited.
  "^wetek,.*":
    description: WeTek Electronics, limited.
  "^wexler,.*":
    description: Wexler
  "^whwave,.*":
    description: Shenzhen whwave Electronics, Inc.
  "^wi2wi,.*":
    description: Wi2Wi, Inc.
  "^wiligear,.*":
    description: Wiligear, Ltd.
  "^willsemi,.*":
    description: Will Semiconductor Ltd.
  "^winbond,.*":
    description: Winbond Electronics corp.
  "^wingtech,.*":
    description: Wingtech Technology Co., Ltd.
  "^winlink,.*":
    description: WinLink Co., Ltd
  "^winstar,.*":
    description: Winstar Display Corp.
  "^wirelesstag,.*":
    description: Wireless Tag (qiming yunduan)
  "^wits,.*":
    description: Shenzhen Merrii Technology Co., Ltd. (WITS)
  "^wlf,.*":
    description: Wolfson Microelectronics
  "^wm,.*":
    description: Wondermedia Technologies, Inc.
  "^wobo,.*":
    description: Wobo
  "^wanchanglong,.*":
    description: Wanchanglong Electronics Technology（SHENZHEN）Co.，Ltd.
  "^x-powers,.*":
    description: X-Powers
  "^xen,.*":
    description: Xen Hypervisor
  "^xes,.*":
    description: Extreme Engineering Solutions (X-ES)
  "^xiaomi,.*":
    description: Xiaomi Technology Co., Ltd.
  "^xillybus,.*":
    description: Xillybus Ltd.
  "^xingbangda,.*":
    description: Shenzhen Xingbangda Display Technology Co., Ltd
  "^xinpeng,.*":
    description: Shenzhen Xinpeng Technology Co., Ltd
  "^xiphera,.*":
    description: Xiphera Ltd.
  "^xlnx,.*":
    description: Xilinx
  "^xnano,.*":
    description: Xnano
  "^xunlong,.*":
    description: Shenzhen Xunlong Software CO.,Limited
  "^xylon,.*":
    description: Xylon
  "^yadro,.*":
    description: YADRO
  "^yamaha,.*":
    description: Yamaha Corporation
  "^yes-optoelectronics,.*":
    description: Yes Optoelectronics Co.,Ltd.
  "^yic,.*":
    description: YIC System Co., Ltd.
  "^ylm,.*":
    description: Shenzhen Yangliming Electronic Technology Co., Ltd.
  "^yna,.*":
    description: YSH & ATIL
  "^yones-toptech,.*":
    description: Yones Toptech Co., Ltd.
  "^ys,.*":
    description: Shenzhen Yashi Changhua Intelligent Technology Co., Ltd.
  "^ysoft,.*":
    description: Y Soft Corporation a.s.
  "^zealz,.*":
    description: Zealz
  "^zarlink,.*":
    description: Zarlink Semiconductor
  "^zeitec,.*":
    description: ZEITEC Semiconductor Co., LTD.
  "^zidoo,.*":
    description: Shenzhen Zidoo Technology Co., Ltd.
  "^zii,.*":
    description: Zodiac Inflight Innovations
  "^zinitix,.*":
    description: Zinitix Co., Ltd
  "^zkmagic,.*":
    description: Shenzhen Zkmagic Technology Co., Ltd.
  "^zte,.*":
    description: ZTE Corp.
  "^zyxel,.*":
    description: ZyXEL Communications Corp.

  # Normal property name match without a comma
  # These should catch all node/property names without a prefix
  "^[a-zA-Z0-9#_][a-zA-Z0-9+\\-._@]{0,63}$": true
  "^[a-zA-Z0-9+\\-._]*@[0-9a-zA-Z,]*$": true
  "^#.*": true

additionalProperties: false

...


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/virtio/mmio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: virtio memory mapped devices

maintainers:
  - Jean-Philippe Brucker <jean-philippe@linaro.org>

description:
  See https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=virtio for
  more details.

properties:
  compatible:
    const: virtio,mmio

  reg:
    maxItems: 1

  dma-coherent: true

  interrupts:
    maxItems: 1

  '#iommu-cells':
    description: Required when the node corresponds to a virtio-iommu device.
    const: 1

  iommus:
    description: Required for devices making accesses thru an IOMMU.
    maxItems: 1

  wakeup-source:
    type: boolean
    description: Required for setting irq of a virtio_mmio device as wakeup source.

required:
  - compatible
  - reg
  - interrupts

additionalProperties:
  type: object

examples:
  - |
    virtio@3000 {
        compatible = "virtio,mmio";
        reg = <0x3000 0x100>;
        interrupts = <41>;

        /* Device has endpoint ID 23 */
        iommus = <&viommu 23>;
    };

    viommu: iommu@3100 {
        compatible = "virtio,mmio";
        reg = <0x3100 0x100>;
        interrupts = <42>;

        #iommu-cells = <1>;
    };

...


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/virtio/pci-iommu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: virtio-iommu device using the virtio-pci transport

maintainers:
  - Jean-Philippe Brucker <jean-philippe@linaro.org>

description: |
  When virtio-iommu uses the PCI transport, its programming interface is
  discovered dynamically by the PCI probing infrastructure. However the
  device tree statically describes the relation between IOMMU and DMA
  masters. Therefore, the PCI root complex that hosts the virtio-iommu
  contains a child node representing the IOMMU device explicitly.

  DMA from the IOMMU device isn't managed by another IOMMU. Therefore the
  virtio-iommu node doesn't have an "iommus" property, and is omitted from
  the iommu-map property of the root complex.

properties:
  # If compatible is present, it should contain the vendor and device ID
  # according to the PCI Bus Binding specification. Since PCI provides
  # built-in identification methods, compatible is not actually required.
  compatible:
    oneOf:
      - items:
          - const: virtio,pci-iommu
          - const: pci1af4,1057
      - items:
          - const: pci1af4,1057

  reg:
    description: |
      PCI address of the IOMMU. As defined in the PCI Bus Binding
      reference, the reg property is a five-cell address encoded as (phys.hi
      phys.mid phys.lo size.hi size.lo). phys.hi should contain the device's
      BDF as 0b00000000 bbbbbbbb dddddfff 00000000. The other cells should be
      zero. See Documentation/devicetree/bindings/pci/pci.txt

  '#iommu-cells':
    const: 1

required:
  - compatible
  - reg
  - '#iommu-cells'

additionalProperties: false

examples:
  - |
    bus {
        #address-cells = <2>;
        #size-cells = <2>;

        pcie@40000000 {
            device_type = "pci";
            #address-cells = <3>;
            #size-cells = <2>;
            reg = <0x0 0x40000000  0x0 0x1000000>;
            ranges = <0x02000000 0x0 0x41000000  0x0 0x41000000  0x0 0x0f000000>;

            /*
             * The IOMMU manages all functions in this PCI domain except
             * itself. Omit BDF 00:01.0.
             */
            iommu-map = <0x0 &iommu0 0x0 0x8
                         0x9 &iommu0 0x9 0xfff7>;

            /* The IOMMU programming interface uses slot 00:01.0 */
            iommu0: iommu@1,0 {
                compatible = "pci1af4,1057";
                reg = <0x800 0 0 0 0>;
                #iommu-cells = <1>;
            };
        };

        pcie@50000000 {
            device_type = "pci";
            #address-cells = <3>;
            #size-cells = <2>;
            reg = <0x0 0x50000000  0x0 0x1000000>;
            ranges = <0x02000000 0x0 0x51000000  0x0 0x51000000  0x0 0x0f000000>;

            /*
             * The IOMMU also manages all functions from this domain,
             * with endpoint IDs 0x10000 - 0x1ffff
             */
            iommu-map = <0x0 &iommu0 0x10000 0x10000>;
        };

        ethernet {
            /* The IOMMU manages this platform device with endpoint ID 0x20000 */
            iommus = <&iommu0 0x20000>;
        };
    };

...


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/virtio/virtio-device.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Virtio device bindings

maintainers:
  - Viresh Kumar <viresh.kumar@linaro.org>

description:
  These bindings are applicable to virtio devices irrespective of the bus they
  are bound to, like mmio or pci.

# We need a select here so we don't match all nodes with 'virtio,mmio'
properties:
  compatible:
    pattern: "^virtio,device[0-9a-f]{1,8}$"
    description: Virtio device nodes.
      "virtio,deviceID", where ID is the virtio device id. The textual
      representation of ID shall be in lower case hexadecimal with leading
      zeroes suppressed.

required:
  - compatible

additionalProperties: true

examples:
  - |
    virtio@3000 {
        compatible = "virtio,mmio";
        reg = <0x3000 0x100>;
        interrupts = <43>;

        i2c {
            compatible = "virtio,device22";
        };
    };
...


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/w1/fsl-imx-owire.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale i.MX One wire bus master controller

maintainers:
  - Martin Fuzzey <mfuzzey@parkeon.com>

properties:
  compatible:
    oneOf:
      - const: fsl,imx21-owire
      - items:
          - enum:
              - fsl,imx27-owire
              - fsl,imx50-owire
              - fsl,imx51-owire
              - fsl,imx53-owire
          - const: fsl,imx21-owire

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx5-clock.h>

    owire@63fa4000 {
        compatible = "fsl,imx53-owire", "fsl,imx21-owire";
        reg = <0x63fa4000 0x4000>;
        clocks = <&clks IMX5_CLK_OWIRE_GATE>;
    };


code:
* OMAP HDQ One wire bus master controller

Required properties:
- compatible : should be "ti,omap3-1w" or "ti,am4372-hdq"
- reg : Address and length of the register set for the device
- interrupts : interrupt line.
- ti,hwmods : "hdq1w"

Optional properties:
- ti,mode: should be "hdq": HDQ mode  "1w": one-wire mode.
	   If not specified HDQ mode is implied.

Example:

- From omap3.dtsi
  hdqw1w: 1w@480b2000 {
	compatible = "ti,omap3-1w";
	reg = <0x480b2000 0x1000>;
	interrupts = <58>;
	ti,hwmods = "hdq1w";
	ti,mode = "hdq";
  };


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/w1/w1-gpio.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Bitbanged GPIO 1-Wire Bus

maintainers:
  - Daniel Mack <zonque@gmail.com>

properties:
  compatible:
    const: w1-gpio

  gpios:
    minItems: 1
    items:
      - description: Data I/O pin
      - description: Enable pin for an external pull-up resistor

  linux,open-drain:
    type: boolean
    description: >
      If specified, the data pin is considered in open-drain mode.

required:
  - compatible
  - gpios

additionalProperties:
  type: object

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    onewire {
        compatible = "w1-gpio";
        gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
    };

...


code:
Generic devicetree bindings for onewire (w1) busses
===================================================

Onewire busses are described through nodes of their master bus controller.
Slave devices are listed as sub-nodes of such master devices. For now, only
one slave is allowed per bus master.

Example:

	charger: charger {
		compatible = "gpio-charger";
		charger-type = "mains";
		gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
	};

	onewire {
		compatible = "w1-gpio";
		gpios = <&gpio 100 0>, <&gpio 101 0>;

		battery {
			compatible = "maxim,ds2760";
			power-supplies = <&charger>;
		};
	};


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/allwinner,sun4i-a10-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Allwinner A10 Watchdog

allOf:
  - $ref: "watchdog.yaml#"

maintainers:
  - Chen-Yu Tsai <wens@csie.org>
  - Maxime Ripard <mripard@kernel.org>

properties:
  compatible:
    oneOf:
      - const: allwinner,sun4i-a10-wdt
      - const: allwinner,sun6i-a31-wdt
      - items:
          - enum:
              - allwinner,sun50i-a64-wdt
              - allwinner,sun50i-a100-wdt
              - allwinner,sun50i-h6-wdt
              - allwinner,sun50i-h616-wdt
              - allwinner,sun50i-r329-wdt
              - allwinner,sun50i-r329-wdt-reset
              - allwinner,suniv-f1c100s-wdt
          - const: allwinner,sun6i-a31-wdt
      - const: allwinner,sun20i-d1-wdt
      - items:
          - const: allwinner,sun20i-d1-wdt-reset
          - const: allwinner,sun20i-d1-wdt

  reg:
    maxItems: 1

  clocks:
    minItems: 1
    items:
      - description: 32 KHz input clock
      - description: secondary clock source

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - clocks
  - interrupts

if:
  properties:
    compatible:
      contains:
        enum:
          - allwinner,sun20i-d1-wdt
          - allwinner,sun20i-d1-wdt-reset
          - allwinner,sun50i-r329-wdt
          - allwinner,sun50i-r329-wdt-reset

then:
  properties:
    clocks:
      items:
        - description: High-frequency oscillator input, divided internally
        - description: Low-frequency oscillator input

    clock-names:
      items:
        - const: hosc
        - const: losc

  required:
    - clock-names

else:
  properties:
    clocks:
      maxItems: 1

unevaluatedProperties: false

examples:
  - |
    wdt: watchdog@1c20c90 {
        compatible = "allwinner,sun4i-a10-wdt";
        reg = <0x01c20c90 0x10>;
        interrupts = <24>;
        clocks = <&osc24M>;
        timeout-sec = <10>;
    };

...


code:
Alphascale asm9260 Watchdog timer

Required properties:

- compatible : should be "alphascale,asm9260-wdt".
- reg : Specifies base physical address and size of the registers.
- clocks : the clocks feeding the watchdog timer. See clock-bindings.txt
- clock-names : should be set to
	"mod" - source for tick counter.
	"ahb" - ahb gate.
- resets : phandle pointing to the system reset controller with
	line index for the watchdog.
- reset-names : should be set to "wdt_rst".

Optional properties:
- timeout-sec : shall contain the default watchdog timeout in seconds,
	if unset, the default timeout is 30 seconds.
- alphascale,mode : three modes are supported
	"hw" - hw reset (default).
	"sw" - sw reset.
	"debug" - no action is taken.

Example:

watchdog0: watchdog@80048000 {
	compatible = "alphascale,asm9260-wdt";
	reg = <0x80048000 0x10>;
	clocks = <&acc CLKID_SYS_WDT>, <&acc CLKID_AHB_WDT>;
	clock-names = "mod", "ahb";
	interrupts = <55>;
	resets = <&rst WDT_RESET>;
	reset-names = "wdt_rst";
	timeout-sec = <30>;
	alphascale,mode = "hw";
};


code:
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright 2019 BayLibre, SAS
%YAML 1.2
---
$id: "http://devicetree.org/schemas/watchdog/amlogic,meson-gxbb-wdt.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: Meson GXBB SoCs Watchdog timer

maintainers:
  - Neil Armstrong <neil.armstrong@linaro.org>

allOf:
  - $ref: watchdog.yaml#

properties:
  compatible:
    enum:
      - amlogic,meson-gxbb-wdt

  reg:
    maxItems: 1

  clocks:
    maxItems: 1
    description:
      A phandle to the clock of this PHY

required:
  - compatible
  - reg
  - clocks

unevaluatedProperties: false

examples:
  - |
    watchdog@98d0 {
          compatible = "amlogic,meson-gxbb-wdt";
          reg = <0x98d0 0x10>;
          clocks = <&xtal>;
    };


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/apple,wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple SoC Watchdog

allOf:
  - $ref: "watchdog.yaml#"

maintainers:
  - Sven Peter <sven@svenpeter.dev>

properties:
  compatible:
    items:
      - enum:
          - apple,t8103-wdt
          - apple,t6000-wdt
      - const: apple,wdt

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - clocks
  - interrupts

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/apple-aic.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    wdt: watchdog@50000000 {
        compatible = "apple,t8103-wdt", "apple,wdt";
        reg = <0x50000000 0x4000>;
        clocks = <&clk>;
        interrupts = <AIC_IRQ 123 IRQ_TYPE_LEVEL_HIGH>;
    };

...


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/arm,sbsa-gwdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: SBSA (Server Base System Architecture) Generic Watchdog

maintainers:
  - Fu Wei <fu.wei@linaro.org>

description: |
  The SBSA Generic Watchdog Timer is used to force a reset of the system after
  two stages of timeout have elapsed. A detailed definition of the watchdog
  timer can be found in the ARM document: ARM-DEN-0029 - Server Base System
  Architecture (SBSA)

allOf:
  - $ref: watchdog.yaml#

properties:
  compatible:
    const: arm,sbsa-gwdt

  reg:
    items:
      - description: Watchdog control frame
      - description: Refresh frame

  interrupts:
    description: The Watchdog Signal 0 (WS0) SPI (Shared Peripheral Interrupt)
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts

unevaluatedProperties: false

examples:
  - |

    watchdog@2a440000 {
        compatible = "arm,sbsa-gwdt";
        reg = <0x2a440000 0x1000>,
              <0x2a450000 0x1000>;
        interrupts = <0 27 4>;
        timeout-sec = <30>;
    };
...


code:
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/arm,sp805.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ARM AMBA Primecell SP805 Watchdog

maintainers:
  - Viresh Kumar <vireshk@kernel.org>

description: |+
  The Arm SP805 IP implements a watchdog device, which triggers an interrupt
  after a configurable time period. If that interrupt has not been serviced
  when the next interrupt would be triggered, the reset signal is asserted.

allOf:
  - $ref: /schemas/watchdog/watchdog.yaml#

# Need a custom select here or 'arm,primecell' will match on lots of nodes
select:
  properties:
    compatible:
      contains:
        const: arm,sp805
  required:
    - compatible

properties:
  compatible:
    items:
      - const: arm,sp805
      - const: arm,primecell

  interrupts:
    maxItems: 1

  reg:
    maxItems: 1

  clocks:
    description: |
      Clocks driving the watchdog timer hardware. The first clock is used
      for the actual watchdog counter. The second clock drives the register
      interface.
    minItems: 2
    maxItems: 2

  clock-names:
    items:
      - const: wdog_clk
      - const: apb_pclk

required:
  - compatible
  - reg
  - clocks
  - clock-names

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    watchdog@66090000 {
        compatible = "arm,sp805", "arm,primecell";
        reg = <0x66090000 0x1000>;
        interrupts = <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>;
        clocks = <&wdt_clk>, <&apb_pclk>;
        clock-names = "wdog_clk", "apb_pclk";
    };


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/arm,twd-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ARM Timer-Watchdog Watchdog

maintainers:
  - Rob Herring <robh@kernel.org>

description:
  ARM 11MP, Cortex-A5 and Cortex-A9 are often associated with a per-core
  Timer-Watchdog (aka TWD), which provides both a per-cpu local timer
  and watchdog.

  The TWD is usually attached to a GIC to deliver its two per-processor
  interrupts.

properties:
  compatible:
    enum:
      - arm,cortex-a9-twd-wdt
      - arm,cortex-a5-twd-wdt
      - arm,arm11mp-twd-wdt

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    watchdog@2c000620 {
            compatible = "arm,arm11mp-twd-wdt";
            reg = <0x2c000620 0x20>;
            interrupts = <GIC_PPI 14 0xf01>;
    };


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/arm-smc-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ARM Secure Monitor Call based watchdog

allOf:
  - $ref: "watchdog.yaml#"

maintainers:
  - Julius Werner <jwerner@chromium.org>

properties:
  compatible:
    enum:
      - arm,smc-wdt
  arm,smc-id:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: |
      The ATF smc function id used by the firmware.
      Defaults to 0x82003D06 if unset.

required:
  - compatible

unevaluatedProperties: false

examples:
  - |
    watchdog {
      compatible = "arm,smc-wdt";
      arm,smc-id = <0x82003D06>;
      timeout-sec = <15>;
    };

...


code:
* Armada 37xx CPU Watchdog Timer Controller

Required properties:
- compatible : must be "marvell,armada-3700-wdt"
- reg : base physical address of the controller and length of memory mapped
	region.
- clocks : the clock feeding the watchdog timer. See clock-bindings.txt
- marvell,system-controller : reference to syscon node for the CPU Miscellaneous
	Registers

Example:

	cpu_misc: system-controller@d000 {
		compatible = "marvell,armada-3700-cpu-misc", "syscon";
		reg = <0xd000 0x1000>;
	};

	wdt: watchdog@8300 {
		compatible = "marvell,armada-3700-wdt";
		reg = <0x8300 0x40>;
		marvell,system-controller = <&cpu_misc>;
		clocks = <&xtalclk>;
	};


code:
Aspeed Watchdog Timer

Required properties:
 - compatible: must be one of:
	- "aspeed,ast2400-wdt"
	- "aspeed,ast2500-wdt"
	- "aspeed,ast2600-wdt"

 - reg: physical base address of the controller and length of memory mapped
   region

Optional properties:

 - aspeed,reset-type = "cpu|soc|system|none"

   Reset behavior - Whenever a timeout occurs the watchdog can be programmed
   to generate one of three different, mutually exclusive, types of resets.

   Type "none" can be specified to indicate that no resets are to be done.
   This is useful in situations where another watchdog engine on chip is
   to perform the reset.

   If 'aspeed,reset-type=' is not specified the default is to enable system
   reset.

   Reset types:

        - cpu: Reset CPU on watchdog timeout

        - soc: Reset 'System on Chip' on watchdog timeout

        - system: Reset system on watchdog timeout

        - none: No reset is performed on timeout. Assumes another watchdog
                engine is responsible for this.

 - aspeed,alt-boot:    If property is present then boot from alternate block.
 - aspeed,external-signal: If property is present then signal is sent to
			external reset counter (only WDT1 and WDT2). If not
			specified no external signal is sent.
 - aspeed,ext-pulse-duration: External signal pulse duration in microseconds

Optional properties for AST2500-compatible watchdogs:
 - aspeed,ext-push-pull: If aspeed,external-signal is present, set the pin's
			 drive type to push-pull. The default is open-drain.
 - aspeed,ext-active-high: If aspeed,external-signal is present and and the pin
			   is configured as push-pull, then set the pulse
			   polarity to active-high. The default is active-low.

Example:

	wdt1: watchdog@1e785000 {
		compatible = "aspeed,ast2400-wdt";
		reg = <0x1e785000 0x1c>;
		aspeed,reset-type = "system";
		aspeed,external-signal;
	};


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2022 Microchip Technology, Inc. and its subsidiaries
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/atmel,at91sam9-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Atmel Watchdog Timers

maintainers:
  - Eugen Hristev <eugen.hristev@microchip.com>

properties:
  compatible:
    const: atmel,at91sam9260-wdt

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  interrupts:
    maxItems: 1

  atmel,max-heartbeat-sec:
    description:
      Should contain the maximum heartbeat value in seconds. This value
      should be less or equal to 16. It is used to compute the WDV field.
    maximum: 16

  atmel,min-heartbeat-sec:
    description:
      Should contain the minimum heartbeat value in seconds. This value
      must be smaller than the max-heartbeat-sec value. It is used to
      compute the WDD field.
    maximum: 16

  atmel,watchdog-type:
    $ref: /schemas/types.yaml#/definitions/string
    description: |
      Should be hardware or software.
    oneOf:
      - description:
          Hardware watchdog uses the at91 watchdog reset.
        const: hardware
      - description: |
          Software watchdog uses the watchdog interrupt
          to trigger a software reset.
        const: software
    default: hardware

  atmel,reset-type:
    $ref: /schemas/types.yaml#/definitions/string
    description: |
      Should be proc or all. This is valid only when using hardware watchdog.
    oneOf:
      - description:
          Assert peripherals and processor reset signals.
        const: all
      - description:
          Assert the processor reset signal.
        const: proc
    default: all

  atmel,disable:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Should be present if you want to stop the watchdog.

  atmel,idle-halt:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      Should be present if you want to stop the watchdog when
      entering idle state.
      CAUTION: This property should be used with care, it actually makes the
      watchdog not counting when the CPU is in idle state, therefore the
      watchdog reset time depends on mean CPU usage and will not reset at all
      if the CPU stops working while it is in idle state, which is probably
      not what you want.

  atmel,dbg-halt:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      Should be present if you want to stop the watchdog when
      entering debug state.

required:
  - compatible
  - reg
  - clocks

allOf:
  - $ref: watchdog.yaml#
  - if:
      properties:
        atmel,reset-type:
          enum:
            - all
            - proc
    then:
      properties:
        atmel,watchdog-type:
          const: hardware

dependencies:
  atmel,reset-type: ['atmel,watchdog-type']

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    watchdog@fffffd40 {
        compatible = "atmel,at91sam9260-wdt";
        reg = <0xfffffd40 0x10>;
        interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
        clocks = <&clk32k>;
        timeout-sec = <15>;
        atmel,watchdog-type = "hardware";
        atmel,reset-type = "all";
        atmel,dbg-halt;
        atmel,idle-halt;
        atmel,max-heartbeat-sec = <16>;
        atmel,min-heartbeat-sec = <0>;
    };


code:
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/atmel,sama5d4-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Atmel SAMA5D4 Watchdog Timer (WDT) Controller

maintainers:
  - Eugen Hristev <eugen.hristev@microchip.com>

allOf:
  - $ref: "watchdog.yaml#"

properties:
  compatible:
    enum:
      - atmel,sama5d4-wdt
      - microchip,sam9x60-wdt
      - microchip,sama7g5-wdt

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  atmel,watchdog-type:
    $ref: /schemas/types.yaml#/definitions/string
    description: should be hardware or software.
    oneOf:
      - description:
          Enable watchdog fault reset. A watchdog fault triggers
          watchdog reset.
        const: hardware
      - description:
          Enable watchdog fault interrupt. A watchdog fault asserts
          watchdog interrupt.
        const: software
    default: hardware

  atmel,idle-halt:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      present if you want to stop the watchdog when the CPU is in idle state.
      CAUTION: This property should be used with care, it actually makes the
      watchdog not counting when the CPU is in idle state, therefore the
      watchdog reset time depends on mean CPU usage and will not reset at all
      if the CPU stop working while it is in idle state, which is probably
      not what you want.

  atmel,dbg-halt:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      present if you want to stop the watchdog when the CPU is in debug state.

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    watchdog@fc068640 {
      compatible = "atmel,sama5d4-wdt";
      reg = <0xfc068640 0x10>;
      interrupts = <4 IRQ_TYPE_LEVEL_HIGH 5>;
      timeout-sec = <10>;
      atmel,watchdog-type = "hardware";
      atmel,dbg-halt;
      atmel,idle-halt;
    };

...


code:
Atmel AT91RM9200 System Timer Watchdog

Required properties:
- compatible: must be "atmel,at91sam9260-wdt".

Example:
	watchdog@fffffd00 {
		compatible = "atmel,at91rm9200-wdt";
	};


code:
BCM2835 Watchdog timer

Required properties:

- compatible : should be "brcm,bcm2835-pm-wdt"
- reg : Specifies base physical address and size of the registers.

Optional properties:

- timeout-sec   : Contains the watchdog timeout in seconds

Example:

watchdog {
	compatible = "brcm,bcm2835-pm-wdt";
	reg = <0x7e100000 0x28>;
	timeout-sec = <10>;
};


code:
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/watchdog/brcm,bcm7038-wdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: BCM63xx and BCM7038 watchdog timer

allOf:
  - $ref: "watchdog.yaml#"

maintainers:
  - Florian Fainelli <f.fainelli@gmail.com>
  - Justin Chen <justinpopo6@gmail.com>
  - Rafał Miłecki <rafal@milecki.pl>

properties:
  compatible:
    enum:
      - brcm,bcm6345-wdt
      - brcm,bcm7038-wdt

  reg:
    maxItems: 1

  clocks:
    maxItems: 1
    description: >
      The clock running the watchdog. If no clock is found the driver will
      default to 27000000 Hz.

unevaluatedProperties: false

required:
  - reg

examples:
  - |
    watchdog@f040a7e8 {
      compatible = "brcm,bcm7038-wdt";
      reg = <0xf040a7e8 0x16>;
      clocks = <&upg_fixed>;
    };


code:
Broadcom Kona Family Watchdog Timer
-----------------------------------

This watchdog timer is used in the following Broadcom SoCs:
  BCM11130, BCM11140, BCM11351, BCM28145, BCM28155

Required properties:
  - compatible = "brcm,bcm11351-wdt", "brcm,kona-wdt";
  - reg: memory address & range

Example:
	watchdog@35002f40 {
		compatible = "brcm,bcm11351-wdt", "brcm,kona-wdt";
		reg = <0x35002f40 0x6c>;
	};


code:
Zynq Watchdog Device Tree Bindings
-------------------------------------------

Required properties:
- compatible		: Should be "cdns,wdt-r1p2".
- clocks		: This is pclk (APB clock).
- interrupts		: This is wd_irq - watchdog timeout interrupt.

Optional properties
- reset-on-timeout	: If this property exists, then a reset is done
			  when watchdog times out.
- timeout-sec		: Watchdog timeout value (in seconds).

Example:
	watchdog@f8005000 {
		compatible = "cdns,wdt-r1p2";
		clocks = <&clkc 45>;
		interrupt-parent = <&intc>;
		interrupts = <0 9 1>;
		reg = <0xf8005000 0x1000>;
		reset-on-timeout;
		timeout-sec = <10>;
	};


code:
* Dialog Semiconductor DA9062/61 Watchdog Timer

Required properties:

- compatible: should be one of the following valid compatible string lines:
	"dlg,da9061-watchdog", "dlg,da9062-watchdog"
	"dlg,da9062-watchdog"

Optional properties:
- dlg,use-sw-pm: Add this property to disable the watchdog during suspend.
	Only use this option if you can't use the watchdog automatic suspend
	function during a suspend (see register CONTROL_B).
- dlg,wdt-sd: Set what happens on watchdog timeout. If this bit is set the
	watchdog timeout triggers SHUTDOWN, if cleared the watchdog triggers
	POWERDOWN. Can be 0 or 1. Only use this option if you want to change the
	default chip's OTP setting for WATCHDOG_SD bit. If this property is NOT
	set the WATCHDOG_SD bit and on timeout watchdog behavior will match the
	chip's OTP settings.

Example: DA9062

	pmic0: da9062@58 {
		watchdog {
			compatible = "dlg,da9062-watchdog";
		};
	};

Example: DA9061 using a fall-back compatible for the DA9062 watchdog driver

	pmic0: da9061@58 {
		watchdog {
			compatible = "dlg,da9061-watchdog", "dlg,da9062-watchdog";
		};
	};