Lines Matching +full:rzv2m +full:- +full:usb3drd
1 // SPDX-License-Identifier: GPL-2.0
3 * Renesas RZ/V2M USB3DRD driver
24 u32 val = readl(usb3->reg + offs); in rzv2m_usb3drd_set_bit()
27 writel(val, usb3->reg + offs); in rzv2m_usb3drd_set_bit()
33 u32 val = readl(usb3->reg + offs); in rzv2m_usb3drd_clear_bit()
36 writel(val, usb3->reg + offs); in rzv2m_usb3drd_clear_bit()
65 of_platform_depopulate(usb3->dev); in rzv2m_usb3drd_remove()
66 pm_runtime_put(usb3->dev); in rzv2m_usb3drd_remove()
67 pm_runtime_disable(&pdev->dev); in rzv2m_usb3drd_remove()
68 reset_control_assert(usb3->drd_rstc); in rzv2m_usb3drd_remove()
76 usb3 = devm_kzalloc(&pdev->dev, sizeof(*usb3), GFP_KERNEL); in rzv2m_usb3drd_probe()
78 return -ENOMEM; in rzv2m_usb3drd_probe()
80 usb3->dev = &pdev->dev; in rzv2m_usb3drd_probe()
82 usb3->drd_irq = platform_get_irq_byname(pdev, "drd"); in rzv2m_usb3drd_probe()
83 if (usb3->drd_irq < 0) in rzv2m_usb3drd_probe()
84 return usb3->drd_irq; in rzv2m_usb3drd_probe()
86 usb3->reg = devm_platform_ioremap_resource(pdev, 0); in rzv2m_usb3drd_probe()
87 if (IS_ERR(usb3->reg)) in rzv2m_usb3drd_probe()
88 return PTR_ERR(usb3->reg); in rzv2m_usb3drd_probe()
92 usb3->drd_rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in rzv2m_usb3drd_probe()
93 if (IS_ERR(usb3->drd_rstc)) in rzv2m_usb3drd_probe()
94 return dev_err_probe(&pdev->dev, PTR_ERR(usb3->drd_rstc), in rzv2m_usb3drd_probe()
97 reset_control_deassert(usb3->drd_rstc); in rzv2m_usb3drd_probe()
98 pm_runtime_enable(&pdev->dev); in rzv2m_usb3drd_probe()
99 ret = pm_runtime_resume_and_get(usb3->dev); in rzv2m_usb3drd_probe()
103 ret = of_platform_populate(usb3->dev->of_node, NULL, NULL, usb3->dev); in rzv2m_usb3drd_probe()
110 pm_runtime_put(usb3->dev); in rzv2m_usb3drd_probe()
113 pm_runtime_disable(&pdev->dev); in rzv2m_usb3drd_probe()
114 reset_control_assert(usb3->drd_rstc); in rzv2m_usb3drd_probe()
119 { .compatible = "renesas,rzv2m-usb3drd", },
126 .name = "rzv2m-usb3drd",
135 MODULE_DESCRIPTION("Renesas RZ/V2M USB3DRD driver");