Commit c93bcace authored by Maxime Ripard's avatar Maxime Ripard Committed by Greg Kroah-Hartman
Browse files

dt-bindings: usb: Convert the generic OHCI binding to YAML



The generic OHCI binding is used by many controllers that are using the
OHCI spec.

Convert that binding to a YAML description to enable the validation on all
the nodes using that binding.

Signed-off-by: default avatarMaxime Ripard <maxime.ripard@bootlin.com>
Acked-by: default avatarChen-Yu Tsai <wens@csie.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 14ec072a
Loading
Loading
Loading
Loading
+89 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/generic-ohci.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: USB OHCI Controller Device Tree Bindings

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

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

properties:
  compatible:
    contains:
      const: generic-ohci

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  resets:
    minItems: 1
    maxItems: 2

  clocks:
    minItems: 1
    maxItems: 3
    description: |
      In case the Renesas R-Car Gen3 SoCs:
        - if a host only channel: first clock should be host.
        - if a USB DRD channel: first clock should be host and second
          one should be peripheral

  big-endian:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Set this flag for HCDs with big endian descriptors and big
      endian registers.

  big-endian-desc:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Set this flag for HCDs with big endian descriptors.

  big-endian-regs:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Set this flag for HCDs with big endian registers.

  remote-wakeup-connected:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Remote wakeup is wired on the platform.

  no-big-frame-no:
    $ref: /schemas/types.yaml#/definitions/flag
    description:
      Set if frame_no lives in bits [15:0] of HCCA

  num-ports:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Overrides the detected port count

  phys: true

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
      ohci0: usb@1c14400 {
          compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
          reg = <0x01c14400 0x100>;
          interrupts = <64>;
          clocks = <&usb_clk 6>, <&ahb_gates 2>;
          phys = <&usbphy 1>;
      };

...
+0 −35
Original line number Diff line number Diff line
USB OHCI controllers

Required properties:
- compatible : "generic-ohci"
- reg : ohci controller register range (address and length)
- interrupts : ohci controller interrupt

Optional properties:
- big-endian-regs : boolean, set this for hcds with big-endian registers
- big-endian-desc : boolean, set this for hcds with big-endian descriptors
- big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
- no-big-frame-no : boolean, set if frame_no lives in bits [15:0] of HCCA
- remote-wakeup-connected: remote wakeup is wired on the platform
- num-ports : u32, to override the detected port count
- clocks : a list of phandle + clock specifier pairs. In case of Renesas
	   R-Car Gen3 SoCs:
	   - if a host only channel: first clock should be host.
	   - if a USB DRD channel: first clock should be host and second one
				   should be peripheral.
- phys : see usb-hcd.txt in the current directory
- resets : a list of phandle + reset specifier pairs

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

Example:

	ohci0: usb@1c14400 {
		compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
		reg = <0x01c14400 0x100>;
		interrupts = <64>;
		clocks = <&usb_clk 6>, <&ahb_gates 2>;
		phys = <&usbphy 1>;
		phy-names = "usb";
	};