Lines Matching refs:pci
573 static int palmas_pinctrl_get_pin_mux(struct palmas_pctrl_chip_info *pci) in palmas_pinctrl_get_pin_mux() argument
580 for (i = 0; i < pci->num_pin_groups; ++i) { in palmas_pinctrl_get_pin_mux()
581 g = &pci->pin_groups[i]; in palmas_pinctrl_get_pin_mux()
583 pci->pins_current_opt[i] = 0; in palmas_pinctrl_get_pin_mux()
586 ret = palmas_read(pci->palmas, g->mux_reg_base, in palmas_pinctrl_get_pin_mux()
589 dev_err(pci->dev, "mux_reg 0x%02x read failed: %d\n", in palmas_pinctrl_get_pin_mux()
594 pci->pins_current_opt[i] = val >> g->mux_bit_shift; in palmas_pinctrl_get_pin_mux()
599 static int palmas_pinctrl_set_dvfs1(struct palmas_pctrl_chip_info *pci, in palmas_pinctrl_set_dvfs1() argument
606 ret = palmas_update_bits(pci->palmas, PALMAS_PU_PD_OD_BASE, in palmas_pinctrl_set_dvfs1()
610 dev_err(pci->dev, "SECONDARY_PAD3 update failed %d\n", ret); in palmas_pinctrl_set_dvfs1()
614 static int palmas_pinctrl_set_dvfs2(struct palmas_pctrl_chip_info *pci, in palmas_pinctrl_set_dvfs2() argument
621 ret = palmas_update_bits(pci->palmas, PALMAS_PU_PD_OD_BASE, in palmas_pinctrl_set_dvfs2()
625 dev_err(pci->dev, "SECONDARY_PAD3 update failed %d\n", ret); in palmas_pinctrl_set_dvfs2()
631 struct palmas_pctrl_chip_info *pci = pinctrl_dev_get_drvdata(pctldev); in palmas_pinctrl_get_groups_count() local
633 return pci->num_pin_groups; in palmas_pinctrl_get_groups_count()
639 struct palmas_pctrl_chip_info *pci = pinctrl_dev_get_drvdata(pctldev); in palmas_pinctrl_get_group_name() local
641 return pci->pin_groups[group].name; in palmas_pinctrl_get_group_name()
647 struct palmas_pctrl_chip_info *pci = pinctrl_dev_get_drvdata(pctldev); in palmas_pinctrl_get_group_pins() local
649 *pins = pci->pin_groups[group].pins; in palmas_pinctrl_get_group_pins()
650 *num_pins = pci->pin_groups[group].npins; in palmas_pinctrl_get_group_pins()
664 struct palmas_pctrl_chip_info *pci = pinctrl_dev_get_drvdata(pctldev); in palmas_pinctrl_get_funcs_count() local
666 return pci->num_functions; in palmas_pinctrl_get_funcs_count()
672 struct palmas_pctrl_chip_info *pci = pinctrl_dev_get_drvdata(pctldev); in palmas_pinctrl_get_func_name() local
674 return pci->functions[function].name; in palmas_pinctrl_get_func_name()
681 struct palmas_pctrl_chip_info *pci = pinctrl_dev_get_drvdata(pctldev); in palmas_pinctrl_get_func_groups() local
683 *groups = pci->functions[function].groups; in palmas_pinctrl_get_func_groups()
684 *num_groups = pci->functions[function].ngroups; in palmas_pinctrl_get_func_groups()
692 struct palmas_pctrl_chip_info *pci = pinctrl_dev_get_drvdata(pctldev); in palmas_pinctrl_set_mux() local
697 g = &pci->pin_groups[group]; in palmas_pinctrl_set_mux()
702 dev_err(pci->dev, "Pin %s does not support option %d\n", in palmas_pinctrl_set_mux()
715 dev_err(pci->dev, "Pin %s does not support option %d\n", in palmas_pinctrl_set_mux()
727 dev_dbg(pci->dev, "%s(): Base0x%02x:0x%02x:0x%02x:0x%02x\n", in palmas_pinctrl_set_mux()
731 ret = palmas_update_bits(pci->palmas, g->mux_reg_base, g->mux_reg_add, in palmas_pinctrl_set_mux()
734 dev_err(pci->dev, "Reg 0x%02x update failed: %d\n", in palmas_pinctrl_set_mux()
738 pci->pins_current_opt[group] = i; in palmas_pinctrl_set_mux()
752 struct palmas_pctrl_chip_info *pci = pinctrl_dev_get_drvdata(pctldev); in palmas_pinconf_get() local
763 for (group_nr = 0; group_nr < pci->num_pin_groups; ++group_nr) { in palmas_pinconf_get()
764 if (pci->pin_groups[group_nr].pins[0] == pin) in palmas_pinconf_get()
768 if (group_nr == pci->num_pin_groups) { in palmas_pinconf_get()
769 dev_err(pci->dev, in palmas_pinconf_get()
774 g = &pci->pin_groups[group_nr]; in palmas_pinconf_get()
775 opt = g->opt[pci->pins_current_opt[group_nr]]; in palmas_pinconf_get()
777 dev_err(pci->dev, in palmas_pinconf_get()
787 dev_err(pci->dev, in palmas_pinconf_get()
794 ret = palmas_read(pci->palmas, base, add, &val); in palmas_pinconf_get()
796 dev_err(pci->dev, "Reg 0x%02x read failed: %d\n", in palmas_pinconf_get()
819 dev_err(pci->dev, in palmas_pinconf_get()
826 ret = palmas_read(pci->palmas, base, add, &val); in palmas_pinconf_get()
828 dev_err(pci->dev, "Reg 0x%02x read failed: %d\n", in palmas_pinconf_get()
841 dev_err(pci->dev, in palmas_pinconf_get()
849 dev_err(pci->dev, "Properties not supported\n"); in palmas_pinconf_get()
861 struct palmas_pctrl_chip_info *pci = pinctrl_dev_get_drvdata(pctldev); in palmas_pinconf_set() local
872 for (group_nr = 0; group_nr < pci->num_pin_groups; ++group_nr) { in palmas_pinconf_set()
873 if (pci->pin_groups[group_nr].pins[0] == pin) in palmas_pinconf_set()
877 if (group_nr == pci->num_pin_groups) { in palmas_pinconf_set()
878 dev_err(pci->dev, in palmas_pinconf_set()
883 g = &pci->pin_groups[group_nr]; in palmas_pinconf_set()
884 opt = g->opt[pci->pins_current_opt[group_nr]]; in palmas_pinconf_set()
886 dev_err(pci->dev, in palmas_pinconf_set()
900 dev_err(pci->dev, in palmas_pinconf_set()
917 dev_err(pci->dev, in palmas_pinconf_set()
926 dev_err(pci->dev, in palmas_pinconf_set()
939 dev_err(pci->dev, in palmas_pinconf_set()
946 dev_err(pci->dev, "Properties not supported\n"); in palmas_pinconf_set()
950 dev_dbg(pci->dev, "%s(): Add0x%02x:0x%02x:0x%02x:0x%02x\n", in palmas_pinconf_set()
952 ret = palmas_update_bits(pci->palmas, base, add, mask, rval); in palmas_pinconf_set()
954 dev_err(pci->dev, "Reg 0x%02x update failed: %d\n", in palmas_pinconf_set()
1000 struct palmas_pctrl_chip_info *pci; in palmas_pinctrl_probe() local
1016 pci = devm_kzalloc(&pdev->dev, sizeof(*pci), GFP_KERNEL); in palmas_pinctrl_probe()
1017 if (!pci) { in palmas_pinctrl_probe()
1022 pci->dev = &pdev->dev; in palmas_pinctrl_probe()
1023 pci->palmas = dev_get_drvdata(pdev->dev.parent); in palmas_pinctrl_probe()
1025 pci->pins = palmas_pins_desc; in palmas_pinctrl_probe()
1026 pci->num_pins = ARRAY_SIZE(palmas_pins_desc); in palmas_pinctrl_probe()
1027 pci->functions = palmas_pin_function; in palmas_pinctrl_probe()
1028 pci->num_functions = ARRAY_SIZE(palmas_pin_function); in palmas_pinctrl_probe()
1029 pci->pin_groups = pinctrl_data->pin_groups; in palmas_pinctrl_probe()
1030 pci->num_pin_groups = pinctrl_data->num_pin_groups; in palmas_pinctrl_probe()
1032 platform_set_drvdata(pdev, pci); in palmas_pinctrl_probe()
1034 palmas_pinctrl_set_dvfs1(pci, enable_dvfs1); in palmas_pinctrl_probe()
1035 palmas_pinctrl_set_dvfs2(pci, enable_dvfs2); in palmas_pinctrl_probe()
1036 ret = palmas_pinctrl_get_pin_mux(pci); in palmas_pinctrl_probe()
1046 pci->pctl = pinctrl_register(&palmas_pinctrl_desc, &pdev->dev, pci); in palmas_pinctrl_probe()
1047 if (!pci->pctl) { in palmas_pinctrl_probe()
1056 struct palmas_pctrl_chip_info *pci = platform_get_drvdata(pdev); in palmas_pinctrl_remove() local
1058 pinctrl_unregister(pci->pctl); in palmas_pinctrl_remove()