# SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/pinctrl/fsl,imx7d-pinctrl.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Freescale IMX7D IOMUX Controller maintainers: - Dong Aisheng <aisheng.dong@nxp.com> description: Please refer to fsl,imx-pinctrl.txt and pinctrl-bindings.txt in this directory for common binding part and usage. properties: compatible: oneOf: - enum: - fsl,imx7d-iomuxc - fsl,imx7d-iomuxc-lpsr reg: maxItems: 1 fsl,input-sel: description: phandle for main iomuxc controller which shares the input select register for daisy chain settings. $ref: /schemas/types.yaml#/definitions/phandle # Client device subnode's properties patternProperties: 'grp$': type: object description: Pinctrl node's client devices use subnodes for desired pin configuration. Client device subnodes use below standard properties. properties: fsl,pins: description: each entry consists of 6 integers and represents the mux and config setting for one pin. The first 5 integers <mux_reg conf_reg input_reg mux_val input_val> are specified using a PIN_FUNC_ID macro, which can be found in <arch/arm/boot/dts/imx7d-pinfunc.h>. The last integer CONFIG is the pad setting value like pull-up on this pin. Please refer to i.MX7D Reference Manual for detailed CONFIG settings. $ref: /schemas/types.yaml#/definitions/uint32-matrix items: items: - description: | "mux_reg" indicates the offset of mux register. - description: | "conf_reg" indicates the offset of pad configuration register. - description: | "input_reg" indicates the offset of select input register. - description: | "mux_val" indicates the mux value to be applied. - description: | "input_val" indicates the select input value to be applied. - description: | "pad_setting" indicates the pad configuration value to be applied. required: - fsl,pins additionalProperties: false allOf: - $ref: pinctrl.yaml# required: - compatible - reg if: properties: compatible: contains: enum: - fsl,imx7d-iomuxc-lpsr then: required: - fsl,input-sel additionalProperties: false examples: - | iomuxc: pinctrl@30330000 { compatible = "fsl,imx7d-iomuxc"; reg = <0x30330000 0x10000>; pinctrl_uart5: uart5grp { fsl,pins = <0x0160 0x03D0 0x0714 0x1 0x0 0x7e>, <0x0164 0x03D4 0x0000 0x1 0x0 0x76>; }; }; - | iomuxc_lpsr: pinctrl@302c0000 { compatible = "fsl,imx7d-iomuxc-lpsr"; reg = <0x302c0000 0x10000>; fsl,input-sel = <&iomuxc>; pinctrl_gpio_lpsr: gpio1-grp { fsl,pins = <0x0008 0x0038 0x0000 0x0 0x0 0x59>, <0x000C 0x003C 0x0000 0x0 0x0 0x59>; }; };