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