Lines Matching full:pruss

24  * struct pruss_private_data - PRUSS driver private data
25 * @has_no_sharedram: flag to indicate the absence of PRUSS Shared Data RAM
26 * @has_core_mux_clock: flag to indicate the presence of PRUSS core clock
41 static int pruss_clk_mux_setup(struct pruss *pruss, struct clk *clk_mux, in pruss_clk_mux_setup() argument
45 struct device *dev = pruss->dev; in pruss_clk_mux_setup()
87 reg = pruss->cfg_base + reg_offset; in pruss_clk_mux_setup()
121 static int pruss_clk_init(struct pruss *pruss, struct device_node *cfg_node) in pruss_clk_init() argument
125 struct device *dev = pruss->dev; in pruss_clk_init()
137 ret = pruss_clk_mux_setup(pruss, pruss->core_clk_mux, in pruss_clk_init()
145 ret = pruss_clk_mux_setup(pruss, pruss->iep_clk_mux, "iepclk-mux", in pruss_clk_init()
164 static int pruss_cfg_of_init(struct device *dev, struct pruss *pruss) in pruss_cfg_of_init() argument
182 pruss->cfg_base = devm_ioremap(dev, res.start, resource_size(&res)); in pruss_cfg_of_init()
183 if (!pruss->cfg_base) { in pruss_cfg_of_init()
192 pruss->cfg_regmap = devm_regmap_init_mmio(dev, pruss->cfg_base, in pruss_cfg_of_init()
195 if (IS_ERR(pruss->cfg_regmap)) { in pruss_cfg_of_init()
197 PTR_ERR(pruss->cfg_regmap)); in pruss_cfg_of_init()
198 ret = PTR_ERR(pruss->cfg_regmap); in pruss_cfg_of_init()
202 ret = pruss_clk_init(pruss, child); in pruss_cfg_of_init()
216 struct pruss *pruss; in pruss_probe() local
230 pruss = devm_kzalloc(dev, sizeof(*pruss), GFP_KERNEL); in pruss_probe()
231 if (!pruss) in pruss_probe()
234 pruss->dev = dev; in pruss_probe()
244 * On AM437x one of two PRUSS units don't contain Shared RAM, in pruss_probe()
262 pruss->mem_regions[i].va = devm_ioremap(dev, res.start, in pruss_probe()
264 if (!pruss->mem_regions[i].va) { in pruss_probe()
270 pruss->mem_regions[i].pa = res.start; in pruss_probe()
271 pruss->mem_regions[i].size = resource_size(&res); in pruss_probe()
274 mem_names[i], &pruss->mem_regions[i].pa, in pruss_probe()
275 pruss->mem_regions[i].size, pruss->mem_regions[i].va); in pruss_probe()
279 platform_set_drvdata(pdev, pruss); in pruss_probe()
288 ret = pruss_cfg_of_init(dev, pruss); in pruss_probe()
333 { .compatible = "ti,am3356-pruss" },
336 { .compatible = "ti,am5728-pruss" },
337 { .compatible = "ti,k2g-pruss" },
341 { .compatible = "ti,am625-pruss", .data = &am65x_j721e_pruss_data, },
348 .name = "pruss",