1*c66ec88fSEmmanuel Vadot Binding for Xilinx Zynq Pinctrl 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotRequired properties: 4*c66ec88fSEmmanuel Vadot- compatible: "xlnx,zynq-pinctrl" 5*c66ec88fSEmmanuel Vadot- syscon: phandle to SLCR 6*c66ec88fSEmmanuel Vadot- reg: Offset and length of pinctrl space in SLCR 7*c66ec88fSEmmanuel Vadot 8*c66ec88fSEmmanuel VadotPlease refer to pinctrl-bindings.txt in this directory for details of the 9*c66ec88fSEmmanuel Vadotcommon pinctrl bindings used by client devices, including the meaning of the 10*c66ec88fSEmmanuel Vadotphrase "pin configuration node". 11*c66ec88fSEmmanuel Vadot 12*c66ec88fSEmmanuel VadotZynq's pin configuration nodes act as a container for an arbitrary number of 13*c66ec88fSEmmanuel Vadotsubnodes. Each of these subnodes represents some desired configuration for a 14*c66ec88fSEmmanuel Vadotpin, a group, or a list of pins or groups. This configuration can include the 15*c66ec88fSEmmanuel Vadotmux function to select on those pin(s)/group(s), and various pin configuration 16*c66ec88fSEmmanuel Vadotparameters, such as pull-up, slew rate, etc. 17*c66ec88fSEmmanuel Vadot 18*c66ec88fSEmmanuel VadotEach configuration node can consist of multiple nodes describing the pinmux and 19*c66ec88fSEmmanuel Vadotpinconf options. Those nodes can be pinmux nodes or pinconf nodes. 20*c66ec88fSEmmanuel Vadot 21*c66ec88fSEmmanuel VadotThe name of each subnode is not important; all subnodes should be enumerated 22*c66ec88fSEmmanuel Vadotand processed purely based on their content. 23*c66ec88fSEmmanuel Vadot 24*c66ec88fSEmmanuel VadotRequired properties for pinmux nodes are: 25*c66ec88fSEmmanuel Vadot - groups: A list of pinmux groups. 26*c66ec88fSEmmanuel Vadot - function: The name of a pinmux function to activate for the specified set 27*c66ec88fSEmmanuel Vadot of groups. 28*c66ec88fSEmmanuel Vadot 29*c66ec88fSEmmanuel VadotRequired properties for configuration nodes: 30*c66ec88fSEmmanuel VadotOne of: 31*c66ec88fSEmmanuel Vadot - pins: a list of pin names 32*c66ec88fSEmmanuel Vadot - groups: A list of pinmux groups. 33*c66ec88fSEmmanuel Vadot 34*c66ec88fSEmmanuel VadotThe following generic properties as defined in pinctrl-bindings.txt are valid 35*c66ec88fSEmmanuel Vadotto specify in a pinmux subnode: 36*c66ec88fSEmmanuel Vadot groups, function 37*c66ec88fSEmmanuel Vadot 38*c66ec88fSEmmanuel VadotThe following generic properties as defined in pinctrl-bindings.txt are valid 39*c66ec88fSEmmanuel Vadotto specify in a pinconf subnode: 40*c66ec88fSEmmanuel Vadot groups, pins, bias-disable, bias-high-impedance, bias-pull-up, slew-rate, 41*c66ec88fSEmmanuel Vadot low-power-disable, low-power-enable 42*c66ec88fSEmmanuel Vadot 43*c66ec88fSEmmanuel Vadot Valid arguments for 'slew-rate' are '0' and '1' to select between slow and fast 44*c66ec88fSEmmanuel Vadot respectively. 45*c66ec88fSEmmanuel Vadot 46*c66ec88fSEmmanuel Vadot Valid values for groups are: 47*c66ec88fSEmmanuel Vadot ethernet0_0_grp, ethernet1_0_grp, mdio0_0_grp, mdio1_0_grp, 48*c66ec88fSEmmanuel Vadot qspi0_0_grp, qspi1_0_grp, qspi_fbclk, qspi_cs1_grp, spi0_0_grp - spi0_2_grp, 49*c66ec88fSEmmanuel Vadot spi0_X_ssY (X=0..2, Y=0..2), spi1_0_grp - spi1_3_grp, 50*c66ec88fSEmmanuel Vadot spi1_X_ssY (X=0..3, Y=0..2), sdio0_0_grp - sdio0_2_grp, 51*c66ec88fSEmmanuel Vadot sdio1_0_grp - sdio1_3_grp, sdio0_emio_wp, sdio0_emio_cd, sdio1_emio_wp, 52*c66ec88fSEmmanuel Vadot sdio1_emio_cd, smc0_nor, smc0_nor_cs1_grp, smc0_nor_addr25_grp, smc0_nand, 53*c66ec88fSEmmanuel Vadot can0_0_grp - can0_10_grp, can1_0_grp - can1_11_grp, uart0_0_grp - uart0_10_grp, 54*c66ec88fSEmmanuel Vadot uart1_0_grp - uart1_11_grp, i2c0_0_grp - i2c0_10_grp, i2c1_0_grp - i2c1_10_grp, 55*c66ec88fSEmmanuel Vadot ttc0_0_grp - ttc0_2_grp, ttc1_0_grp - ttc1_2_grp, swdt0_0_grp - swdt0_4_grp, 56*c66ec88fSEmmanuel Vadot gpio0_0_grp - gpio0_53_grp, usb0_0_grp, usb1_0_grp 57*c66ec88fSEmmanuel Vadot 58*c66ec88fSEmmanuel Vadot Valid values for pins are: 59*c66ec88fSEmmanuel Vadot MIO0 - MIO53 60*c66ec88fSEmmanuel Vadot 61*c66ec88fSEmmanuel Vadot Valid values for function are: 62*c66ec88fSEmmanuel Vadot ethernet0, ethernet1, mdio0, mdio1, qspi0, qspi1, qspi_fbclk, qspi_cs1, 63*c66ec88fSEmmanuel Vadot spi0, spi0_ss, spi1, spi1_ss, sdio0, sdio0_pc, sdio0_cd, sdio0_wp, 64*c66ec88fSEmmanuel Vadot sdio1, sdio1_pc, sdio1_cd, sdio1_wp, 65*c66ec88fSEmmanuel Vadot smc0_nor, smc0_nor_cs1, smc0_nor_addr25, smc0_nand, can0, can1, uart0, uart1, 66*c66ec88fSEmmanuel Vadot i2c0, i2c1, ttc0, ttc1, swdt0, gpio0, usb0, usb1 67*c66ec88fSEmmanuel Vadot 68*c66ec88fSEmmanuel VadotThe following driver-specific properties as defined here are valid to specify in 69*c66ec88fSEmmanuel Vadota pin configuration subnode: 70*c66ec88fSEmmanuel Vadot - io-standard: Configure the pin to use the selected IO standard according to 71*c66ec88fSEmmanuel Vadot this mapping: 72*c66ec88fSEmmanuel Vadot 1: LVCMOS18 73*c66ec88fSEmmanuel Vadot 2: LVCMOS25 74*c66ec88fSEmmanuel Vadot 3: LVCMOS33 75*c66ec88fSEmmanuel Vadot 4: HSTL 76*c66ec88fSEmmanuel Vadot 77*c66ec88fSEmmanuel VadotExample: 78*c66ec88fSEmmanuel Vadot pinctrl0: pinctrl@700 { 79*c66ec88fSEmmanuel Vadot compatible = "xlnx,pinctrl-zynq"; 80*c66ec88fSEmmanuel Vadot reg = <0x700 0x200>; 81*c66ec88fSEmmanuel Vadot syscon = <&slcr>; 82*c66ec88fSEmmanuel Vadot 83*c66ec88fSEmmanuel Vadot pinctrl_uart1_default: uart1-default { 84*c66ec88fSEmmanuel Vadot mux { 85*c66ec88fSEmmanuel Vadot groups = "uart1_10_grp"; 86*c66ec88fSEmmanuel Vadot function = "uart1"; 87*c66ec88fSEmmanuel Vadot }; 88*c66ec88fSEmmanuel Vadot 89*c66ec88fSEmmanuel Vadot conf { 90*c66ec88fSEmmanuel Vadot groups = "uart1_10_grp"; 91*c66ec88fSEmmanuel Vadot slew-rate = <0>; 92*c66ec88fSEmmanuel Vadot io-standard = <1>; 93*c66ec88fSEmmanuel Vadot }; 94*c66ec88fSEmmanuel Vadot 95*c66ec88fSEmmanuel Vadot conf-rx { 96*c66ec88fSEmmanuel Vadot pins = "MIO49"; 97*c66ec88fSEmmanuel Vadot bias-high-impedance; 98*c66ec88fSEmmanuel Vadot }; 99*c66ec88fSEmmanuel Vadot 100*c66ec88fSEmmanuel Vadot conf-tx { 101*c66ec88fSEmmanuel Vadot pins = "MIO48"; 102*c66ec88fSEmmanuel Vadot bias-disable; 103*c66ec88fSEmmanuel Vadot }; 104*c66ec88fSEmmanuel Vadot }; 105*c66ec88fSEmmanuel Vadot }; 106