| # Copyright 2022, 2024 NXP | 
 | # SPDX-License-Identifier: Apache-2.0 | 
 |  | 
 | description: | | 
 |   MCI IO MUX Pin Controller | 
 |  | 
 |   This node defines pin configurations in pin | 
 |   groups, and has the 'pinctrl' node identifier in the SOC's devicetree. Each | 
 |   group within the pin configuration defines a peripheral's pin configuration. | 
 |   Each numbered subgroup represents pins with shared configuration for that | 
 |   peripheral. The 'pinmux' property of each group selects the pins to be | 
 |   configured with these properties. For example, here is a configuration | 
 |   for FLEXCOMM0 pins: | 
 |  | 
 |   pinmux_flexcomm0_usart: pinmux_flexcomm0_usart { | 
 |     group0 { | 
 |       pinmux = <IO_MUX_FC0_USART_DATA_IO2>, | 
 |               <IO_MUX_FC0_USART_DATA_IO3>; | 
 |       slew-rate = "normal"; | 
 |     }; | 
 |   }; | 
 |  | 
 |   If only the required properties are supplied, the pin will be configured | 
 |   as normal drive strength and no pull. This corresponds to the following | 
 |   pin settings: | 
 |   PAD_PU_PD_ENx = (0x0 << pin_index) | 
 |   SR_CONFIGx = (0x2 << pin_index) | 
 |  | 
 |   Note | 
 |  | 
 |   Note the inherited pinctrl properties defined below have the following effects: | 
 |   bias-pull-up: PAD_PU_PD_ENx= (0x1 << pin_index) | 
 |   bias-pull-down: PAD_PU_PD_ENx= (0x10 << pin_index) | 
 |  | 
 | compatible: "nxp,mci-io-mux" | 
 |  | 
 | include: | 
 |   - name: base.yaml | 
 |  | 
 | child-binding: | 
 |   description: MCI IO MUX pin controller pin group | 
 |   child-binding: | 
 |     description: | | 
 |       MCI IO MUX pin controller pin configuration node | 
 |     include: | 
 |       - name: pincfg-node.yaml | 
 |         property-allowlist: | 
 |           - bias-pull-up | 
 |           - bias-pull-down | 
 |     properties: | 
 |       pinmux: | 
 |         required: true | 
 |         type: array | 
 |         description: | | 
 |           Pin mux selection for this group. See the SOC level pinctrl header | 
 |           file in NXP's HAL for a defined list of these options. | 
 |       slew-rate: | 
 |         required: true | 
 |         type: string | 
 |         enum: | 
 |           - "slow" | 
 |           - "normal" | 
 |           - "fast" | 
 |           - "ultra" | 
 |         description: | | 
 |           Pin output slew rate. Sets the GPIOxx_SR field in the SR_CONFIGx | 
 |           register. | 
 |           0 - slow slew rate | 
 |           1 - normal slew rate | 
 |           2 - fast slew rate | 
 |           3 - fastest slew rate (ultra) | 
 |       sleep-output: | 
 |         type: string | 
 |         default: "low" | 
 |         enum: | 
 |           - "low" | 
 |           - "high" | 
 |           - "disable" | 
 |         description: | | 
 |           Sets pin output level in sleep mode. | 
 |           0 - output level low | 
 |           1 - output level high | 
 |           2 - disable force output in sleep mode. |