History log of /fuchsia/zircon/system/dev/board/imx8mevk/imx8mevk-usb.c
Revision Date Author Comments
# 1c8d92c7 12-Sep-2018 Brijen Raval <braval@google.com>

[imx8m][clang-format] Run Clang-format

Test: Bootup on IMX8MQ

Change-Id: I45ea960b804dc2f165d00667c04eeabe834d1a64


# 9840161f 02-Sep-2018 Mike Voydanoff <voydanoff@google.com>

[board][imx8mevk] Remove unused header file

TEST: boot on madrone
Change-Id: Ib0c7053b828478e6c275b2b7d8b4541b9021d8eb


# 5c6d16a0 29-Aug-2018 Mike Voydanoff <voydanoff@google.com>

[dev][platform-bus] separate regular metadata from bootloader metadata

In the platform bus protocol, we use the pbus_metadata_t struct
for board drivers to pass metadata to the platform devices.
Instead of overloading this struct to work both for immediately
provided metadata and metadata passed from the bootloader, we now have
a separate struct pbus_boot_metadata_t used for specifying bootloader
metadata to be assigned to a platform device.

ZX-2513 #in progress

TEST: booted VIM2, astro and gauss and verified that drivers that
use metadata started up successfully.

Change-Id: I7065fd497646f386987cb5dc317d1c66daa8df0a


# 21c26dc0 24-Aug-2018 Mike Voydanoff <voydanoff@google.com>

[platform-bus] Remove proxying of USB mode switch protocol

This protocol is only being used for Hikey960, which needs to change some GPIOs
when switching USB mode. But now that we have support for child platform devices,
this logic can be pushed out of the board driver and into a platform device driver
which has the dwc3 driver as a child.

TEST: manual testing on hikey960 and imx8m-evk
Change-Id: Ia3c1b9540d0813d3d873f22007e3e22efb219975


# 0d71f953 21-Aug-2018 Mike Voydanoff <voydanoff@google.com>

[dev][platform-bus] Clean-up and simplify platform bus protocol:

- Remove "flags" parameter from pbus_device_add().
Now platform devices can only be started in new devhosts.

- Add new API pbus_protocol_device_add(), for binding drivers that implement
platform bus protocols like GPIO and I2C_IMPL.
pbus_protocol_device_add() is equivalent to pbus_device_add(PDEV_ADD_PBUS_DEVHOST)
followed by pbus_wait_protocol().

- Remove pbus_wait_protocol(). pbus_protocol_device_add() does the wait for you automatically.

- Rename pbus_set_protocol() to pbus_register_protocol()

These changes will hopefully make the platform bus protocol easier
to understand and use.
I found two places where people accidentally using PDEV_ADD_PBUS_DEVHOST
inappropriately (probably copy & paste errors), which resulted in
the entire network stack and storage stack running in the platform bus devhost.
Hopefully this change will make it impossible for mistakes like that to happen again.

While doing this I also noticed that the gauss nand driver and vim2 ethernet driver
were running in the platform bus devhost. This change fixes that.

Also removed some remnants of the pbus_device_enable() API, which has been removed previously.

TEST: boot up on qemu, VIM2, gauss and astro and verified platform devices all start up properly

Change-Id: I580269bc6f53a63348ba8ab580259b1ba56dd393


# 28daa8f5 28-Jun-2018 Mike Voydanoff <voydanoff@google.com>

[dev][usb] Move USB initial mode from USB mode switch protocol to device metadata

A step toward making the USB mode switch protocol optional in the OTG case

Test: manual testing on hikey960 and madrone

Change-Id: If121c793d50767cc61044af8da081946a38be636


# 206fb6a1 28-Jun-2018 Mike Voydanoff <voydanoff@google.com>

[board][imx8evk] Enable both USB controllers

USB1 is for the USB-C OTG connector and USB2 is for the USB-A port.
Previously only the USB2 controller was enabled.

OTG is not supported on the USB-C connector yet,
but now it does work in host mode by default.

Test: Manual testing on madrone: USB devices enumerate both on the USB-A and USB-C ports.

Change-Id: Ie32d568bef7ea66b3a5c77345b8b9516cf5382af


# 71e1b090 28-Jun-2018 Mike Voydanoff <voydanoff@google.com>

[dev][usb][dwc3] Make dwc3 driver responsible for starting and stopping XHCI

The dwc3 controller supports both host and device mode.
The dwc3 host support is the same as XHCI, so we use the XHCI driver
when in host mode.
Previously the board driver was responsible for starting and stopping
the XHCI driver when switching in and out of host mode.
Now the dwc3 driver does this, simplifying the support needed from the board drivers.

Test: Manual testing on hikey960 and madrone. USB host starts successfully at boot,
"usbctl mode device" switches to device mode and "usbctl mode host" switches
back to host.

Change-Id: Idbeab8264cd805b66b5ad6d722807e4611f7a030


# a08c216a 11-Jun-2018 RJ Ascani <rjascani@google.com>

[syscalls] Add ARM SMCCC support to SMC syscall

In order to support the full range of services that are available via
the ARM Secure Monitor, zx_smc_call needed to gain some additional input
and output parameters. These additional parameters bring the syscall in
line with the ARM SMC Calling Convention where there are eight input
registers and four output registers.

The SMC invocation itself was moved out from underneath the PSCI kernel
driver to the arm64 arch specific component. All current SMC invocations
were updated to the new function and there are currently no calls from
higher layers.

Change-Id: I5577479a7f960a85a04cc6d978c27a2e37246a2f


# 354cff62 25-Apr-2018 Craig Stout <cstout@google.com>

[imx8m] SIP definitions

Silicon Provider services.

Change-Id: I04903cf977b6d4d5c9016eae4ed02306a7cfd090


# 0720d25c 18-Apr-2018 Payam Moradshahi <payamm@google.com>

[imx8][usb] At support for switching to host mode

Change-Id: I72c684e1e485e20fb2c665294e4015a4fe2c49c3


# 7bfb576b 05-Apr-2018 Payam Moradshahi <payamm@google.com>

[zircon][nxp][imx8][usb] Add USB support

Change-Id: I401df46175f29d6951372d3fc9d3e5fbf46f9f0f