Lines Matching +full:ep9301 +full:- +full:syscon

1 // SPDX-License-Identifier: GPL-2.0+
6 * Based on a rewrite of arch/arm/mach-ep93xx/core.c
17 #include <linux/mfd/syscon.h>
97 return ERR_PTR(-ENOMEM); in ep93xx_adev_alloc()
99 rdev->map = info->map; in ep93xx_adev_alloc()
100 rdev->base = info->base; in ep93xx_adev_alloc()
101 rdev->lock = &info->lock; in ep93xx_adev_alloc()
102 rdev->write = ep93xx_regmap_write; in ep93xx_adev_alloc()
103 rdev->update_bits = ep93xx_regmap_update_bits; in ep93xx_adev_alloc()
105 adev = &rdev->adev; in ep93xx_adev_alloc()
106 adev->name = name; in ep93xx_adev_alloc()
107 adev->dev.parent = parent; in ep93xx_adev_alloc()
108 adev->dev.release = ep93xx_adev_release; in ep93xx_adev_alloc()
114 return &no_free_ptr(rdev)->adev; in ep93xx_adev_alloc()
165 "pinctrl-ep9301", /* EP93XX_9301_SOC */
166 "pinctrl-ep9307", /* EP93XX_9307_SOC */
167 "pinctrl-ep9312", /* EP93XX_9312_SOC */
176 struct device *dev = &pdev->dev; in ep93xx_syscon_probe()
184 map = device_node_to_regmap(dev->of_node); in ep93xx_syscon_probe()
194 return -ENOMEM; in ep93xx_syscon_probe()
198 attrs->machine = of_flat_dt_get_machine_name(); in ep93xx_syscon_probe()
199 attrs->family = "Cirrus Logic EP93xx"; in ep93xx_syscon_probe()
200 attrs->revision = ep93xx_get_soc_rev(rev); in ep93xx_syscon_probe()
208 return -ENOMEM; in ep93xx_syscon_probe()
210 spin_lock_init(&map_info->lock); in ep93xx_syscon_probe()
211 map_info->map = map; in ep93xx_syscon_probe()
212 map_info->base = base; in ep93xx_syscon_probe()
224 ret = ep93xx_controller_register(dev, "clk-ep93xx.e2", map_info); in ep93xx_syscon_probe()
226 ret = ep93xx_controller_register(dev, "clk-ep93xx", map_info); in ep93xx_syscon_probe()
230 ret = ep93xx_controller_register(dev, "reset-ep93xx", map_info); in ep93xx_syscon_probe()
238 { .compatible = "cirrus,ep9301-syscon", .data = (void *)EP93XX_9301_SOC },
239 { .compatible = "cirrus,ep9302-syscon", .data = (void *)EP93XX_9301_SOC },
240 { .compatible = "cirrus,ep9307-syscon", .data = (void *)EP93XX_9307_SOC },
241 { .compatible = "cirrus,ep9312-syscon", .data = (void *)EP93XX_9312_SOC },
242 { .compatible = "cirrus,ep9315-syscon", .data = (void *)EP93XX_9312_SOC },
248 .name = "ep9301-syscon",