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