# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/motorola,mapphone-mdm6600.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Motorola Mapphone MDM6600 USB PHY

maintainers:
  - Tony Lindgren <tony@atomide.com>

properties:
  compatible:
    items:
      - const: motorola,mapphone-mdm6600

  enable-gpios:
    description: GPIO to enable the USB PHY
    maxItems: 1

  power-gpios:
    description: GPIO to power on the device
    maxItems: 1

  reset-gpios:
    description: GPIO to reset the device
    maxItems: 1

  motorola,mode-gpios:
    description: Two GPIOs to configure MDM6600 USB start-up mode for normal mode versus USB flashing mode
    items:
      - description: normal mode select GPIO
      - description: USB flashing mode select GPIO

  motorola,cmd-gpios:
    description: Three GPIOs to control the power state of the MDM6600
    items:
      - description: power state control GPIO 0
      - description: power state control GPIO 1
      - description: power state control GPIO 2

  motorola,status-gpios:
    description: Three GPIOs to read the power state of the MDM6600
    items:
      - description: power state read GPIO 0
      - description: power state read GPIO 1
      - description: power state read GPIO 2

  '#phy-cells':
    const: 0

required:
  - compatible
  - enable-gpios
  - power-gpios
  - reset-gpios
  - motorola,mode-gpios
  - motorola,cmd-gpios
  - motorola,status-gpios

additionalProperties: false

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

    usb-phy {
        compatible = "motorola,mapphone-mdm6600";
        enable-gpios = <&gpio3 31 GPIO_ACTIVE_LOW>;
        power-gpios = <&gpio2 22 GPIO_ACTIVE_HIGH>;
        reset-gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>;
        motorola,mode-gpios = <&gpio5 20 GPIO_ACTIVE_HIGH>,
                              <&gpio5 21 GPIO_ACTIVE_HIGH>;
        motorola,cmd-gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>,
                              <&gpio4 8 GPIO_ACTIVE_HIGH>,
                              <&gpio5 14 GPIO_ACTIVE_HIGH>;
        motorola,status-gpios = <&gpio2 20 GPIO_ACTIVE_HIGH>,
                                <&gpio2 21 GPIO_ACTIVE_HIGH>,
                                <&gpio2 23 GPIO_ACTIVE_HIGH>;
        #phy-cells = <0>;
    };
