Lines Matching defs:pmx

4934 	struct atlas7_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
4936 return pmx->pctl_data->funcs_cnt;
4942 struct atlas7_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
4944 return pmx->pctl_data->funcs[selector].name;
4951 struct atlas7_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
4953 *groups = pmx->pctl_data->funcs[selector].groups;
4954 *num_groups = pmx->pctl_data->funcs[selector].num_groups;
4959 static void __atlas7_pmx_pin_input_disable_set(struct atlas7_pmx *pmx,
4970 pmx->regs[BANK_DS] + CLR_REG(mux->dinput_reg));
4972 pmx->regs[BANK_DS] + mux->dinput_reg);
4976 pmx->regs[BANK_DS] + CLR_REG(mux->dinput_val_reg));
4978 pmx->regs[BANK_DS] + mux->dinput_val_reg);
4982 static void __atlas7_pmx_pin_input_disable_clr(struct atlas7_pmx *pmx,
4988 pmx->regs[BANK_DS] + CLR_REG(mux->dinput_reg));
4990 pmx->regs[BANK_DS] + mux->dinput_reg);
4993 pmx->regs[BANK_DS] + CLR_REG(mux->dinput_val_reg));
4995 pmx->regs[BANK_DS] + mux->dinput_val_reg);
4999 static int __atlas7_pmx_pin_ad_sel(struct atlas7_pmx *pmx,
5007 pmx->regs[bank] + CLR_REG(conf->ad_ctrl_reg));
5010 regv = readl(pmx->regs[bank] + conf->ad_ctrl_reg);
5013 pmx->regs[bank] + conf->ad_ctrl_reg);
5015 regv = readl(pmx->regs[bank] + conf->ad_ctrl_reg);
5021 static int __atlas7_pmx_pin_analog_enable(struct atlas7_pmx *pmx,
5028 return __atlas7_pmx_pin_ad_sel(pmx, conf, bank, 0);
5031 static int __atlas7_pmx_pin_digital_enable(struct atlas7_pmx *pmx,
5038 return __atlas7_pmx_pin_ad_sel(pmx, conf, bank, 1);
5041 static int __atlas7_pmx_pin_enable(struct atlas7_pmx *pmx,
5053 conf = &pmx->pctl_data->confs[pin];
5058 ret = __atlas7_pmx_pin_analog_enable(pmx, conf, bank);
5060 dev_err(pmx->dev,
5067 ret = __atlas7_pmx_pin_digital_enable(pmx, conf, bank);
5069 dev_err(pmx->dev,
5077 pmx->regs[bank] + CLR_REG(conf->mux_reg));
5080 regv = readl(pmx->regs[bank] + conf->mux_reg);
5083 pmx->regs[bank] + conf->mux_reg);
5085 regv = readl(pmx->regs[bank] + conf->mux_reg);
5096 struct atlas7_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
5102 pmx_func = &pmx->pctl_data->funcs[func_selector];
5103 pin_grp = &pmx->pctl_data->grps[group_selector];
5111 writel(1, pmx->sys2pci_base + SYS2PCI_SDIO9SEL);
5113 writel(0, pmx->sys2pci_base + SYS2PCI_SDIO9SEL);
5120 __atlas7_pmx_pin_input_disable_set(pmx, mux);
5121 ret = __atlas7_pmx_pin_enable(pmx, mux->pin, mux->func);
5123 dev_err(pmx->dev,
5129 __atlas7_pmx_pin_input_disable_clr(pmx, mux);
5161 struct atlas7_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
5162 struct atlas7_pad_config *conf = &pmx->pctl_data->confs[pin];
5170 pull_sel_reg = pmx->regs[bank] + conf->pupd_reg;
5187 struct atlas7_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
5188 struct atlas7_pad_config *conf = &pmx->pctl_data->confs[pin];
5198 ds_sel_reg = pmx->regs[bank] + conf->drvstr_reg;
5214 struct atlas7_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
5215 struct atlas7_pad_config *conf = &pmx->pctl_data->confs[pin];
5237 struct atlas7_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
5240 dev_dbg(pmx->dev,
5248 dev_err(pmx->dev,
5254 __atlas7_pmx_pin_enable(pmx, pin, FUNC_GPIO);
5269 struct atlas7_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
5271 return pmx->pctl_data->grps_cnt;
5277 struct atlas7_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
5279 return pmx->pctl_data->grps[group].name;
5285 struct atlas7_pmx *pmx = pinctrl_dev_get_drvdata(pctldev);
5287 *num_pins = pmx->pctl_data->grps[group].num_pins;
5288 *pins = pmx->pctl_data->grps[group].pins;
5402 struct atlas7_pmx *pmx;
5409 pmx = devm_kzalloc(&pdev->dev, sizeof(*pmx), GFP_KERNEL);
5410 if (!pmx)
5425 pmx->sys2pci_base = devm_ioremap_resource(&pdev->dev, &res);
5426 if (IS_ERR(pmx->sys2pci_base))
5429 pmx->dev = &pdev->dev;
5431 pmx->pctl_data = &atlas7_ioc_data;
5432 pmx->pctl_desc.name = "pinctrl-atlas7";
5433 pmx->pctl_desc.pins = pmx->pctl_data->pads;
5434 pmx->pctl_desc.npins = pmx->pctl_data->pads_cnt;
5435 pmx->pctl_desc.pctlops = &atlas7_pinctrl_ops;
5436 pmx->pctl_desc.pmxops = &atlas7_pinmux_ops;
5437 pmx->pctl_desc.confops = &atlas7_pinconf_ops;
5440 pmx->regs[idx] = of_iomap(np, idx);
5441 if (!pmx->regs[idx]) {
5450 pmx->pctl = pinctrl_register(&pmx->pctl_desc, &pdev->dev, pmx);
5451 if (IS_ERR(pmx->pctl)) {
5453 ret = PTR_ERR(pmx->pctl);
5457 platform_set_drvdata(pdev, pmx);
5465 if (!pmx->regs[idx])
5467 iounmap(pmx->regs[idx]);
5476 struct atlas7_pmx *pmx = dev_get_drvdata(dev);
5485 for (idx = 0; idx < pmx->pctl_desc.npins; idx++) {
5487 conf = &pmx->pctl_data->confs[idx];
5489 status = &pmx->sleep_data[idx];
5492 regv = readl(pmx->regs[bank] + conf->mux_reg);
5499 regv = readl(pmx->regs[bank] + conf->ad_ctrl_reg);
5509 regv = readl(pmx->regs[bank] + conf->drvstr_reg);
5515 regv = readl(pmx->regs[bank] + conf->pupd_reg);
5525 pmx->status_ds[idx] = readl(pmx->regs[BANK_DS] +
5527 pmx->status_dsv[idx] = readl(pmx->regs[BANK_DS] +
5536 struct atlas7_pmx *pmx = dev_get_drvdata(dev);
5540 for (idx = 0; idx < pmx->pctl_desc.npins; idx++) {
5542 status = &pmx->sleep_data[idx];
5545 __atlas7_pmx_pin_enable(pmx, idx, (u32)status->func & 0xff);
5551 __altas7_pinctrl_set_drive_strength_sel(pmx->pctl, idx,
5556 altas7_pinctrl_set_pull_sel(pmx->pctl, idx,
5565 writel(~0, pmx->regs[BANK_DS] +
5567 writel(pmx->status_ds[idx], pmx->regs[BANK_DS] +
5569 writel(~0, pmx->regs[BANK_DS] +
5571 writel(pmx->status_dsv[idx], pmx->regs[BANK_DS] +