Lines Matching full:community

129 #define for_each_intel_pin_community(pctrl, community)					\  argument
131 __ci < pctrl->ncommunities && (community = &pctrl->communities[__ci]); \
134 #define for_each_intel_community_pad_group(community, grp) \ argument
136 __gi < community->ngpps && (grp = &community->gpps[__gi]); \
139 #define for_each_intel_pad_group(pctrl, community, grp) \ argument
140 for_each_intel_pin_community(pctrl, community) \
141 for_each_intel_community_pad_group(community, grp)
143 #define for_each_intel_gpio_group(pctrl, community, grp) \ argument
144 for_each_intel_pad_group(pctrl, community, grp) \
150 const struct intel_community *community; in intel_get_community() local
152 for_each_intel_pin_community(pctrl, community) { in intel_get_community()
153 if (pin >= community->pin_base && in intel_get_community()
154 pin < community->pin_base + community->npins) in intel_get_community()
155 return community; in intel_get_community()
158 dev_warn(pctrl->dev, "failed to find community for pin %u\n", pin); in intel_get_community()
164 intel_community_get_padgroup(const struct intel_community *community, in intel_community_get_padgroup() argument
169 for_each_intel_community_pad_group(community, padgrp) { in intel_community_get_padgroup()
180 const struct intel_community *community; in intel_get_padcfg() local
184 community = intel_get_community(pctrl, pin); in intel_get_padcfg()
185 if (!community) in intel_get_padcfg()
188 padno = pin_to_padno(community, pin); in intel_get_padcfg()
189 nregs = (community->features & PINCTRL_FEATURE_DEBOUNCE) ? 4 : 2; in intel_get_padcfg()
194 return community->pad_regs + reg + padno * nregs * 4; in intel_get_padcfg()
199 const struct intel_community *community; in intel_pad_owned_by_host() local
204 community = intel_get_community(pctrl, pin); in intel_pad_owned_by_host()
205 if (!community) in intel_pad_owned_by_host()
207 if (!community->padown_offset) in intel_pad_owned_by_host()
210 padgrp = intel_community_get_padgroup(community, pin); in intel_pad_owned_by_host()
216 offset = community->padown_offset + padgrp->padown_num * 4 + gpp * 4; in intel_pad_owned_by_host()
217 padown = community->regs + offset; in intel_pad_owned_by_host()
224 const struct intel_community *community; in intel_pad_acpi_mode() local
229 community = intel_get_community(pctrl, pin); in intel_pad_acpi_mode()
230 if (!community) in intel_pad_acpi_mode()
232 if (!community->hostown_offset) in intel_pad_acpi_mode()
235 padgrp = intel_community_get_padgroup(community, pin); in intel_pad_acpi_mode()
240 offset = community->hostown_offset + padgrp->reg_num * 4; in intel_pad_acpi_mode()
241 hostown = community->regs + offset; in intel_pad_acpi_mode()
266 const struct intel_community *community; in intel_pad_locked() local
272 community = intel_get_community(pctrl, pin); in intel_pad_locked()
273 if (!community) in intel_pad_locked()
275 if (!community->padcfglock_offset) in intel_pad_locked()
278 padgrp = intel_community_get_padgroup(community, pin); in intel_pad_locked()
289 offset = community->padcfglock_offset + 0 + padgrp->reg_num * 8; in intel_pad_locked()
290 value = readl(community->regs + offset); in intel_pad_locked()
294 offset = community->padcfglock_offset + 4 + padgrp->reg_num * 8; in intel_pad_locked()
295 value = readl(community->regs + offset); in intel_pad_locked()
645 const struct intel_community *community = intel_get_community(pctrl, pin); in intel_config_get_pull() local
652 if (!(community->features & PINCTRL_FEATURE_1K_PD)) in intel_config_get_pull()
657 if (!(community->features & PINCTRL_FEATURE_1K_PD)) in intel_config_get_pull()
800 const struct intel_community *community = intel_get_community(pctrl, pin); in intel_config_set_pull() local
814 if (!(community->features & PINCTRL_FEATURE_1K_PD)) in intel_config_set_pull()
819 if (!(community->features & PINCTRL_FEATURE_1K_PD)) in intel_config_set_pull()
958 * @community: Community is filled here if not %NULL
965 * Return: a pin number and pointers to the community and pad group, which
969 const struct intel_community **community, in intel_gpio_to_pin() argument
977 if (community) in intel_gpio_to_pin()
978 *community = comm; in intel_gpio_to_pin()
1000 const struct intel_community *community; in intel_pin_to_gpio() local
1003 community = intel_get_community(pctrl, pin); in intel_pin_to_gpio()
1004 if (!community) in intel_pin_to_gpio()
1007 padgrp = intel_community_get_padgroup(community, pin); in intel_pin_to_gpio()
1117 const struct intel_community *community; in intel_gpio_irq_ack() local
1121 pin = intel_gpio_to_pin(pctrl, irqd_to_hwirq(d), &community, &padgrp); in intel_gpio_irq_ack()
1129 is = community->regs + community->is_offset + gpp * 4; in intel_gpio_irq_ack()
1140 const struct intel_community *community; in intel_gpio_irq_mask_unmask() local
1144 pin = intel_gpio_to_pin(pctrl, hwirq, &community, &padgrp); in intel_gpio_irq_mask_unmask()
1153 reg = community->regs + community->ie_offset + gpp * 4; in intel_gpio_irq_mask_unmask()
1154 is = community->regs + community->is_offset + gpp * 4; in intel_gpio_irq_mask_unmask()
1274 const struct intel_community *community; in intel_gpio_irq() local
1280 for_each_intel_pad_group(pctrl, community, padgrp) { in intel_gpio_irq()
1288 reg = community->regs + community->ie_offset + gpp * 4; in intel_gpio_irq()
1289 is = community->regs + community->is_offset + gpp * 4; in intel_gpio_irq()
1310 const struct intel_community *community; in intel_gpio_irq_init() local
1312 for_each_intel_pin_community(pctrl, community) { in intel_gpio_irq_init()
1316 for (gpp = 0; gpp < community->ngpps; gpp++) { in intel_gpio_irq_init()
1317 reg = community->regs + community->ie_offset + gpp * 4; in intel_gpio_irq_init()
1318 is = community->regs + community->is_offset + gpp * 4; in intel_gpio_irq_init()
1343 const struct intel_community *community; in intel_gpio_add_pin_ranges() local
1347 for_each_intel_gpio_group(pctrl, community, grp) { in intel_gpio_add_pin_ranges()
1362 const struct intel_community *community; in intel_gpio_ngpio() local
1366 for_each_intel_gpio_group(pctrl, community, grp) { in intel_gpio_ngpio()
1421 struct intel_community *community) in intel_pinctrl_add_padgroups_by_gpps() argument
1425 size_t i, ngpps = community->ngpps; in intel_pinctrl_add_padgroups_by_gpps()
1432 gpps[i] = community->gpps[i]; in intel_pinctrl_add_padgroups_by_gpps()
1455 community->gpps = gpps; in intel_pinctrl_add_padgroups_by_gpps()
1461 struct intel_community *community) in intel_pinctrl_add_padgroups_by_size() argument
1464 unsigned int npins = community->npins; in intel_pinctrl_add_padgroups_by_size()
1466 size_t i, ngpps = DIV_ROUND_UP(npins, community->gpp_size); in intel_pinctrl_add_padgroups_by_size()
1468 if (community->gpp_size > INTEL_PINCTRL_MAX_GPP_SIZE) in intel_pinctrl_add_padgroups_by_size()
1476 unsigned int gpp_size = community->gpp_size; in intel_pinctrl_add_padgroups_by_size()
1479 gpps[i].base = community->pin_base + i * gpp_size; in intel_pinctrl_add_padgroups_by_size()
1486 padown_num += community->gpp_num_padown_regs; in intel_pinctrl_add_padgroups_by_size()
1489 community->ngpps = ngpps; in intel_pinctrl_add_padgroups_by_size()
1490 community->gpps = gpps; in intel_pinctrl_add_padgroups_by_size()
1514 struct intel_community *community = &pctrl->communities[i]; in intel_pinctrl_pm_init() local
1517 intmask = devm_kcalloc(pctrl->dev, community->ngpps, in intel_pinctrl_pm_init()
1524 hostown = devm_kcalloc(pctrl->dev, community->ngpps, in intel_pinctrl_pm_init()
1540 struct intel_community *community) in intel_pinctrl_probe_pwm() argument
1549 if (!(community->features & PINCTRL_FEATURE_PWM)) in intel_pinctrl_probe_pwm()
1555 chip = devm_pwm_lpss_probe(pctrl->dev, community->regs + PWMC, &info); in intel_pinctrl_probe_pwm()
1585 struct intel_community *community = &pctrl->communities[i]; in intel_pinctrl_probe() local
1590 *community = pctrl->soc->communities[i]; in intel_pinctrl_probe()
1592 regs = devm_platform_ioremap_resource(pdev, community->barno); in intel_pinctrl_probe()
1597 * Determine community features based on the revision. in intel_pinctrl_probe()
1604 community->features |= PINCTRL_FEATURE_DEBOUNCE; in intel_pinctrl_probe()
1605 community->features |= PINCTRL_FEATURE_1K_PD; in intel_pinctrl_probe()
1608 /* Determine community features based on the capabilities */ in intel_pinctrl_probe()
1614 community->features |= PINCTRL_FEATURE_GPIO_HW_INFO; in intel_pinctrl_probe()
1617 community->features |= PINCTRL_FEATURE_PWM; in intel_pinctrl_probe()
1620 community->features |= PINCTRL_FEATURE_BLINK; in intel_pinctrl_probe()
1623 community->features |= PINCTRL_FEATURE_EXP; in intel_pinctrl_probe()
1631 dev_dbg(dev, "Community%d features: %#08x\n", i, community->features); in intel_pinctrl_probe()
1636 community->regs = regs; in intel_pinctrl_probe()
1637 community->pad_regs = regs + offset; in intel_pinctrl_probe()
1639 if (community->gpps) in intel_pinctrl_probe()
1640 ret = intel_pinctrl_add_padgroups_by_gpps(pctrl, community); in intel_pinctrl_probe()
1642 ret = intel_pinctrl_add_padgroups_by_size(pctrl, community); in intel_pinctrl_probe()
1646 ret = intel_pinctrl_probe_pwm(pctrl, community); in intel_pinctrl_probe()
1809 struct intel_community *community = &pctrl->communities[i]; in intel_pinctrl_suspend_noirq() local
1813 base = community->regs + community->ie_offset; in intel_pinctrl_suspend_noirq()
1814 for (gpp = 0; gpp < community->ngpps; gpp++) in intel_pinctrl_suspend_noirq()
1817 base = community->regs + community->hostown_offset; in intel_pinctrl_suspend_noirq()
1818 for (gpp = 0; gpp < community->ngpps; gpp++) in intel_pinctrl_suspend_noirq()
1842 const struct intel_community *community = &pctrl->communities[c]; in intel_restore_hostown() local
1843 const struct intel_padgroup *padgrp = &community->gpps[gpp]; in intel_restore_hostown()
1919 struct intel_community *community = &pctrl->communities[i]; in intel_pinctrl_resume_noirq() local
1923 base = community->regs + community->ie_offset; in intel_pinctrl_resume_noirq()
1924 for (gpp = 0; gpp < community->ngpps; gpp++) in intel_pinctrl_resume_noirq()
1927 base = community->regs + community->hostown_offset; in intel_pinctrl_resume_noirq()
1928 for (gpp = 0; gpp < community->ngpps; gpp++) in intel_pinctrl_resume_noirq()