android_kernel_motorola_sm6375/drivers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Yu Chen df2bbf3f35 ANDROID: misc: hisi_hikey_usb: Driver to support usb functionality of Hikey960
The HiKey960 has a fairly complex USB configuration due to it
needing to support a USB-C port for host/device mode and multiple
USB-A ports in host mode using a single USB controller.

See schematics here:
  https://github.com/96boards/documentation/raw/master/consumer/hikey/hikey960/hardware-docs/HiKey960_Schematics.pdf

This driver acts as a usb-role-switch intermediary, intercepting
the role switch notifications from the tcpm code, and passing
them on to the dwc3 core.

In doing so, it also controls the onboard hub and power gpios in
order to properly route the data lines between the USB-C port
and the onboard hub to the USB-A ports.

NOTE: It was noted that controlling the TYPEC_VBUS_POWER_OFF and
TYPEC_VBUS_POWER_ON values here is not reccomended. I'm looking
for a way to remove that bit from the logic here, but wanted to
still get feedback on this approach.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
CC: ShuFan Lee <shufan_lee@richtek.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Chunfeng Yun <chunfeng.yun@mediatek.com>
Cc: Yu Chen <chenyu56@huawei.com>
Cc: Felipe Balbi <balbi@kernel.org>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Jun Li <lijun.kernel@gmail.com>
Cc: Valentin Schneider <valentin.schneider@arm.com>
Cc: Jack Pham <jackp@codeaurora.org>
Cc: linux-usb@vger.kernel.org
Cc: devicetree@vger.kernel.org
Bug: 146450171
Link: https://lore.kernel.org/lkml/20191212014233.32799-9-john.stultz@linaro.org/
Signed-off-by: Yu Chen <chenyu56@huawei.com>
[jstultz: Major rework to make the driver a usb-role-switch
          intermediary]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: Icf381520abd46d083750d01f91e478321560fbf9
2020-03-23 22:55:17 +00:00
..
accessibility
acpi ACPI: watchdog: Allow disabling WDAT at boot 2020-03-21 08:11:47 +01:00
amba
android This is the 5.4.25 stable release 2020-03-12 17:09:04 +01:00
ata ata: ahci: Add shutdown to freeze hardware resources of ahci 2020-02-28 17:22:28 +01:00
atm fore200e: Fix incorrect checks of NULL pointer dereference 2020-02-24 08:36:36 +01:00
auxdisplay
base FROMGIT: BACKPORT: driver core: Add device links from fwnode only for the primary device 2020-03-21 21:22:42 +00:00
bcma
block This is the 5.4.26 stable release 2020-03-18 08:19:15 +01:00
bluetooth UPSTREAM: Bluetooth: hci_qca: Add support for Qualcomm Bluetooth SoC WCN3991 2020-03-20 16:08:04 +00:00
bus bus: ti-sysc: Fix 1-wire reset quirk 2020-03-12 13:00:31 +01:00
cdrom
char This is the 5.4.26 stable release 2020-03-18 08:19:15 +01:00
clk This is the 5.4.22 stable release 2020-02-24 09:16:10 +01:00
clocksource clocksource: davinci: only enable clockevents once tim34 is initialized 2020-02-24 08:36:46 +01:00
connector
counter
cpufreq ANDROID: cpufreq: times: Remove per-UID time in state tracking 2020-03-06 20:23:16 +00:00
cpuidle cpuidle: teo: Avoid using "early hits" incorrectly 2020-02-05 21:22:52 +00:00
crypto ANDROID: Removed default m for virtual sw crypto device 2020-03-03 14:23:34 -08:00
dax
dca
devfreq Revert "PM / devfreq: Modify the device name as devfreq(X) for sysfs" 2020-03-05 16:43:43 +01:00
dio
dma This is the 5.4.25 stable release 2020-03-12 17:09:04 +01:00
dma-buf This is the 5.4.25 stable release 2020-03-12 17:09:04 +01:00
edac EDAC/synopsys: Do not print an error with back-to-back snprintf() calls 2020-03-12 13:00:31 +01:00
eisa
extcon extcon-intel-cht-wc: Don't reset USB data connection at probe 2020-02-01 09:34:46 +00:00
firewire
firmware This is the 5.4.26 stable release 2020-03-18 08:19:15 +01:00
fpga
fsi
gnss
gpio gpiolib: Set lockdep class for hierarchical irq domains 2020-02-24 08:36:49 +01:00
gpu This is the 5.4.27 stable release 2020-03-21 10:07:42 +01:00
greybus
hid This is the 5.4.27 stable release 2020-03-21 10:07:42 +01:00
hsi
hv hv_balloon: Balloon up according to request page number 2020-02-11 04:35:21 -08:00
hwmon This is the 5.4.25 stable release 2020-03-12 17:09:04 +01:00
hwspinlock
hwtracing
i2c This is the 5.4.26 stable release 2020-03-18 08:19:15 +01:00
i3c
ide ide: serverworks: potential overflow in svwks_set_pio_mode() 2020-02-24 08:36:53 +01:00
idle
iio iio: st_gyro: Correct data for LSM9DS0 gyro 2020-02-01 09:34:36 +00:00
infiniband IB/hfi1, qib: Ensure RCU is locked when accessing list 2020-03-12 13:00:30 +01:00
input Input: edt-ft5x06 - work around first register access error 2020-02-24 08:36:45 +01:00
interconnect UPSTREAM: interconnect: Handle memory allocation errors 2020-03-12 14:52:54 +01:00
iommu This is the 5.4.26 stable release 2020-03-18 08:19:15 +01:00
ipack
irqchip This is the 5.4.22 stable release 2020-02-24 09:16:10 +01:00
isdn
leds leds: pca963x: Fix open-drain initialization 2020-02-24 08:36:24 +01:00
lightnvm
macintosh macintosh: windfarm: fix MODINFO regression 2020-03-18 07:17:53 +01:00
mailbox
mcb
md This is the 5.4.25 stable release 2020-03-12 17:09:04 +01:00
media This is the 5.4.25 stable release 2020-03-12 17:09:04 +01:00
memory memory: mtk-smi: Add PM suspend and resume ops 2020-01-17 19:48:59 +01:00
memstick
message scsi: mptfusion: Fix double fetch bug in ioctl 2020-01-23 08:22:35 +01:00
mfd This is the 5.4.20 stable release 2020-02-19 08:28:27 +01:00
misc ANDROID: misc: hisi_hikey_usb: Driver to support usb functionality of Hikey960 2020-03-23 22:55:17 +00:00
mmc This is the 5.4.26 stable release 2020-03-18 08:19:15 +01:00
mtd UPSTREAM: {tty: serial, nand: onenand}: samsung: rename to fix build warning 2020-02-20 20:11:28 +01:00
mux
net This is the 5.4.27 stable release 2020-03-21 10:07:42 +01:00
nfc nfc: pn544: Fix occasional HW initialization failure 2020-03-05 16:43:32 +01:00
ntb
nubus
nvdimm
nvme nvme: Fix uninitialized-variable warning 2020-03-12 13:00:15 +01:00
nvmem UPSTREAM: nvmem: sprd: Add Spreadtrum SoCs eFuse support 2020-02-12 17:10:44 +00:00
of FROMGIT: of: property: Add device link support for power-domains and hwlocks 2020-02-26 22:48:53 +00:00
opp opp: Free static OPPs on errors while adding them 2020-02-24 08:36:34 +01:00
oprofile
parisc
parport
pci This is the 5.4.22 stable release 2020-02-24 09:16:10 +01:00
pcmcia
perf perf/smmuv3: Use platform_get_irq_optional() for wired interrupt 2020-03-05 16:43:37 +01:00
phy This is the 5.4.25 stable release 2020-03-12 17:09:04 +01:00
pinctrl This is the 5.4.26 stable release 2020-03-18 08:19:15 +01:00
platform platform/x86: intel_mid_powerbtn: Take a copy of ddata 2020-02-14 16:34:12 -05:00
pnp
power FROMGIT: power: reset: sc27xx: Allow the SC27XX poweroff driver building into a module 2020-03-12 15:21:54 +00:00
powercap powercap: intel_rapl: add NULL pointer check to rapl_mmio_cpu_online() 2020-01-14 20:08:18 +01:00
pps
ps3
ptp ptp: free ptp device pin descriptors properly 2020-01-23 08:22:51 +01:00
pwm This is the 5.4.24 stable release 2020-03-05 17:42:40 +01:00
rapidio
ras
regulator This is the 5.4.25 stable release 2020-03-12 17:09:04 +01:00
remoteproc remoteproc: Initialize rproc_class before use 2020-02-24 08:36:54 +01:00
reset This is the 5.4.22 stable release 2020-02-24 09:16:10 +01:00
rpmsg rpmsg: char: release allocated memory 2020-01-14 20:08:37 +01:00
rtc This is the 5.4.22 stable release 2020-02-24 09:16:10 +01:00
s390 s390/dasd: fix data corruption for thin provisioned devices 2020-03-18 07:17:52 +01:00
sbus
scsi This is the 5.4.27 stable release 2020-03-21 10:07:42 +01:00
sfi
sh
siox
slimbus
soc This is the 5.4.25 stable release 2020-03-12 17:09:04 +01:00
soundwire
spi This is the 5.4.25 stable release 2020-03-12 17:09:04 +01:00
spmi spmi: pmic-arb: Set lockdep class for hierarchical irq domains 2020-02-19 19:53:07 +01:00
ssb
staging ANDROID: staging: ion: Export query function to be used in modules 2020-03-20 20:11:35 +00:00
target scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session" 2020-02-28 17:22:25 +01:00
tc
tee tee: optee: Fix compilation issue with nommu 2020-02-05 21:22:49 +00:00
thermal FROMGIT: thermal: sprd: Add Spreadtrum thermal driver support 2020-03-13 11:04:30 +00:00
thunderbolt thunderbolt: Prevent crash if non-active NVMem file is read 2020-02-28 17:22:13 +01:00
tty Revert "ANDROID: tty: serdev: Fix broken serial console input" 2020-03-13 15:32:19 +00:00
uio uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol() 2020-02-24 08:36:27 +01:00
usb FROMGIT: usb: dwc3: Rework resets initialization to be more flexible 2020-03-23 22:55:17 +00:00
vfio vfio/spapr/nvlink2: Skip unpinning pages on error exit 2020-02-24 08:36:43 +01:00
vhost This is the 5.4.24 stable release 2020-03-05 17:42:40 +01:00
video This is the 5.4.25 stable release 2020-03-12 17:09:04 +01:00
virt
virtio This is the 5.4.26 stable release 2020-03-18 08:19:15 +01:00
visorbus visorbus: fix uninitialized variable access 2020-02-24 08:36:47 +01:00
vlynq
vme vme: bridges: reduce stack usage 2020-02-24 08:36:48 +01:00
w1
watchdog ACPI: watchdog: Set default timeout in probe 2020-03-21 08:11:48 +01:00
xen xen: Enable interrupts when calling _cond_resched() 2020-02-28 17:22:28 +01:00
zorro
Kconfig
Makefile