* [PATCH 0/6] add support for omap wake-up interrupts via pinctrl-single
@ 2013-10-03 5:16 Tony Lindgren
2013-10-03 5:16 ` [PATCH 1/6] ARM: dts: Fix pinctrl mask for omap3 Tony Lindgren
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Tony Lindgren @ 2013-10-03 5:16 UTC (permalink / raw)
To: linux-arm-kernel
Hi all,
Here's a respin of the pinctrl-single related patches to
use chained irq as suggested by Linus W earlier. This series
does not try to provide any generic automated solution yet,
but works by doing a request_irq() for the wake-up pin, so
it should be flexible enough for both manual control and
automated solution.
This series removes the last nasty blocker for making omap3
to be device tree only without causing nasty PM regressions.
Assuming Linus W acks the drivers/pinctrl parts, I can
provide those three patches in a separate immutable branch
against v3.12-rc3 for Linus W to pull so I can merge them in
too.
This series is based on my earlier series "[PATCH 0/4] Clean
up legacy platform data handling for omaps for v3.13" as
it has a dependency for the pdata quirks for passing the
auxdata to the driver.
Regards,
Tony
---
Tony Lindgren (6):
ARM: dts: Fix pinctrl mask for omap3
ARM: OMAP2+: Add support for auxdata
pinctrl: single: Prepare for supporting SoC specific features
pinctrl: single: Add support for wake-up interrupts
pinctrl: single: Add support for auxdata
ARM: OMAP: Move DT wake-up event handling over to use pinctrl-single-omap
.../devicetree/bindings/pinctrl/pinctrl-single.txt | 11 +
arch/arm/boot/dts/omap3.dtsi | 8
arch/arm/boot/dts/omap4.dtsi | 4
arch/arm/mach-omap2/board-generic.c | 5
arch/arm/mach-omap2/common.h | 3
arch/arm/mach-omap2/mux.c | 8
arch/arm/mach-omap2/mux.h | 4
arch/arm/mach-omap2/pdata-quirks.c | 29 +-
arch/arm/mach-omap2/prm3xxx.h | 8
arch/arm/mach-omap2/prm44xx_54xx.h | 8
arch/arm/mach-omap2/prm_common.c | 11 +
drivers/pinctrl/pinctrl-single.c | 386 ++++++++++++++++++++
include/dt-bindings/pinctrl/omap.h | 4
include/linux/platform_data/pinctrl-single.h | 12 +
14 files changed, 474 insertions(+), 27 deletions(-)
create mode 100644 include/linux/platform_data/pinctrl-single.h
--
Signature
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/6] ARM: dts: Fix pinctrl mask for omap3
2013-10-03 5:16 [PATCH 0/6] add support for omap wake-up interrupts via pinctrl-single Tony Lindgren
@ 2013-10-03 5:16 ` Tony Lindgren
2013-10-03 5:17 ` [PATCH 2/6] ARM: OMAP2+: Add support for auxdata Tony Lindgren
2013-10-03 5:40 ` [PATCH 0/6] add support for omap wake-up interrupts via pinctrl-single Tony Lindgren
2 siblings, 0 replies; 5+ messages in thread
From: Tony Lindgren @ 2013-10-03 5:16 UTC (permalink / raw)
To: linux-arm-kernel
The wake-up interrupt bit is available on omap3/4/5 processors
unlike what we claim. Without fixing it we cannot use it on
omap3 and the system configured for wake-up events will just
hang on wake-up.
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Beno?t Cousson <bcousson@baylibre.com>
Cc: devicetree at vger.kernel.org
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/boot/dts/omap3.dtsi | 4 ++--
arch/arm/mach-omap2/mux.h | 4 +---
include/dt-bindings/pinctrl/omap.h | 4 +---
3 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
index 7d95cda..b41bd57 100644
--- a/arch/arm/boot/dts/omap3.dtsi
+++ b/arch/arm/boot/dts/omap3.dtsi
@@ -108,7 +108,7 @@
#address-cells = <1>;
#size-cells = <0>;
pinctrl-single,register-width = <16>;
- pinctrl-single,function-mask = <0x7f1f>;
+ pinctrl-single,function-mask = <0xff1f>;
};
omap3_pmx_wkup: pinmux at 0x48002a00 {
@@ -117,7 +117,7 @@
#address-cells = <1>;
#size-cells = <0>;
pinctrl-single,register-width = <16>;
- pinctrl-single,function-mask = <0x7f1f>;
+ pinctrl-single,function-mask = <0xff1f>;
};
gpio1: gpio at 48310000 {
diff --git a/arch/arm/mach-omap2/mux.h b/arch/arm/mach-omap2/mux.h
index 5d2080e..16f78a9 100644
--- a/arch/arm/mach-omap2/mux.h
+++ b/arch/arm/mach-omap2/mux.h
@@ -28,7 +28,7 @@
#define OMAP_PULL_UP (1 << 4)
#define OMAP_ALTELECTRICALSEL (1 << 5)
-/* 34xx specific mux bit defines */
+/* omap3/4/5 specific mux bit defines */
#define OMAP_INPUT_EN (1 << 8)
#define OMAP_OFF_EN (1 << 9)
#define OMAP_OFFOUT_EN (1 << 10)
@@ -36,8 +36,6 @@
#define OMAP_OFF_PULL_EN (1 << 12)
#define OMAP_OFF_PULL_UP (1 << 13)
#define OMAP_WAKEUP_EN (1 << 14)
-
-/* 44xx specific mux bit defines */
#define OMAP_WAKEUP_EVENT (1 << 15)
/* Active pin states */
diff --git a/include/dt-bindings/pinctrl/omap.h b/include/dt-bindings/pinctrl/omap.h
index edbd250..bed35e3 100644
--- a/include/dt-bindings/pinctrl/omap.h
+++ b/include/dt-bindings/pinctrl/omap.h
@@ -23,7 +23,7 @@
#define PULL_UP (1 << 4)
#define ALTELECTRICALSEL (1 << 5)
-/* 34xx specific mux bit defines */
+/* omap3/4/5 specific mux bit defines */
#define INPUT_EN (1 << 8)
#define OFF_EN (1 << 9)
#define OFFOUT_EN (1 << 10)
@@ -31,8 +31,6 @@
#define OFF_PULL_EN (1 << 12)
#define OFF_PULL_UP (1 << 13)
#define WAKEUP_EN (1 << 14)
-
-/* 44xx specific mux bit defines */
#define WAKEUP_EVENT (1 << 15)
/* Active pin states */
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/6] ARM: OMAP2+: Add support for auxdata
2013-10-03 5:16 [PATCH 0/6] add support for omap wake-up interrupts via pinctrl-single Tony Lindgren
2013-10-03 5:16 ` [PATCH 1/6] ARM: dts: Fix pinctrl mask for omap3 Tony Lindgren
@ 2013-10-03 5:17 ` Tony Lindgren
2013-10-03 5:40 ` [PATCH 0/6] add support for omap wake-up interrupts via pinctrl-single Tony Lindgren
2 siblings, 0 replies; 5+ messages in thread
From: Tony Lindgren @ 2013-10-03 5:17 UTC (permalink / raw)
To: linux-arm-kernel
For few things we're still going to be needing platform
data for device tree based drivers. Let's set up auxdata
handling and do it in pdata-quirks.c so we have all the
legacy calls in one place.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/board-generic.c | 5 +----
arch/arm/mach-omap2/common.h | 3 ++-
arch/arm/mach-omap2/pdata-quirks.c | 11 ++++++++++-
3 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index a66575f..3017a9d 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -35,10 +35,7 @@ static struct of_device_id omap_dt_match_table[] __initdata = {
static void __init omap_generic_init(void)
{
- omap_sdrc_init(NULL, NULL);
-
- of_platform_populate(NULL, omap_dt_match_table, NULL, NULL);
- pdata_quirks_init();
+ pdata_quirks_init(omap_dt_match_table);
}
#ifdef CONFIG_SOC_OMAP2420
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
index fd059e0..c6aebf0 100644
--- a/arch/arm/mach-omap2/common.h
+++ b/arch/arm/mach-omap2/common.h
@@ -288,7 +288,8 @@ static inline void omap4_cpu_resume(void)
#endif
-void pdata_quirks_init(void);
+void pdata_quirks_init(struct of_device_id *);
+void omap_pcs_legacy_init(int irq, void (*rearm)(void));
struct omap_sdrc_params;
extern void omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index 3d472db..c739631 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -11,6 +11,7 @@
#include <linux/gpio.h>
#include <linux/init.h>
#include <linux/kernel.h>
+#include <linux/of_platform.h>
#include <linux/wl12xx.h>
#include "common.h"
@@ -99,6 +100,10 @@ static void __init omap5_uevm_legacy_init(void)
}
#endif
+struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {
+ { /* sentinel */ },
+};
+
static struct pdata_init pdata_quirks[] __initdata = {
#ifdef CONFIG_ARCH_OMAP3
{ "nokia,omap3-n9", hsmmc2_internal_input_clk, },
@@ -114,10 +119,14 @@ static struct pdata_init pdata_quirks[] __initdata = {
{ /* sentinel */ },
};
-void __init pdata_quirks_init(void)
+void __init pdata_quirks_init(struct of_device_id *omap_dt_match_table)
{
struct pdata_init *quirks = pdata_quirks;
+ omap_sdrc_init(NULL, NULL);
+ of_platform_populate(NULL, omap_dt_match_table,
+ omap_auxdata_lookup, NULL);
+
while (quirks->compatible) {
if (of_machine_is_compatible(quirks->compatible)) {
if (quirks->fn)
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 0/6] add support for omap wake-up interrupts via pinctrl-single
2013-10-03 5:16 [PATCH 0/6] add support for omap wake-up interrupts via pinctrl-single Tony Lindgren
2013-10-03 5:16 ` [PATCH 1/6] ARM: dts: Fix pinctrl mask for omap3 Tony Lindgren
2013-10-03 5:17 ` [PATCH 2/6] ARM: OMAP2+: Add support for auxdata Tony Lindgren
@ 2013-10-03 5:40 ` Tony Lindgren
2 siblings, 0 replies; 5+ messages in thread
From: Tony Lindgren @ 2013-10-03 5:40 UTC (permalink / raw)
To: linux-arm-kernel
* Tony Lindgren <tony@atomide.com> [131002 22:25]:
> Hi all,
>
> Here's a respin of the pinctrl-single related patches to
> use chained irq as suggested by Linus W earlier. This series
> does not try to provide any generic automated solution yet,
> but works by doing a request_irq() for the wake-up pin, so
> it should be flexible enough for both manual control and
> automated solution.
>
> This series removes the last nasty blocker for making omap3
> to be device tree only without causing nasty PM regressions.
>
> Assuming Linus W acks the drivers/pinctrl parts, I can
> provide those three patches in a separate immutable branch
> against v3.12-rc3 for Linus W to pull so I can merge them in
> too.
>
> This series is based on my earlier series "[PATCH 0/4] Clean
> up legacy platform data handling for omaps for v3.13" as
> it has a dependency for the pdata quirks for passing the
> auxdata to the driver.
Sorry I had some typos in my Cc addresses and this series
did not get fully sent. Will resend it, sorry for the noise.
> Regards,
>
> Tony
>
> ---
>
> Tony Lindgren (6):
> ARM: dts: Fix pinctrl mask for omap3
> ARM: OMAP2+: Add support for auxdata
> pinctrl: single: Prepare for supporting SoC specific features
> pinctrl: single: Add support for wake-up interrupts
> pinctrl: single: Add support for auxdata
> ARM: OMAP: Move DT wake-up event handling over to use pinctrl-single-omap
>
>
> .../devicetree/bindings/pinctrl/pinctrl-single.txt | 11 +
> arch/arm/boot/dts/omap3.dtsi | 8
> arch/arm/boot/dts/omap4.dtsi | 4
> arch/arm/mach-omap2/board-generic.c | 5
> arch/arm/mach-omap2/common.h | 3
> arch/arm/mach-omap2/mux.c | 8
> arch/arm/mach-omap2/mux.h | 4
> arch/arm/mach-omap2/pdata-quirks.c | 29 +-
> arch/arm/mach-omap2/prm3xxx.h | 8
> arch/arm/mach-omap2/prm44xx_54xx.h | 8
> arch/arm/mach-omap2/prm_common.c | 11 +
> drivers/pinctrl/pinctrl-single.c | 386 ++++++++++++++++++++
> include/dt-bindings/pinctrl/omap.h | 4
> include/linux/platform_data/pinctrl-single.h | 12 +
> 14 files changed, 474 insertions(+), 27 deletions(-)
> create mode 100644 include/linux/platform_data/pinctrl-single.h
>
> --
> Signature
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 0/6] add support for omap wake-up interrupts via pinctrl-single, take2
@ 2013-10-03 5:42 Tony Lindgren
2013-10-03 5:42 ` [PATCH 2/6] ARM: OMAP2+: Add support for auxdata Tony Lindgren
0 siblings, 1 reply; 5+ messages in thread
From: Tony Lindgren @ 2013-10-03 5:42 UTC (permalink / raw)
To: linux-arm-kernel
Hi all,
Here's a respin of the pinctrl-single related patches to
use chained irq as suggested by Linus W earlier. This series
does not try to provide any generic automated solution yet,
but works by doing a request_irq() for the wake-up pin, so
it should be flexible enough for both manual control and
automated solution.
This series removes the last nasty blocker for making omap3
to be device tree only without causing nasty PM regressions.
Assuming Linus W acks the drivers/pinctrl parts, I can
provide those three patches in a separate immutable branch
against v3.12-rc3 for Linus W to pull so I can merge them in
too.
This series is based on my earlier series "[PATCH 0/4] Clean
up legacy platform data handling for omaps for v3.13" as
it has a dependency for the pdata quirks for passing the
auxdata to the driver.
Regards,
Tony
---
Tony Lindgren (6):
ARM: dts: Fix pinctrl mask for omap3
ARM: OMAP2+: Add support for auxdata
pinctrl: single: Prepare for supporting SoC specific features
pinctrl: single: Add support for wake-up interrupts
pinctrl: single: Add support for auxdata
ARM: OMAP: Move DT wake-up event handling over to use pinctrl-single-omap
.../devicetree/bindings/pinctrl/pinctrl-single.txt | 11 +
arch/arm/boot/dts/omap3.dtsi | 8
arch/arm/boot/dts/omap4.dtsi | 4
arch/arm/mach-omap2/board-generic.c | 5
arch/arm/mach-omap2/common.h | 3
arch/arm/mach-omap2/mux.c | 8
arch/arm/mach-omap2/mux.h | 4
arch/arm/mach-omap2/pdata-quirks.c | 29 +-
arch/arm/mach-omap2/prm3xxx.h | 8
arch/arm/mach-omap2/prm44xx_54xx.h | 8
arch/arm/mach-omap2/prm_common.c | 11 +
drivers/pinctrl/pinctrl-single.c | 386 ++++++++++++++++++++
include/dt-bindings/pinctrl/omap.h | 4
include/linux/platform_data/pinctrl-single.h | 12 +
14 files changed, 474 insertions(+), 27 deletions(-)
create mode 100644 include/linux/platform_data/pinctrl-single.h
--
Signature
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/6] ARM: OMAP2+: Add support for auxdata
2013-10-03 5:42 [PATCH 0/6] add support for omap wake-up interrupts via pinctrl-single, take2 Tony Lindgren
@ 2013-10-03 5:42 ` Tony Lindgren
0 siblings, 0 replies; 5+ messages in thread
From: Tony Lindgren @ 2013-10-03 5:42 UTC (permalink / raw)
To: linux-arm-kernel
For few things we're still going to be needing platform
data for device tree based drivers. Let's set up auxdata
handling and do it in pdata-quirks.c so we have all the
legacy calls in one place.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/board-generic.c | 5 +----
arch/arm/mach-omap2/common.h | 3 ++-
arch/arm/mach-omap2/pdata-quirks.c | 11 ++++++++++-
3 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index a66575f..3017a9d 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -35,10 +35,7 @@ static struct of_device_id omap_dt_match_table[] __initdata = {
static void __init omap_generic_init(void)
{
- omap_sdrc_init(NULL, NULL);
-
- of_platform_populate(NULL, omap_dt_match_table, NULL, NULL);
- pdata_quirks_init();
+ pdata_quirks_init(omap_dt_match_table);
}
#ifdef CONFIG_SOC_OMAP2420
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
index fd059e0..c6aebf0 100644
--- a/arch/arm/mach-omap2/common.h
+++ b/arch/arm/mach-omap2/common.h
@@ -288,7 +288,8 @@ static inline void omap4_cpu_resume(void)
#endif
-void pdata_quirks_init(void);
+void pdata_quirks_init(struct of_device_id *);
+void omap_pcs_legacy_init(int irq, void (*rearm)(void));
struct omap_sdrc_params;
extern void omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
index 3d472db..c739631 100644
--- a/arch/arm/mach-omap2/pdata-quirks.c
+++ b/arch/arm/mach-omap2/pdata-quirks.c
@@ -11,6 +11,7 @@
#include <linux/gpio.h>
#include <linux/init.h>
#include <linux/kernel.h>
+#include <linux/of_platform.h>
#include <linux/wl12xx.h>
#include "common.h"
@@ -99,6 +100,10 @@ static void __init omap5_uevm_legacy_init(void)
}
#endif
+struct of_dev_auxdata omap_auxdata_lookup[] __initdata = {
+ { /* sentinel */ },
+};
+
static struct pdata_init pdata_quirks[] __initdata = {
#ifdef CONFIG_ARCH_OMAP3
{ "nokia,omap3-n9", hsmmc2_internal_input_clk, },
@@ -114,10 +119,14 @@ static struct pdata_init pdata_quirks[] __initdata = {
{ /* sentinel */ },
};
-void __init pdata_quirks_init(void)
+void __init pdata_quirks_init(struct of_device_id *omap_dt_match_table)
{
struct pdata_init *quirks = pdata_quirks;
+ omap_sdrc_init(NULL, NULL);
+ of_platform_populate(NULL, omap_dt_match_table,
+ omap_auxdata_lookup, NULL);
+
while (quirks->compatible) {
if (of_machine_is_compatible(quirks->compatible)) {
if (quirks->fn)
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-10-03 5:42 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-03 5:16 [PATCH 0/6] add support for omap wake-up interrupts via pinctrl-single Tony Lindgren
2013-10-03 5:16 ` [PATCH 1/6] ARM: dts: Fix pinctrl mask for omap3 Tony Lindgren
2013-10-03 5:17 ` [PATCH 2/6] ARM: OMAP2+: Add support for auxdata Tony Lindgren
2013-10-03 5:40 ` [PATCH 0/6] add support for omap wake-up interrupts via pinctrl-single Tony Lindgren
-- strict thread matches above, loose matches on Subject: below --
2013-10-03 5:42 [PATCH 0/6] add support for omap wake-up interrupts via pinctrl-single, take2 Tony Lindgren
2013-10-03 5:42 ` [PATCH 2/6] ARM: OMAP2+: Add support for auxdata Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).