linux-hardened/Documentation/devicetree/bindings
Stephen Boyd ef6a7bcfb0 usb: ulpi: Support device discovery via DT
The qcom HSIC ULPI phy doesn't have any bits set in the vendor or
product ID registers. This makes it impossible to make a ULPI
driver match against the ID registers. Add support to discover
the ULPI phys via DT help alleviate this problem. In the DT case,
we'll look for a ULPI bus node underneath the device registering
the ULPI viewport (or the parent of that device to support
chipidea's device layout) and then match up the phy node
underneath that with the ULPI device that's created.

The side benefit of this is that we can use standard properties
in the phy node like clks, regulators, gpios, etc. because we
don't have firmware like ACPI to turn these things on for us. And
we can use the DT phy binding to point our phy consumer to the
phy provider.

The ULPI bus code supports native enumeration by reading the
vendor ID and product ID registers at device creation time, but
we can't be certain that those register reads will succeed if the
phy is not powered up. To avoid any problems with reading the ID
registers before the phy is powered we fallback to DT matching
when the ID reads fail.

If the ULPI spec had some generic power sequencing for these
registers we could put that into the ULPI bus layer and power up
the device before reading the ID registers. Unfortunately this
doesn't exist and the power sequence is usually device specific.
By having the device matched up with DT we can avoid this
problem.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: <devicetree@vger.kernel.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Stephen Boyd <stephen.boyd@linaro.org>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
2017-01-20 11:24:06 +08:00
..
arc
arm ARM: SoC driver updates for v4.10 2016-12-15 16:03:25 -08:00
ata ARM: 64-bit DT updates for v4.10 2016-12-15 15:58:28 -08:00
auxdisplay
board
bus bus: Add Tegra GMI support 2016-11-18 18:32:57 -08:00
c6x
clock ARM: 64-bit DT updates for v4.10 2016-12-15 15:58:28 -08:00
cpufreq dt: cpufreq: brcm: New binding document for brcmstb-avs-cpufreq 2016-11-01 06:07:37 +01:00
cris
crypto crypto: caam - add support for iMX6UL 2016-10-25 11:08:15 +08:00
devfreq
display Char/Misc driver patches for 4.10-rc1 2016-12-13 12:11:01 -08:00
dma Merge branch 'topic/st_fdma' into for-linus 2016-12-14 09:07:07 +05:30
edac
eeprom
extcon extcon: usb-gpio: Add VBUS detection support 2016-11-20 21:22:39 +09:00
firmware Qualcomm ARM Based Driver Updates for v4.10 - Part 2 2016-11-30 22:49:14 +01:00
fpga DeviceTree updates for 4.10: 2016-12-15 11:49:41 -08:00
fuse
goldfish
gpio ARM: DT updates for v4.10 2016-12-15 15:50:24 -08:00
gpu
h8300
hsi
hwlock
hwmon devicetree: hwmon: Add documentation for TMP108 driver. 2016-12-09 21:54:26 -08:00
i2c powerpc updates for 4.10 2016-12-16 09:26:42 -08:00
iio Documentation: dt-bindings: Document STM32 ADC DT bindings 2016-11-19 11:41:29 +00:00
infiniband
input Input: imx6ul_tsc - generalize the averaging property 2016-12-15 21:34:35 -08:00
interrupt-controller
iommu
ipmi ipmi/bt-bmc: change compatible node to 'aspeed, ast2400-ibt-bmc' 2016-11-17 16:31:09 -08:00
leds leds: pca963x: workaround group blink scaling issue 2016-11-22 12:07:04 +01:00
lpddr2
mailbox ARM: SoC driver updates for v4.10 2016-12-15 16:03:25 -08:00
media media updates for v4.10-rc1 2016-12-16 09:39:16 -08:00
memory-controllers memory: davinci: add support for da8xx DDR2/mDDR controller 2016-11-14 17:18:34 +05:30
metag
mfd - New Device Support 2016-12-19 08:16:26 -08:00
mips
misc
mmc mmc: sdhci-cadence: add Socionext UniPhier specific compatible string 2016-12-20 11:40:52 +01:00
mtd mtd: nand: add tango NFC dt bindings doc 2016-11-07 14:48:39 +01:00
net net: hix5hd2_gmac: fix compatible strings name 2016-12-20 14:12:29 -05:00
nios2
nvmem dt-bindings: Document Broadcom OTP controller driver 2016-11-10 15:34:55 +01:00
opp PM / OPP: Reword binding supporting multiple regulators per device 2016-12-06 02:27:58 +01:00
pci Merge branch 'pci/host-tegra' into next 2016-12-12 11:25:12 -06:00
perf
phy Documentation: dt-bindings: rename meson-usb2-phy to meson8b-usb2-phy 2016-11-18 18:19:14 +05:30
pinctrl ARM: DT updates for v4.10 2016-12-15 15:50:24 -08:00
power ARM: SoC driver updates for v4.10 2016-12-15 16:03:25 -08:00
powerpc dt: bindings: move guts devicetree doc out of powerpc directory 2016-11-29 09:17:20 +01:00
pps
pwm DeviceTree updates for 4.10: 2016-12-15 11:49:41 -08:00
regmap
regulator - New Device Support 2016-12-19 08:16:26 -08:00
remoteproc dt-binding: remoteproc: Introduce ADSP loader binding 2016-11-15 18:43:12 -08:00
reserved-memory ramoops: Split ftrace buffer space into per-CPU zones 2016-11-15 16:34:26 -08:00
reset ARM: SoC driver updates for v4.10 2016-12-15 16:03:25 -08:00
rng dt-bindings: omap-rng: Document SafeXcel IP-76 device variant 2016-10-21 10:26:20 +08:00
rtc RTC for 4.10 2016-12-18 18:18:03 -08:00
scsi scsi: devicetree: bindings: hisi_sas: add hip07 support 2016-11-08 17:29:46 -05:00
security/tpm tpm_tis: Allow tpm_tis to be bound using DT 2016-11-28 01:31:31 +02:00
serial dt-bindings: Cleanups and additions for v4.10-rc1 2016-11-18 18:35:39 -08:00
serio
soc ARM: DT updates for v4.10 2016-12-15 15:50:24 -08:00
sound Merge remote-tracking branches 'asoc/topic/wm8580', 'asoc/topic/wm8753', 'asoc/topic/wm8978', 'asoc/topic/wm9081' and 'asoc/topic/wm9705' into asoc-next 2016-12-12 15:53:29 +00:00
spi Merge remote-tracking branches 'spi/topic/spidev', 'spi/topic/sunxi', 'spi/topic/ti-qspi', 'spi/topic/topcliff-pch' and 'spi/topic/xlp' into spi-next 2016-12-12 15:54:20 +00:00
spmi
sram misc: sram: document new compatible 2016-11-07 23:43:28 +01:00
staging
thermal ARM: DT updates for v4.10 2016-12-15 15:50:24 -08:00
timer clocksource: Add clockevent support to NPS400 driver 2016-11-30 11:54:25 -08:00
ufs phy: qcom-ufs-14nm: Add new compatible for msm8996 based phy 2016-11-08 18:05:45 -05:00
usb usb: ulpi: Support device discovery via DT 2017-01-20 11:24:06 +08:00
video/bridge dt-bindings: add Silicon Image SiI8620 bridge bindings 2016-10-26 10:30:21 +05:30
virtio
w1
watchdog
x86
xillybus
ABI.txt
chosen.txt
common-properties.txt
graph.txt
marvell.txt
numa.txt
property-units.txt
resource-names.txt
sparc_sun_oracle_rng.txt
submitting-patches.txt docs: fix locations of several documents that got moved 2016-10-24 08:12:35 -02:00
unittest.txt
vendor-prefixes.txt ARM: 64-bit DT updates for v4.10 2016-12-15 15:58:28 -08:00
xilinx.txt