mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-06-09 23:36:03 +09:00
Merge branch '2020-09-14-generic-phy-error-trace' into next
- Add error tracing messages to the generic PHY infrastructure
This commit is contained in:
commit
2512b3b88b
|
@ -196,8 +196,8 @@ int board_usb_init(int index, enum usb_init_type init)
|
|||
for (i = 0; i < 2; i++) {
|
||||
ret = generic_phy_init(&usb_phys[i]);
|
||||
if (ret) {
|
||||
pr_err("Can't init USB PHY%d for %s\n",
|
||||
i, ofnode_get_name(dwc2_node));
|
||||
pr_debug("Can't init USB PHY%d for %s\n",
|
||||
i, ofnode_get_name(dwc2_node));
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
@ -205,8 +205,8 @@ int board_usb_init(int index, enum usb_init_type init)
|
|||
for (i = 0; i < 2; i++) {
|
||||
ret = generic_phy_power_on(&usb_phys[i]);
|
||||
if (ret) {
|
||||
pr_err("Can't power USB PHY%d for %s\n",
|
||||
i, ofnode_get_name(dwc2_node));
|
||||
pr_debug("Can't power USB PHY%d for %s\n",
|
||||
i, ofnode_get_name(dwc2_node));
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -711,7 +711,7 @@ int g_dnl_board_usb_cable_connected(void)
|
|||
|
||||
ret = generic_phy_init(&phy);
|
||||
if (ret) {
|
||||
pr_err("failed to init %s USB PHY\n", dev->name);
|
||||
pr_debug("failed to init %s USB PHY\n", dev->name);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -62,13 +62,13 @@ static int dwc_ahci_probe(struct udevice *dev)
|
|||
|
||||
ret = generic_phy_init(&phy);
|
||||
if (ret) {
|
||||
pr_err("unable to initialize the sata phy\n");
|
||||
pr_debug("unable to initialize the sata phy\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = generic_phy_power_on(&phy);
|
||||
if (ret) {
|
||||
pr_err("unable to power on the sata phy\n");
|
||||
pr_debug("unable to power on the sata phy\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -117,56 +117,91 @@ int generic_phy_get_by_name(struct udevice *dev, const char *phy_name,
|
|||
int generic_phy_init(struct phy *phy)
|
||||
{
|
||||
struct phy_ops const *ops;
|
||||
int ret;
|
||||
|
||||
if (!generic_phy_valid(phy))
|
||||
return 0;
|
||||
ops = phy_dev_ops(phy->dev);
|
||||
if (!ops->init)
|
||||
return 0;
|
||||
ret = ops->init(phy);
|
||||
if (ret)
|
||||
dev_err(phy->dev, "PHY: Failed to init %s: %d.\n",
|
||||
phy->dev->name, ret);
|
||||
|
||||
return ops->init ? ops->init(phy) : 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int generic_phy_reset(struct phy *phy)
|
||||
{
|
||||
struct phy_ops const *ops;
|
||||
int ret;
|
||||
|
||||
if (!generic_phy_valid(phy))
|
||||
return 0;
|
||||
ops = phy_dev_ops(phy->dev);
|
||||
if (!ops->reset)
|
||||
return 0;
|
||||
ret = ops->reset(phy);
|
||||
if (ret)
|
||||
dev_err(phy->dev, "PHY: Failed to reset %s: %d.\n",
|
||||
phy->dev->name, ret);
|
||||
|
||||
return ops->reset ? ops->reset(phy) : 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int generic_phy_exit(struct phy *phy)
|
||||
{
|
||||
struct phy_ops const *ops;
|
||||
int ret;
|
||||
|
||||
if (!generic_phy_valid(phy))
|
||||
return 0;
|
||||
ops = phy_dev_ops(phy->dev);
|
||||
if (!ops->exit)
|
||||
return 0;
|
||||
ret = ops->exit(phy);
|
||||
if (ret)
|
||||
dev_err(phy->dev, "PHY: Failed to exit %s: %d.\n",
|
||||
phy->dev->name, ret);
|
||||
|
||||
return ops->exit ? ops->exit(phy) : 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int generic_phy_power_on(struct phy *phy)
|
||||
{
|
||||
struct phy_ops const *ops;
|
||||
int ret;
|
||||
|
||||
if (!generic_phy_valid(phy))
|
||||
return 0;
|
||||
ops = phy_dev_ops(phy->dev);
|
||||
if (!ops->power_on)
|
||||
return 0;
|
||||
ret = ops->power_on(phy);
|
||||
if (ret)
|
||||
dev_err(phy->dev, "PHY: Failed to power on %s: %d.\n",
|
||||
phy->dev->name, ret);
|
||||
|
||||
return ops->power_on ? ops->power_on(phy) : 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int generic_phy_power_off(struct phy *phy)
|
||||
{
|
||||
struct phy_ops const *ops;
|
||||
int ret;
|
||||
|
||||
if (!generic_phy_valid(phy))
|
||||
return 0;
|
||||
ops = phy_dev_ops(phy->dev);
|
||||
if (!ops->power_off)
|
||||
return 0;
|
||||
ret = ops->power_off(phy);
|
||||
if (ret)
|
||||
dev_err(phy->dev, "PHY: Failed to power off %s: %d.\n",
|
||||
phy->dev->name, ret);
|
||||
|
||||
return ops->power_off ? ops->power_off(phy) : 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int generic_phy_get_bulk(struct udevice *dev, struct phy_bulk *bulk)
|
||||
|
|
|
@ -1762,13 +1762,13 @@ int ehci_setup_phy(struct udevice *dev, struct phy *phy, int index)
|
|||
} else {
|
||||
ret = generic_phy_init(phy);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to init usb phy\n");
|
||||
dev_dbg(dev, "failed to init usb phy\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = generic_phy_power_on(phy);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to power on usb phy\n");
|
||||
dev_dbg(dev, "failed to power on usb phy\n");
|
||||
return generic_phy_exit(phy);
|
||||
}
|
||||
}
|
||||
|
@ -1786,13 +1786,13 @@ int ehci_shutdown_phy(struct udevice *dev, struct phy *phy)
|
|||
if (generic_phy_valid(phy)) {
|
||||
ret = generic_phy_power_off(phy);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to power off usb phy\n");
|
||||
dev_dbg(dev, "failed to power off usb phy\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = generic_phy_exit(phy);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to power off usb phy\n");
|
||||
dev_dbg(dev, "failed to power off usb phy\n");
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,13 +41,13 @@ static int ohci_setup_phy(struct udevice *dev, int index)
|
|||
} else {
|
||||
ret = generic_phy_init(&priv->phy);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to init usb phy\n");
|
||||
dev_dbg(dev, "failed to init usb phy\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = generic_phy_power_on(&priv->phy);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to power on usb phy\n");
|
||||
dev_dbg(dev, "failed to power on usb phy\n");
|
||||
return generic_phy_exit(&priv->phy);
|
||||
}
|
||||
}
|
||||
|
@ -63,13 +63,13 @@ static int ohci_shutdown_phy(struct udevice *dev)
|
|||
if (generic_phy_valid(&priv->phy)) {
|
||||
ret = generic_phy_power_off(&priv->phy);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to power off usb phy\n");
|
||||
dev_dbg(dev, "failed to power off usb phy\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = generic_phy_exit(&priv->phy);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to power off usb phy\n");
|
||||
dev_dbg(dev, "failed to power off usb phy\n");
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -257,7 +257,7 @@ static int sunxi_musb_enable(struct musb *musb)
|
|||
|
||||
ret = generic_phy_power_on(&glue->phy);
|
||||
if (ret) {
|
||||
pr_err("failed to power on USB PHY\n");
|
||||
pr_debug("failed to power on USB PHY\n");
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
@ -281,7 +281,7 @@ static void sunxi_musb_disable(struct musb *musb)
|
|||
if (is_host_enabled(musb)) {
|
||||
ret = generic_phy_power_off(&glue->phy);
|
||||
if (ret) {
|
||||
pr_err("failed to power off USB PHY\n");
|
||||
pr_debug("failed to power off USB PHY\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -315,7 +315,7 @@ static int sunxi_musb_init(struct musb *musb)
|
|||
|
||||
ret = generic_phy_init(&glue->phy);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to init USB PHY\n");
|
||||
dev_dbg(dev, "failed to init USB PHY\n");
|
||||
goto err_rst;
|
||||
}
|
||||
|
||||
|
@ -352,7 +352,7 @@ static int sunxi_musb_exit(struct musb *musb)
|
|||
if (generic_phy_valid(&glue->phy)) {
|
||||
ret = generic_phy_exit(&glue->phy);
|
||||
if (ret) {
|
||||
dev_err(dev, "failed to power off usb phy\n");
|
||||
dev_dbg(dev, "failed to power off usb phy\n");
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user