mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
dt-bindings: usb: chipidea,usb2-imx: move imx parts to dedicated schema
As more and more NXP i.MX chips come out, it becomes harder to maintain ci-hdrc-usb2.yaml if more stuffs like property restrictions are added to this file. This will separate i.MX parts out of ci-hdrc-usb2.yaml and add a new schema for NXP ChipIdea USB2 Controller, also add a common schema. 1. Copy common ci-hdrc-usb2.yaml properties to a new shared chipidea,usb2-common.yaml schema. 2. Move fsl,* compatible devices and imx spefific properties to dedicated binding file chipidea,usb2-imx.yaml. Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Xu Yang <xu.yang_2@nxp.com> Link: https://lore.kernel.org/r/20240321081439.541799-4-xu.yang_2@nxp.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
43590333ca
commit
af1969a1f6
193
Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml
Normal file
193
Documentation/devicetree/bindings/usb/chipidea,usb2-imx.yaml
Normal file
@@ -0,0 +1,193 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/usb/chipidea,usb2-imx.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NXP USB2 ChipIdea USB controller
|
||||
|
||||
maintainers:
|
||||
- Xu Yang <xu.yang_2@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- enum:
|
||||
- fsl,imx27-usb
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx23-usb
|
||||
- fsl,imx25-usb
|
||||
- fsl,imx28-usb
|
||||
- fsl,imx35-usb
|
||||
- fsl,imx50-usb
|
||||
- fsl,imx51-usb
|
||||
- fsl,imx53-usb
|
||||
- fsl,imx6q-usb
|
||||
- fsl,imx6sl-usb
|
||||
- fsl,imx6sx-usb
|
||||
- fsl,imx6ul-usb
|
||||
- fsl,imx7d-usb
|
||||
- fsl,vf610-usb
|
||||
- const: fsl,imx27-usb
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx8dxl-usb
|
||||
- fsl,imx8ulp-usb
|
||||
- const: fsl,imx7ulp-usb
|
||||
- const: fsl,imx6ul-usb
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx8mm-usb
|
||||
- fsl,imx8mn-usb
|
||||
- const: fsl,imx7d-usb
|
||||
- const: fsl,imx27-usb
|
||||
- items:
|
||||
- enum:
|
||||
- fsl,imx6sll-usb
|
||||
- fsl,imx7ulp-usb
|
||||
- const: fsl,imx6ul-usb
|
||||
- const: fsl,imx27-usb
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
maxItems: 3
|
||||
|
||||
clock-names:
|
||||
minItems: 1
|
||||
maxItems: 3
|
||||
|
||||
fsl,usbmisc:
|
||||
description:
|
||||
Phandler of non-core register device, with one argument that
|
||||
indicate usb controller index
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
items:
|
||||
- items:
|
||||
- description: phandle to usbmisc node
|
||||
- description: index of usb controller
|
||||
|
||||
disable-over-current:
|
||||
type: boolean
|
||||
description: disable over current detect
|
||||
|
||||
over-current-active-low:
|
||||
type: boolean
|
||||
description: over current signal polarity is active low
|
||||
|
||||
over-current-active-high:
|
||||
type: boolean
|
||||
description:
|
||||
Over current signal polarity is active high. It's recommended to
|
||||
specify the over current polarity.
|
||||
|
||||
power-active-high:
|
||||
type: boolean
|
||||
description: power signal polarity is active high
|
||||
|
||||
external-vbus-divider:
|
||||
type: boolean
|
||||
description: enables off-chip resistor divider for Vbus
|
||||
|
||||
samsung,picophy-pre-emp-curr-control:
|
||||
description:
|
||||
HS Transmitter Pre-Emphasis Current Control. This signal controls
|
||||
the amount of current sourced to the USB_OTG*_DP and USB_OTG*_DN
|
||||
pins after a J-to-K or K-to-J transition. The range is from 0x0 to
|
||||
0x3, the default value is 0x1. Details can refer to TXPREEMPAMPTUNE0
|
||||
bits of USBNC_n_PHY_CFG1.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0x0
|
||||
maximum: 0x3
|
||||
|
||||
samsung,picophy-dc-vol-level-adjust:
|
||||
description:
|
||||
HS DC Voltage Level Adjustment. Adjust the high-speed transmitter DC
|
||||
level voltage. The range is from 0x0 to 0xf, the default value is
|
||||
0x3. Details can refer to TXVREFTUNE0 bits of USBNC_n_PHY_CFG1.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0x0
|
||||
maximum: 0xf
|
||||
|
||||
fsl,picophy-rise-fall-time-adjust:
|
||||
description:
|
||||
HS Transmitter Rise/Fall Time Adjustment. Adjust the rise/fall times
|
||||
of the high-speed transmitter waveform. It has no unit. The rise/fall
|
||||
time will be increased or decreased by a certain percentage relative
|
||||
to design default time. (0:-10%; 1:design default; 2:+15%; 3:+20%)
|
||||
Details can refer to TXRISETUNE0 bit of USBNC_n_PHY_CFG1.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
minimum: 0
|
||||
maximum: 3
|
||||
default: 1
|
||||
|
||||
fsl,usbphy:
|
||||
description: phandle of usb phy that connects to the port. Use "phys" instead.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
deprecated: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
allOf:
|
||||
- $ref: chipidea,usb2-common.yaml#
|
||||
- if:
|
||||
properties:
|
||||
phy_type:
|
||||
const: hsic
|
||||
required:
|
||||
- phy_type
|
||||
then:
|
||||
properties:
|
||||
pinctrl-names:
|
||||
items:
|
||||
- const: idle
|
||||
- const: active
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/imx7d-clock.h>
|
||||
|
||||
usb@30b10000 {
|
||||
compatible = "fsl,imx7d-usb", "fsl,imx27-usb";
|
||||
reg = <0x30b10000 0x200>;
|
||||
interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks IMX7D_USB_CTRL_CLK>;
|
||||
fsl,usbphy = <&usbphynop1>;
|
||||
fsl,usbmisc = <&usbmisc1 0>;
|
||||
phy-clkgate-delay-us = <400>;
|
||||
};
|
||||
|
||||
# Example for HSIC:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/clock/imx6qdl-clock.h>
|
||||
|
||||
usb@2184400 {
|
||||
compatible = "fsl,imx6q-usb", "fsl,imx27-usb";
|
||||
reg = <0x02184400 0x200>;
|
||||
interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clks IMX6QDL_CLK_USBOH3>;
|
||||
fsl,usbphy = <&usbphynop1>;
|
||||
fsl,usbmisc = <&usbmisc 2>;
|
||||
phy_type = "hsic";
|
||||
dr_mode = "host";
|
||||
ahb-burst-config = <0x0>;
|
||||
tx-burst-size-dword = <0x10>;
|
||||
rx-burst-size-dword = <0x10>;
|
||||
pinctrl-names = "idle", "active";
|
||||
pinctrl-0 = <&pinctrl_usbh2_idle>;
|
||||
pinctrl-1 = <&pinctrl_usbh2_active>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethernet@1 {
|
||||
compatible = "usb424,9730";
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
Reference in New Issue
Block a user