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