xref: /freebsd/sys/contrib/device-tree/Bindings/firmware/nxp,imx95-scmi-pinctrl.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*0e8011faSEmmanuel Vadot# Copyright 2024 NXP
3*0e8011faSEmmanuel Vadot%YAML 1.2
4*0e8011faSEmmanuel Vadot---
5*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/firmware/nxp,imx95-scmi-pinctrl.yaml#
6*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
7*0e8011faSEmmanuel Vadot
8*0e8011faSEmmanuel Vadottitle: i.MX System Control and Management Interface (SCMI) Pinctrl Protocol
9*0e8011faSEmmanuel Vadot
10*0e8011faSEmmanuel Vadotmaintainers:
11*0e8011faSEmmanuel Vadot  - Peng Fan <peng.fan@nxp.com>
12*0e8011faSEmmanuel Vadot
13*0e8011faSEmmanuel VadotallOf:
14*0e8011faSEmmanuel Vadot  - $ref: /schemas/pinctrl/pinctrl.yaml
15*0e8011faSEmmanuel Vadot
16*0e8011faSEmmanuel VadotpatternProperties:
17*0e8011faSEmmanuel Vadot  'grp$':
18*0e8011faSEmmanuel Vadot    type: object
19*0e8011faSEmmanuel Vadot    description:
20*0e8011faSEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
21*0e8011faSEmmanuel Vadot      Client device subnodes use below standard properties.
22*0e8011faSEmmanuel Vadot
23*0e8011faSEmmanuel Vadot    unevaluatedProperties: false
24*0e8011faSEmmanuel Vadot
25*0e8011faSEmmanuel Vadot    properties:
26*0e8011faSEmmanuel Vadot      fsl,pins:
27*0e8011faSEmmanuel Vadot        description:
28*0e8011faSEmmanuel Vadot          each entry consists of 6 integers and represents the mux and config
29*0e8011faSEmmanuel Vadot          setting for one pin. The first 5 integers <mux_reg conf_reg input_reg
30*0e8011faSEmmanuel Vadot          mux_val input_val> are specified using a PIN_FUNC_ID macro, which can
31*0e8011faSEmmanuel Vadot          be found in <arch/arm64/boot/dts/freescale/imx95-pinfunc.h>. The last
32*0e8011faSEmmanuel Vadot          integer CONFIG is the pad setting value like pull-up on this pin.
33*0e8011faSEmmanuel Vadot          Please refer to i.MX95 Reference Manual for detailed CONFIG settings.
34*0e8011faSEmmanuel Vadot        $ref: /schemas/types.yaml#/definitions/uint32-matrix
35*0e8011faSEmmanuel Vadot        items:
36*0e8011faSEmmanuel Vadot          items:
37*0e8011faSEmmanuel Vadot            - description: |
38*0e8011faSEmmanuel Vadot                "mux_reg" indicates the offset of mux register.
39*0e8011faSEmmanuel Vadot            - description: |
40*0e8011faSEmmanuel Vadot                "conf_reg" indicates the offset of pad configuration register.
41*0e8011faSEmmanuel Vadot            - description: |
42*0e8011faSEmmanuel Vadot                "input_reg" indicates the offset of select input register.
43*0e8011faSEmmanuel Vadot            - description: |
44*0e8011faSEmmanuel Vadot                "mux_val" indicates the mux value to be applied.
45*0e8011faSEmmanuel Vadot            - description: |
46*0e8011faSEmmanuel Vadot                "input_val" indicates the select input value to be applied.
47*0e8011faSEmmanuel Vadot            - description: |
48*0e8011faSEmmanuel Vadot                "pad_setting" indicates the pad configuration value to be applied.
49*0e8011faSEmmanuel Vadot
50*0e8011faSEmmanuel Vadot    required:
51*0e8011faSEmmanuel Vadot      - fsl,pins
52*0e8011faSEmmanuel Vadot
53*0e8011faSEmmanuel VadotadditionalProperties: true
54