phy: usb: Add support for new Synopsys USB controller on the 7216
authorAl Cooper <alcooperx@gmail.com>
Fri, 3 Jan 2020 18:18:05 +0000 (13:18 -0500)
committerKishon Vijay Abraham I <kishon@ti.com>
Wed, 8 Jan 2020 07:28:06 +0000 (12:58 +0530)
commit4e5b9c9a73b32d28759225a40d30848393a8f1fd
tree03d24b9aeb8aefa1162e16b9dff1752119c31bf0
parentb11df0c9efbbe2b52c5133ca15030f01b43ec6ef
phy: usb: Add support for new Synopsys USB controller on the 7216

The 7216 has the new USB XHCI controller from Synopsys. While
this new controller and the PHY are similar to the STB versions,
the major differences are:

- Many of the registers and fields in the CTRL block have been
  removed or changed.
- A new set of Synopsys control registers, BCHP_USB_XHCI_GBL, were
  added.
- MDIO functionality has been replaced with direct access registers
  in the BCHP_USB_XHCI_GBL block.
- Power up PHY defaults that had to be changed by MDIO in previous
  chips will now power up with the correct defaults.

A new init module was created for this new Synopsys USB controller.
A new compatible string was added and the driver will dispatch
into one of two init modules based on it. A "reg-names" field was
added so the driver can more easily get optional registers.
A DT bindings document was also added for this driver.

Signed-off-by: Al Cooper <alcooperx@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/broadcom/Makefile
drivers/phy/broadcom/phy-brcm-usb-init-synopsys.c [new file with mode: 0644]
drivers/phy/broadcom/phy-brcm-usb-init.h
drivers/phy/broadcom/phy-brcm-usb.c