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, 22*928af224SNiklas Cassel spi1grp0, pciedebuggrp0, uart0grp0, uart0grp1, uart0grp2, 23*928af224SNiklas Cassel uart1grp0, uart1grp1, uart2grp0, uart2grp1, uart2grp2, 24*928af224SNiklas 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 37*928af224SNiklas Cassel uart0: uart0grp0, uart0grp1, uart0grp2 38*928af224SNiklas Cassel uart1: uart1grp0, uart1grp1 39*928af224SNiklas Cassel uart2: uart2grp0, uart2grp1, uart2grp2 409c6c149bSJesper Nilsson uart3: uart3grp0 41*928af224SNiklas Cassel uart4: uart4grp0, uart4grp1 42*928af224SNiklas 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