Lines Matching refs:pmx

970 static inline u32 pmx_read(struct tz1090_pmx *pmx, u32 reg)  in pmx_read()  argument
972 return ioread32(pmx->regs + reg); in pmx_read()
975 static inline void pmx_write(struct tz1090_pmx *pmx, u32 val, u32 reg) in pmx_write() argument
977 iowrite32(val, pmx->regs + reg); in pmx_write()
1246 static void tz1090_pinctrl_select(struct tz1090_pmx *pmx, in tz1090_pinctrl_select() argument
1258 select = ((~pmx->pin_en[pmx_index] | in tz1090_pinctrl_select()
1259 pmx->gpio_en[pmx_index]) >> pmx_shift) & 1; in tz1090_pinctrl_select()
1267 val = pmx_read(pmx, reg); in tz1090_pinctrl_select()
1270 pmx_write(pmx, val, reg); in tz1090_pinctrl_select()
1284 static void tz1090_pinctrl_gpio_select(struct tz1090_pmx *pmx, in tz1090_pinctrl_gpio_select() argument
1298 spin_lock(&pmx->lock); in tz1090_pinctrl_gpio_select()
1301 gpio_en = pmx->gpio_en[index]; in tz1090_pinctrl_gpio_select()
1305 pmx->gpio_en[index] = gpio_en; in tz1090_pinctrl_gpio_select()
1308 tz1090_pinctrl_select(pmx, pin); in tz1090_pinctrl_gpio_select()
1310 spin_unlock(&pmx->lock); in tz1090_pinctrl_gpio_select()
1323 static void tz1090_pinctrl_perip_select(struct tz1090_pmx *pmx, in tz1090_pinctrl_perip_select() argument
1337 spin_lock(&pmx->lock); in tz1090_pinctrl_perip_select()
1340 pin_en = pmx->pin_en[index]; in tz1090_pinctrl_perip_select()
1344 pmx->pin_en[index] = pin_en; in tz1090_pinctrl_perip_select()
1347 tz1090_pinctrl_select(pmx, pin); in tz1090_pinctrl_perip_select()
1349 spin_unlock(&pmx->lock); in tz1090_pinctrl_perip_select()
1361 static int tz1090_pinctrl_enable_mux(struct tz1090_pmx *pmx, in tz1090_pinctrl_enable_mux() argument
1380 ret = tz1090_pinctrl_enable_mux(pmx, in tz1090_pinctrl_enable_mux()
1395 reg = pmx_read(pmx, desc->reg); in tz1090_pinctrl_enable_mux()
1398 pmx_write(pmx, reg, desc->reg); in tz1090_pinctrl_enable_mux()
1421 struct tz1090_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in tz1090_pinctrl_set_mux() local
1468 ret = tz1090_pinctrl_enable_mux(pmx, &grp->mux, function); in tz1090_pinctrl_set_mux()
1476 tz1090_pinctrl_perip_select(pmx, pins[i], true); in tz1090_pinctrl_set_mux()
1494 struct tz1090_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in tz1090_pinctrl_gpio_request_enable() local
1495 tz1090_pinctrl_gpio_select(pmx, pin, true); in tz1090_pinctrl_gpio_request_enable()
1512 struct tz1090_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in tz1090_pinctrl_gpio_disable_free() local
1513 tz1090_pinctrl_gpio_select(pmx, pin, false); in tz1090_pinctrl_gpio_disable_free()
1681 struct tz1090_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in tz1090_pinconf_get() local
1693 tmp = pmx_read(pmx, reg); in tz1090_pinconf_get()
1710 struct tz1090_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in tz1090_pinconf_set() local
1740 tmp = pmx_read(pmx, reg); in tz1090_pinconf_set()
1744 pmx_write(pmx, tmp, reg); in tz1090_pinconf_set()
1806 struct tz1090_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in tz1090_pinconf_group_get() local
1834 val = pmx_read(pmx, reg); in tz1090_pinconf_group_get()
1849 struct tz1090_pmx *pmx = pinctrl_dev_get_drvdata(pctldev); in tz1090_pinconf_group_set() local
1903 val = pmx_read(pmx, reg); in tz1090_pinconf_group_set()
1906 pmx_write(pmx, val, reg); in tz1090_pinconf_group_set()
1945 struct tz1090_pmx *pmx; in tz1090_pinctrl_probe() local
1948 pmx = devm_kzalloc(&pdev->dev, sizeof(*pmx), GFP_KERNEL); in tz1090_pinctrl_probe()
1949 if (!pmx) { in tz1090_pinctrl_probe()
1953 pmx->dev = &pdev->dev; in tz1090_pinctrl_probe()
1954 spin_lock_init(&pmx->lock); in tz1090_pinctrl_probe()
1961 pmx->regs = devm_ioremap_resource(&pdev->dev, res); in tz1090_pinctrl_probe()
1962 if (IS_ERR(pmx->regs)) in tz1090_pinctrl_probe()
1963 return PTR_ERR(pmx->regs); in tz1090_pinctrl_probe()
1965 pmx->pctl = pinctrl_register(&tz1090_pinctrl_desc, &pdev->dev, pmx); in tz1090_pinctrl_probe()
1966 if (!pmx->pctl) { in tz1090_pinctrl_probe()
1971 platform_set_drvdata(pdev, pmx); in tz1090_pinctrl_probe()
1980 struct tz1090_pmx *pmx = platform_get_drvdata(pdev); in tz1090_pinctrl_remove() local
1982 pinctrl_unregister(pmx->pctl); in tz1090_pinctrl_remove()