| # Copyright (c) 2022 NXP |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| description: | |
| The node has the 'pinctrl' node label set in MCUX RT SoC's devicetree. These |
| nodes can be autogenerated using the MCUXpresso config tools combined with |
| the rt_dts_gen.py script in NXP's HAL. The mux, mode, input, daisy, and cfg |
| fields in a group select the pins to be configured, and the remaining |
| devicetree properties set configuration values for those pins |
| for example, here is an group configuring LPUART1 pins: |
| |
| group0 { |
| pinmux = <&iomuxc_gpio_ad_25_lpuart1_rxd>, |
| <&iomuxc_gpio_ad_24_lpuart1_txd>; |
| drive-strength = "high"; |
| slew-rate = "slow"; |
| }; |
| |
| This will select GPIO_AD_25 as LPUART1 RX, and GPIO_AD_24 as LPUART1 TX. |
| Both pins will be configured with a weak latch, high drive strength, |
| and slow slew rates. |
| Note that the soc level iomuxc dts file can be examined to find the possible |
| pinmux options. Here are the affects of each property on the |
| IOMUXC SW_PAD_CTL register: |
| drive-open-drain: ODE/ODE_LPSR=1 |
| input-enable: SION=1 (in SW_MUX_CTL_PAD register) |
| bias-pull-down: PUE=1, PUS=0 |
| bias-pull-up: PUE=1, PUS=1 |
| bias-disable: PULL=11 (in supported registers) |
| slew-rate: SRE=<enum_idx> |
| drive-strength: DSE=<enum_idx> |
| |
| If only required properties are supplied, the pin will have the following |
| configuration: |
| ODE=0 |
| SION=0 |
| PUE=0 |
| PUS=0 |
| SRE=0 |
| DSE=0 |
| |
| For registers with PDVR and PULL fields, these are the defaults: |
| PULL=11 |
| PDRV=0 |
| |
| |
| compatible: "nxp,mcux-rt11xx-pinctrl" |
| |
| include: |
| - name: base.yaml |
| - name: pincfg-node-group.yaml |
| child-binding: |
| child-binding: |
| property-allowlist: |
| - drive-open-drain |
| - input-enable |
| - bias-disable |
| - bias-pull-down |
| - bias-pull-up |
| |
| child-binding: |
| description: MCUX RT pin controller pin group |
| child-binding: |
| description: | |
| MCUX RT pin controller pin configuration node. |
| properties: |
| pinmux: |
| required: true |
| type: phandles |
| description: | |
| Pin mux selections for this group. See the soc level iomuxc DTSI file |
| for a defined list of these options. |
| drive-strength: |
| required: false |
| type: string |
| enum: |
| - "normal" |
| - "high" |
| description: | |
| Pin output drive strength. Sets the DSE field in the IOMUXC peripheral. |
| 0 (normal) - sets pin to normal drive strength |
| 1 (high) - sets pin to high drive strength |
| slew-rate: |
| required: false |
| type: string |
| enum: |
| - "fast" |
| - "slow" |
| description: | |
| Select slew rate for pin. Corresponds to SRE field in IOMUXC peripheral |
| 0 (fast) — Fast Slew Rate |
| 1 (slow) — Slow Slew Rate |