19c6c149bSJesper NilssonAxis ARTPEC-6 Pin Controller
29c6c149bSJesper Nilsson
39c6c149bSJesper NilssonRequired properties:
49c6c149bSJesper Nilsson- compatible: "axis,artpec6-pinctrl".
59c6c149bSJesper Nilsson- reg: Should contain the register physical address and length for the pin
69c6c149bSJesper Nilsson       controller.
79c6c149bSJesper Nilsson
89c6c149bSJesper NilssonA pinctrl node should contain at least one subnode representing the pinctrl
99c6c149bSJesper Nilssongroups available on the machine. Each subnode will list the mux function
109c6c149bSJesper Nilssonrequired and what pin group it will use. Each subnode will also configure the
119c6c149bSJesper Nilssondrive strength and bias pullup of the pin group. If either of these options is
129c6c149bSJesper Nilssonnot set, its actual value will be unspecified.
139c6c149bSJesper Nilsson
149c6c149bSJesper Nilsson
159c6c149bSJesper NilssonRequired subnode-properties:
169c6c149bSJesper Nilsson- function: Function to mux.
179c6c149bSJesper Nilsson- groups: Name of the pin group to use for the function above.
189c6c149bSJesper Nilsson
199c6c149bSJesper Nilsson	Available functions and groups (function: group0, group1...):
209c6c149bSJesper Nilsson		gpio: cpuclkoutgrp0, udlclkoutgrp0, i2c1grp0, i2c2grp0,
219c6c149bSJesper Nilsson		      i2c3grp0, i2s0grp0, i2s1grp0, i2srefclkgrp0, spi0grp0,
22928af224SNiklas Cassel		      spi1grp0, pciedebuggrp0, uart0grp0, uart0grp1, uart0grp2,
23928af224SNiklas Cassel		      uart1grp0, uart1grp1, uart2grp0, uart2grp1, uart2grp2,
24928af224SNiklas Cassel		      uart3grp0, uart4grp0, uart4grp1, uart5grp0, uart5grp1,
257e065fb9SNiklas Cassel		      uart5nocts
269c6c149bSJesper Nilsson		cpuclkout: cpuclkoutgrp0
279c6c149bSJesper Nilsson		udlclkout: udlclkoutgrp0
289c6c149bSJesper Nilsson		i2c1: i2c1grp0
299c6c149bSJesper Nilsson		i2c2: i2c2grp0
309c6c149bSJesper Nilsson		i2c3: i2c3grp0
319c6c149bSJesper Nilsson		i2s0: i2s0grp0
329c6c149bSJesper Nilsson		i2s1: i2s1grp0
339c6c149bSJesper Nilsson		i2srefclk: i2srefclkgrp0
349c6c149bSJesper Nilsson		spi0: spi0grp0
359c6c149bSJesper Nilsson		spi1: spi1grp0
369c6c149bSJesper Nilsson		pciedebug: pciedebuggrp0
37928af224SNiklas Cassel		uart0: uart0grp0, uart0grp1, uart0grp2
38928af224SNiklas Cassel		uart1: uart1grp0, uart1grp1
39928af224SNiklas Cassel		uart2: uart2grp0, uart2grp1, uart2grp2
409c6c149bSJesper Nilsson		uart3: uart3grp0
41928af224SNiklas Cassel		uart4: uart4grp0, uart4grp1
42928af224SNiklas Cassel		uart5: uart5grp0, uart5grp1, uart5nocts
439c6c149bSJesper Nilsson		nand: nandgrp0
449c6c149bSJesper Nilsson		sdio0: sdio0grp0
459c6c149bSJesper Nilsson		sdio1: sdio1grp0
469c6c149bSJesper Nilsson		ethernet: ethernetgrp0
479c6c149bSJesper Nilsson
489c6c149bSJesper Nilsson
499c6c149bSJesper NilssonOptional subnode-properties (see pinctrl-bindings.txt):
509c6c149bSJesper Nilsson- drive-strength: 4, 6, 8, 9 mA.  For SD and NAND pins, this is for 3.3V VCCQ3.
519c6c149bSJesper Nilsson- bias-pull-up
529c6c149bSJesper Nilsson- bias-disable
539c6c149bSJesper Nilsson
549c6c149bSJesper NilssonExamples:
559c6c149bSJesper Nilssonpinctrl@f801d000 {
569c6c149bSJesper Nilsson	compatible = "axis,artpec6-pinctrl";
579c6c149bSJesper Nilsson	reg = <0xf801d000 0x400>;
589c6c149bSJesper Nilsson
599c6c149bSJesper Nilsson	pinctrl_uart0: uart0grp {
609c6c149bSJesper Nilsson		function = "uart0";
619c6c149bSJesper Nilsson		groups = "uart0grp0";
629c6c149bSJesper Nilsson		drive-strength = <4>;
639c6c149bSJesper Nilsson		bias-pull-up;
649c6c149bSJesper Nilsson	};
659c6c149bSJesper Nilsson	pinctrl_uart3: uart3grp {
669c6c149bSJesper Nilsson		function = "uart3";
679c6c149bSJesper Nilsson		groups = "uart3grp0";
689c6c149bSJesper Nilsson	};
699c6c149bSJesper Nilsson};
709c6c149bSJesper Nilssonuart0: uart@f8036000 {
719c6c149bSJesper Nilsson	compatible = "arm,pl011", "arm,primecell";
729c6c149bSJesper Nilsson	reg = <0xf8036000 0x1000>;
739c6c149bSJesper Nilsson	interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH>;
749c6c149bSJesper Nilsson	clocks = <&pll2div24>, <&apb_pclk>;
759c6c149bSJesper Nilsson	clock-names = "uart_clk", "apb_pclk";
769c6c149bSJesper Nilsson	pinctrl-names = "default";
779c6c149bSJesper Nilsson	pinctrl-0 = <&pinctrl_uart0>;
789c6c149bSJesper Nilsson};
799c6c149bSJesper Nilssonuart3: uart@f8039000 {
809c6c149bSJesper Nilsson	compatible = "arm,pl011", "arm,primecell";
819c6c149bSJesper Nilsson	reg = <0xf8039000 0x1000>;
829c6c149bSJesper Nilsson	interrupts = <0 128 IRQ_TYPE_LEVEL_HIGH>;
839c6c149bSJesper Nilsson	clocks = <&pll2div24>, <&apb_pclk>;
849c6c149bSJesper Nilsson	clock-names = "uart_clk", "apb_pclk";
859c6c149bSJesper Nilsson	pinctrl-names = "default";
869c6c149bSJesper Nilsson	pinctrl-0 = <&pinctrl_uart3>;
879c6c149bSJesper Nilsson};
88