Lines Matching refs:ebid
41 void (*get_config)(struct atmel_ebi_dev *ebid,
43 int (*xlate_config)(struct atmel_ebi_dev *ebid,
46 void (*apply_config)(struct atmel_ebi_dev *ebid,
80 static void at91sam9_ebi_get_config(struct atmel_ebi_dev *ebid, in at91sam9_ebi_get_config() argument
83 atmel_smc_cs_conf_get(ebid->ebi->smc.regmap, conf->cs, in at91sam9_ebi_get_config()
87 static void sama5_ebi_get_config(struct atmel_ebi_dev *ebid, in sama5_ebi_get_config() argument
90 atmel_hsmc_cs_conf_get(ebid->ebi->smc.regmap, ebid->ebi->smc.layout, in sama5_ebi_get_config()
111 static int atmel_ebi_xslate_smc_timings(struct atmel_ebi_dev *ebid, in atmel_ebi_xslate_smc_timings() argument
115 unsigned int clk_rate = clk_get_rate(ebid->ebi->clk); in atmel_ebi_xslate_smc_timings()
163 dev_err(ebid->ebi->dev, in atmel_ebi_xslate_smc_timings()
172 static int atmel_ebi_xslate_smc_config(struct atmel_ebi_dev *ebid, in atmel_ebi_xslate_smc_config() argument
270 ret = atmel_ebi_xslate_smc_timings(ebid, np, &conf->smcconf); in atmel_ebi_xslate_smc_config()
275 dev_err(ebid->ebi->dev, "missing atmel,smc- properties in %pOF", in atmel_ebi_xslate_smc_config()
283 static void at91sam9_ebi_apply_config(struct atmel_ebi_dev *ebid, in at91sam9_ebi_apply_config() argument
286 atmel_smc_cs_conf_apply(ebid->ebi->smc.regmap, conf->cs, in at91sam9_ebi_apply_config()
290 static void sama5_ebi_apply_config(struct atmel_ebi_dev *ebid, in sama5_ebi_apply_config() argument
293 atmel_hsmc_cs_conf_apply(ebid->ebi->smc.regmap, ebid->ebi->smc.layout, in sama5_ebi_apply_config()
303 struct atmel_ebi_dev *ebid; in atmel_ebi_dev_setup() local
332 ebid = devm_kzalloc(ebi->dev, struct_size(ebid, configs, numcs), in atmel_ebi_dev_setup()
334 if (!ebid) in atmel_ebi_dev_setup()
337 ebid->ebi = ebi; in atmel_ebi_dev_setup()
338 ebid->numcs = numcs; in atmel_ebi_dev_setup()
340 ret = caps->xlate_config(ebid, np, &conf); in atmel_ebi_dev_setup()
348 ebid->configs[i].cs = cs; in atmel_ebi_dev_setup()
352 caps->apply_config(ebid, &conf); in atmel_ebi_dev_setup()
355 caps->get_config(ebid, &ebid->configs[i]); in atmel_ebi_dev_setup()
369 list_add_tail(&ebid->node, &ebi->devs); in atmel_ebi_dev_setup()
615 struct atmel_ebi_dev *ebid; in atmel_ebi_resume() local
617 list_for_each_entry(ebid, &ebi->devs, node) { in atmel_ebi_resume()
620 for (i = 0; i < ebid->numcs; i++) in atmel_ebi_resume()
621 ebid->ebi->caps->apply_config(ebid, &ebid->configs[i]); in atmel_ebi_resume()