• Home
  • Raw
  • Download

Lines Matching +full:uniphier +full:- +full:ld11 +full:- +full:reset

22 #include <linux/reset-controller.h>
32 #define UNIPHIER_RESET_ID_END (unsigned int)(-1)
52 /* System reset data */
68 UNIPHIER_RESETX(30, 0x2000, 19), /* SATA-PHY */
90 UNIPHIER_RESETX(16, 0x2014, 4), /* USB30-PHY0 */
91 UNIPHIER_RESETX(17, 0x2014, 0), /* USB30-PHY1 */
92 UNIPHIER_RESETX(18, 0x2014, 2), /* USB30-PHY2 */
93 UNIPHIER_RESETX(20, 0x2014, 5), /* USB31-PHY0 */
94 UNIPHIER_RESETX(21, 0x2014, 1), /* USB31-PHY1 */
96 UNIPHIER_RESET(30, 0x2014, 8), /* SATA-PHY (active high) */
120 UNIPHIER_RESETX(16, 0x200c, 12), /* USB30-PHY0 */
121 UNIPHIER_RESETX(17, 0x200c, 13), /* USB30-PHY1 */
122 UNIPHIER_RESETX(18, 0x200c, 14), /* USB30-PHY2 */
123 UNIPHIER_RESETX(19, 0x200c, 15), /* USB30-PHY3 */
139 UNIPHIER_RESETX(16, 0x200c, 16), /* USB30-PHY0 */
140 UNIPHIER_RESETX(17, 0x200c, 18), /* USB30-PHY1 */
141 UNIPHIER_RESETX(18, 0x200c, 20), /* USB30-PHY2 */
142 UNIPHIER_RESETX(20, 0x200c, 17), /* USB31-PHY0 */
143 UNIPHIER_RESETX(21, 0x200c, 19), /* USB31-PHY1 */
147 UNIPHIER_RESETX(30, 0x200c, 21), /* SATA-PHY */
151 /* Media I/O reset data */
195 /* Peripheral reset data */
245 /* Analog signal amplifiers reset data */
268 for (p = priv->data; p->id != UNIPHIER_RESET_ID_END; p++) { in uniphier_reset_update()
271 if (p->id != id) in uniphier_reset_update()
274 mask = BIT(p->bit); in uniphier_reset_update()
281 if (p->flags & UNIPHIER_RESET_ACTIVE_LOW) in uniphier_reset_update()
284 return regmap_write_bits(priv->regmap, p->reg, mask, val); in uniphier_reset_update()
287 dev_err(priv->dev, "reset_id=%lu was not handled\n", id); in uniphier_reset_update()
288 return -EINVAL; in uniphier_reset_update()
309 for (p = priv->data; p->id != UNIPHIER_RESET_ID_END; p++) { in uniphier_reset_status()
313 if (p->id != id) in uniphier_reset_status()
316 ret = regmap_read(priv->regmap, p->reg, &val); in uniphier_reset_status()
320 asserted = !!(val & BIT(p->bit)); in uniphier_reset_status()
322 if (p->flags & UNIPHIER_RESET_ACTIVE_LOW) in uniphier_reset_status()
328 dev_err(priv->dev, "reset_id=%lu was not found\n", id); in uniphier_reset_status()
329 return -EINVAL; in uniphier_reset_status()
340 struct device *dev = &pdev->dev; in uniphier_reset_probe()
349 return -EINVAL; in uniphier_reset_probe()
351 parent = of_get_parent(dev->of_node); /* parent should be syscon node */ in uniphier_reset_probe()
362 return -ENOMEM; in uniphier_reset_probe()
364 for (p = data; p->id != UNIPHIER_RESET_ID_END; p++) in uniphier_reset_probe()
365 nr_resets = max(nr_resets, p->id + 1); in uniphier_reset_probe()
367 priv->rcdev.ops = &uniphier_reset_ops; in uniphier_reset_probe()
368 priv->rcdev.owner = dev->driver->owner; in uniphier_reset_probe()
369 priv->rcdev.of_node = dev->of_node; in uniphier_reset_probe()
370 priv->rcdev.nr_resets = nr_resets; in uniphier_reset_probe()
371 priv->dev = dev; in uniphier_reset_probe()
372 priv->regmap = regmap; in uniphier_reset_probe()
373 priv->data = data; in uniphier_reset_probe()
375 return devm_reset_controller_register(&pdev->dev, &priv->rcdev); in uniphier_reset_probe()
379 /* System reset */
381 .compatible = "socionext,uniphier-ld4-reset",
385 .compatible = "socionext,uniphier-pro4-reset",
389 .compatible = "socionext,uniphier-sld8-reset",
393 .compatible = "socionext,uniphier-pro5-reset",
397 .compatible = "socionext,uniphier-pxs2-reset",
401 .compatible = "socionext,uniphier-ld11-reset",
405 .compatible = "socionext,uniphier-ld20-reset",
409 .compatible = "socionext,uniphier-pxs3-reset",
412 /* Media I/O reset, SD reset */
414 .compatible = "socionext,uniphier-ld4-mio-reset",
418 .compatible = "socionext,uniphier-pro4-mio-reset",
422 .compatible = "socionext,uniphier-sld8-mio-reset",
426 .compatible = "socionext,uniphier-pro5-sd-reset",
430 .compatible = "socionext,uniphier-pxs2-sd-reset",
434 .compatible = "socionext,uniphier-ld11-mio-reset",
438 .compatible = "socionext,uniphier-ld11-sd-reset",
442 .compatible = "socionext,uniphier-ld20-sd-reset",
446 .compatible = "socionext,uniphier-pxs3-sd-reset",
449 /* Peripheral reset */
451 .compatible = "socionext,uniphier-ld4-peri-reset",
455 .compatible = "socionext,uniphier-pro4-peri-reset",
459 .compatible = "socionext,uniphier-sld8-peri-reset",
463 .compatible = "socionext,uniphier-pro5-peri-reset",
467 .compatible = "socionext,uniphier-pxs2-peri-reset",
471 .compatible = "socionext,uniphier-ld11-peri-reset",
475 .compatible = "socionext,uniphier-ld20-peri-reset",
479 .compatible = "socionext,uniphier-pxs3-peri-reset",
482 /* Analog signal amplifiers reset */
484 .compatible = "socionext,uniphier-ld11-adamv-reset",
488 .compatible = "socionext,uniphier-ld20-adamv-reset",
498 .name = "uniphier-reset",
505 MODULE_DESCRIPTION("UniPhier Reset Controller Driver");