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