[PATCH V2 4/5] dt-bindings: pinctrl: add imx7ulp pinctrl binding doc

Stefan Agner stefan at agner.ch
Mon May 22 09:15:55 PDT 2017


On 2017-05-19 00:05, Dong Aisheng wrote:
> i.MX 7ULP has three IOMUXC instances: IOMUXC0 for M4 ports,
> IOMUXC1 for A7 ports and IOMUXC DDR for DDR interface.
> 
> This patch adds the IOMUXC1 support for A7.
> 
> Cc: Rob Herring <robh+dt at kernel.org>
> Cc: Mark Rutland <mark.rutland at arm.com>
> Cc: devicetree at vger.kernel.org
> Cc: Linus Walleij <linus.walleij at linaro.org>
> Cc: Shawn Guo <shawnguo at kernel.org>
> Signed-off-by: Dong Aisheng <aisheng.dong at nxp.com>
> 
> ---
> ChangeLog:
> v1->v2:
>  * add more descriptions in binding doc
>  * add missed prefix for private properties.
>  * move dt-bindings/pinctrl/imx7ulp-pinfunc.h to arch/arm/boot/dts
> ---
>  .../bindings/pinctrl/fsl,imx7ulp-pinctrl.txt       |  63 +++
>  arch/arm/boot/dts/imx7ulp-pinfunc.h                | 468 +++++++++++++++++++++
>  2 files changed, 531 insertions(+)
>  create mode 100644
> Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txt
>  create mode 100644 arch/arm/boot/dts/imx7ulp-pinfunc.h
> 
> diff --git
> a/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txt
> b/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txt
> new file mode 100644
> index 0000000..7fbf367
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txt
> @@ -0,0 +1,63 @@
> +* Freescale i.MX7ULP IOMUX Controller
> +
> +i.MX 7ULP has three IOMUXC instances: IOMUXC0 for M4 ports, IOMUXC1 for A7
> +ports and IOMUXC DDR for DDR interface.
> +
> +Note:
> +This binding doc is only for the IOMUXC1 support in A7 Domain and it only
> +supports generic pin config.
> +
> +Please also refer to fsl,imx-pinctrl.txt in this directory for IMX common
> +binding part and pinctrl-bindings.txt for the generic config binding.
> +
> +=== Pin Controller Node ===
> +
> +Required properties:
> +- compatible:	"fsl,imx7ulp-iomuxc1"
> +- reg:		Should contain the base physical address and size of the iomuxc
> +		registers.
> +
> +=== Pin Configuration Node ===
> +- pins: One integers array, represents a group of pins mux setting.
> +	The format is fsl,pins = <PIN_FUNC_ID>, PIN_FUNC_ID is a pin working on
> +	a specific function.
> +
> +	NOTE: i.MX7ULP PIN_FUNC_ID consists of 4 integers as it shares one mux
> +	and config register as follows:
> +	<mux_conf_reg input_reg mux_mode input_val>
> +
> +	Refer to imx7ulp-pinfunc.h in in device tree source folder for all
> +	available imx7ulp PIN_FUNC_ID.
> +
> +Optional Properties:
> +- nxp,output-buffer-enable:	Bool. Output buffer enabled
> +- nxp,input-buffer-enable:	Bool. Input buffer enabled
> +- drive-strength		Integer. Controls Drive Strength
> +					0: Standard
> +					1: Hi Driver
> +- drive-push-pull		Bool. Enable Pin Push-pull
> +- drive-open-drain		Bool. Enable Pin Open-drian
> +- slew-rate:			Integer. Controls Slew Rate
> +					0: Standard
> +					1: Slow
> +- bias-disable:			Bool. Pull disabled
> +- bias-pull-down:		Bool. Pull down on pin
> +- bias-pull-up:			Bool. Pull up on pin
> +
> +Examples:
> +#include "imx7ulp-pinfunc.h"
> +
> +/* Pin Controller Node */
> +iomuxc1: iomuxc at 40ac0000 {
> +	compatible = "fsl,imx7ulp-iomuxc1";
> +	reg = <0x40ac0000 0x1000>;
> +
> +	/* Pin Configuration Node */
> +	pinctrl_lpuart4: lpuart4grp {
> +		pins = <
> +			ULP1_PAD_PTC3__LPUART4_RX
> +			ULP1_PAD_PTC2__LPUART4_TX
> +		>;
> +		bias-pull-up;
> +	};
> +};
> diff --git a/arch/arm/boot/dts/imx7ulp-pinfunc.h
> b/arch/arm/boot/dts/imx7ulp-pinfunc.h
> new file mode 100644
> index 0000000..cafd3ed
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx7ulp-pinfunc.h
> @@ -0,0 +1,468 @@
> +/*
> + * Copyright 2016 Freescale Semiconductor, Inc.
> + * Copyright 2017 NXP
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> + *
> + */
> +
> +#ifndef __DTS_IMX7ULP_PINFUNC_H
> +#define __DTS_IMX7ULP_PINFUNC_H
> +
> +/*
> + * The pin function ID is a tuple of
> + * <mux_conf_reg input_reg mux_mode input_val>
> + */
> +
> +#define ULP1_PAD_PTC0__PTC0                                      
> 0x0000 0x0000 0x1 0x0


For consistency with other SoCs, can we add MX7 to the define? E.g.
MX7ULP1?

--
Stefan



More information about the linux-arm-kernel mailing list