162306a36Sopenharmony_ciAxis ARTPEC-6 Pin Controller
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciRequired properties:
462306a36Sopenharmony_ci- compatible: "axis,artpec6-pinctrl".
562306a36Sopenharmony_ci- reg: Should contain the register physical address and length for the pin
662306a36Sopenharmony_ci       controller.
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciA pinctrl node should contain at least one subnode representing the pinctrl
962306a36Sopenharmony_cigroups available on the machine. Each subnode will list the mux function
1062306a36Sopenharmony_cirequired and what pin group it will use. Each subnode will also configure the
1162306a36Sopenharmony_cidrive strength and bias pullup of the pin group. If either of these options is
1262306a36Sopenharmony_cinot set, its actual value will be unspecified.
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciRequired subnode-properties:
1662306a36Sopenharmony_ci- function: Function to mux.
1762306a36Sopenharmony_ci- groups: Name of the pin group to use for the function above.
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci	Available functions and groups (function: group0, group1...):
2062306a36Sopenharmony_ci		gpio: cpuclkoutgrp0, udlclkoutgrp0, i2c1grp0, i2c2grp0,
2162306a36Sopenharmony_ci		      i2c3grp0, i2s0grp0, i2s1grp0, i2srefclkgrp0, spi0grp0,
2262306a36Sopenharmony_ci		      spi1grp0, pciedebuggrp0, uart0grp0, uart0grp1, uart0grp2,
2362306a36Sopenharmony_ci		      uart1grp0, uart1grp1, uart2grp0, uart2grp1, uart2grp2,
2462306a36Sopenharmony_ci		      uart3grp0, uart4grp0, uart4grp1, uart5grp0, uart5grp1,
2562306a36Sopenharmony_ci		      uart5nocts
2662306a36Sopenharmony_ci		cpuclkout: cpuclkoutgrp0
2762306a36Sopenharmony_ci		udlclkout: udlclkoutgrp0
2862306a36Sopenharmony_ci		i2c1: i2c1grp0
2962306a36Sopenharmony_ci		i2c2: i2c2grp0
3062306a36Sopenharmony_ci		i2c3: i2c3grp0
3162306a36Sopenharmony_ci		i2s0: i2s0grp0
3262306a36Sopenharmony_ci		i2s1: i2s1grp0
3362306a36Sopenharmony_ci		i2srefclk: i2srefclkgrp0
3462306a36Sopenharmony_ci		spi0: spi0grp0
3562306a36Sopenharmony_ci		spi1: spi1grp0
3662306a36Sopenharmony_ci		pciedebug: pciedebuggrp0
3762306a36Sopenharmony_ci		uart0: uart0grp0, uart0grp1, uart0grp2
3862306a36Sopenharmony_ci		uart1: uart1grp0, uart1grp1
3962306a36Sopenharmony_ci		uart2: uart2grp0, uart2grp1, uart2grp2
4062306a36Sopenharmony_ci		uart3: uart3grp0
4162306a36Sopenharmony_ci		uart4: uart4grp0, uart4grp1
4262306a36Sopenharmony_ci		uart5: uart5grp0, uart5grp1, uart5nocts
4362306a36Sopenharmony_ci		nand: nandgrp0
4462306a36Sopenharmony_ci		sdio0: sdio0grp0
4562306a36Sopenharmony_ci		sdio1: sdio1grp0
4662306a36Sopenharmony_ci		ethernet: ethernetgrp0
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciOptional subnode-properties (see pinctrl-bindings.txt):
5062306a36Sopenharmony_ci- drive-strength: 4, 6, 8, 9 mA.  For SD and NAND pins, this is for 3.3V VCCQ3.
5162306a36Sopenharmony_ci- bias-pull-up
5262306a36Sopenharmony_ci- bias-disable
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciExamples:
5562306a36Sopenharmony_cipinctrl@f801d000 {
5662306a36Sopenharmony_ci	compatible = "axis,artpec6-pinctrl";
5762306a36Sopenharmony_ci	reg = <0xf801d000 0x400>;
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci	pinctrl_uart0: uart0grp {
6062306a36Sopenharmony_ci		function = "uart0";
6162306a36Sopenharmony_ci		groups = "uart0grp0";
6262306a36Sopenharmony_ci		drive-strength = <4>;
6362306a36Sopenharmony_ci		bias-pull-up;
6462306a36Sopenharmony_ci	};
6562306a36Sopenharmony_ci	pinctrl_uart3: uart3grp {
6662306a36Sopenharmony_ci		function = "uart3";
6762306a36Sopenharmony_ci		groups = "uart3grp0";
6862306a36Sopenharmony_ci	};
6962306a36Sopenharmony_ci};
7062306a36Sopenharmony_ciuart0: uart@f8036000 {
7162306a36Sopenharmony_ci	compatible = "arm,pl011", "arm,primecell";
7262306a36Sopenharmony_ci	reg = <0xf8036000 0x1000>;
7362306a36Sopenharmony_ci	interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH>;
7462306a36Sopenharmony_ci	clocks = <&pll2div24>, <&apb_pclk>;
7562306a36Sopenharmony_ci	clock-names = "uart_clk", "apb_pclk";
7662306a36Sopenharmony_ci	pinctrl-names = "default";
7762306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart0>;
7862306a36Sopenharmony_ci};
7962306a36Sopenharmony_ciuart3: uart@f8039000 {
8062306a36Sopenharmony_ci	compatible = "arm,pl011", "arm,primecell";
8162306a36Sopenharmony_ci	reg = <0xf8039000 0x1000>;
8262306a36Sopenharmony_ci	interrupts = <0 128 IRQ_TYPE_LEVEL_HIGH>;
8362306a36Sopenharmony_ci	clocks = <&pll2div24>, <&apb_pclk>;
8462306a36Sopenharmony_ci	clock-names = "uart_clk", "apb_pclk";
8562306a36Sopenharmony_ci	pinctrl-names = "default";
8662306a36Sopenharmony_ci	pinctrl-0 = <&pinctrl_uart3>;
8762306a36Sopenharmony_ci};
88