summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txt
blob: 44ad670ae11e14eec28685bddc1506789e4f5e61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
* Freescale i.MX7ULP IOMUX Controller

i.MX 7ULP has three IOMUXC instances: IOMUXC0 for M4 ports, IOMUXC1 for A7
ports and IOMUXC DDR for DDR interface.

Note:
This binding doc is only for the IOMUXC1 support in A7 Domain and it only
supports generic pin config.

Please also refer pinctrl-bindings.txt in this directory for generic pinctrl
binding.

=== Pin Controller Node ===

Required properties:
- compatible:	"fsl,imx7ulp-iomuxc1"
- reg:		Should contain the base physical address and size of the iomuxc
		registers.

=== Pin Configuration Node ===
- pinmux: One integers array, represents a group of pins mux setting.
	The format is pinmux = <PIN_FUNC_ID>, PIN_FUNC_ID is a pin working on
	a specific function.

	NOTE: i.MX7ULP PIN_FUNC_ID consists of 4 integers as it shares one mux
	and config register as follows:
	<mux_conf_reg input_reg mux_mode input_val>

	Refer to imx7ulp-pinfunc.h in in device tree source folder for all
	available imx7ulp PIN_FUNC_ID.

Optional Properties:
- drive-strength		Integer. Controls Drive Strength
					0: Standard
					1: Hi Driver
- drive-push-pull		Bool. Enable Pin Push-pull
- drive-open-drain		Bool. Enable Pin Open-drian
- slew-rate:			Integer. Controls Slew Rate
					0: Standard
					1: Slow
- bias-disable:			Bool. Pull disabled
- bias-pull-down:		Bool. Pull down on pin
- bias-pull-up:			Bool. Pull up on pin

Examples:
#include "imx7ulp-pinfunc.h"

/* Pin Controller Node */
iomuxc1: iomuxc@40ac0000 {
	compatible = "fsl,imx7ulp-iomuxc1";
	reg = <0x40ac0000 0x1000>;

	/* Pin Configuration Node */
	pinctrl_lpuart4: lpuart4grp {
		pinmux = <
			IMX7ULP_PAD_PTC3__LPUART4_RX
			IMX7ULP_PAD_PTC2__LPUART4_TX
		>;
		bias-pull-up;
	};
};