mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 05:48:40 +00:00
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:
parent
e712792ec0
commit
6777cee3a8
2 changed files with 19 additions and 2 deletions
|
@ -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.
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue