xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/fsl,imx7ulp-pinctrl.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot* Freescale i.MX7ULP IOMUX Controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel Vadoti.MX 7ULP has three IOMUXC instances: IOMUXC0 for M4 ports, IOMUXC1 for A7
4*c66ec88fSEmmanuel Vadotports and IOMUXC DDR for DDR interface.
5*c66ec88fSEmmanuel Vadot
6*c66ec88fSEmmanuel VadotNote:
7*c66ec88fSEmmanuel VadotThis binding doc is only for the IOMUXC1 support in A7 Domain and it only
8*c66ec88fSEmmanuel Vadotsupports generic pin config.
9*c66ec88fSEmmanuel Vadot
10*c66ec88fSEmmanuel VadotPlease refer to fsl,imx-pinctrl.txt in this directory for common binding
11*c66ec88fSEmmanuel Vadotpart and usage.
12*c66ec88fSEmmanuel Vadot
13*c66ec88fSEmmanuel VadotRequired properties:
14*c66ec88fSEmmanuel Vadot- compatible:	"fsl,imx7ulp-iomuxc1".
15*c66ec88fSEmmanuel Vadot- fsl,pins:	Each entry consists of 5 integers which represents the mux
16*c66ec88fSEmmanuel Vadot		and config setting for one pin. The first 4 integers
17*c66ec88fSEmmanuel Vadot		<mux_conf_reg input_reg mux_mode input_val> are specified
18*c66ec88fSEmmanuel Vadot		using a PIN_FUNC_ID macro, which can be found in
19*c66ec88fSEmmanuel Vadot		imx7ulp-pinfunc.h in the device tree source folder.
20*c66ec88fSEmmanuel Vadot		The last integer CONFIG is the pad setting value like
21*c66ec88fSEmmanuel Vadot		pull-up on this pin.
22*c66ec88fSEmmanuel Vadot
23*c66ec88fSEmmanuel Vadot		Please refer to i.MX7ULP Reference Manual for detailed
24*c66ec88fSEmmanuel Vadot		CONFIG settings.
25*c66ec88fSEmmanuel Vadot
26*c66ec88fSEmmanuel VadotCONFIG bits definition:
27*c66ec88fSEmmanuel VadotPAD_CTL_OBE		(1 << 17)
28*c66ec88fSEmmanuel VadotPAD_CTL_IBE		(1 << 16)
29*c66ec88fSEmmanuel VadotPAD_CTL_LK		(1 << 16)
30*c66ec88fSEmmanuel VadotPAD_CTL_DSE_HI		(1 << 6)
31*c66ec88fSEmmanuel VadotPAD_CTL_DSE_STD		(0 << 6)
32*c66ec88fSEmmanuel VadotPAD_CTL_ODE		(1 << 5)
33*c66ec88fSEmmanuel VadotPAD_CTL_PUSH_PULL	(0 << 5)
34*c66ec88fSEmmanuel VadotPAD_CTL_SRE_SLOW	(1 << 2)
35*c66ec88fSEmmanuel VadotPAD_CTL_SRE_STD		(0 << 2)
36*c66ec88fSEmmanuel VadotPAD_CTL_PE		(1 << 0)
37*c66ec88fSEmmanuel Vadot
38*c66ec88fSEmmanuel VadotExamples:
39*c66ec88fSEmmanuel Vadot#include "imx7ulp-pinfunc.h"
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel Vadot/* Pin Controller Node */
42*c66ec88fSEmmanuel Vadotiomuxc1: pinctrl@40ac0000 {
43*c66ec88fSEmmanuel Vadot	compatible = "fsl,imx7ulp-iomuxc1";
44*c66ec88fSEmmanuel Vadot	reg = <0x40ac0000 0x1000>;
45*c66ec88fSEmmanuel Vadot
46*c66ec88fSEmmanuel Vadot	/* Pin Configuration Node */
47*c66ec88fSEmmanuel Vadot	pinctrl_lpuart4: lpuart4grp {
48*c66ec88fSEmmanuel Vadot		fsl,pins = <
49*c66ec88fSEmmanuel Vadot			IMX7ULP_PAD_PTC3__LPUART4_RX	0x1
50*c66ec88fSEmmanuel Vadot			IMX7ULP_PAD_PTC2__LPUART4_TX	0x1
51*c66ec88fSEmmanuel Vadot		>;
52*c66ec88fSEmmanuel Vadot	};
53*c66ec88fSEmmanuel Vadot};
54