1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2d5b0e70fSEmmanuel Vadot%YAML 1.2 3d5b0e70fSEmmanuel Vadot--- 4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/fsl,imx7d-pinctrl.yaml# 5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6d5b0e70fSEmmanuel Vadot 7d5b0e70fSEmmanuel Vadottitle: Freescale IMX7D IOMUX Controller 8d5b0e70fSEmmanuel Vadot 9d5b0e70fSEmmanuel Vadotmaintainers: 10d5b0e70fSEmmanuel Vadot - Dong Aisheng <aisheng.dong@nxp.com> 11d5b0e70fSEmmanuel Vadot 12d5b0e70fSEmmanuel Vadotdescription: 13d5b0e70fSEmmanuel Vadot Please refer to fsl,imx-pinctrl.txt and pinctrl-bindings.txt in this directory 14d5b0e70fSEmmanuel Vadot for common binding part and usage. 15d5b0e70fSEmmanuel Vadot 16d5b0e70fSEmmanuel Vadotproperties: 17d5b0e70fSEmmanuel Vadot compatible: 18d5b0e70fSEmmanuel Vadot oneOf: 19d5b0e70fSEmmanuel Vadot - enum: 20d5b0e70fSEmmanuel Vadot - fsl,imx7d-iomuxc 21d5b0e70fSEmmanuel Vadot - fsl,imx7d-iomuxc-lpsr 22d5b0e70fSEmmanuel Vadot 23d5b0e70fSEmmanuel Vadot reg: 24d5b0e70fSEmmanuel Vadot maxItems: 1 25d5b0e70fSEmmanuel Vadot 26d5b0e70fSEmmanuel Vadot fsl,input-sel: 27d5b0e70fSEmmanuel Vadot description: 28d5b0e70fSEmmanuel Vadot phandle for main iomuxc controller which shares the input select 29d5b0e70fSEmmanuel Vadot register for daisy chain settings. 30d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 31d5b0e70fSEmmanuel Vadot 32d5b0e70fSEmmanuel Vadot# Client device subnode's properties 33d5b0e70fSEmmanuel VadotpatternProperties: 34d5b0e70fSEmmanuel Vadot 'grp$': 35d5b0e70fSEmmanuel Vadot type: object 36d5b0e70fSEmmanuel Vadot description: 37d5b0e70fSEmmanuel Vadot Pinctrl node's client devices use subnodes for desired pin configuration. 38d5b0e70fSEmmanuel Vadot Client device subnodes use below standard properties. 39d5b0e70fSEmmanuel Vadot 40d5b0e70fSEmmanuel Vadot properties: 41d5b0e70fSEmmanuel Vadot fsl,pins: 42d5b0e70fSEmmanuel Vadot description: 43d5b0e70fSEmmanuel Vadot each entry consists of 6 integers and represents the mux and config 44d5b0e70fSEmmanuel Vadot setting for one pin. The first 5 integers <mux_reg conf_reg input_reg 45d5b0e70fSEmmanuel Vadot mux_val input_val> are specified using a PIN_FUNC_ID macro, which can 46d5b0e70fSEmmanuel Vadot be found in <arch/arm/boot/dts/imx7d-pinfunc.h>. The last integer 47d5b0e70fSEmmanuel Vadot CONFIG is the pad setting value like pull-up on this pin. Please 48d5b0e70fSEmmanuel Vadot refer to i.MX7D Reference Manual for detailed CONFIG settings. 49d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-matrix 50d5b0e70fSEmmanuel Vadot items: 51d5b0e70fSEmmanuel Vadot items: 52d5b0e70fSEmmanuel Vadot - description: | 53d5b0e70fSEmmanuel Vadot "mux_reg" indicates the offset of mux register. 54d5b0e70fSEmmanuel Vadot - description: | 55d5b0e70fSEmmanuel Vadot "conf_reg" indicates the offset of pad configuration register. 56d5b0e70fSEmmanuel Vadot - description: | 57d5b0e70fSEmmanuel Vadot "input_reg" indicates the offset of select input register. 58d5b0e70fSEmmanuel Vadot - description: | 59d5b0e70fSEmmanuel Vadot "mux_val" indicates the mux value to be applied. 60d5b0e70fSEmmanuel Vadot - description: | 61d5b0e70fSEmmanuel Vadot "input_val" indicates the select input value to be applied. 62d5b0e70fSEmmanuel Vadot - description: | 63d5b0e70fSEmmanuel Vadot "pad_setting" indicates the pad configuration value to be applied. 64d5b0e70fSEmmanuel Vadot 65d5b0e70fSEmmanuel Vadot required: 66d5b0e70fSEmmanuel Vadot - fsl,pins 67d5b0e70fSEmmanuel Vadot 68d5b0e70fSEmmanuel Vadot additionalProperties: false 69d5b0e70fSEmmanuel Vadot 70d5b0e70fSEmmanuel VadotallOf: 71*fac71e4eSEmmanuel Vadot - $ref: pinctrl.yaml# 72d5b0e70fSEmmanuel Vadot 73d5b0e70fSEmmanuel Vadotrequired: 74d5b0e70fSEmmanuel Vadot - compatible 75d5b0e70fSEmmanuel Vadot - reg 76d5b0e70fSEmmanuel Vadot 77d5b0e70fSEmmanuel Vadotif: 78d5b0e70fSEmmanuel Vadot properties: 79d5b0e70fSEmmanuel Vadot compatible: 80d5b0e70fSEmmanuel Vadot contains: 81d5b0e70fSEmmanuel Vadot enum: 82d5b0e70fSEmmanuel Vadot - fsl,imx7d-iomuxc-lpsr 83d5b0e70fSEmmanuel Vadot 84d5b0e70fSEmmanuel Vadotthen: 85d5b0e70fSEmmanuel Vadot required: 86d5b0e70fSEmmanuel Vadot - fsl,input-sel 87d5b0e70fSEmmanuel Vadot 88d5b0e70fSEmmanuel VadotadditionalProperties: false 89d5b0e70fSEmmanuel Vadot 90d5b0e70fSEmmanuel Vadotexamples: 91d5b0e70fSEmmanuel Vadot - | 92d5b0e70fSEmmanuel Vadot iomuxc: pinctrl@30330000 { 93d5b0e70fSEmmanuel Vadot compatible = "fsl,imx7d-iomuxc"; 94d5b0e70fSEmmanuel Vadot reg = <0x30330000 0x10000>; 95d5b0e70fSEmmanuel Vadot 96d5b0e70fSEmmanuel Vadot pinctrl_uart5: uart5grp { 97d5b0e70fSEmmanuel Vadot fsl,pins = 98d5b0e70fSEmmanuel Vadot <0x0160 0x03D0 0x0714 0x1 0x0 0x7e>, 99d5b0e70fSEmmanuel Vadot <0x0164 0x03D4 0x0000 0x1 0x0 0x76>; 100d5b0e70fSEmmanuel Vadot }; 101d5b0e70fSEmmanuel Vadot }; 102d5b0e70fSEmmanuel Vadot - | 103d5b0e70fSEmmanuel Vadot iomuxc_lpsr: pinctrl@302c0000 { 104d5b0e70fSEmmanuel Vadot compatible = "fsl,imx7d-iomuxc-lpsr"; 105d5b0e70fSEmmanuel Vadot reg = <0x302c0000 0x10000>; 106d5b0e70fSEmmanuel Vadot fsl,input-sel = <&iomuxc>; 107d5b0e70fSEmmanuel Vadot 108d5b0e70fSEmmanuel Vadot pinctrl_gpio_lpsr: gpio1-grp { 109d5b0e70fSEmmanuel Vadot fsl,pins = 110d5b0e70fSEmmanuel Vadot <0x0008 0x0038 0x0000 0x0 0x0 0x59>, 111d5b0e70fSEmmanuel Vadot <0x000C 0x003C 0x0000 0x0 0x0 0x59>; 112d5b0e70fSEmmanuel Vadot }; 113d5b0e70fSEmmanuel Vadot }; 114