If you've got MACH_EXYNOS5_DT but not MACH_EXYNOS4_DT you'll be
missing the pincontrol definitions. Add them for exynos5.
Signed-off-by: Doug Anderson <[email protected]>
---
arch/arm/mach-exynos/Kconfig | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 6e77432..cdcd7fa 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -428,6 +428,8 @@ config MACH_EXYNOS5_DT
depends on ARCH_EXYNOS5
select ARM_AMBA
select CLKSRC_OF
+ select PINCTRL
+ select PINCTRL_EXYNOS
select USB_ARCH_HAS_XHCI
select USE_OF
help
--
1.8.2.1
Hi,
On Wed, May 8, 2013 at 10:32 AM, Doug Anderson <[email protected]> wrote:
> If you've got MACH_EXYNOS5_DT but not MACH_EXYNOS4_DT you'll be
> missing the pincontrol definitions. Add them for exynos5.
>
> Signed-off-by: Doug Anderson <[email protected]>
> ---
> arch/arm/mach-exynos/Kconfig | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
> index 6e77432..cdcd7fa 100644
> --- a/arch/arm/mach-exynos/Kconfig
> +++ b/arch/arm/mach-exynos/Kconfig
> @@ -428,6 +428,8 @@ config MACH_EXYNOS5_DT
> depends on ARCH_EXYNOS5
> select ARM_AMBA
> select CLKSRC_OF
> + select PINCTRL
> + select PINCTRL_EXYNOS
Nit:
Seems like this should be selected by the SoC (ARCH_EXYNOS5) instead
of the board. Actually, I'm not sure we need the board Kconfig entry
long-term; all boards will be dt-only.
-Olof
Olof,
On Wed, May 8, 2013 at 11:19 AM, Olof Johansson <[email protected]> wrote:
> Seems like this should be selected by the SoC (ARCH_EXYNOS5) instead
> of the board. Actually, I'm not sure we need the board Kconfig entry
> long-term; all boards will be dt-only.
Good point. Hopefully someone at Samsung can work on removing the
board itself? If you'd like me to take this on then let me know and I
can put it on my list.
I'm happy to resubmit my patch under ARCH_EXYNOS5. I'll move the
exynos4 one at the same time.
I'm going to make the assumption that PINCTRL_EXYNOS and
PINCTRL_EXYNOS5440 can happily coexist. Certainly I've got both
defined in my tree right now and nothing blows up. I haven't tested
on 5440 but things ought to be handled by "compatible" checks, right?
I'll also assume that eventually someone will move PINCTRL_EXYNOS5440
into PINCTRL_EXYNOS. If PINCTRL_EXYNOS5440 won't eventually move
under PINCTRL_EXYNOS then it makes less sense to define PINCTRL_EXYNOS
for all exynos parts.
-Doug
Previously if you had MACH_EXYNOS5_DT but not MACH_EXYNOS4_DT you'd be
missing the pincontrol definitions. Move PINCTRL selects to the arch
level since we should be enabling the code for all exynos variants.
It's expected that eventually exynos5440 (which seems to have its own
pinctrl code) will eventually move over to the common code.
Signed-off-by: Doug Anderson <[email protected]>
---
Changes in v2:
- Moved to the arch level as suggested by Olof.
arch/arm/mach-exynos/Kconfig | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 6e77432..7ee58b0 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -17,6 +17,8 @@ config ARCH_EXYNOS4
select HAVE_ARM_SCU if SMP
select HAVE_SMP
select MIGHT_HAVE_CACHE_L2X0
+ select PINCTRL
+ select PINCTRL_EXYNOS
help
Samsung EXYNOS4 SoCs based systems
@@ -24,6 +26,8 @@ config ARCH_EXYNOS5
bool "SAMSUNG EXYNOS5"
select HAVE_ARM_SCU if SMP
select HAVE_SMP
+ select PINCTRL
+ select PINCTRL_EXYNOS
help
Samsung EXYNOS5 (Cortex-A15) SoC based systems
@@ -78,7 +82,6 @@ config SOC_EXYNOS5440
select ARCH_HAS_OPP
select ARM_ARCH_TIMER
select AUTO_ZRELADDR
- select PINCTRL
select PINCTRL_EXYNOS5440
select PM_OPP
help
@@ -412,8 +415,6 @@ config MACH_EXYNOS4_DT
select CLKSRC_OF
select CPU_EXYNOS4210
select KEYBOARD_SAMSUNG if INPUT_KEYBOARD
- select PINCTRL
- select PINCTRL_EXYNOS
select S5P_DEV_MFC
select USE_OF
help
--
1.8.2.1
Hi,
On Wed, May 8, 2013 at 11:48 AM, Doug Anderson <[email protected]> wrote:
> Olof,
>
> On Wed, May 8, 2013 at 11:19 AM, Olof Johansson <[email protected]> wrote:
>> Seems like this should be selected by the SoC (ARCH_EXYNOS5) instead
>> of the board. Actually, I'm not sure we need the board Kconfig entry
>> long-term; all boards will be dt-only.
>
> Good point. Hopefully someone at Samsung can work on removing the
> board itself? If you'd like me to take this on then let me know and I
> can put it on my list.
Nothing stops you from doing that on your own. I tend to push back
onto the maintainers to get them engaged in their own housekeeping,
but anyone is free to :)
> I'm happy to resubmit my patch under ARCH_EXYNOS5. I'll move the
> exynos4 one at the same time.
Great.
> I'm going to make the assumption that PINCTRL_EXYNOS and
> PINCTRL_EXYNOS5440 can happily coexist. Certainly I've got both
> defined in my tree right now and nothing blows up. I haven't tested
> on 5440 but things ought to be handled by "compatible" checks, right?
Yes, if they can't coexist then that's a bug.
> I'll also assume that eventually someone will move PINCTRL_EXYNOS5440
> into PINCTRL_EXYNOS. If PINCTRL_EXYNOS5440 won't eventually move
> under PINCTRL_EXYNOS then it makes less sense to define PINCTRL_EXYNOS
> for all exynos parts.
Yeah, it should -- this is just in transition since 5440 was first out
of the gate with pinctrl.
-Olof
Hi Doug, Olof,
On Wednesday 08 of May 2013 12:33:34 Olof Johansson wrote:
> Hi,
>
> On Wed, May 8, 2013 at 11:48 AM, Doug Anderson <[email protected]>
wrote:
> > Olof,
> >
> > On Wed, May 8, 2013 at 11:19 AM, Olof Johansson <[email protected]> wrote:
> >> Seems like this should be selected by the SoC (ARCH_EXYNOS5) instead
> >> of the board. Actually, I'm not sure we need the board Kconfig entry
> >> long-term; all boards will be dt-only.
> >
> > Good point. Hopefully someone at Samsung can work on removing the
> > board itself? If you'd like me to take this on then let me know and I
> > can put it on my list.
>
> Nothing stops you from doing that on your own. I tend to push back
> onto the maintainers to get them engaged in their own housekeeping,
> but anyone is free to :)
>
> > I'm happy to resubmit my patch under ARCH_EXYNOS5. I'll move the
> > exynos4 one at the same time.
>
> Great.
>
> > I'm going to make the assumption that PINCTRL_EXYNOS and
> > PINCTRL_EXYNOS5440 can happily coexist. Certainly I've got both
> > defined in my tree right now and nothing blows up. I haven't tested
> > on 5440 but things ought to be handled by "compatible" checks, right?
>
> Yes, if they can't coexist then that's a bug.
>
> > I'll also assume that eventually someone will move PINCTRL_EXYNOS5440
> > into PINCTRL_EXYNOS. If PINCTRL_EXYNOS5440 won't eventually move
> > under PINCTRL_EXYNOS then it makes less sense to define PINCTRL_EXYNOS
> > for all exynos parts.
>
> Yeah, it should -- this is just in transition since 5440 was first out
> of the gate with pinctrl.
AFAIK, Exynos5440 contains a completely different pin controller block, which
is not compatible with pinctrl-samsung driver, so I don't see any point of
moving it under PINCTRL_EXYNOS, which is currently used for Exynos 4210, 4x12
and 5250, but will be also extended with driver data for S5PV210 as well.
I'd say that CPU_EXYNOS4210, SOC_EXYNOS4212, SOC_EXYNOS4412 and SOC_EXYNOS5250
should select PINCTRL_EXYNOS and SOC_EXYNOS5440 should be left as is,
selecting PINCTRL_EXYNOS5440.
Best regards,
--
Tomasz Figa
Samsung Poland R&D Center
SW Solution Development, Kernel and System Framework
Tomasz / Olof,
On Thu, May 9, 2013 at 2:45 AM, Tomasz Figa <[email protected]> wrote:
>> Nothing stops you from doing that on your own. I tend to push back
>> onto the maintainers to get them engaged in their own housekeeping,
>> but anyone is free to :)
I will probably leave this to the maintainers at this point... ;)
>> Yeah, it should -- this is just in transition since 5440 was first out
>> of the gate with pinctrl.
>
> AFAIK, Exynos5440 contains a completely different pin controller block, which
> is not compatible with pinctrl-samsung driver, so I don't see any point of
> moving it under PINCTRL_EXYNOS, which is currently used for Exynos 4210, 4x12
> and 5250, but will be also extended with driver data for S5PV210 as well.
>
> I'd say that CPU_EXYNOS4210, SOC_EXYNOS4212, SOC_EXYNOS4412 and SOC_EXYNOS5250
> should select PINCTRL_EXYNOS and SOC_EXYNOS5440 should be left as is,
> selecting PINCTRL_EXYNOS5440.
OK, sounds reasonable. I didn't dig into all of the details of the
5440 pin control driver and don't have a user manual in front of me.
I will do as you say.
New patch coming shortly.
-Doug
Previously if you had MACH_EXYNOS5_DT but not MACH_EXYNOS4_DT you'd be
missing the pincontrol definitions. Move PINCTRL selects to the arch
level since we should be enabling the code for all exynos variants.
Update the PINCTRL descriptions to indicate that PINCTRL_EXYNOS is not
for exynos5440. Also add basic dependencies for the PINCTRL_EXYNOS
kernel config.
Signed-off-by: Doug Anderson <[email protected]>
---
Changes in v3:
- Moved to chip level as per Tomasz.
- Update PINCTRL Kconfig for exynos.
Changes in v2:
- Moved to the arch level as suggested by Olof.
arch/arm/mach-exynos/Kconfig | 9 ++++++---
drivers/pinctrl/Kconfig | 5 +++--
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 6e77432..4139d7f 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -17,6 +17,7 @@ config ARCH_EXYNOS4
select HAVE_ARM_SCU if SMP
select HAVE_SMP
select MIGHT_HAVE_CACHE_L2X0
+ select PINCTRL
help
Samsung EXYNOS4 SoCs based systems
@@ -24,6 +25,7 @@ config ARCH_EXYNOS5
bool "SAMSUNG EXYNOS5"
select HAVE_ARM_SCU if SMP
select HAVE_SMP
+ select PINCTRL
help
Samsung EXYNOS5 (Cortex-A15) SoC based systems
@@ -34,6 +36,7 @@ config CPU_EXYNOS4210
default y
depends on ARCH_EXYNOS4
select ARM_CPU_SUSPEND if PM
+ select PINCTRL_EXYNOS
select PM_GENERIC_DOMAINS
select S5P_PM if PM
select S5P_SLEEP if PM
@@ -45,6 +48,7 @@ config SOC_EXYNOS4212
bool "SAMSUNG EXYNOS4212"
default y
depends on ARCH_EXYNOS4
+ select PINCTRL_EXYNOS
select S5P_PM if PM
select S5P_SLEEP if PM
select SAMSUNG_DMADEV
@@ -55,6 +59,7 @@ config SOC_EXYNOS4412
bool "SAMSUNG EXYNOS4412"
default y
depends on ARCH_EXYNOS4
+ select PINCTRL_EXYNOS
select SAMSUNG_DMADEV
help
Enable EXYNOS4412 SoC support
@@ -63,6 +68,7 @@ config SOC_EXYNOS5250
bool "SAMSUNG EXYNOS5250"
default y
depends on ARCH_EXYNOS5
+ select PINCTRL_EXYNOS
select PM_GENERIC_DOMAINS if PM
select S5P_PM if PM
select S5P_SLEEP if PM
@@ -78,7 +84,6 @@ config SOC_EXYNOS5440
select ARCH_HAS_OPP
select ARM_ARCH_TIMER
select AUTO_ZRELADDR
- select PINCTRL
select PINCTRL_EXYNOS5440
select PM_OPP
help
@@ -412,8 +417,6 @@ config MACH_EXYNOS4_DT
select CLKSRC_OF
select CPU_EXYNOS4210
select KEYBOARD_SAMSUNG if INPUT_KEYBOARD
- select PINCTRL
- select PINCTRL_EXYNOS
select S5P_DEV_MFC
select USE_OF
help
diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 8f66924..a1c6dd3 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -207,12 +207,13 @@ config PINCTRL_SAMSUNG
select PINCONF
config PINCTRL_EXYNOS
- bool "Pinctrl driver data for Samsung EXYNOS SoCs"
- depends on OF && GPIOLIB
+ bool "Pinctrl driver data for Samsung EXYNOS SoCs other than 5440"
+ depends on OF && GPIOLIB && ARCH_EXYNOS
select PINCTRL_SAMSUNG
config PINCTRL_EXYNOS5440
bool "Samsung EXYNOS5440 SoC pinctrl driver"
+ depends on SOC_EXYNOS5440
select PINMUX
select PINCONF
--
1.8.2.1
Doug Anderson wrote:
>
> Tomasz / Olof,
>
Hi Doug, Tomasz and Olof
> On Thu, May 9, 2013 at 2:45 AM, Tomasz Figa <[email protected]> wrote:
> >> Nothing stops you from doing that on your own. I tend to push back
> >> onto the maintainers to get them engaged in their own housekeeping,
> >> but anyone is free to :)
>
> I will probably leave this to the maintainers at this point... ;)
>
> >> Yeah, it should -- this is just in transition since 5440 was first out
> >> of the gate with pinctrl.
> >
> > AFAIK, Exynos5440 contains a completely different pin controller block,
> which
> > is not compatible with pinctrl-samsung driver, so I don't see any point
> of
> > moving it under PINCTRL_EXYNOS, which is currently used for Exynos 4210,
> 4x12
> > and 5250, but will be also extended with driver data for S5PV210 as
well.
> >
> > I'd say that CPU_EXYNOS4210, SOC_EXYNOS4212, SOC_EXYNOS4412 and
> SOC_EXYNOS5250
> > should select PINCTRL_EXYNOS and SOC_EXYNOS5440 should be left as is,
> > selecting PINCTRL_EXYNOS5440.
>
> OK, sounds reasonable. I didn't dig into all of the details of the
> 5440 pin control driver and don't have a user manual in front of me.
> I will do as you say.
>
Tomasz is right. The current exynos pinctrl stuff is quite different with
exynos5440 pinctrl, it means there is no reason to move exynos5440 pinctrl
under exynos pinctrl. Of course, both can be built together without problem.
> New patch coming shortly.
>
Thanks, the PINCTRL_EXYNOS can be moved into under SoC condition not board.
- Kukjin
On Thu, May 9, 2013 at 8:12 PM, Doug Anderson <[email protected]> wrote:
> Previously if you had MACH_EXYNOS5_DT but not MACH_EXYNOS4_DT you'd be
> missing the pincontrol definitions. Move PINCTRL selects to the arch
> level since we should be enabling the code for all exynos variants.
>
> Update the PINCTRL descriptions to indicate that PINCTRL_EXYNOS is not
> for exynos5440. Also add basic dependencies for the PINCTRL_EXYNOS
> kernel config.
>
> Signed-off-by: Doug Anderson <[email protected]>
> ---
> Changes in v3:
> - Moved to chip level as per Tomasz.
> - Update PINCTRL Kconfig for exynos.
>
> Changes in v2:
> - Moved to the arch level as suggested by Olof.
Acked-by: Linus Walleij <[email protected]> for the pinctrl
part, I guess this will be merged through the Samsung tree?
Yours,
Linus Walleij
Linus Walleij wrote:
>
> On Thu, May 9, 2013 at 8:12 PM, Doug Anderson <[email protected]>
> wrote:
>
> > Previously if you had MACH_EXYNOS5_DT but not MACH_EXYNOS4_DT you'd be
> > missing the pincontrol definitions. Move PINCTRL selects to the arch
> > level since we should be enabling the code for all exynos variants.
> >
> > Update the PINCTRL descriptions to indicate that PINCTRL_EXYNOS is not
> > for exynos5440. Also add basic dependencies for the PINCTRL_EXYNOS
> > kernel config.
> >
> > Signed-off-by: Doug Anderson <[email protected]>
> > ---
> > Changes in v3:
> > - Moved to chip level as per Tomasz.
> > - Update PINCTRL Kconfig for exynos.
> >
> > Changes in v2:
> > - Moved to the arch level as suggested by Olof.
>
> Acked-by: Linus Walleij <[email protected]> for the pinctrl
> part, I guess this will be merged through the Samsung tree?
>
Linus, thanks for your ack.
Let me take this into samsung tree.
- Kukjin