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,
229c6c149bSJesper Nilsson		      spi1grp0, pciedebuggrp0, uart0grp0, uart0grp1, uart1grp0,
237e065fb9SNiklas Cassel		      uart2grp0, uart2grp1, uart3grp0, uart4grp0, uart5grp0,
247e065fb9SNiklas Cassel		      uart5nocts
259c6c149bSJesper Nilsson		cpuclkout: cpuclkoutgrp0
269c6c149bSJesper Nilsson		udlclkout: udlclkoutgrp0
279c6c149bSJesper Nilsson		i2c1: i2c1grp0
289c6c149bSJesper Nilsson		i2c2: i2c2grp0
299c6c149bSJesper Nilsson		i2c3: i2c3grp0
309c6c149bSJesper Nilsson		i2s0: i2s0grp0
319c6c149bSJesper Nilsson		i2s1: i2s1grp0
329c6c149bSJesper Nilsson		i2srefclk: i2srefclkgrp0
339c6c149bSJesper Nilsson		spi0: spi0grp0
349c6c149bSJesper Nilsson		spi1: spi1grp0
359c6c149bSJesper Nilsson		pciedebug: pciedebuggrp0
369c6c149bSJesper Nilsson		uart0: uart0grp0, uart0grp1
379c6c149bSJesper Nilsson		uart1: uart1grp0
389c6c149bSJesper Nilsson		uart2: uart2grp0, uart2grp1
399c6c149bSJesper Nilsson		uart3: uart3grp0
409c6c149bSJesper Nilsson		uart4: uart4grp0
417e065fb9SNiklas Cassel		uart5: uart5grp0, uart5nocts
429c6c149bSJesper Nilsson		nand: nandgrp0
439c6c149bSJesper Nilsson		sdio0: sdio0grp0
449c6c149bSJesper Nilsson		sdio1: sdio1grp0
459c6c149bSJesper Nilsson		ethernet: ethernetgrp0
469c6c149bSJesper Nilsson
479c6c149bSJesper Nilsson
489c6c149bSJesper NilssonOptional subnode-properties (see pinctrl-bindings.txt):
499c6c149bSJesper Nilsson- drive-strength: 4, 6, 8, 9 mA.  For SD and NAND pins, this is for 3.3V VCCQ3.
509c6c149bSJesper Nilsson- bias-pull-up
519c6c149bSJesper Nilsson- bias-disable
529c6c149bSJesper Nilsson
539c6c149bSJesper NilssonExamples:
549c6c149bSJesper Nilssonpinctrl@f801d000 {
559c6c149bSJesper Nilsson	compatible = "axis,artpec6-pinctrl";
569c6c149bSJesper Nilsson	reg = <0xf801d000 0x400>;
579c6c149bSJesper Nilsson
589c6c149bSJesper Nilsson	pinctrl_uart0: uart0grp {
599c6c149bSJesper Nilsson		function = "uart0";
609c6c149bSJesper Nilsson		groups = "uart0grp0";
619c6c149bSJesper Nilsson		drive-strength = <4>;
629c6c149bSJesper Nilsson		bias-pull-up;
639c6c149bSJesper Nilsson	};
649c6c149bSJesper Nilsson	pinctrl_uart3: uart3grp {
659c6c149bSJesper Nilsson		function = "uart3";
669c6c149bSJesper Nilsson		groups = "uart3grp0";
679c6c149bSJesper Nilsson	};
689c6c149bSJesper Nilsson};
699c6c149bSJesper Nilssonuart0: uart@f8036000 {
709c6c149bSJesper Nilsson	compatible = "arm,pl011", "arm,primecell";
719c6c149bSJesper Nilsson	reg = <0xf8036000 0x1000>;
729c6c149bSJesper Nilsson	interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH>;
739c6c149bSJesper Nilsson	clocks = <&pll2div24>, <&apb_pclk>;
749c6c149bSJesper Nilsson	clock-names = "uart_clk", "apb_pclk";
759c6c149bSJesper Nilsson	pinctrl-names = "default";
769c6c149bSJesper Nilsson	pinctrl-0 = <&pinctrl_uart0>;
779c6c149bSJesper Nilsson};
789c6c149bSJesper Nilssonuart3: uart@f8039000 {
799c6c149bSJesper Nilsson	compatible = "arm,pl011", "arm,primecell";
809c6c149bSJesper Nilsson	reg = <0xf8039000 0x1000>;
819c6c149bSJesper Nilsson	interrupts = <0 128 IRQ_TYPE_LEVEL_HIGH>;
829c6c149bSJesper Nilsson	clocks = <&pll2div24>, <&apb_pclk>;
839c6c149bSJesper Nilsson	clock-names = "uart_clk", "apb_pclk";
849c6c149bSJesper Nilsson	pinctrl-names = "default";
859c6c149bSJesper Nilsson	pinctrl-0 = <&pinctrl_uart3>;
869c6c149bSJesper Nilsson};
87