• Home
  • Raw
  • Download

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()
172 priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); in phy_berlin_usb_probe()
174 return -ENOMEM; in phy_berlin_usb_probe()
177 priv->base = devm_ioremap_resource(&pdev->dev, res); in phy_berlin_usb_probe()
178 if (IS_ERR(priv->base)) in phy_berlin_usb_probe()
179 return PTR_ERR(priv->base); in phy_berlin_usb_probe()
181 priv->rst_ctrl = devm_reset_control_get(&pdev->dev, NULL); in phy_berlin_usb_probe()
182 if (IS_ERR(priv->rst_ctrl)) in phy_berlin_usb_probe()
183 return PTR_ERR(priv->rst_ctrl); in phy_berlin_usb_probe()
185 priv->pll_divider = *((u32 *)match->data); in phy_berlin_usb_probe()
187 phy = devm_phy_create(&pdev->dev, NULL, &phy_berlin_usb_ops); in phy_berlin_usb_probe()
189 dev_err(&pdev->dev, "failed to create PHY\n"); in phy_berlin_usb_probe()
196 devm_of_phy_provider_register(&pdev->dev, of_phy_simple_xlate); in phy_berlin_usb_probe()
203 .name = "phy-berlin-usb",
209 MODULE_AUTHOR("Antoine Tenart <antoine.tenart@free-electrons.com>");