* [PATCH v4] rtc: omap: Support ext_wakeup configuration
@ 2016-08-25 11:19 Marcin Niestroj
[not found] ` <20160825111912.23017-1-m.niestroj-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org>
0 siblings, 1 reply; 5+ messages in thread
From: Marcin Niestroj @ 2016-08-25 11:19 UTC (permalink / raw)
To: Tony Lindgren
Cc: Grygorii Strashko, rtc-linux-/JYPxA39Uh5TLH3MbocFFw,
linux-omap-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Pawel Moll,
Alessandro Zummo, Alexandre Belloni, Keerthy, Marcin Niestroj
Support configuration of ext_wakeup sources. This patch makes it
possible to enable ext_wakeup and set it's polarity, depending on board
configuration. AM335x's dedicated PMIC (tps65217) uses ext_wakeup to
notify about power-button presses. Handling power-button presses enables
to recover from RTC-only power states correctly.
Signed-off-by: Marcin Niestroj <m.niestroj-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org>
---
Hi,
This is a total reimplementation, so it is not based on any of the previos
patch versions. This patch adds support for ext_wakeup using generic pinconf
device-tree bindings, with one added "ti,input-polarity" custom property.
This approach has been suggested by Tony and Grygorii in [1].
Patch was developed on 4.6, rebased on 4.8-rc3, tested using chiliBoard.
[1] http://www.spinics.net/lists/devicetree/msg131516.html
Documentation/devicetree/bindings/rtc/rtc-omap.txt | 21 +++
drivers/rtc/Kconfig | 1 +
drivers/rtc/rtc-omap.c | 167 ++++++++++++++++++++-
3 files changed, 181 insertions(+), 8 deletions(-)
diff --git a/Documentation/devicetree/bindings/rtc/rtc-omap.txt b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
index bf7d11a..5d18373 100644
--- a/Documentation/devicetree/bindings/rtc/rtc-omap.txt
+++ b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
@@ -18,6 +18,18 @@ Optional properties:
through pmic_power_en
- clocks: Any internal or external clocks feeding in to rtc
- clock-names: Corresponding names of the clocks
+- pinctrl-0: a phandle pointing to the pin settings for the device
+- pinctrl-names: should be "default"
+
+Optional subnodes:
+- generic pinctrl node
+
+Required pinctrl subnodes properties:
+- pins - Names of ext_wakeup pins to configure
+
+Optional pinctrl subnodes properties:
+- input-enable - Enables ext_wakeup
+- ti,input-polarity - GPIO_ACTIVE_LOW or GPIO_ACTIVE_HIGH depending board
Example:
@@ -30,4 +42,13 @@ rtc@1c23000 {
system-power-controller;
clocks = <&clk_32k_rtc>, <&clk_32768_ck>;
clock-names = "ext-clk", "int-clk";
+
+ pinctrl-0 = <&ext_wakeup>;
+ pinctrl-names = "default";
+
+ ext_wakeup: ext_wakeup {
+ pins = "ext_wakeup0";
+ input-enable;
+ ti,input-polarity = <GPIO_ACTIVE_LOW>;
+ };
};
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index e215f50..647d913 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -1231,6 +1231,7 @@ config RTC_DRV_IMXDI
config RTC_DRV_OMAP
tristate "TI OMAP Real Time Clock"
depends on ARCH_OMAP || ARCH_DAVINCI || COMPILE_TEST
+ select GENERIC_PINCONF
help
Say "yes" here to support the on chip real time clock
present on TI OMAP1, AM33xx, DA8xx/OMAP-L13x, AM43xx and DRA7xx.
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
index ec2e9c5..b817afb 100644
--- a/drivers/rtc/rtc-omap.c
+++ b/drivers/rtc/rtc-omap.c
@@ -13,19 +13,23 @@
* 2 of the License, or (at your option) any later version.
*/
-#include <linux/kernel.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <linux/bcd.h>
+#include <linux/clk.h>
+#include <linux/delay.h>
#include <linux/init.h>
-#include <linux/module.h>
+#include <linux/io.h>
#include <linux/ioport.h>
-#include <linux/delay.h>
-#include <linux/rtc.h>
-#include <linux/bcd.h>
-#include <linux/platform_device.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_device.h>
+#include <linux/pinctrl/pinctrl.h>
+#include <linux/pinctrl/pinconf.h>
+#include <linux/pinctrl/pinconf-generic.h>
+#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
-#include <linux/io.h>
-#include <linux/clk.h>
+#include <linux/rtc.h>
/*
* The OMAP RTC is a year/month/day/hours/minutes/seconds BCD clock
@@ -115,6 +119,8 @@
/* OMAP_RTC_PMIC bit fields: */
#define OMAP_RTC_PMIC_POWER_EN_EN BIT(16)
+#define OMAP_RTC_PMIC_EXT_WKUP_EN(x) BIT(x)
+#define OMAP_RTC_PMIC_EXT_WKUP_POL(x) BIT(4 + x)
/* OMAP_RTC_KICKER values */
#define KICK0_VALUE 0x83e70b13
@@ -141,6 +147,7 @@ struct omap_rtc {
bool is_pmic_controller;
bool has_ext_clk;
const struct omap_rtc_device_type *type;
+ struct pinctrl_dev *pctldev;
};
static inline u8 rtc_read(struct omap_rtc *rtc, unsigned int reg)
@@ -525,6 +532,138 @@ static const struct of_device_id omap_rtc_of_match[] = {
};
MODULE_DEVICE_TABLE(of, omap_rtc_of_match);
+static const struct pinctrl_pin_desc rtc_pins_desc[] = {
+ PINCTRL_PIN(0, "ext_wakeup0"),
+ PINCTRL_PIN(1, "ext_wakeup1"),
+ PINCTRL_PIN(2, "ext_wakeup2"),
+ PINCTRL_PIN(3, "ext_wakeup3"),
+};
+
+static int rtc_pinctrl_get_groups_count(struct pinctrl_dev *pctldev)
+{
+ return 0;
+}
+
+static const char *rtc_pinctrl_get_group_name(struct pinctrl_dev *pctldev,
+ unsigned int group)
+{
+ return NULL;
+}
+
+static const struct pinctrl_ops rtc_pinctrl_ops = {
+ .get_groups_count = rtc_pinctrl_get_groups_count,
+ .get_group_name = rtc_pinctrl_get_group_name,
+ .dt_node_to_map = pinconf_generic_dt_node_to_map_pin,
+ .dt_free_map = pinconf_generic_dt_free_map,
+};
+
+enum rtc_pin_config_param {
+ PIN_CONFIG_INPUT_POLARITY = PIN_CONFIG_END + 1,
+};
+
+static const struct pinconf_generic_params rtc_params[] = {
+ {"ti,input-polarity", PIN_CONFIG_INPUT_POLARITY, GPIO_ACTIVE_HIGH},
+};
+
+#ifdef CONFIG_DEBUG_FS
+static const struct pin_config_item rtc_conf_items[ARRAY_SIZE(rtc_params)] = {
+ PCONFDUMP(PIN_CONFIG_INPUT_POLARITY, "input polarity", NULL, true),
+};
+#endif
+
+static int rtc_pinconf_get(struct pinctrl_dev *pctldev,
+ unsigned int pin, unsigned long *config)
+{
+ struct omap_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
+ unsigned int param = pinconf_to_config_param(*config);
+ u32 val;
+ u16 arg = 0;
+
+ rtc->type->unlock(rtc);
+ val = rtc_readl(rtc, OMAP_RTC_PMIC_REG);
+ rtc->type->lock(rtc);
+
+ switch (param) {
+ case PIN_CONFIG_INPUT_ENABLE:
+ if (!(val & OMAP_RTC_PMIC_EXT_WKUP_EN(pin)))
+ return -EINVAL;
+ break;
+ case PIN_CONFIG_INPUT_POLARITY:
+ arg = !!(val & OMAP_RTC_PMIC_EXT_WKUP_POL(pin));
+ break;
+ default:
+ return -ENOTSUPP;
+ };
+
+ *config = pinconf_to_config_packed(param, arg);
+
+ return 0;
+}
+
+static int rtc_pinconf_set(struct pinctrl_dev *pctldev,
+ unsigned int pin, unsigned long *configs,
+ unsigned int num_configs)
+{
+ struct omap_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
+ u32 val;
+ unsigned int param;
+ u16 param_val;
+ int i;
+
+ rtc->type->unlock(rtc);
+ val = rtc_readl(rtc, OMAP_RTC_PMIC_REG);
+ rtc->type->lock(rtc);
+
+ for (i = 0; i < num_configs; i++) {
+ param = pinconf_to_config_param(configs[i]);
+ param_val = pinconf_to_config_argument(configs[i]);
+
+ switch (param) {
+ case PIN_CONFIG_INPUT_ENABLE:
+ if (param_val)
+ val |= OMAP_RTC_PMIC_EXT_WKUP_EN(pin);
+ else
+ val &= ~OMAP_RTC_PMIC_EXT_WKUP_EN(pin);
+ break;
+ case PIN_CONFIG_INPUT_POLARITY:
+ if (param_val == GPIO_ACTIVE_LOW)
+ val |= OMAP_RTC_PMIC_EXT_WKUP_POL(pin);
+ else
+ val &= ~OMAP_RTC_PMIC_EXT_WKUP_POL(pin);
+ break;
+ default:
+ dev_err(&rtc->rtc->dev, "Property %u not supported\n",
+ param);
+ return -ENOTSUPP;
+ }
+ }
+
+ rtc->type->unlock(rtc);
+ rtc_writel(rtc, OMAP_RTC_PMIC_REG, val);
+ rtc->type->lock(rtc);
+
+ return 0;
+}
+
+static const struct pinconf_ops rtc_pinconf_ops = {
+ .is_generic = true,
+ .pin_config_get = rtc_pinconf_get,
+ .pin_config_set = rtc_pinconf_set,
+};
+
+static struct pinctrl_desc rtc_pinctrl_desc = {
+ .pins = rtc_pins_desc,
+ .npins = ARRAY_SIZE(rtc_pins_desc),
+ .pctlops = &rtc_pinctrl_ops,
+ .confops = &rtc_pinconf_ops,
+ .custom_params = rtc_params,
+ .num_custom_params = ARRAY_SIZE(rtc_params),
+#ifdef CONFIG_DEBUG_FS
+ .custom_conf_items = rtc_conf_items,
+#endif
+ .owner = THIS_MODULE,
+};
+
static int omap_rtc_probe(struct platform_device *pdev)
{
struct omap_rtc *rtc;
@@ -681,6 +820,15 @@ static int omap_rtc_probe(struct platform_device *pdev)
}
}
+ /* Support ext_wakeup pinconf */
+ rtc_pinctrl_desc.name = dev_name(&pdev->dev);
+
+ rtc->pctldev = pinctrl_register(&rtc_pinctrl_desc, &pdev->dev, rtc);
+ if (IS_ERR(rtc->pctldev)) {
+ dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
+ return PTR_ERR(rtc->pctldev);
+ }
+
return 0;
err:
@@ -724,6 +872,9 @@ static int __exit omap_rtc_remove(struct platform_device *pdev)
pm_runtime_put_sync(&pdev->dev);
pm_runtime_disable(&pdev->dev);
+ /* Remove ext_wakeup pinconf */
+ pinctrl_unregister(rtc->pctldev);
+
return 0;
}
--
2.9.3
--
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
---
You received this message because you are subscribed to the Google Groups "rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit https://groups.google.com/d/optout.
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v4] rtc: omap: Support ext_wakeup configuration
[not found] ` <20160825111912.23017-1-m.niestroj-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org>
@ 2016-08-26 14:18 ` Tony Lindgren
2016-08-30 19:59 ` Rob Herring
2016-09-01 22:29 ` Alexandre Belloni
2 siblings, 0 replies; 5+ messages in thread
From: Tony Lindgren @ 2016-08-26 14:18 UTC (permalink / raw)
To: Marcin Niestroj
Cc: Grygorii Strashko, rtc-linux-/JYPxA39Uh5TLH3MbocFFw,
linux-omap-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Pawel Moll,
Alessandro Zummo, Alexandre Belloni, Keerthy
* Marcin Niestroj <m.niestroj-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org> [160825 04:20]:
> Support configuration of ext_wakeup sources. This patch makes it
> possible to enable ext_wakeup and set it's polarity, depending on board
> configuration. AM335x's dedicated PMIC (tps65217) uses ext_wakeup to
> notify about power-button presses. Handling power-button presses enables
> to recover from RTC-only power states correctly.
>
> Signed-off-by: Marcin Niestroj <m.niestroj-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org>
> ---
> Hi,
>
> This is a total reimplementation, so it is not based on any of the previos
> patch versions. This patch adds support for ext_wakeup using generic pinconf
> device-tree bindings, with one added "ti,input-polarity" custom property.
> This approach has been suggested by Tony and Grygorii in [1].
>
> Patch was developed on 4.6, rebased on 4.8-rc3, tested using chiliBoard.
>
> [1] http://www.spinics.net/lists/devicetree/msg131516.html
Thanks for persistance with this one, looks good to me:
Acked-by: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
--
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
---
You received this message because you are subscribed to the Google Groups "rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit https://groups.google.com/d/optout.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4] rtc: omap: Support ext_wakeup configuration
[not found] ` <20160825111912.23017-1-m.niestroj-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org>
2016-08-26 14:18 ` Tony Lindgren
@ 2016-08-30 19:59 ` Rob Herring
2016-09-02 8:13 ` Marcin Niestroj
2016-09-01 22:29 ` Alexandre Belloni
2 siblings, 1 reply; 5+ messages in thread
From: Rob Herring @ 2016-08-30 19:59 UTC (permalink / raw)
To: Marcin Niestroj
Cc: Tony Lindgren, Grygorii Strashko,
rtc-linux-/JYPxA39Uh5TLH3MbocFFw,
linux-omap-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Pawel Moll, Alessandro Zummo,
Alexandre Belloni, Keerthy
On Thu, Aug 25, 2016 at 01:19:12PM +0200, Marcin Niestroj wrote:
> Support configuration of ext_wakeup sources. This patch makes it
> possible to enable ext_wakeup and set it's polarity, depending on board
> configuration. AM335x's dedicated PMIC (tps65217) uses ext_wakeup to
> notify about power-button presses. Handling power-button presses enables
> to recover from RTC-only power states correctly.
>
> Signed-off-by: Marcin Niestroj <m.niestroj-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org>
> ---
> Hi,
>
> This is a total reimplementation, so it is not based on any of the previos
> patch versions. This patch adds support for ext_wakeup using generic pinconf
> device-tree bindings, with one added "ti,input-polarity" custom property.
> This approach has been suggested by Tony and Grygorii in [1].
>
> Patch was developed on 4.6, rebased on 4.8-rc3, tested using chiliBoard.
>
> [1] http://www.spinics.net/lists/devicetree/msg131516.html
>
> Documentation/devicetree/bindings/rtc/rtc-omap.txt | 21 +++
> drivers/rtc/Kconfig | 1 +
> drivers/rtc/rtc-omap.c | 167 ++++++++++++++++++++-
> 3 files changed, 181 insertions(+), 8 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/rtc/rtc-omap.txt b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
> index bf7d11a..5d18373 100644
> --- a/Documentation/devicetree/bindings/rtc/rtc-omap.txt
> +++ b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
> @@ -18,6 +18,18 @@ Optional properties:
> through pmic_power_en
> - clocks: Any internal or external clocks feeding in to rtc
> - clock-names: Corresponding names of the clocks
> +- pinctrl-0: a phandle pointing to the pin settings for the device
> +- pinctrl-names: should be "default"
> +
> +Optional subnodes:
> +- generic pinctrl node
> +
> +Required pinctrl subnodes properties:
> +- pins - Names of ext_wakeup pins to configure
> +
> +Optional pinctrl subnodes properties:
> +- input-enable - Enables ext_wakeup
> +- ti,input-polarity - GPIO_ACTIVE_LOW or GPIO_ACTIVE_HIGH depending board
This is not a GPIO, so don't use GPIO defines. Just make this boolean
with not present ideally being the more common case.
> Example:
>
> @@ -30,4 +42,13 @@ rtc@1c23000 {
> system-power-controller;
> clocks = <&clk_32k_rtc>, <&clk_32768_ck>;
> clock-names = "ext-clk", "int-clk";
> +
> + pinctrl-0 = <&ext_wakeup>;
> + pinctrl-names = "default";
> +
> + ext_wakeup: ext_wakeup {
Use '-', not '_' in node names.
> + pins = "ext_wakeup0";
> + input-enable;
> + ti,input-polarity = <GPIO_ACTIVE_LOW>;
> + };
> };
--
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
---
You received this message because you are subscribed to the Google Groups "rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit https://groups.google.com/d/optout.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4] rtc: omap: Support ext_wakeup configuration
[not found] ` <20160825111912.23017-1-m.niestroj-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org>
2016-08-26 14:18 ` Tony Lindgren
2016-08-30 19:59 ` Rob Herring
@ 2016-09-01 22:29 ` Alexandre Belloni
2 siblings, 0 replies; 5+ messages in thread
From: Alexandre Belloni @ 2016-09-01 22:29 UTC (permalink / raw)
To: Marcin Niestroj
Cc: Tony Lindgren, Grygorii Strashko,
rtc-linux-/JYPxA39Uh5TLH3MbocFFw,
linux-omap-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Rob Herring, Pawel Moll,
Alessandro Zummo, Keerthy
Hi,
On 25/08/2016 at 13:19:12 +0200, Marcin Niestroj wrote :
> Support configuration of ext_wakeup sources. This patch makes it
> possible to enable ext_wakeup and set it's polarity, depending on board
> configuration. AM335x's dedicated PMIC (tps65217) uses ext_wakeup to
> notify about power-button presses. Handling power-button presses enables
> to recover from RTC-only power states correctly.
>
> Signed-off-by: Marcin Niestroj <m.niestroj-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org>
> ---
> Hi,
>
> This is a total reimplementation, so it is not based on any of the previos
> patch versions. This patch adds support for ext_wakeup using generic pinconf
> device-tree bindings, with one added "ti,input-polarity" custom property.
> This approach has been suggested by Tony and Grygorii in [1].
>
> Patch was developed on 4.6, rebased on 4.8-rc3, tested using chiliBoard.
>
> [1] http://www.spinics.net/lists/devicetree/msg131516.html
>
> Documentation/devicetree/bindings/rtc/rtc-omap.txt | 21 +++
> drivers/rtc/Kconfig | 1 +
> drivers/rtc/rtc-omap.c | 167 ++++++++++++++++++++-
> 3 files changed, 181 insertions(+), 8 deletions(-)
>
I'm fine with this patch and I'll apply it as soon as you fix the
comments from Rob.
Thanks!
--
Alexandre Belloni, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
--
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
---
You received this message because you are subscribed to the Google Groups "rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit https://groups.google.com/d/optout.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v4] rtc: omap: Support ext_wakeup configuration
2016-08-30 19:59 ` Rob Herring
@ 2016-09-02 8:13 ` Marcin Niestroj
0 siblings, 0 replies; 5+ messages in thread
From: Marcin Niestroj @ 2016-09-02 8:13 UTC (permalink / raw)
To: Rob Herring
Cc: Tony Lindgren, Grygorii Strashko,
rtc-linux-/JYPxA39Uh5TLH3MbocFFw,
linux-omap-u79uwXL29TY76Z2rM5mHXA,
devicetree-u79uwXL29TY76Z2rM5mHXA, Pawel Moll, Alessandro Zummo,
Alexandre Belloni, Keerthy
On 30.08.2016 21:59, Rob Herring wrote:
> On Thu, Aug 25, 2016 at 01:19:12PM +0200, Marcin Niestroj wrote:
>> Support configuration of ext_wakeup sources. This patch makes it
>> possible to enable ext_wakeup and set it's polarity, depending on board
>> configuration. AM335x's dedicated PMIC (tps65217) uses ext_wakeup to
>> notify about power-button presses. Handling power-button presses enables
>> to recover from RTC-only power states correctly.
>>
>> Signed-off-by: Marcin Niestroj <m.niestroj-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org>
>> ---
>> Hi,
>>
>> This is a total reimplementation, so it is not based on any of the previos
>> patch versions. This patch adds support for ext_wakeup using generic pinconf
>> device-tree bindings, with one added "ti,input-polarity" custom property.
>> This approach has been suggested by Tony and Grygorii in [1].
>>
>> Patch was developed on 4.6, rebased on 4.8-rc3, tested using chiliBoard.
>>
>> [1] http://www.spinics.net/lists/devicetree/msg131516.html
>>
>> Documentation/devicetree/bindings/rtc/rtc-omap.txt | 21 +++
>> drivers/rtc/Kconfig | 1 +
>> drivers/rtc/rtc-omap.c | 167 ++++++++++++++++++++-
>> 3 files changed, 181 insertions(+), 8 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/rtc/rtc-omap.txt b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
>> index bf7d11a..5d18373 100644
>> --- a/Documentation/devicetree/bindings/rtc/rtc-omap.txt
>> +++ b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
>> @@ -18,6 +18,18 @@ Optional properties:
>> through pmic_power_en
>> - clocks: Any internal or external clocks feeding in to rtc
>> - clock-names: Corresponding names of the clocks
>> +- pinctrl-0: a phandle pointing to the pin settings for the device
>> +- pinctrl-names: should be "default"
>> +
>> +Optional subnodes:
>> +- generic pinctrl node
>> +
>> +Required pinctrl subnodes properties:
>> +- pins - Names of ext_wakeup pins to configure
>> +
>> +Optional pinctrl subnodes properties:
>> +- input-enable - Enables ext_wakeup
>> +- ti,input-polarity - GPIO_ACTIVE_LOW or GPIO_ACTIVE_HIGH depending board
>
> This is not a GPIO, so don't use GPIO defines. Just make this boolean
> with not present ideally being the more common case.
>
>> Example:
>>
>> @@ -30,4 +42,13 @@ rtc@1c23000 {
>> system-power-controller;
>> clocks = <&clk_32k_rtc>, <&clk_32768_ck>;
>> clock-names = "ext-clk", "int-clk";
>> +
>> + pinctrl-0 = <&ext_wakeup>;
>> + pinctrl-names = "default";
>> +
>> + ext_wakeup: ext_wakeup {
>
> Use '-', not '_' in node names.
To be sure... It should look like below?
ext_wakeup: ext-wakeup {
pins = "ext_wakeup0";
input-enable;
ti,active-high;
}
>
>> + pins = "ext_wakeup0";
>> + input-enable;
>> + ti,input-polarity = <GPIO_ACTIVE_LOW>;
>> + };
>> };
--
Marcin Niestroj
--
You received this message because you are subscribed to "rtc-linux".
Membership options at http://groups.google.com/group/rtc-linux .
Please read http://groups.google.com/group/rtc-linux/web/checklist
before submitting a driver.
---
You received this message because you are subscribed to the Google Groups "rtc-linux" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtc-linux+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
For more options, visit https://groups.google.com/d/optout.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-09-02 8:13 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-25 11:19 [PATCH v4] rtc: omap: Support ext_wakeup configuration Marcin Niestroj
[not found] ` <20160825111912.23017-1-m.niestroj-z3quKL4iOrmQ6ZAhV5LmOA@public.gmane.org>
2016-08-26 14:18 ` Tony Lindgren
2016-08-30 19:59 ` Rob Herring
2016-09-02 8:13 ` Marcin Niestroj
2016-09-01 22:29 ` Alexandre Belloni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox