[PATCH 4/7] pinctrl: imx27: imx27 pincontrol driver
Shawn Guo
shawn.guo at linaro.org
Mon Aug 5 02:12:06 EDT 2013
On Fri, Aug 02, 2013 at 12:38:24PM +0200, Markus Pargmann wrote:
> Signed-off-by: Markus Pargmann <mpa at pengutronix.de>
> ---
> .../bindings/pinctrl/fsl,imx27-pinctrl.txt | 53 +++
> drivers/pinctrl/Kconfig | 8 +
> drivers/pinctrl/Makefile | 1 +
> drivers/pinctrl/pinctrl-imx27.c | 477 +++++++++++++++++++++
> 4 files changed, 539 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt
> create mode 100644 drivers/pinctrl/pinctrl-imx27.c
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt
> new file mode 100644
> index 0000000..3352d94
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt
> @@ -0,0 +1,53 @@
> +* Freescale IMX27 IOMUX Controller
> +
> +Please refer to fsl,imx-pinctrl.txt in this directory for common binding part
> +and usage.
> +
> +The iomuxc driver node can have pin configuration and gpio subnodes. gpio
> +nodes defined as childs will share the registers with the iomuxc driver.
> +Please have a look into
> +Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt for information about
> +the gpio properties.
> +
> +Required properties:
> +- compatible: "fsl,imx27-iomuxc"
> +
> +Required properties for pin configuration node:
> +- fsl,pins: three integers array, represents a group of pins mux and config
> + setting. The format is fsl,pins = <PIN MUX_ID CONFIG>. PIN and MUX_ID are
Neither here nor imx27-pinfunc.h is PIN documented clearly. Also,
imx27-pinfunc.h names MUX_CONFIG for what we name MUX_ID here.
Shawn
> + defined as macros in arch/arm/boot/dts/imx27-pinfunc.h. CONFIG can be 0 or
> + 1, meaning Pullup disable/enable.
> +
> +Example:
> +
> +iomuxc: iomuxc at 10015000 {
> + compatible = "fsl,imx27-iomuxc";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + reg = <0x10015000 0x600>;
> +
> + gpio1: gpio at 10015000 {
> + compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
> + reg = <0x10015000>;
> + interrupts = <8>;
> + gpio-controller;
> + #gpio-cells = <2>;
> + interrupt-controller;
> + #interrupt-cells = <2>;
> + };
> +
> + ...
> +
> + uart {
> + pinctrl_uart1: uart-1 {
> + fsl,pins = <
> + MX27_PAD_UART1_TXD__UART1_TXD 0x0
> + MX27_PAD_UART1_RXD__UART1_RXD 0x0
> + MX27_PAD_UART1_CTS__UART1_CTS 0x0
> + MX27_PAD_UART1_RTS__UART1_RTS 0x0
> + >;
> + };
> +
> + ...
> + };
> +};
More information about the linux-arm-kernel
mailing list