phy: ti: usb2: Add support for AM654 USB2 PHY

Add support for the USB2 PHY on the AM654 SoC.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
This commit is contained in:
Roger Quadros 2018-12-05 17:03:26 +02:00 committed by Kishon Vijay Abraham I
parent e712792ec0
commit 6777cee3a8
2 changed files with 19 additions and 2 deletions

View file

@ -33,11 +33,11 @@ config OMAP_CONTROL_PHY
config OMAP_USB2 config OMAP_USB2
tristate "OMAP USB2 PHY Driver" tristate "OMAP USB2 PHY Driver"
depends on ARCH_OMAP2PLUS depends on ARCH_OMAP2PLUS || ARCH_K3
depends on USB_SUPPORT depends on USB_SUPPORT
select GENERIC_PHY select GENERIC_PHY
select USB_PHY select USB_PHY
select OMAP_CONTROL_PHY select OMAP_CONTROL_PHY if ARCH_OMAP2PLUS
help help
Enable this to support the transceiver that is part of SOC. This Enable this to support the transceiver that is part of SOC. This
driver takes care of all the PHY functionality apart from comparator. driver takes care of all the PHY functionality apart from comparator.

View file

@ -36,6 +36,10 @@
#define USB2PHY_DISCON_BYP_LATCH (1 << 31) #define USB2PHY_DISCON_BYP_LATCH (1 << 31)
#define USB2PHY_ANA_CONFIG1 0x4c #define USB2PHY_ANA_CONFIG1 0x4c
#define AM654_USB2_OTG_PD BIT(8)
#define AM654_USB2_VBUS_DET_EN BIT(5)
#define AM654_USB2_VBUSVALID_DET_EN BIT(4)
/** /**
* omap_usb2_set_comparator - links the comparator present in the sytem with * omap_usb2_set_comparator - links the comparator present in the sytem with
* this phy * this phy
@ -245,6 +249,15 @@ static const struct usb_phy_data am437x_usb2_data = {
.power_off = AM437X_USB2_PHY_PD | AM437X_USB2_OTG_PD, .power_off = AM437X_USB2_PHY_PD | AM437X_USB2_OTG_PD,
}; };
static const struct usb_phy_data am654_usb2_data = {
.label = "am654_usb2",
.flags = OMAP_USB2_CALIBRATE_FALSE_DISCONNECT,
.mask = AM654_USB2_OTG_PD | AM654_USB2_VBUS_DET_EN |
AM654_USB2_VBUSVALID_DET_EN,
.power_on = AM654_USB2_VBUS_DET_EN | AM654_USB2_VBUSVALID_DET_EN,
.power_off = AM654_USB2_OTG_PD,
};
static const struct of_device_id omap_usb2_id_table[] = { static const struct of_device_id omap_usb2_id_table[] = {
{ {
.compatible = "ti,omap-usb2", .compatible = "ti,omap-usb2",
@ -266,6 +279,10 @@ static const struct of_device_id omap_usb2_id_table[] = {
.compatible = "ti,am437x-usb2", .compatible = "ti,am437x-usb2",
.data = &am437x_usb2_data, .data = &am437x_usb2_data,
}, },
{
.compatible = "ti,am654-usb2",
.data = &am654_usb2_data,
},
{}, {},
}; };
MODULE_DEVICE_TABLE(of, omap_usb2_id_table); MODULE_DEVICE_TABLE(of, omap_usb2_id_table);