Lines Matching refs:pin
111 unsigned pin) in intel_get_community() argument
118 if (pin >= community->pin_base && in intel_get_community()
119 pin < community->pin_base + community->npins) in intel_get_community()
123 dev_warn(pctrl->dev, "failed to find community for pin %u\n", pin); in intel_get_community()
127 static void __iomem *intel_get_padcfg(struct intel_pinctrl *pctrl, unsigned pin, in intel_get_padcfg() argument
133 community = intel_get_community(pctrl, pin); in intel_get_padcfg()
137 padno = pin_to_padno(community, pin); in intel_get_padcfg()
141 static bool intel_pad_owned_by_host(struct intel_pinctrl *pctrl, unsigned pin) in intel_pad_owned_by_host() argument
147 community = intel_get_community(pctrl, pin); in intel_pad_owned_by_host()
153 padno = pin_to_padno(community, pin); in intel_pad_owned_by_host()
163 unsigned pin) in intel_pad_reserved_for_acpi() argument
169 community = intel_get_community(pctrl, pin); in intel_pad_reserved_for_acpi()
175 padno = pin_to_padno(community, pin); in intel_pad_reserved_for_acpi()
183 static bool intel_pad_locked(struct intel_pinctrl *pctrl, unsigned pin) in intel_pad_locked() argument
189 community = intel_get_community(pctrl, pin); in intel_pad_locked()
195 padno = pin_to_padno(community, pin); in intel_pad_locked()
205 if (value & BIT(pin % NPADS_IN_GPP)) in intel_pad_locked()
210 if (value & BIT(pin % NPADS_IN_GPP)) in intel_pad_locked()
216 static bool intel_pad_usable(struct intel_pinctrl *pctrl, unsigned pin) in intel_pad_usable() argument
218 return intel_pad_owned_by_host(pctrl, pin) && in intel_pad_usable()
219 !intel_pad_reserved_for_acpi(pctrl, pin) && in intel_pad_usable()
220 !intel_pad_locked(pctrl, pin); in intel_pad_usable()
249 unsigned pin) in intel_pin_dbg_show() argument
255 if (!intel_pad_owned_by_host(pctrl, pin)) { in intel_pin_dbg_show()
260 cfg0 = readl(intel_get_padcfg(pctrl, pin, PADCFG0)); in intel_pin_dbg_show()
261 cfg1 = readl(intel_get_padcfg(pctrl, pin, PADCFG1)); in intel_pin_dbg_show()
271 locked = intel_pad_locked(pctrl, pin); in intel_pin_dbg_show()
272 acpi = intel_pad_reserved_for_acpi(pctrl, pin); in intel_pin_dbg_show()
363 unsigned pin) in intel_gpio_request_enable() argument
372 if (!intel_pad_usable(pctrl, pin)) { in intel_gpio_request_enable()
377 padcfg0 = intel_get_padcfg(pctrl, pin, PADCFG0); in intel_gpio_request_enable()
395 unsigned pin, bool input) in intel_gpio_set_direction() argument
404 padcfg0 = intel_get_padcfg(pctrl, pin, PADCFG0); in intel_gpio_set_direction()
427 static int intel_config_get(struct pinctrl_dev *pctldev, unsigned pin, in intel_config_get() argument
435 if (!intel_pad_owned_by_host(pctrl, pin)) in intel_config_get()
438 value = readl(intel_get_padcfg(pctrl, pin, PADCFG1)); in intel_config_get()
491 static int intel_config_set_pull(struct intel_pinctrl *pctrl, unsigned pin, in intel_config_set_pull() argument
503 padcfg1 = intel_get_padcfg(pctrl, pin, PADCFG1); in intel_config_set_pull()
560 static int intel_config_set(struct pinctrl_dev *pctldev, unsigned pin, in intel_config_set() argument
566 if (!intel_pad_usable(pctrl, pin)) in intel_config_set()
574 ret = intel_config_set_pull(pctrl, pin, configs[i]); in intel_config_set()
670 unsigned pin = irqd_to_hwirq(d); in intel_gpio_irq_ack() local
674 community = intel_get_community(pctrl, pin); in intel_gpio_irq_ack()
676 unsigned padno = pin_to_padno(community, pin); in intel_gpio_irq_ack()
691 unsigned pin = irqd_to_hwirq(d); in intel_gpio_irq_mask_unmask() local
696 community = intel_get_community(pctrl, pin); in intel_gpio_irq_mask_unmask()
698 unsigned padno = pin_to_padno(community, pin); in intel_gpio_irq_mask_unmask()
730 unsigned pin = irqd_to_hwirq(d); in intel_gpio_irq_type() local
735 reg = intel_get_padcfg(pctrl, pin, PADCFG0); in intel_gpio_irq_type()
775 unsigned pin = irqd_to_hwirq(d); in intel_gpio_irq_wake() local
779 community = intel_get_community(pctrl, pin); in intel_gpio_irq_wake()
783 padno = pin_to_padno(community, pin); in intel_gpio_irq_wake()
802 dev_dbg(pctrl->dev, "%sable wake for pin %u\n", on ? "en" : "dis", pin); in intel_gpio_irq_wake()