diff mbox

ARM: pxa: let PXA27x select PINCTRL

Message ID 1453577004-15295-1-git-send-email-yamada.masahiro@socionext.com
State New
Headers show

Commit Message

Masahiro Yamada Jan. 23, 2016, 7:23 p.m. UTC
To use the newly added PXA27x pinctrl driver, this commit is needed
as well as commit 4b15ec9d42b2 ("pinctrl: activate pxa architecture").

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

---

 arch/arm/mach-pxa/Kconfig | 1 +
 1 file changed, 1 insertion(+)

-- 
1.9.1

Comments

Robert Jarzmik Jan. 23, 2016, 10:07 p.m. UTC | #1
Masahiro Yamada <yamada.masahiro@socionext.com> writes:

> To use the newly added PXA27x pinctrl driver, this commit is needed

> as well as commit 4b15ec9d42b2 ("pinctrl: activate pxa architecture").

>

> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

No, that's a bit to narrow selecting pinctrl for only pxa27x architecture.

I have this patch in my local tree for 2 monthes (see [1]). This is the patch
I'd rather have. I had not posted it as I didn't think the pinctrl work was over
yet. I know at least that pxa3xx is ready (as pinctrl-single should be used),
and I had not the time to create the map for pxa25x.

Cheers.

--
Robert

---8<---
From 8e0da8ff579bd38a7923f15a905133814153ebdb Mon Sep 17 00:00:00 2001
From: Robert Jarzmik <robert.jarzmik@free.fr>

Date: Sun, 1 Nov 2015 20:07:31 +0100
Subject: [PATCH] ARM: pxa: use pinctrl

Select pinctrl for all PXA architectures.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>

---
 arch/arm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

-- 
2.1.4diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 34e1569a11ee..e876e86f5b0a 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -618,6 +618,7 @@ config ARCH_PXA
 	select HAVE_IDE
 	select IRQ_DOMAIN
 	select MULTI_IRQ_HANDLER
+	select PINCTRL
 	select PLAT_PXA
 	select SPARSE_IRQ
 	help

Arnd Bergmann Jan. 23, 2016, 11:02 p.m. UTC | #2
On Saturday 23 January 2016 23:07:44 Robert Jarzmik wrote:
> I have this patch in my local tree for 2 monthes (see [1]). This is the patch

> I'd rather have. I had not posted it as I didn't think the pinctrl work was over

> yet. I know at least that pxa3xx is ready (as pinctrl-single should be used),

> and I had not the time to create the map for pxa25x.


Once you are done, does that mean the plat-pxa/mfp.c stuff becomes
completely unused on pxa, or will it coexist with pinctrl?

I'm asking because it seems that at that point, the entire plat-pxa
directory can be removed, with the dma.c and ssp.c files getting
moved to mach-pxa, and mfp.c moved to mach-mmp. :-)

	Arnd
Robert Jarzmik Jan. 24, 2016, 8:39 p.m. UTC | #3
Arnd Bergmann <arnd@arndb.de> writes:

> On Saturday 23 January 2016 23:07:44 Robert Jarzmik wrote:

>> I have this patch in my local tree for 2 monthes (see [1]). This is the patch

>> I'd rather have. I had not posted it as I didn't think the pinctrl work was over

>> yet. I know at least that pxa3xx is ready (as pinctrl-single should be used),

>> and I had not the time to create the map for pxa25x.

>

> Once you are done, does that mean the plat-pxa/mfp.c stuff becomes

> completely unused on pxa, or will it coexist with pinctrl?

At first it will coexist.
The main blocker so far I have are :
 - the pinconf in platform_data platform to define sleep state pin levels
   (aka. MFPR_LPM_DRIVE_LOW and MFPR_LPM_DRIVE_HIGH)
   I have [1], but it's not working yet, ie. upon entering suspend to RAM, the
   GPIO sleep registers are not programmed as expected.
 - all the pxa machine code have to be migrated from MFP to pinctrl

So it will take time.

> I'm asking because it seems that at that point, the entire plat-pxa

> directory can be removed, with the dma.c and ssp.c files getting

> moved to mach-pxa, and mfp.c moved to mach-mmp. :-)

dma.c will die soon enough anyway, ssp.c will move to mach-pxa indeed, and as
for mfp.c it requires a bit of work.

Cheers.

-- 
Robert

[1] Extract of my samples in mioa701.c :
#define PMGROUP(pin) #pin
#define PMMUX(dev, pin, func)							\
	PIN_MAP_MUX_GROUP(#dev, PINCTRL_STATE_DEFAULT, "pxa27x-pinctrl",	\
			  "P" PMGROUP(pin), #func)
#define PMCONF_SLEEP(dev, pin, mode)						\
	PIN_MAP_CONFIGS_PIN(#dev, PINCTRL_STATE_SLEEP, "pxa27x-pinctrl",	\
			  "P" PMGROUP(pin), gpio_ ## mode ## _sleep_mode)

static unsigned long gpio_pull_sleep_mode[] = {
	PIN_CONF_PACKED(PIN_CONFIG_OUTPUT, 0),
};

static unsigned long gpio_push_sleep_mode[] = {
	PIN_CONF_PACKED(PIN_CONFIG_OUTPUT, 1),
};

static struct pinctrl_map pinmap[] __initdata = {
	/* USB */
	PMMUX(pxa27x-udc, GPIO13_nUSB_DETECT, gpio_in),
	PMMUX(pxa27x-udc, GPIO22_USB_ENABLE, gpio_in),
	PMCONF_SLEEP(pxa27x-udc, GPIO22_USB_ENABLE, pull),
};
...
	/* pxa2xx_mfp_config(ARRAY_AND_SIZE(mioa701_pin_config)); */
	pinctrl_register_mappings(pinmap, ARRAY_SIZE(pinmap));
Arnd Bergmann Jan. 24, 2016, 9:33 p.m. UTC | #4
On Sunday 24 January 2016 21:39:11 Robert Jarzmik wrote:
> Arnd Bergmann <arnd@arndb.de> writes:

> 

> > On Saturday 23 January 2016 23:07:44 Robert Jarzmik wrote:

> >> I have this patch in my local tree for 2 monthes (see [1]). This is the patch

> >> I'd rather have. I had not posted it as I didn't think the pinctrl work was over

> >> yet. I know at least that pxa3xx is ready (as pinctrl-single should be used),

> >> and I had not the time to create the map for pxa25x.

> >

> > Once you are done, does that mean the plat-pxa/mfp.c stuff becomes

> > completely unused on pxa, or will it coexist with pinctrl?

> At first it will coexist.

> The main blocker so far I have are :

>  - the pinconf in platform_data platform to define sleep state pin levels

>    (aka. MFPR_LPM_DRIVE_LOW and MFPR_LPM_DRIVE_HIGH)

>    I have [1], but it's not working yet, ie. upon entering suspend to RAM, the

>    GPIO sleep registers are not programmed as expected.

>  - all the pxa machine code have to be migrated from MFP to pinctrl

> 

> So it will take time.


Ok.

> > I'm asking because it seems that at that point, the entire plat-pxa

> > directory can be removed, with the dma.c and ssp.c files getting

> > moved to mach-pxa, and mfp.c moved to mach-mmp. :-)

> dma.c will die soon enough anyway, ssp.c will move to mach-pxa indeed, and as

> for mfp.c it requires a bit of work.


Sounds good.

	Arnd
Masahiro Yamada Jan. 25, 2016, 2:07 a.m. UTC | #5
Hi Robert,

2016-01-25 6:33 GMT+09:00 Arnd Bergmann <arnd@arndb.de>:
> On Sunday 24 January 2016 21:39:11 Robert Jarzmik wrote:

>> Arnd Bergmann <arnd@arndb.de> writes:

>>

>> > On Saturday 23 January 2016 23:07:44 Robert Jarzmik wrote:

>> >> I have this patch in my local tree for 2 monthes (see [1]). This is the patch

>> >> I'd rather have. I had not posted it as I didn't think the pinctrl work was over

>> >> yet. I know at least that pxa3xx is ready (as pinctrl-single should be used),

>> >> and I had not the time to create the map for pxa25x.

>> >

>> > Once you are done, does that mean the plat-pxa/mfp.c stuff becomes

>> > completely unused on pxa, or will it coexist with pinctrl?

>> At first it will coexist.

>> The main blocker so far I have are :

>>  - the pinconf in platform_data platform to define sleep state pin levels

>>    (aka. MFPR_LPM_DRIVE_LOW and MFPR_LPM_DRIVE_HIGH)

>>    I have [1], but it's not working yet, ie. upon entering suspend to RAM, the

>>    GPIO sleep registers are not programmed as expected.

>>  - all the pxa machine code have to be migrated from MFP to pinctrl

>>

>> So it will take time.

>

> Ok.

>

>> > I'm asking because it seems that at that point, the entire plat-pxa

>> > directory can be removed, with the dma.c and ssp.c files getting

>> > moved to mach-pxa, and mfp.c moved to mach-mmp. :-)

>> dma.c will die soon enough anyway, ssp.c will move to mach-pxa indeed, and as

>> for mfp.c it requires a bit of work.

>

> Sounds good.

>



It's OK if you will this later.
Just disregard mine.




-- 
Best Regards
Masahiro Yamada
Robert Jarzmik Jan. 26, 2016, 8:11 p.m. UTC | #6
Masahiro Yamada <yamada.masahiro@socionext.com> writes:

> Hi Robert,

>

> It's OK if you will this later.

> Just disregard mine.

Ok, great.
I'll submit in the next 4 weeks I think.

Cheers.

-- 
Robert
diff mbox

Patch

diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index f096836..35bc0fe 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -618,6 +618,7 @@  config PXA25x
 config PXA27x
 	bool
 	select CPU_XSCALE
+	select PINCTRL
 	help
 	  Select code specific to PXA27x variants