Lines Matching +full:armada +full:- +full:8 +full:k +full:- +full:gpio
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Marvell Armada CP110 pinctrl driver based on mvebu pinctrl core
19 #include "pinctrl-mvebu.h"
24 * - In Armada7K (single CP) almost all the MPPs are available (except the
26 * - In Armada8K (dual CP) the MPPs are split into 2 parts, MPPs 0-31 from
27 * CPS, and MPPs 32-62 from CPM, the below flags (V_ARMADA_8K_CPM,
42 MPP_FUNCTION(0, "gpio", NULL),
49 MPP_FUNCTION(8, "uart0", "rxd"),
53 MPP_FUNCTION(0, "gpio", NULL),
60 MPP_FUNCTION(8, "uart0", "txd"),
64 MPP_FUNCTION(0, "gpio", NULL),
72 MPP_FUNCTION(8, "uart1", "rxd"),
76 MPP_FUNCTION(0, "gpio", NULL),
84 MPP_FUNCTION(8, "uart1", "txd"),
88 MPP_FUNCTION(0, "gpio", NULL),
96 MPP_FUNCTION(8, "uart3", "rxd"),
99 MPP_FUNCTION(0, "gpio", NULL),
107 MPP_FUNCTION(8, "uart3", "txd"),
110 MPP_FUNCTION(0, "gpio", NULL),
117 MPP_FUNCTION(8, "uart0", "rxd"),
120 MPP_FUNCTION(0, "gpio", NULL),
127 MPP_FUNCTION(8, "uart0", "txd"),
129 MPP_MODE(8,
130 MPP_FUNCTION(0, "gpio", NULL),
137 MPP_FUNCTION(8, "uart2", "rxd"),
141 MPP_FUNCTION(0, "gpio", NULL),
149 MPP_FUNCTION(0, "gpio", NULL),
157 MPP_FUNCTION(0, "gpio", NULL),
164 MPP_FUNCTION(8, "uart2", "txd"),
167 MPP_FUNCTION(0, "gpio", NULL),
173 MPP_FUNCTION(0, "gpio", NULL),
178 MPP_FUNCTION(8, "mss_spi", "miso")),
180 MPP_FUNCTION(0, "gpio", NULL),
188 MPP_FUNCTION(8, "mss_spi", "csn")),
190 MPP_FUNCTION(0, "gpio", NULL),
194 MPP_FUNCTION(8, "mss_spi", "mosi"),
197 MPP_FUNCTION(0, "gpio", NULL),
200 MPP_FUNCTION(8, "mss_spi", "clk")),
202 MPP_FUNCTION(0, "gpio", NULL),
206 MPP_FUNCTION(0, "gpio", NULL),
211 MPP_FUNCTION(0, "gpio", NULL),
216 MPP_FUNCTION(0, "gpio", NULL),
220 MPP_FUNCTION(0, "gpio", NULL),
225 MPP_FUNCTION(0, "gpio", NULL),
230 MPP_FUNCTION(0, "gpio", NULL),
235 MPP_FUNCTION(0, "gpio", NULL),
239 MPP_FUNCTION(0, "gpio", NULL),
243 MPP_FUNCTION(0, "gpio", NULL),
247 MPP_FUNCTION(0, "gpio", NULL),
253 MPP_FUNCTION(8, "ge", "mdio"),
258 MPP_FUNCTION(0, "gpio", NULL),
266 MPP_FUNCTION(8, "ge", "mdc"),
271 MPP_FUNCTION(0, "gpio", NULL),
279 MPP_FUNCTION(8, "mss_i2c", "sda"),
284 MPP_FUNCTION(0, "gpio", NULL),
292 MPP_FUNCTION(8, "mss_i2c", "sck"),
297 MPP_FUNCTION(0, "gpio", NULL),
301 MPP_FUNCTION(8, "ge", "mdc")),
303 MPP_FUNCTION(0, "gpio", NULL),
311 MPP_FUNCTION(8, "sdio", "v18_en"),
315 MPP_FUNCTION(0, "gpio", NULL),
322 MPP_FUNCTION(8, "xg", "mdio"),
326 MPP_FUNCTION(0, "gpio", NULL),
337 MPP_FUNCTION(0, "gpio", NULL),
345 MPP_FUNCTION(8, "ge", "mdio"),
349 MPP_FUNCTION(0, "gpio", NULL),
357 MPP_FUNCTION(8, "ge", "mdc"),
361 MPP_FUNCTION(0, "gpio", NULL),
369 MPP_FUNCTION(8, "xg", "mdc"),
374 MPP_FUNCTION(0, "gpio", NULL),
382 MPP_FUNCTION(8, "xg", "mdio"),
387 MPP_FUNCTION(0, "gpio", NULL),
395 MPP_FUNCTION(0, "gpio", NULL),
403 MPP_FUNCTION(8, "ge", "mdio"),
407 MPP_FUNCTION(0, "gpio", NULL),
415 MPP_FUNCTION(8, "ge", "mdc"),
420 MPP_FUNCTION(0, "gpio", NULL),
428 MPP_FUNCTION(8, "xg", "mdc"),
432 MPP_FUNCTION(0, "gpio", NULL),
439 MPP_FUNCTION(8, "xg", "mdio"),
444 MPP_FUNCTION(0, "gpio", NULL),
449 MPP_FUNCTION(0, "gpio", NULL),
454 MPP_FUNCTION(0, "gpio", NULL),
458 MPP_FUNCTION(0, "gpio", NULL),
462 MPP_FUNCTION(8, "ge", "mdc")),
464 MPP_FUNCTION(0, "gpio", NULL),
467 MPP_FUNCTION(8, "xg", "mdc"),
470 MPP_FUNCTION(0, "gpio", NULL),
475 MPP_FUNCTION(8, "ge", "mdio"),
480 MPP_FUNCTION(0, "gpio", NULL),
486 MPP_FUNCTION(8, "xg", "mdio"),
489 MPP_FUNCTION(0, "gpio", NULL),
497 MPP_FUNCTION(0, "gpio", NULL),
503 MPP_FUNCTION(8, "led", "clk"),
507 MPP_FUNCTION(0, "gpio", NULL),
512 MPP_FUNCTION(8, "led", "stb"),
515 MPP_FUNCTION(0, "gpio", NULL),
520 MPP_FUNCTION(8, "led", "data"),
524 MPP_FUNCTION(0, "gpio", NULL),
530 MPP_FUNCTION(0, "gpio", NULL),
538 MPP_FUNCTION(0, "gpio", NULL),
548 MPP_FUNCTION(0, "gpio", NULL),
555 MPP_FUNCTION(8, "led", "clk"),
558 MPP_FUNCTION(0, "gpio", NULL),
565 MPP_FUNCTION(8, "led", "stb"),
569 MPP_FUNCTION(0, "gpio", NULL),
576 MPP_FUNCTION(8, "led", "data"),
580 MPP_FUNCTION(0, "gpio", NULL),
587 MPP_FUNCTION(8, "uart2", "txd"),
592 MPP_FUNCTION(0, "gpio", NULL),
599 MPP_FUNCTION(8, "uart2", "rxd"),
607 .compatible = "marvell,armada-7k-pinctrl",
611 .compatible = "marvell,armada-8k-cpm-pinctrl",
615 .compatible = "marvell,armada-8k-cps-pinctrl",
619 .compatible = "marvell,cp115-standalone-pinctrl",
634 for (s = m->settings ; s->name ; s++) in mvebu_pinctrl_assign_variant()
635 s->variant = variant; in mvebu_pinctrl_assign_variant()
643 if (!pdev->dev.parent) in armada_cp110_pinctrl_probe()
644 return -ENODEV; in armada_cp110_pinctrl_probe()
646 soc = devm_kzalloc(&pdev->dev, in armada_cp110_pinctrl_probe()
649 return -ENOMEM; in armada_cp110_pinctrl_probe()
651 soc->variant = (unsigned long)device_get_match_data(&pdev->dev) & 0xff; in armada_cp110_pinctrl_probe()
652 soc->controls = armada_cp110_mpp_controls; in armada_cp110_pinctrl_probe()
653 soc->ncontrols = ARRAY_SIZE(armada_cp110_mpp_controls); in armada_cp110_pinctrl_probe()
654 soc->modes = armada_cp110_mpp_modes; in armada_cp110_pinctrl_probe()
655 soc->nmodes = ARRAY_SIZE(armada_cp110_mpp_modes); in armada_cp110_pinctrl_probe()
678 pdev->dev.platform_data = soc; in armada_cp110_pinctrl_probe()
680 return mvebu_pinctrl_simple_regmap_probe(pdev, pdev->dev.parent, 0); in armada_cp110_pinctrl_probe()
685 .name = "armada-cp110-pinctrl",