ARM: dts: pxa: add pincontrol helpers

Add 3 helpers so that pincontrol definitions for pxa25x and pxa27x are
easier, and can be easily converted from old mfp mach-pxa code to
devicetree.

An example of such conversion would be :
static unsigned long mioa701_pin_config[] = {
	GPIO32_MMC_CLK,
	GPIO92_MMC_DAT_0,
	GPIO109_MMC_DAT_1,
	GPIO110_MMC_DAT_2,
	GPIO111_MMC_DAT_3,
	GPIO112_MMC_CMD,
	MIO_CFG_IN(GPIO78_SDIO_RO, AF0),
	MIO_CFG_IN(GPIO15_SDIO_INSERT, AF0),
	MIO_CFG_OUT(GPIO91_SDIO_EN, AF0, DRIVE_LOW),
};
into:
	pinctrl_mmc_default: mmc-default {
		PMMUX(sd-insert, 15, gpio_in);
		PMMUX(mmclk, 32, MMCLK);
		PMMUX(sd-ro, 78, gpio_in);
		PMMUX_LPM_LOW(sd-enable, 91, gpio_out);
		PMMUX(mmdat0, 92, MMDAT<0>);
		PMMUX(mmdat1, 109, MMDAT<1>);
		PMMUX(mmdat2, 110, MMDAT<2>);
		PMMUX(mmdat3, 111, MMDAT<3>);
		PMMUX(mmcmd, 112, MMCMD);
	};

The third column of PMMUX*() helpers can be found in pincontrol muxing
functions, either in pinctrl-pxa27x.c (or pinctrl-pxa25x.c), or by
inspecting the pincontrol once booted in debugfs.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
This commit is contained in:
Robert Jarzmik 2018-07-02 07:37:52 +02:00
Родитель 8a1ecc01a4
Коммит 9f296fe271
1 изменённых файлов: 19 добавлений и 0 удалений

Просмотреть файл

@ -9,6 +9,25 @@
#include "skeleton.dtsi"
#include "dt-bindings/clock/pxa-clock.h"
#define PMGROUP(pin) #pin
#define PMMUX(func, pin, af) \
mux- ## func { \
groups = PMGROUP(P ## pin); \
function = #af; \
}
#define PMMUX_LPM_LOW(func, pin, af) \
mux- ## func { \
groups = PMGROUP(P ## pin); \
function = #af; \
low-power-disable; \
}
#define PMMUX_LPM_HIGH(func, pin, af) \
mux- ## func { \
groups = PMGROUP(P ## pin); \
function = #af; \
low-power-enable; \
}
/ {
model = "Marvell PXA2xx family SoC";
compatible = "marvell,pxa2xx";