# Copyright (c) 2022 NXP # SPDX-License-Identifier: Apache-2.0 description: | This compatible binding should be applied to the device's iomuxc DTS node. the DTS node will be populated with all pinmux options for the specific SOC. These options can then be used in a pinctrl node with the "nxp,mcux-rt-pinctrl" compatible string to define pin groups. The user should not edit the bindings defined within this node to make pinmux selections, but should instead edit the pinctrl groups for their board. compatible: "nxp,imx-iomuxc" include: - name: base.yaml properties: reg: required: true child-binding: description: MCUX RT pin mux option properties: pinmux: required: true type: array description: | An array of values defining the pin mux selection, in the following format: mux_register: register that will be written to make mux selection mux_val: value to write to mux_register input_reg: peripheral register that will direct peripheral signal to pin daisy_val: value to write to input_reg cfg_reg: register that will configure pin pull, drive strength, and open drain gpr: type: array description: | An array of values defining the GPR bit write required, if one exists. Some IOMUXC options require writing to an IOMUXC_GPR register to select them. This array has the following elements: gpr_reg: GPR register address to write to gpr_shift: shift to apply to value before writing gpr_val: value to write # Note: the below properties should ideally be an enum. However, the pinctrl driver # will need to initialize the pin configuration register differently based on # the type of register provided, and it does so using the IF_ENABLED macro. This # macro cannot work using preprocessor equality statements (like DT_ENUM_IDX(prop) == val), # so we cannot use an enum and instead must use individual properties. pin-pue: type: boolean description: | RT11xx parts have multiple types of IOMUXC registers defined, with different register layouts. This property can be set to indicate to the pinctrl driver the type of register this pinmux represents, and should not be modified by the user. pin-pdrv: type: boolean description: | RT11xx parts have multiple types of IOMUXC registers defined, with different register layouts. This property can be set to indicate to the pinctrl driver the type of register this pinmux represents, and should not be modified by the user. pin-lpsr: type: boolean description: | RT11xx parts have multiple types of IOMUXC registers defined, with different register layouts. This property can be set to indicate to the pinctrl driver the type of register this pinmux represents, and should not be modified by the user. pin-snvs: type: boolean description: | RT11xx parts have multiple types of IOMUXC registers defined, with different register layouts. This property can be set to indicate to the pinctrl driver the type of register this pinmux represents, and should not be modified by the user.