Lines Matching refs:ebid
40 void (*get_config)(struct atmel_ebi_dev *ebid,
42 int (*xlate_config)(struct atmel_ebi_dev *ebid,
45 void (*apply_config)(struct atmel_ebi_dev *ebid,
79 static void at91sam9_ebi_get_config(struct atmel_ebi_dev *ebid, in at91sam9_ebi_get_config() argument
82 atmel_smc_cs_conf_get(ebid->ebi->smc.regmap, conf->cs, in at91sam9_ebi_get_config()
86 static void sama5_ebi_get_config(struct atmel_ebi_dev *ebid, in sama5_ebi_get_config() argument
89 atmel_hsmc_cs_conf_get(ebid->ebi->smc.regmap, ebid->ebi->smc.layout, in sama5_ebi_get_config()
110 static int atmel_ebi_xslate_smc_timings(struct atmel_ebi_dev *ebid, in atmel_ebi_xslate_smc_timings() argument
114 unsigned int clk_rate = clk_get_rate(ebid->ebi->clk); in atmel_ebi_xslate_smc_timings()
162 dev_err(ebid->ebi->dev, in atmel_ebi_xslate_smc_timings()
171 static int atmel_ebi_xslate_smc_config(struct atmel_ebi_dev *ebid, in atmel_ebi_xslate_smc_config() argument
269 ret = atmel_ebi_xslate_smc_timings(ebid, np, &conf->smcconf); in atmel_ebi_xslate_smc_config()
274 dev_err(ebid->ebi->dev, "missing atmel,smc- properties in %pOF", in atmel_ebi_xslate_smc_config()
282 static void at91sam9_ebi_apply_config(struct atmel_ebi_dev *ebid, in at91sam9_ebi_apply_config() argument
285 atmel_smc_cs_conf_apply(ebid->ebi->smc.regmap, conf->cs, in at91sam9_ebi_apply_config()
289 static void sama5_ebi_apply_config(struct atmel_ebi_dev *ebid, in sama5_ebi_apply_config() argument
292 atmel_hsmc_cs_conf_apply(ebid->ebi->smc.regmap, ebid->ebi->smc.layout, in sama5_ebi_apply_config()
302 struct atmel_ebi_dev *ebid; in atmel_ebi_dev_setup() local
331 ebid = devm_kzalloc(ebi->dev, struct_size(ebid, configs, numcs), in atmel_ebi_dev_setup()
333 if (!ebid) in atmel_ebi_dev_setup()
336 ebid->ebi = ebi; in atmel_ebi_dev_setup()
337 ebid->numcs = numcs; in atmel_ebi_dev_setup()
339 ret = caps->xlate_config(ebid, np, &conf); in atmel_ebi_dev_setup()
347 ebid->configs[i].cs = cs; in atmel_ebi_dev_setup()
351 caps->apply_config(ebid, &conf); in atmel_ebi_dev_setup()
354 caps->get_config(ebid, &ebid->configs[i]); in atmel_ebi_dev_setup()
368 list_add_tail(&ebid->node, &ebi->devs); in atmel_ebi_dev_setup()
627 struct atmel_ebi_dev *ebid; in atmel_ebi_resume() local
629 list_for_each_entry(ebid, &ebi->devs, node) { in atmel_ebi_resume()
632 for (i = 0; i < ebid->numcs; i++) in atmel_ebi_resume()
633 ebid->ebi->caps->apply_config(ebid, &ebid->configs[i]); in atmel_ebi_resume()