Lines Matching +full:berlin2 +full:- +full:reset
1 // SPDX-License-Identifier: GPL-2.0
5 * Antoine Tenart <antoine.tenart@free-electrons.com>
14 #include <linux/reset.h>
118 reset_control_reset(priv->rst_ctrl); in phy_berlin_usb_power_on()
120 writel(priv->pll_divider, in phy_berlin_usb_power_on()
121 priv->base + USB_PHY_PLL); in phy_berlin_usb_power_on()
123 CLK_BLK_EN, priv->base + USB_PHY_PLL_CONTROL); in phy_berlin_usb_power_on()
125 priv->base + USB_PHY_ANALOG); in phy_berlin_usb_power_on()
128 INTPL_CUR_30, priv->base + USB_PHY_RX_CTRL); in phy_berlin_usb_power_on()
130 writel(TX_VDD12_13 | TX_OUT_AMP(0x3), priv->base + USB_PHY_TX_CTRL1); in phy_berlin_usb_power_on()
132 priv->base + USB_PHY_TX_CTRL0); in phy_berlin_usb_power_on()
135 EXT_FS_RCAL_DIV(0x2), priv->base + USB_PHY_TX_CTRL0); in phy_berlin_usb_power_on()
138 priv->base + USB_PHY_TX_CTRL0); in phy_berlin_usb_power_on()
140 FS_DRV_EN_MASK(0xd), priv->base + USB_PHY_TX_CTRL2); in phy_berlin_usb_power_on()
152 .compatible = "marvell,berlin2-usb-phy",
156 .compatible = "marvell,berlin2cd-usb-phy",
166 of_match_device(phy_berlin_usb_of_match, &pdev->dev); in phy_berlin_usb_probe()
171 priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); in phy_berlin_usb_probe()
173 return -ENOMEM; in phy_berlin_usb_probe()
175 priv->base = devm_platform_ioremap_resource(pdev, 0); in phy_berlin_usb_probe()
176 if (IS_ERR(priv->base)) in phy_berlin_usb_probe()
177 return PTR_ERR(priv->base); in phy_berlin_usb_probe()
179 priv->rst_ctrl = devm_reset_control_get(&pdev->dev, NULL); in phy_berlin_usb_probe()
180 if (IS_ERR(priv->rst_ctrl)) in phy_berlin_usb_probe()
181 return PTR_ERR(priv->rst_ctrl); in phy_berlin_usb_probe()
183 priv->pll_divider = *((u32 *)match->data); in phy_berlin_usb_probe()
185 phy = devm_phy_create(&pdev->dev, NULL, &phy_berlin_usb_ops); in phy_berlin_usb_probe()
187 dev_err(&pdev->dev, "failed to create PHY\n"); in phy_berlin_usb_probe()
194 devm_of_phy_provider_register(&pdev->dev, of_phy_simple_xlate); in phy_berlin_usb_probe()
201 .name = "phy-berlin-usb",
207 MODULE_AUTHOR("Antoine Tenart <antoine.tenart@free-electrons.com>");