18c2ecf20Sopenharmony_ciAxis ARTPEC-6 Pin Controller 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRequired properties: 48c2ecf20Sopenharmony_ci- compatible: "axis,artpec6-pinctrl". 58c2ecf20Sopenharmony_ci- reg: Should contain the register physical address and length for the pin 68c2ecf20Sopenharmony_ci controller. 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciA pinctrl node should contain at least one subnode representing the pinctrl 98c2ecf20Sopenharmony_cigroups available on the machine. Each subnode will list the mux function 108c2ecf20Sopenharmony_cirequired and what pin group it will use. Each subnode will also configure the 118c2ecf20Sopenharmony_cidrive strength and bias pullup of the pin group. If either of these options is 128c2ecf20Sopenharmony_cinot set, its actual value will be unspecified. 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciRequired subnode-properties: 168c2ecf20Sopenharmony_ci- function: Function to mux. 178c2ecf20Sopenharmony_ci- groups: Name of the pin group to use for the function above. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci Available functions and groups (function: group0, group1...): 208c2ecf20Sopenharmony_ci gpio: cpuclkoutgrp0, udlclkoutgrp0, i2c1grp0, i2c2grp0, 218c2ecf20Sopenharmony_ci i2c3grp0, i2s0grp0, i2s1grp0, i2srefclkgrp0, spi0grp0, 228c2ecf20Sopenharmony_ci spi1grp0, pciedebuggrp0, uart0grp0, uart0grp1, uart0grp2, 238c2ecf20Sopenharmony_ci uart1grp0, uart1grp1, uart2grp0, uart2grp1, uart2grp2, 248c2ecf20Sopenharmony_ci uart3grp0, uart4grp0, uart4grp1, uart5grp0, uart5grp1, 258c2ecf20Sopenharmony_ci uart5nocts 268c2ecf20Sopenharmony_ci cpuclkout: cpuclkoutgrp0 278c2ecf20Sopenharmony_ci udlclkout: udlclkoutgrp0 288c2ecf20Sopenharmony_ci i2c1: i2c1grp0 298c2ecf20Sopenharmony_ci i2c2: i2c2grp0 308c2ecf20Sopenharmony_ci i2c3: i2c3grp0 318c2ecf20Sopenharmony_ci i2s0: i2s0grp0 328c2ecf20Sopenharmony_ci i2s1: i2s1grp0 338c2ecf20Sopenharmony_ci i2srefclk: i2srefclkgrp0 348c2ecf20Sopenharmony_ci spi0: spi0grp0 358c2ecf20Sopenharmony_ci spi1: spi1grp0 368c2ecf20Sopenharmony_ci pciedebug: pciedebuggrp0 378c2ecf20Sopenharmony_ci uart0: uart0grp0, uart0grp1, uart0grp2 388c2ecf20Sopenharmony_ci uart1: uart1grp0, uart1grp1 398c2ecf20Sopenharmony_ci uart2: uart2grp0, uart2grp1, uart2grp2 408c2ecf20Sopenharmony_ci uart3: uart3grp0 418c2ecf20Sopenharmony_ci uart4: uart4grp0, uart4grp1 428c2ecf20Sopenharmony_ci uart5: uart5grp0, uart5grp1, uart5nocts 438c2ecf20Sopenharmony_ci nand: nandgrp0 448c2ecf20Sopenharmony_ci sdio0: sdio0grp0 458c2ecf20Sopenharmony_ci sdio1: sdio1grp0 468c2ecf20Sopenharmony_ci ethernet: ethernetgrp0 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ciOptional subnode-properties (see pinctrl-bindings.txt): 508c2ecf20Sopenharmony_ci- drive-strength: 4, 6, 8, 9 mA. For SD and NAND pins, this is for 3.3V VCCQ3. 518c2ecf20Sopenharmony_ci- bias-pull-up 528c2ecf20Sopenharmony_ci- bias-disable 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ciExamples: 558c2ecf20Sopenharmony_cipinctrl@f801d000 { 568c2ecf20Sopenharmony_ci compatible = "axis,artpec6-pinctrl"; 578c2ecf20Sopenharmony_ci reg = <0xf801d000 0x400>; 588c2ecf20Sopenharmony_ci 598c2ecf20Sopenharmony_ci pinctrl_uart0: uart0grp { 608c2ecf20Sopenharmony_ci function = "uart0"; 618c2ecf20Sopenharmony_ci groups = "uart0grp0"; 628c2ecf20Sopenharmony_ci drive-strength = <4>; 638c2ecf20Sopenharmony_ci bias-pull-up; 648c2ecf20Sopenharmony_ci }; 658c2ecf20Sopenharmony_ci pinctrl_uart3: uart3grp { 668c2ecf20Sopenharmony_ci function = "uart3"; 678c2ecf20Sopenharmony_ci groups = "uart3grp0"; 688c2ecf20Sopenharmony_ci }; 698c2ecf20Sopenharmony_ci}; 708c2ecf20Sopenharmony_ciuart0: uart@f8036000 { 718c2ecf20Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 728c2ecf20Sopenharmony_ci reg = <0xf8036000 0x1000>; 738c2ecf20Sopenharmony_ci interrupts = <0 104 IRQ_TYPE_LEVEL_HIGH>; 748c2ecf20Sopenharmony_ci clocks = <&pll2div24>, <&apb_pclk>; 758c2ecf20Sopenharmony_ci clock-names = "uart_clk", "apb_pclk"; 768c2ecf20Sopenharmony_ci pinctrl-names = "default"; 778c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_uart0>; 788c2ecf20Sopenharmony_ci}; 798c2ecf20Sopenharmony_ciuart3: uart@f8039000 { 808c2ecf20Sopenharmony_ci compatible = "arm,pl011", "arm,primecell"; 818c2ecf20Sopenharmony_ci reg = <0xf8039000 0x1000>; 828c2ecf20Sopenharmony_ci interrupts = <0 128 IRQ_TYPE_LEVEL_HIGH>; 838c2ecf20Sopenharmony_ci clocks = <&pll2div24>, <&apb_pclk>; 848c2ecf20Sopenharmony_ci clock-names = "uart_clk", "apb_pclk"; 858c2ecf20Sopenharmony_ci pinctrl-names = "default"; 868c2ecf20Sopenharmony_ci pinctrl-0 = <&pinctrl_uart3>; 878c2ecf20Sopenharmony_ci}; 88