You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge tag 'usb-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull usb/phy/extcon updates from Greg KH: "Here is the big USB, and PHY, and extcon, patchsets for 4.9-rc1. Full details are in the shortlog, but generally a lot of new hardware support, usb gadget updates, and Wolfram's great cleanup of USB error message handling, making the kernel image a tad bit smaller. All of this has been in linux-next with no reported issues" * tag 'usb-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (343 commits) Revert "usbtmc: convert to devm_kzalloc" USB: serial: cp210x: Add ID for a Juniper console usb: Kconfig: using select for USB_COMMON dependency bluetooth: bcm203x: don't print error when allocating urb fails mmc: host: vub300: don't print error when allocating urb fails usb: hub: change CLEAR_FEATURE to SET_FEATURE usb: core: Introduce a USB port LED trigger USB: bcma: drop Northstar PHY 2.0 initialization code usb: core: hcd: add missing header dependencies usb: musb: da8xx: fix error handling message in probe usb: musb: Fix session based PM for first invalid VBUS usb: musb: Fix PM runtime for disconnect after unconfigure musb: Export musb_root_disconnect for use in modules usb: misc: legousbtower: Fix NULL pointer deference cdc-acm: hardening against malicious devices Revert "usb: gadget: NCM: Protect dev->port_usb using dev->lock" include: extcon: Fix compilation error caused because of incomplete merge MAINTAINERS: add tree entry for USB Serial phy-twl4030-usb: initialize charging-related stuff via pm_runtime phy-twl4030-usb: better handle musb_mailbox() failure ...
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
What: /sys/class/leds/<led>/ports/<port>
|
||||
Date: September 2016
|
||||
KernelVersion: 4.9
|
||||
Contact: linux-leds@vger.kernel.org
|
||||
linux-usb@vger.kernel.org
|
||||
Description:
|
||||
Every dir entry represents a single USB port that can be
|
||||
selected for the USB port trigger. Selecting ports makes trigger
|
||||
observing them for any connected devices and lighting on LED if
|
||||
there are any.
|
||||
Echoing "1" value selects USB port. Echoing "0" unselects it.
|
||||
Current state can be also read.
|
||||
@@ -0,0 +1,41 @@
|
||||
Qualcomm's PM8941 USB ID Extcon device
|
||||
|
||||
Some Qualcomm PMICs have a "misc" module that can be used to detect when
|
||||
the USB ID pin has been pulled low or high.
|
||||
|
||||
PROPERTIES
|
||||
|
||||
- compatible:
|
||||
Usage: required
|
||||
Value type: <string>
|
||||
Definition: Should contain "qcom,pm8941-misc";
|
||||
|
||||
- reg:
|
||||
Usage: required
|
||||
Value type: <u32>
|
||||
Definition: Should contain the offset to the misc address space
|
||||
|
||||
- interrupts:
|
||||
Usage: required
|
||||
Value type: <prop-encoded-array>
|
||||
Definition: Should contain the usb id interrupt
|
||||
|
||||
- interrupt-names:
|
||||
Usage: required
|
||||
Value type: <stringlist>
|
||||
Definition: Should contain the string "usb_id" for the usb id interrupt
|
||||
|
||||
Example:
|
||||
|
||||
pmic {
|
||||
usb_id: misc@900 {
|
||||
compatible = "qcom,pm8941-misc";
|
||||
reg = <0x900>;
|
||||
interrupts = <0x0 0x9 0 IRQ_TYPE_EDGE_BOTH>;
|
||||
interrupt-names = "usb_id";
|
||||
};
|
||||
}
|
||||
|
||||
usb-controller {
|
||||
extcon = <&usb_id>;
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
Driver for Broadcom Northstar USB 3.0 PHY
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: one of: "brcm,ns-ax-usb3-phy", "brcm,ns-bx-usb3-phy".
|
||||
- reg: register mappings for DMP (Device Management Plugin) and ChipCommon B
|
||||
MMI.
|
||||
- reg-names: "dmp" and "ccb-mii"
|
||||
|
||||
Initialization of USB 3.0 PHY depends on Northstar version. There are currently
|
||||
three known series: Ax, Bx and Cx.
|
||||
Known A0: BCM4707 rev 0
|
||||
Known B0: BCM4707 rev 4, BCM53573 rev 2
|
||||
Known B1: BCM4707 rev 6
|
||||
Known C0: BCM47094 rev 0
|
||||
|
||||
Example:
|
||||
usb3-phy {
|
||||
compatible = "brcm,ns-ax-usb3-phy";
|
||||
reg = <0x18105000 0x1000>, <0x18003000 0x1000>;
|
||||
reg-names = "dmp", "ccb-mii";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
@@ -12,6 +12,16 @@ Required properties:
|
||||
- interrupts: Should contain phy interrupt
|
||||
- fsl,anatop: phandle for anatop register, it is only for imx6 SoC series
|
||||
|
||||
Optional properties:
|
||||
- fsl,tx-cal-45-dn-ohms: Integer [30-55]. Resistance (in ohms) of switchable
|
||||
high-speed trimming resistor connected in parallel with the 45 ohm resistor
|
||||
that terminates the DN output signal. Default: 45
|
||||
- fsl,tx-cal-45-dp-ohms: Integer [30-55]. Resistance (in ohms) of switchable
|
||||
high-speed trimming resistor connected in parallel with the 45 ohm resistor
|
||||
that terminates the DP output signal. Default: 45
|
||||
- fsl,tx-d-cal: Integer [79-119]. Current trimming value (as a percentage) of
|
||||
the 17.78mA TX reference current. Default: 100
|
||||
|
||||
Example:
|
||||
usbphy1: usbphy@020c9000 {
|
||||
compatible = "fsl,imx6q-usbphy", "fsl,imx23-usbphy";
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
ROCKCHIP USB2.0 PHY WITH INNO IP BLOCK
|
||||
|
||||
Required properties (phy (parent) node):
|
||||
- compatible : should be one of the listed compatibles:
|
||||
* "rockchip,rk3366-usb2phy"
|
||||
* "rockchip,rk3399-usb2phy"
|
||||
- reg : the address offset of grf for usb-phy configuration.
|
||||
- #clock-cells : should be 0.
|
||||
- clock-output-names : specify the 480m output clock name.
|
||||
|
||||
Optional properties:
|
||||
- clocks : phandle + phy specifier pair, for the input clock of phy.
|
||||
- clock-names : input clock name of phy, must be "phyclk".
|
||||
|
||||
Required nodes : a sub-node is required for each port the phy provides.
|
||||
The sub-node name is used to identify host or otg port,
|
||||
and shall be the following entries:
|
||||
* "otg-port" : the name of otg port.
|
||||
* "host-port" : the name of host port.
|
||||
|
||||
Required properties (port (child) node):
|
||||
- #phy-cells : must be 0. See ./phy-bindings.txt for details.
|
||||
- interrupts : specify an interrupt for each entry in interrupt-names.
|
||||
- interrupt-names : a list which shall be the following entries:
|
||||
* "otg-id" : for the otg id interrupt.
|
||||
* "otg-bvalid" : for the otg vbus interrupt.
|
||||
* "linestate" : for the host/otg linestate interrupt.
|
||||
|
||||
Optional properties:
|
||||
- phy-supply : phandle to a regulator that provides power to VBUS.
|
||||
See ./phy-bindings.txt for details.
|
||||
|
||||
Example:
|
||||
|
||||
grf: syscon@ff770000 {
|
||||
compatible = "rockchip,rk3366-grf", "syscon", "simple-mfd";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
...
|
||||
|
||||
u2phy: usb2-phy@700 {
|
||||
compatible = "rockchip,rk3366-usb2phy";
|
||||
reg = <0x700 0x2c>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "sclk_otgphy0_480m";
|
||||
|
||||
u2phy_otg: otg-port {
|
||||
#phy-cells = <0>;
|
||||
interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "otg-id", "otg-bvalid", "linestate";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
u2phy_host: host-port {
|
||||
#phy-cells = <0>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "linestate";
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,101 @@
|
||||
* ROCKCHIP type-c PHY
|
||||
---------------------
|
||||
|
||||
Required properties:
|
||||
- compatible : must be "rockchip,rk3399-typec-phy"
|
||||
- reg: Address and length of the usb phy control register set
|
||||
- rockchip,grf : phandle to the syscon managing the "general
|
||||
register files"
|
||||
- clocks : phandle + clock specifier for the phy clocks
|
||||
- clock-names : string, clock name, must be "tcpdcore", "tcpdphy-ref";
|
||||
- assigned-clocks: main clock, should be <&cru SCLK_UPHY0_TCPDCORE> or
|
||||
<&cru SCLK_UPHY1_TCPDCORE>;
|
||||
- assigned-clock-rates : the phy core clk frequency, shall be: 50000000
|
||||
- resets : a list of phandle + reset specifier pairs
|
||||
- reset-names : string reset name, must be:
|
||||
"uphy", "uphy-pipe", "uphy-tcphy"
|
||||
- extcon : extcon specifier for the Power Delivery
|
||||
|
||||
Note, there are 2 type-c phys for RK3399, and they are almost identical, except
|
||||
these registers(description below), every register node contains 3 sections:
|
||||
offset, enable bit, write mask bit.
|
||||
- rockchip,typec-conn-dir : the register of type-c connector direction,
|
||||
for type-c phy0, it must be <0xe580 0 16>;
|
||||
for type-c phy1, it must be <0xe58c 0 16>;
|
||||
- rockchip,usb3tousb2-en : the register of type-c force usb3 to usb2 enable
|
||||
control.
|
||||
for type-c phy0, it must be <0xe580 3 19>;
|
||||
for type-c phy1, it must be <0xe58c 3 19>;
|
||||
- rockchip,external-psm : the register of type-c phy external psm clock
|
||||
selection.
|
||||
for type-c phy0, it must be <0xe588 14 30>;
|
||||
for type-c phy1, it must be <0xe594 14 30>;
|
||||
- rockchip,pipe-status : the register of type-c phy pipe status.
|
||||
for type-c phy0, it must be <0xe5c0 0 0>;
|
||||
for type-c phy1, it must be <0xe5c0 16 16>;
|
||||
|
||||
Required nodes : a sub-node is required for each port the phy provides.
|
||||
The sub-node name is used to identify dp or usb3 port,
|
||||
and shall be the following entries:
|
||||
* "dp-port" : the name of DP port.
|
||||
* "usb3-port" : the name of USB3 port.
|
||||
|
||||
Required properties (port (child) node):
|
||||
- #phy-cells : must be 0, See ./phy-bindings.txt for details.
|
||||
|
||||
Example:
|
||||
tcphy0: phy@ff7c0000 {
|
||||
compatible = "rockchip,rk3399-typec-phy";
|
||||
reg = <0x0 0xff7c0000 0x0 0x40000>;
|
||||
rockchip,grf = <&grf>;
|
||||
extcon = <&fusb0>;
|
||||
clocks = <&cru SCLK_UPHY0_TCPDCORE>,
|
||||
<&cru SCLK_UPHY0_TCPDPHY_REF>;
|
||||
clock-names = "tcpdcore", "tcpdphy-ref";
|
||||
assigned-clocks = <&cru SCLK_UPHY0_TCPDCORE>;
|
||||
assigned-clock-rates = <50000000>;
|
||||
resets = <&cru SRST_UPHY0>,
|
||||
<&cru SRST_UPHY0_PIPE_L00>,
|
||||
<&cru SRST_P_UPHY0_TCPHY>;
|
||||
reset-names = "uphy", "uphy-pipe", "uphy-tcphy";
|
||||
rockchip,typec-conn-dir = <0xe580 0 16>;
|
||||
rockchip,usb3tousb2-en = <0xe580 3 19>;
|
||||
rockchip,external-psm = <0xe588 14 30>;
|
||||
rockchip,pipe-status = <0xe5c0 0 0>;
|
||||
|
||||
tcphy0_dp: dp-port {
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
tcphy0_usb3: usb3-port {
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
tcphy1: phy@ff800000 {
|
||||
compatible = "rockchip,rk3399-typec-phy";
|
||||
reg = <0x0 0xff800000 0x0 0x40000>;
|
||||
rockchip,grf = <&grf>;
|
||||
extcon = <&fusb1>;
|
||||
clocks = <&cru SCLK_UPHY1_TCPDCORE>,
|
||||
<&cru SCLK_UPHY1_TCPDPHY_REF>;
|
||||
clock-names = "tcpdcore", "tcpdphy-ref";
|
||||
assigned-clocks = <&cru SCLK_UPHY1_TCPDCORE>;
|
||||
assigned-clock-rates = <50000000>;
|
||||
resets = <&cru SRST_UPHY1>,
|
||||
<&cru SRST_UPHY1_PIPE_L00>,
|
||||
<&cru SRST_P_UPHY1_TCPHY>;
|
||||
reset-names = "uphy", "uphy-pipe", "uphy-tcphy";
|
||||
rockchip,typec-conn-dir = <0xe58c 0 16>;
|
||||
rockchip,usb3tousb2-en = <0xe58c 3 19>;
|
||||
rockchip,external-psm = <0xe594 14 30>;
|
||||
rockchip,pipe-status = <0xe5c0 16 16>;
|
||||
|
||||
tcphy1_dp: dp-port {
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
|
||||
tcphy1_usb3: usb3-port {
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
};
|
||||
@@ -5,6 +5,8 @@ This file provides information on what the device node for the R-Car generation
|
||||
|
||||
Required properties:
|
||||
- compatible: "renesas,usb2-phy-r8a7795" if the device is a part of an R8A7795
|
||||
SoC.
|
||||
"renesas,usb2-phy-r8a7796" if the device is a part of an R8A7796
|
||||
SoC.
|
||||
"renesas,rcar-gen3-usb2-phy" for a generic R-Car Gen3 compatible device.
|
||||
|
||||
@@ -30,11 +32,11 @@ Example (R-Car H3):
|
||||
compatible = "renesas,usb2-phy-r8a7795", "renesas,rcar-gen3-usb2-phy";
|
||||
reg = <0 0xee080200 0 0x700>;
|
||||
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&mstp7_clks R8A7795_CLK_EHCI0>;
|
||||
clocks = <&cpg CPG_MOD 703>;
|
||||
};
|
||||
|
||||
usb-phy@ee0a0200 {
|
||||
compatible = "renesas,usb2-phy-r8a7795", "renesas,rcar-gen3-usb2-phy";
|
||||
reg = <0 0xee0a0200 0 0x700>;
|
||||
clocks = <&mstp7_clks R8A7795_CLK_EHCI0>;
|
||||
clocks = <&cpg CPG_MOD 702>;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
Rockchip PCIE PHY
|
||||
-----------------------
|
||||
|
||||
Required properties:
|
||||
- compatible: rockchip,rk3399-pcie-phy
|
||||
- #phy-cells: must be 0
|
||||
- clocks: Must contain an entry in clock-names.
|
||||
See ../clocks/clock-bindings.txt for details.
|
||||
- clock-names: Must be "refclk"
|
||||
- resets: Must contain an entry in reset-names.
|
||||
See ../reset/reset.txt for details.
|
||||
- reset-names: Must be "phy"
|
||||
|
||||
Example:
|
||||
|
||||
grf: syscon@ff770000 {
|
||||
compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
...
|
||||
|
||||
pcie_phy: pcie-phy {
|
||||
compatible = "rockchip,rk3399-pcie-phy";
|
||||
#phy-cells = <0>;
|
||||
clocks = <&cru SCLK_PCIEPHY_REF>;
|
||||
clock-names = "refclk";
|
||||
resets = <&cru SRST_PCIEPHY>;
|
||||
reset-names = "phy";
|
||||
};
|
||||
};
|
||||
@@ -27,6 +27,9 @@ Optional Properties:
|
||||
- clocks : phandle + clock specifier for the phy clocks
|
||||
- clock-names: string, clock name, must be "phyclk"
|
||||
- #clock-cells: for users of the phy-pll, should be 0
|
||||
- reset-names: Only allow the following entries:
|
||||
- phy-reset
|
||||
- resets: Must contain an entry for each entry in reset-names.
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ Required properties:
|
||||
* allwinner,sun8i-a23-usb-phy
|
||||
* allwinner,sun8i-a33-usb-phy
|
||||
* allwinner,sun8i-h3-usb-phy
|
||||
* allwinner,sun50i-a64-usb-phy
|
||||
- reg : a list of offset + length pairs
|
||||
- reg-names :
|
||||
* "phy_ctrl"
|
||||
|
||||
@@ -31,6 +31,8 @@ OMAP USB2 PHY
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "ti,omap-usb2"
|
||||
Should be "ti,dra7x-usb2" for the 1st instance of USB2 PHY on
|
||||
DRA7x
|
||||
Should be "ti,dra7x-usb2-phy2" for the 2nd instance of USB2 PHY
|
||||
in DRA7x
|
||||
- reg : Address and length of the register set for the device.
|
||||
|
||||
@@ -81,6 +81,8 @@ i.mx specific properties
|
||||
- fsl,usbmisc: phandler of non-core register device, with one
|
||||
argument that indicate usb controller index
|
||||
- disable-over-current: disable over current detect
|
||||
- over-current-active-high: over current signal polarity is high active,
|
||||
typically over current signal polarity is low active.
|
||||
- external-vbus-divider: enables off-chip resistor divider for Vbus
|
||||
|
||||
Example:
|
||||
|
||||
@@ -26,7 +26,10 @@ Refer to phy/phy-bindings.txt for generic phy consumer properties
|
||||
- g-use-dma: enable dma usage in gadget driver.
|
||||
- g-rx-fifo-size: size of rx fifo size in gadget mode.
|
||||
- g-np-tx-fifo-size: size of non-periodic tx fifo size in gadget mode.
|
||||
- g-tx-fifo-size: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
|
||||
|
||||
Deprecated properties:
|
||||
- g-tx-fifo-size: size of periodic tx fifo per endpoint (except ep0)
|
||||
in gadget mode.
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
Cavium SuperSpeed DWC3 USB SoC controller
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain "cavium,octeon-7130-usb-uctl"
|
||||
|
||||
Required child node:
|
||||
A child node must exist to represent the core DWC3 IP block. The name of
|
||||
the node is not important. The content of the node is defined in dwc3.txt.
|
||||
|
||||
Example device node:
|
||||
|
||||
uctl@1180069000000 {
|
||||
compatible = "cavium,octeon-7130-usb-uctl";
|
||||
reg = <0x00011800 0x69000000 0x00000000 0x00000100>;
|
||||
ranges;
|
||||
#address-cells = <0x00000002>;
|
||||
#size-cells = <0x00000002>;
|
||||
refclk-frequency = <0x05f5e100>;
|
||||
refclk-type-ss = "dlmc_ref_clk0";
|
||||
refclk-type-hs = "dlmc_ref_clk0";
|
||||
power = <0x00000002 0x00000002 0x00000001>;
|
||||
xhci@1690000000000 {
|
||||
compatible = "cavium,octeon-7130-xhci", "synopsys,dwc3";
|
||||
reg = <0x00016900 0x00000000 0x00000010 0x00000000>;
|
||||
interrupt-parent = <0x00000010>;
|
||||
interrupts = <0x00000009 0x00000004>;
|
||||
};
|
||||
};
|
||||
@@ -13,7 +13,8 @@ Optional properties:
|
||||
in the array is expected to be a handle to the USB2/HS PHY and
|
||||
the second element is expected to be a handle to the USB3/SS PHY
|
||||
- phys: from the *Generic PHY* bindings
|
||||
- phy-names: from the *Generic PHY* bindings
|
||||
- phy-names: from the *Generic PHY* bindings; supported names are "usb2-phy"
|
||||
or "usb3-phy".
|
||||
- snps,usb3_lpm_capable: determines if platform is USB3 LPM capable
|
||||
- snps,disable_scramble_quirk: true when SW should disable data scrambling.
|
||||
Only really useful for FPGA builds.
|
||||
@@ -39,6 +40,11 @@ Optional properties:
|
||||
disabling the suspend signal to the PHY.
|
||||
- snps,dis_rxdet_inp3_quirk: when set core will disable receiver detection
|
||||
in PHY P3 power state.
|
||||
- snps,dis-u2-freeclk-exists-quirk: when set, clear the u2_freeclk_exists
|
||||
in GUSB2PHYCFG, specify that USB2 PHY doesn't provide
|
||||
a free-running PHY clock.
|
||||
- snps,dis-del-phy-power-chg-quirk: when set core will change PHY power
|
||||
from P0 to P1/P2/P3 without delay.
|
||||
- snps,is-utmi-l1-suspend: true when DWC3 asserts output signal
|
||||
utmi_l1_suspend_n, false when asserts utmi_sleep_n
|
||||
- snps,hird-threshold: HIRD threshold
|
||||
|
||||
@@ -11,6 +11,11 @@ Optional properties:
|
||||
"peripheral" and "otg". In case this attribute isn't
|
||||
passed via DT, USB DRD controllers should default to
|
||||
OTG.
|
||||
- phy_type: 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. Valid arguments are "utmi" and "utmi_wide".
|
||||
In case this isn't passed via DT, USB controllers should
|
||||
default to HW capability.
|
||||
- otg-rev: 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
|
||||
@@ -34,6 +39,7 @@ dwc3@4a030000 {
|
||||
usb-phy = <&usb2_phy>, <&usb3,phy>;
|
||||
maximum-speed = "super-speed";
|
||||
dr_mode = "otg";
|
||||
phy_type = "utmi_wide";
|
||||
otg-rev = <0x0200>;
|
||||
adp-disable;
|
||||
};
|
||||
|
||||
@@ -9,6 +9,7 @@ Required properties:
|
||||
- "renesas,usbhs-r8a7793" for r8a7793 (R-Car M2-N) compatible device
|
||||
- "renesas,usbhs-r8a7794" for r8a7794 (R-Car E2) compatible device
|
||||
- "renesas,usbhs-r8a7795" for r8a7795 (R-Car H3) compatible device
|
||||
- "renesas,usbhs-r8a7796" for r8a7796 (R-Car M3-W) compatible device
|
||||
- "renesas,rcar-gen2-usbhs" for R-Car Gen2 compatible device
|
||||
- "renesas,rcar-gen3-usbhs" for R-Car Gen3 compatible device
|
||||
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
Rockchip SuperSpeed DWC3 USB SoC controller
|
||||
|
||||
Required properties:
|
||||
- compatible: should contain "rockchip,rk3399-dwc3" for rk3399 SoC
|
||||
- clocks: A list of phandle + clock-specifier pairs for the
|
||||
clocks listed in clock-names
|
||||
- clock-names: Should contain the following:
|
||||
"ref_clk" Controller reference clk, have to be 24 MHz
|
||||
"suspend_clk" Controller suspend clk, have to be 24 MHz or 32 KHz
|
||||
"bus_clk" Master/Core clock, have to be >= 62.5 MHz for SS
|
||||
operation and >= 30MHz for HS operation
|
||||
"grf_clk" Controller grf clk
|
||||
|
||||
Required child node:
|
||||
A child node must exist to represent the core DWC3 IP block. The name of
|
||||
the node is not important. The content of the node is defined in dwc3.txt.
|
||||
|
||||
Phy documentation is provided in the following places:
|
||||
Documentation/devicetree/bindings/phy/rockchip,dwc3-usb-phy.txt
|
||||
|
||||
Example device nodes:
|
||||
|
||||
usbdrd3_0: usb@fe800000 {
|
||||
compatible = "rockchip,rk3399-dwc3";
|
||||
clocks = <&cru SCLK_USB3OTG0_REF>, <&cru SCLK_USB3OTG0_SUSPEND>,
|
||||
<&cru ACLK_USB3OTG0>, <&cru ACLK_USB3_GRF>;
|
||||
clock-names = "ref_clk", "suspend_clk",
|
||||
"bus_clk", "grf_clk";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
status = "disabled";
|
||||
usbdrd_dwc3_0: dwc3@fe800000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0xfe800000 0x0 0x100000>;
|
||||
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "otg";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
|
||||
usbdrd3_1: usb@fe900000 {
|
||||
compatible = "rockchip,rk3399-dwc3";
|
||||
clocks = <&cru SCLK_USB3OTG1_REF>, <&cru SCLK_USB3OTG1_SUSPEND>,
|
||||
<&cru ACLK_USB3OTG1>, <&cru ACLK_USB3_GRF>;
|
||||
clock-names = "ref_clk", "suspend_clk",
|
||||
"bus_clk", "grf_clk";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
status = "disabled";
|
||||
usbdrd_dwc3_1: dwc3@fe900000 {
|
||||
compatible = "snps,dwc3";
|
||||
reg = <0x0 0xfe900000 0x0 0x100000>;
|
||||
interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "otg";
|
||||
status = "disabled";
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,19 @@
|
||||
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>;
|
||||
};
|
||||
@@ -6,6 +6,7 @@ Required properties:
|
||||
"fsl,imx6q-usbmisc" for imx6q
|
||||
"fsl,vf610-usbmisc" for Vybrid vf610
|
||||
"fsl,imx6sx-usbmisc" for imx6sx
|
||||
"fsl,imx7d-usbmisc" for imx7d
|
||||
- reg: Should contain registers location and length
|
||||
|
||||
Examples:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user