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