Lines Matching refs:pmx
1961 struct gemini_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in gemini_get_groups_count() local
1963 if (pmx->is_3512) in gemini_get_groups_count()
1965 if (pmx->is_3516) in gemini_get_groups_count()
1973 struct gemini_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in gemini_get_group_name() local
1975 if (pmx->is_3512) in gemini_get_group_name()
1977 if (pmx->is_3516) in gemini_get_group_name()
1987 struct gemini_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in gemini_get_group_pins() local
1990 if (pmx->flash_pin && in gemini_get_group_pins()
1991 pmx->is_3512 && in gemini_get_group_pins()
1997 if (pmx->flash_pin && in gemini_get_group_pins()
1998 pmx->is_3516 && in gemini_get_group_pins()
2004 if (pmx->is_3512) { in gemini_get_group_pins()
2008 if (pmx->is_3516) { in gemini_get_group_pins()
2194 struct gemini_pmx *pmx; in gemini_pmx_set_mux() local
2201 pmx = pinctrl_dev_get_drvdata(pctldev); in gemini_pmx_set_mux()
2204 if (pmx->is_3512) in gemini_pmx_set_mux()
2206 else if (pmx->is_3516) in gemini_pmx_set_mux()
2209 dev_err(pmx->dev, "invalid SoC type\n"); in gemini_pmx_set_mux()
2213 dev_dbg(pmx->dev, in gemini_pmx_set_mux()
2217 regmap_read(pmx->map, GLOBAL_MISC_CTRL, &before); in gemini_pmx_set_mux()
2218 regmap_update_bits(pmx->map, GLOBAL_MISC_CTRL, in gemini_pmx_set_mux()
2221 regmap_read(pmx->map, GLOBAL_MISC_CTRL, &after); in gemini_pmx_set_mux()
2237 dev_err(pmx->dev, in gemini_pmx_set_mux()
2242 dev_err(pmx->dev, in gemini_pmx_set_mux()
2246 dev_dbg(pmx->dev, in gemini_pmx_set_mux()
2259 dev_err(pmx->dev, in gemini_pmx_set_mux()
2264 dev_err(pmx->dev, in gemini_pmx_set_mux()
2268 dev_dbg(pmx->dev, in gemini_pmx_set_mux()
2366 static const struct gemini_pin_conf *gemini_get_pin_conf(struct gemini_pmx *pmx, in gemini_get_pin_conf() argument
2372 for (i = 0; i < pmx->nconfs; i++) { in gemini_get_pin_conf()
2373 retconf = &pmx->confs[i]; in gemini_get_pin_conf()
2383 struct gemini_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in gemini_pinconf_get() local
2390 conf = gemini_get_pin_conf(pmx, pin); in gemini_pinconf_get()
2393 regmap_read(pmx->map, conf->reg, &val); in gemini_pinconf_get()
2408 struct gemini_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in gemini_pinconf_set() local
2423 conf = gemini_get_pin_conf(pmx, pin); in gemini_pinconf_set()
2425 dev_err(pmx->dev, in gemini_pinconf_set()
2430 dev_dbg(pmx->dev, in gemini_pinconf_set()
2433 regmap_update_bits(pmx->map, conf->reg, conf->mask, arg); in gemini_pinconf_set()
2436 dev_err(pmx->dev, "Invalid config param %04x\n", param); in gemini_pinconf_set()
2449 struct gemini_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in gemini_pinconf_group_set() local
2456 if (pmx->is_3512) in gemini_pinconf_group_set()
2458 if (pmx->is_3516) in gemini_pinconf_group_set()
2463 dev_err(pmx->dev, "pin config group \"%s\" does " in gemini_pinconf_group_set()
2489 dev_err(pmx->dev, in gemini_pinconf_group_set()
2495 regmap_update_bits(pmx->map, GLOBAL_IODRIVE, in gemini_pinconf_group_set()
2498 dev_dbg(pmx->dev, in gemini_pinconf_group_set()
2503 dev_err(pmx->dev, "invalid config param %04x\n", param); in gemini_pinconf_group_set()
2528 struct gemini_pmx *pmx; in gemini_pmx_probe() local
2538 pmx = devm_kzalloc(&pdev->dev, sizeof(*pmx), GFP_KERNEL); in gemini_pmx_probe()
2539 if (!pmx) in gemini_pmx_probe()
2542 pmx->dev = &pdev->dev; in gemini_pmx_probe()
2553 pmx->map = map; in gemini_pmx_probe()
2564 pmx->is_3512 = true; in gemini_pmx_probe()
2565 pmx->confs = gemini_confs_3512; in gemini_pmx_probe()
2566 pmx->nconfs = ARRAY_SIZE(gemini_confs_3512); in gemini_pmx_probe()
2571 pmx->is_3516 = true; in gemini_pmx_probe()
2572 pmx->confs = gemini_confs_3516; in gemini_pmx_probe()
2573 pmx->nconfs = ARRAY_SIZE(gemini_confs_3516); in gemini_pmx_probe()
2597 pmx->flash_pin = !!(val & GLOBAL_STATUS_FLPIN); in gemini_pmx_probe()
2598 dev_info(dev, "flash pin is %s\n", pmx->flash_pin ? "set" : "not set"); in gemini_pmx_probe()
2600 pmx->pctl = devm_pinctrl_register(dev, &gemini_pmx_desc, pmx); in gemini_pmx_probe()
2601 if (IS_ERR(pmx->pctl)) { in gemini_pmx_probe()
2603 return PTR_ERR(pmx->pctl); in gemini_pmx_probe()