Lines Matching +full:rxclk +full:- +full:pins

1 // SPDX-License-Identifier: GPL-2.0-or-later
7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
11 * perspective, the mv78230 has 49 MPP pins. The mv78260 and mv78460
12 * both have 67 MPP pins (more GPIOs and address lines for the memory
26 #include "pinctrl-mvebu.h"
89 MPP_VAR_FUNCTION(0x1, "ge0", "rxclk", V_MV78230_PLUS),
158 MPP_VAR_FUNCTION(0x2, "ge1", "rxclk", V_MV78230_PLUS),
189 MPP_VAR_FUNCTION(0x4, "lcd", "ref-clk", V_MV78230_PLUS)),
235 MPP_VAR_FUNCTION(0x4, "lcd", "vga-hsync", V_MV78230_PLUS),
243 MPP_VAR_FUNCTION(0x4, "lcd", "vga-vsync", V_MV78230_PLUS),
480 .compatible = "marvell,mv78230-pinctrl",
484 .compatible = "marvell,mv78260-pinctrl",
488 .compatible = "marvell,mv78460-pinctrl",
492 .compatible = "marvell,98dx3236-pinctrl",
496 .compatible = "marvell,98dx4251-pinctrl",
546 nregs = DIV_ROUND_UP(soc->nmodes, MVEBU_MPPS_PER_REG); in armada_xp_pinctrl_suspend()
549 mpp_saved_regs[i] = readl(soc->control_data[0].base + i * 4); in armada_xp_pinctrl_suspend()
560 nregs = DIV_ROUND_UP(soc->nmodes, MVEBU_MPPS_PER_REG); in armada_xp_pinctrl_resume()
563 writel(mpp_saved_regs[i], soc->control_data[0].base + i * 4); in armada_xp_pinctrl_resume()
573 soc->variant = (unsigned)device_get_match_data(&pdev->dev) & 0xff; in armada_xp_pinctrl_probe()
575 switch (soc->variant) { in armada_xp_pinctrl_probe()
577 soc->controls = mv78230_mpp_controls; in armada_xp_pinctrl_probe()
578 soc->ncontrols = ARRAY_SIZE(mv78230_mpp_controls); in armada_xp_pinctrl_probe()
579 soc->modes = armada_xp_mpp_modes; in armada_xp_pinctrl_probe()
583 soc->nmodes = mv78230_mpp_controls[0].npins; in armada_xp_pinctrl_probe()
584 soc->gpioranges = mv78230_mpp_gpio_ranges; in armada_xp_pinctrl_probe()
585 soc->ngpioranges = ARRAY_SIZE(mv78230_mpp_gpio_ranges); in armada_xp_pinctrl_probe()
588 soc->controls = mv78260_mpp_controls; in armada_xp_pinctrl_probe()
589 soc->ncontrols = ARRAY_SIZE(mv78260_mpp_controls); in armada_xp_pinctrl_probe()
590 soc->modes = armada_xp_mpp_modes; in armada_xp_pinctrl_probe()
594 soc->nmodes = mv78260_mpp_controls[0].npins; in armada_xp_pinctrl_probe()
595 soc->gpioranges = mv78260_mpp_gpio_ranges; in armada_xp_pinctrl_probe()
596 soc->ngpioranges = ARRAY_SIZE(mv78260_mpp_gpio_ranges); in armada_xp_pinctrl_probe()
599 soc->controls = mv78460_mpp_controls; in armada_xp_pinctrl_probe()
600 soc->ncontrols = ARRAY_SIZE(mv78460_mpp_controls); in armada_xp_pinctrl_probe()
601 soc->modes = armada_xp_mpp_modes; in armada_xp_pinctrl_probe()
605 soc->nmodes = mv78460_mpp_controls[0].npins; in armada_xp_pinctrl_probe()
606 soc->gpioranges = mv78460_mpp_gpio_ranges; in armada_xp_pinctrl_probe()
607 soc->ngpioranges = ARRAY_SIZE(mv78460_mpp_gpio_ranges); in armada_xp_pinctrl_probe()
612 /* fall-through */ in armada_xp_pinctrl_probe()
613 soc->controls = mv98dx3236_mpp_controls; in armada_xp_pinctrl_probe()
614 soc->ncontrols = ARRAY_SIZE(mv98dx3236_mpp_controls); in armada_xp_pinctrl_probe()
615 soc->modes = mv98dx3236_mpp_modes; in armada_xp_pinctrl_probe()
616 soc->nmodes = mv98dx3236_mpp_controls[0].npins; in armada_xp_pinctrl_probe()
617 soc->gpioranges = mv98dx3236_mpp_gpio_ranges; in armada_xp_pinctrl_probe()
618 soc->ngpioranges = ARRAY_SIZE(mv98dx3236_mpp_gpio_ranges); in armada_xp_pinctrl_probe()
622 nregs = DIV_ROUND_UP(soc->nmodes, MVEBU_MPPS_PER_REG); in armada_xp_pinctrl_probe()
624 mpp_saved_regs = devm_kmalloc_array(&pdev->dev, nregs, sizeof(u32), in armada_xp_pinctrl_probe()
627 return -ENOMEM; in armada_xp_pinctrl_probe()
629 pdev->dev.platform_data = soc; in armada_xp_pinctrl_probe()
636 .name = "armada-xp-pinctrl",