]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Bindings/pinctrl/fsl,imx8m-pinctrl.yaml
Import device-tree files from Linux 6.4
[FreeBSD/FreeBSD.git] / Bindings / pinctrl / fsl,imx8m-pinctrl.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/pinctrl/fsl,imx8m-pinctrl.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Freescale IMX8M IOMUX Controller
8
9 maintainers:
10   - Peng Fan <peng.fan@nxp.com>
11
12 description:
13   Please refer to fsl,imx-pinctrl.txt and pinctrl-bindings.txt in this directory
14   for common binding part and usage.
15
16 properties:
17   compatible:
18     enum:
19       - fsl,imx8mm-iomuxc
20       - fsl,imx8mn-iomuxc
21       - fsl,imx8mp-iomuxc
22       - fsl,imx8mq-iomuxc
23
24   reg:
25     maxItems: 1
26
27 # Client device subnode's properties
28 patternProperties:
29   'grp$':
30     type: object
31     description:
32       Pinctrl node's client devices use subnodes for desired pin configuration.
33       Client device subnodes use below standard properties.
34
35     properties:
36       fsl,pins:
37         description:
38           each entry consists of 6 integers and represents the mux and config
39           setting for one pin. The first 5 integers <mux_reg conf_reg input_reg
40           mux_val input_val> are specified using a PIN_FUNC_ID macro, which can
41           be found in <arch/arm64/boot/dts/freescale/imx8m[m,n,p,q]-pinfunc.h>.
42           The last integer CONFIG is the pad setting value like pull-up on this
43           pin. Please refer to i.MX8M Mini/Nano/Plus/Quad Reference Manual for
44           detailed CONFIG settings.
45         $ref: /schemas/types.yaml#/definitions/uint32-matrix
46         items:
47           items:
48             - description: |
49                 "mux_reg" indicates the offset of mux register.
50             - description: |
51                 "conf_reg" indicates the offset of pad configuration register.
52             - description: |
53                 "input_reg" indicates the offset of select input register.
54             - description: |
55                 "mux_val" indicates the mux value to be applied.
56             - description: |
57                 "input_val" indicates the select input value to be applied.
58             - description: |
59                 "pad_setting" indicates the pad configuration value to be
60                 applied.
61
62     required:
63       - fsl,pins
64
65     additionalProperties: false
66
67 allOf:
68   - $ref: pinctrl.yaml#
69
70 required:
71   - compatible
72   - reg
73
74 additionalProperties: false
75
76 examples:
77   # Pinmux controller node
78   - |
79     iomuxc: pinctrl@30330000 {
80         compatible = "fsl,imx8mm-iomuxc";
81         reg = <0x30330000 0x10000>;
82
83         pinctrl_uart2: uart2grp {
84             fsl,pins =
85                 <0x23C 0x4A4 0x4FC 0x0 0x0      0x140>,
86                 <0x240 0x4A8 0x000 0x0 0x0      0x140>;
87         };
88     };
89
90 ...