* [PATCH v3 1/6] rtc: omap: kicker mechanism support
[not found] ` <cover.1343383616.git.afzal-l0cyMroinI0@public.gmane.org>
@ 2012-07-27 12:24 ` Afzal Mohammed
2012-07-27 12:24 ` [PATCH v3 2/6] ARM: davinci: remove rtc kicker release Afzal Mohammed
` (5 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Afzal Mohammed @ 2012-07-27 12:24 UTC (permalink / raw)
To: grant.likely-s3s/WqlpOiPyB63q8FvJNQ,
rob.herring-bsGFqQB8/DxBDgjK7y7TUQ, rob-VoJi6FS/r0vR7s880joybQ,
linux-lFZ/pmaqli7XmaaqVzeoHQ, nsekhar-l0cyMroinI0,
khilman-l0cyMroinI0, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ,
tony-4v6yS6AI5VpBDgjK7y7TUQ,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-doc-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
rtc-linux-/JYPxA39Uh5TLH3MbocFFw
Cc: Afzal Mohammed
OMAP RTC IP can have kicker feature. This prevents spurious
writes to register. To write to registers kicker lock has to
be released. Procedure to do it as follows,
1. write to kick0 register, 0x83e70b13
2. write to kick1 register, 0x95a4f1e0
Writing value other than 0x83e70b13 to kick0 enables write
locking, more details about kicker mechanism can be found in
section 20.3.3.5.3 of AM335X TRM @www.ti.com/am335x
Here id table information is added and is used to distinguish
those that require kicker handling and the ones that doesn't
need it. There are more features in the newer IP's compared
to legacy ones other than kicker, which driver currently
doesn't handle, supporting additional features would be
easier with the addition of id table.
Older IP (of OMAP1) doesn't have revision register as per
TRM, so revision register can't be relied always to find
features, hence id table is being used.
While at it, replace __raw_writeb/__raw_readb with
writeb/readb; this driver is used on ARMv7 (AM335X SoC)
Signed-off-by: Afzal Mohammed <afzal-l0cyMroinI0@public.gmane.org>
---
v3:
Use readb/writeb instead of __raw_* variants
Remove unnecessary parens
v2:
Use device name da830-rtc instead of am1808-rtc
Newly added register name made similar to that existing in the driver
Better commit message description
drivers/rtc/rtc-omap.c | 43 ++++++++++++++++++++++++++++++++++++++++---
1 files changed, 40 insertions(+), 3 deletions(-)
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
index 0b614e3..27cc70d 100644
--- a/drivers/rtc/rtc-omap.c
+++ b/drivers/rtc/rtc-omap.c
@@ -38,6 +38,8 @@
* the SoC). See the BOARD-SPECIFIC CUSTOMIZATION comment.
*/
+#define DRIVER_NAME "omap_rtc"
+
#define OMAP_RTC_BASE 0xfffb4800
/* RTC registers */
@@ -64,6 +66,9 @@
#define OMAP_RTC_COMP_MSB_REG 0x50
#define OMAP_RTC_OSC_REG 0x54
+#define OMAP_RTC_KICK0_REG 0x6c
+#define OMAP_RTC_KICK1_REG 0x70
+
/* OMAP_RTC_CTRL_REG bit fields: */
#define OMAP_RTC_CTRL_SPLIT (1<<7)
#define OMAP_RTC_CTRL_DISABLE (1<<6)
@@ -88,10 +93,18 @@
#define OMAP_RTC_INTERRUPTS_IT_ALARM (1<<3)
#define OMAP_RTC_INTERRUPTS_IT_TIMER (1<<2)
+/* OMAP_RTC_KICKER values */
+#define KICK0_VALUE 0x83e70b13
+#define KICK1_VALUE 0x95a4f1e0
+
+#define OMAP_RTC_HAS_KICKER 0x1
+
static void __iomem *rtc_base;
-#define rtc_read(addr) __raw_readb(rtc_base + (addr))
-#define rtc_write(val, addr) __raw_writeb(val, rtc_base + (addr))
+#define rtc_read(addr) readb(rtc_base + (addr))
+#define rtc_write(val, addr) writeb(val, rtc_base + (addr))
+
+#define rtc_writel(val, addr) writel(val, rtc_base + (addr))
/* we rely on the rtc framework to handle locking (rtc->ops_lock),
@@ -285,11 +298,22 @@ static struct rtc_class_ops omap_rtc_ops = {
static int omap_rtc_alarm;
static int omap_rtc_timer;
+static struct platform_device_id omap_rtc_devtype[] = {
+ {
+ .name = DRIVER_NAME,
+ }, {
+ .name = "da830-rtc",
+ .driver_data = OMAP_RTC_HAS_KICKER,
+ }
+};
+MODULE_DEVICE_TABLE(platform, omap_rtc_devtype);
+
static int __init omap_rtc_probe(struct platform_device *pdev)
{
struct resource *res, *mem;
struct rtc_device *rtc;
u8 reg, new_ctrl;
+ const struct platform_device_id *id_entry;
omap_rtc_timer = platform_get_irq(pdev, 0);
if (omap_rtc_timer <= 0) {
@@ -322,6 +346,12 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
goto fail;
}
+ id_entry = platform_get_device_id(pdev);
+ if (id_entry && (id_entry->driver_data & OMAP_RTC_HAS_KICKER)) {
+ rtc_writel(KICK0_VALUE, OMAP_RTC_KICK0_REG);
+ rtc_writel(KICK1_VALUE, OMAP_RTC_KICK1_REG);
+ }
+
rtc = rtc_device_register(pdev->name, &pdev->dev,
&omap_rtc_ops, THIS_MODULE);
if (IS_ERR(rtc)) {
@@ -398,6 +428,8 @@ fail2:
fail1:
rtc_device_unregister(rtc);
fail0:
+ if (id_entry && (id_entry->driver_data & OMAP_RTC_HAS_KICKER))
+ rtc_writel(0, OMAP_RTC_KICK0_REG);
iounmap(rtc_base);
fail:
release_mem_region(mem->start, resource_size(mem));
@@ -408,6 +440,8 @@ static int __exit omap_rtc_remove(struct platform_device *pdev)
{
struct rtc_device *rtc = platform_get_drvdata(pdev);
struct resource *mem = dev_get_drvdata(&rtc->dev);
+ const struct platform_device_id *id_entry =
+ platform_get_device_id(pdev);
device_init_wakeup(&pdev->dev, 0);
@@ -420,6 +454,8 @@ static int __exit omap_rtc_remove(struct platform_device *pdev)
free_irq(omap_rtc_alarm, rtc);
rtc_device_unregister(rtc);
+ if (id_entry && (id_entry->driver_data & OMAP_RTC_HAS_KICKER))
+ rtc_writel(0, OMAP_RTC_KICK0_REG);
iounmap(rtc_base);
release_mem_region(mem->start, resource_size(mem));
return 0;
@@ -471,9 +507,10 @@ static struct platform_driver omap_rtc_driver = {
.resume = omap_rtc_resume,
.shutdown = omap_rtc_shutdown,
.driver = {
- .name = "omap_rtc",
+ .name = DRIVER_NAME,
.owner = THIS_MODULE,
},
+ .id_table = omap_rtc_devtype,
};
static int __init rtc_init(void)
--
1.7.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 2/6] ARM: davinci: remove rtc kicker release
[not found] ` <cover.1343383616.git.afzal-l0cyMroinI0@public.gmane.org>
2012-07-27 12:24 ` [PATCH v3 1/6] rtc: omap: kicker mechanism support Afzal Mohammed
@ 2012-07-27 12:24 ` Afzal Mohammed
2012-07-27 12:24 ` [PATCH v3 3/6] rtc: omap: dt support Afzal Mohammed
` (4 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Afzal Mohammed @ 2012-07-27 12:24 UTC (permalink / raw)
To: grant.likely-s3s/WqlpOiPyB63q8FvJNQ,
rob.herring-bsGFqQB8/DxBDgjK7y7TUQ, rob-VoJi6FS/r0vR7s880joybQ,
linux-lFZ/pmaqli7XmaaqVzeoHQ, nsekhar-l0cyMroinI0,
khilman-l0cyMroinI0, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ,
tony-4v6yS6AI5VpBDgjK7y7TUQ,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-doc-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
rtc-linux-/JYPxA39Uh5TLH3MbocFFw
Cc: Afzal Mohammed
rtc-omap driver is now capable of handling kicker mechanism,
hence remove kicker handling at platform level, instead
provide proper device name so that driver can handle kicker
mechanism by itself
Signed-off-by: Afzal Mohammed <afzal-l0cyMroinI0@public.gmane.org>
---
v2:
Use device name da830-rtc instead of am1808-rtc
arch/arm/mach-davinci/devices-da8xx.c | 13 +------------
1 files changed, 1 insertions(+), 12 deletions(-)
diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c
index d1624a3..da5e4c7 100644
--- a/arch/arm/mach-davinci/devices-da8xx.c
+++ b/arch/arm/mach-davinci/devices-da8xx.c
@@ -679,7 +679,7 @@ static struct resource da8xx_rtc_resources[] = {
};
static struct platform_device da8xx_rtc_device = {
- .name = "omap_rtc",
+ .name = "da830-rtc",
.id = -1,
.num_resources = ARRAY_SIZE(da8xx_rtc_resources),
.resource = da8xx_rtc_resources,
@@ -688,17 +688,6 @@ static struct platform_device da8xx_rtc_device = {
int da8xx_register_rtc(void)
{
int ret;
- void __iomem *base;
-
- base = ioremap(DA8XX_RTC_BASE, SZ_4K);
- if (WARN_ON(!base))
- return -ENOMEM;
-
- /* Unlock the rtc's registers */
- __raw_writel(0x83e70b13, base + 0x6c);
- __raw_writel(0x95a4f1e0, base + 0x70);
-
- iounmap(base);
ret = platform_device_register(&da8xx_rtc_device);
if (!ret)
--
1.7.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 3/6] rtc: omap: dt support
[not found] ` <cover.1343383616.git.afzal-l0cyMroinI0@public.gmane.org>
2012-07-27 12:24 ` [PATCH v3 1/6] rtc: omap: kicker mechanism support Afzal Mohammed
2012-07-27 12:24 ` [PATCH v3 2/6] ARM: davinci: remove rtc kicker release Afzal Mohammed
@ 2012-07-27 12:24 ` Afzal Mohammed
2012-07-27 12:24 ` [PATCH v3 4/6] rtc: omap: depend on am33xx Afzal Mohammed
` (3 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Afzal Mohammed @ 2012-07-27 12:24 UTC (permalink / raw)
To: grant.likely-s3s/WqlpOiPyB63q8FvJNQ,
rob.herring-bsGFqQB8/DxBDgjK7y7TUQ, rob-VoJi6FS/r0vR7s880joybQ,
linux-lFZ/pmaqli7XmaaqVzeoHQ, nsekhar-l0cyMroinI0,
khilman-l0cyMroinI0, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ,
tony-4v6yS6AI5VpBDgjK7y7TUQ,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-doc-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
rtc-linux-/JYPxA39Uh5TLH3MbocFFw
Cc: Afzal Mohammed
Enhance rtc-omap driver with DT capability
Signed-off-by: Afzal Mohammed <afzal-l0cyMroinI0@public.gmane.org>
---
v2:
Use compatible as ti,da830-rtc instead of ti,am1808-rtc
Documentation/devicetree/bindings/rtc/rtc-omap.txt | 20 ++++++++++++++++++++
drivers/rtc/rtc-omap.c | 18 ++++++++++++++++++
2 files changed, 38 insertions(+), 0 deletions(-)
create mode 100644 Documentation/devicetree/bindings/rtc/rtc-omap.txt
diff --git a/Documentation/devicetree/bindings/rtc/rtc-omap.txt b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
new file mode 100644
index 0000000..8c5c584
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/rtc-omap.txt
@@ -0,0 +1,20 @@
+TI Real Time Clock
+
+Required properties:
+- compatible: "ti,da830-rtc"
+- reg: Address range of rtc register set
+- interrupts: rtc timer, alarm interrupts in order
+- interrupt-parent: phandle for the interrupt controller
+
+Alternative for reg and interrupt properties on OMAP:
+- ti,hwmods: Name of the hwmod associated to the RTC
+
+Example:
+
+rtc@1c23000 {
+ compatible = "ti,da830-rtc";
+ reg = <0x23000 0x1000>;
+ interrupts = <19
+ 19>;
+ interrupt-parent = <&intc>;
+};
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
index 27cc70d..d600297 100644
--- a/drivers/rtc/rtc-omap.c
+++ b/drivers/rtc/rtc-omap.c
@@ -20,6 +20,8 @@
#include <linux/rtc.h>
#include <linux/bcd.h>
#include <linux/platform_device.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
#include <asm/io.h>
@@ -298,6 +300,8 @@ static struct rtc_class_ops omap_rtc_ops = {
static int omap_rtc_alarm;
static int omap_rtc_timer;
+#define OMAP_RTC_DATA_DA830_IDX 1
+
static struct platform_device_id omap_rtc_devtype[] = {
{
.name = DRIVER_NAME,
@@ -308,12 +312,25 @@ static struct platform_device_id omap_rtc_devtype[] = {
};
MODULE_DEVICE_TABLE(platform, omap_rtc_devtype);
+static const struct of_device_id omap_rtc_of_match[] = {
+ { .compatible = "ti,da830-rtc",
+ .data = &omap_rtc_devtype[OMAP_RTC_DATA_DA830_IDX],
+ },
+ {},
+};
+MODULE_DEVICE_TABLE(of, omap_rtc_of_match);
+
static int __init omap_rtc_probe(struct platform_device *pdev)
{
struct resource *res, *mem;
struct rtc_device *rtc;
u8 reg, new_ctrl;
const struct platform_device_id *id_entry;
+ const struct of_device_id *of_id;
+
+ of_id = of_match_device(omap_rtc_of_match, &pdev->dev);
+ if (of_id)
+ pdev->id_entry = of_id->data;
omap_rtc_timer = platform_get_irq(pdev, 0);
if (omap_rtc_timer <= 0) {
@@ -509,6 +526,7 @@ static struct platform_driver omap_rtc_driver = {
.driver = {
.name = DRIVER_NAME,
.owner = THIS_MODULE,
+ .of_match_table = of_match_ptr(omap_rtc_of_match),
},
.id_table = omap_rtc_devtype,
};
--
1.7.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 4/6] rtc: omap: depend on am33xx
[not found] ` <cover.1343383616.git.afzal-l0cyMroinI0@public.gmane.org>
` (2 preceding siblings ...)
2012-07-27 12:24 ` [PATCH v3 3/6] rtc: omap: dt support Afzal Mohammed
@ 2012-07-27 12:24 ` Afzal Mohammed
2012-07-27 12:24 ` [PATCH v3 5/6] rtc: omap: Add runtime pm support Afzal Mohammed
` (2 subsequent siblings)
6 siblings, 0 replies; 10+ messages in thread
From: Afzal Mohammed @ 2012-07-27 12:24 UTC (permalink / raw)
To: grant.likely-s3s/WqlpOiPyB63q8FvJNQ,
rob.herring-bsGFqQB8/DxBDgjK7y7TUQ, rob-VoJi6FS/r0vR7s880joybQ,
linux-lFZ/pmaqli7XmaaqVzeoHQ, nsekhar-l0cyMroinI0,
khilman-l0cyMroinI0, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ,
tony-4v6yS6AI5VpBDgjK7y7TUQ,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-doc-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
rtc-linux-/JYPxA39Uh5TLH3MbocFFw
Cc: Afzal Mohammed
rtc-omap driver can be reused for AM33xx RTC.
Provide dependency in Kconfig.
Signed-off-by: Afzal Mohammed <afzal-l0cyMroinI0@public.gmane.org>
---
v2:
Modify Kconfig help, resolve checkpatch warning
drivers/rtc/Kconfig | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
index 08cbdb9..eada3db 100644
--- a/drivers/rtc/Kconfig
+++ b/drivers/rtc/Kconfig
@@ -729,11 +729,13 @@ config RTC_DRV_IMXDI
config RTC_DRV_OMAP
tristate "TI OMAP1"
- depends on ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 || ARCH_DAVINCI_DA8XX
+ depends on ARCH_OMAP15XX || ARCH_OMAP16XX || ARCH_OMAP730 || ARCH_DAVINCI_DA8XX || SOC_AM33XX
help
- Say "yes" here to support the real time clock on TI OMAP1 and
- DA8xx/OMAP-L13x chips. This driver can also be built as a
- module called rtc-omap.
+ Say "yes" here to support the on chip real time clock
+ present on TI OMAP1, AM33xx and DA8xx/OMAP-L13x.
+
+ This driver can also be built as a module, if so, module
+ will be called rtc-omap.
config HAVE_S3C_RTC
bool
--
1.7.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 5/6] rtc: omap: Add runtime pm support
[not found] ` <cover.1343383616.git.afzal-l0cyMroinI0@public.gmane.org>
` (3 preceding siblings ...)
2012-07-27 12:24 ` [PATCH v3 4/6] rtc: omap: depend on am33xx Afzal Mohammed
@ 2012-07-27 12:24 ` Afzal Mohammed
2012-07-27 12:24 ` [PATCH v3 6/6] arm/dts: am33xx rtc node Afzal Mohammed
2012-08-10 19:57 ` [PATCH v3 0/6] omap-am33xx rtc dt support Sekhar Nori
6 siblings, 0 replies; 10+ messages in thread
From: Afzal Mohammed @ 2012-07-27 12:24 UTC (permalink / raw)
To: grant.likely-s3s/WqlpOiPyB63q8FvJNQ,
rob.herring-bsGFqQB8/DxBDgjK7y7TUQ, rob-VoJi6FS/r0vR7s880joybQ,
linux-lFZ/pmaqli7XmaaqVzeoHQ, nsekhar-l0cyMroinI0,
khilman-l0cyMroinI0, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ,
tony-4v6yS6AI5VpBDgjK7y7TUQ,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-doc-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
rtc-linux-/JYPxA39Uh5TLH3MbocFFw
Cc: Afzal Mohammed
From: Vaibhav Hiremath <hvaibhav-l0cyMroinI0@public.gmane.org>
OMAP1 RTC driver is used in multiple devices like,
OMAPL138 and AM33XX. Driver currently doesn't handle any clocks,
which may be right for OMAP1 architecture but in case of AM33XX,
the clock/module needs to be enabled in order to access the registers.
So covert this driver to runtime pm, which internally handles rest.
Afzal: handle error path
Signed-off-by: Vaibhav Hiremath <hvaibhav-l0cyMroinI0@public.gmane.org>
Signed-off-by: Afzal Mohammed <afzal-l0cyMroinI0@public.gmane.org>
---
drivers/rtc/rtc-omap.c | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/drivers/rtc/rtc-omap.c b/drivers/rtc/rtc-omap.c
index d600297..c075d07 100644
--- a/drivers/rtc/rtc-omap.c
+++ b/drivers/rtc/rtc-omap.c
@@ -22,6 +22,7 @@
#include <linux/platform_device.h>
#include <linux/of.h>
#include <linux/of_device.h>
+#include <linux/pm_runtime.h>
#include <asm/io.h>
@@ -363,6 +364,10 @@ static int __init omap_rtc_probe(struct platform_device *pdev)
goto fail;
}
+ /* Enable the clock/module so that we can access the registers */
+ pm_runtime_enable(&pdev->dev);
+ pm_runtime_get_sync(&pdev->dev);
+
id_entry = platform_get_device_id(pdev);
if (id_entry && (id_entry->driver_data & OMAP_RTC_HAS_KICKER)) {
rtc_writel(KICK0_VALUE, OMAP_RTC_KICK0_REG);
@@ -447,6 +452,8 @@ fail1:
fail0:
if (id_entry && (id_entry->driver_data & OMAP_RTC_HAS_KICKER))
rtc_writel(0, OMAP_RTC_KICK0_REG);
+ pm_runtime_put_sync(&pdev->dev);
+ pm_runtime_disable(&pdev->dev);
iounmap(rtc_base);
fail:
release_mem_region(mem->start, resource_size(mem));
@@ -473,6 +480,11 @@ static int __exit omap_rtc_remove(struct platform_device *pdev)
rtc_device_unregister(rtc);
if (id_entry && (id_entry->driver_data & OMAP_RTC_HAS_KICKER))
rtc_writel(0, OMAP_RTC_KICK0_REG);
+
+ /* Disable the clock/module */
+ pm_runtime_put_sync(&pdev->dev);
+ pm_runtime_disable(&pdev->dev);
+
iounmap(rtc_base);
release_mem_region(mem->start, resource_size(mem));
return 0;
@@ -495,11 +507,17 @@ static int omap_rtc_suspend(struct platform_device *pdev, pm_message_t state)
else
rtc_write(0, OMAP_RTC_INTERRUPTS_REG);
+ /* Disable the clock/module */
+ pm_runtime_put_sync(&pdev->dev);
+
return 0;
}
static int omap_rtc_resume(struct platform_device *pdev)
{
+ /* Enable the clock/module so that we can access the registers */
+ pm_runtime_get_sync(&pdev->dev);
+
if (device_may_wakeup(&pdev->dev))
disable_irq_wake(omap_rtc_alarm);
else
--
1.7.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v3 6/6] arm/dts: am33xx rtc node
[not found] ` <cover.1343383616.git.afzal-l0cyMroinI0@public.gmane.org>
` (4 preceding siblings ...)
2012-07-27 12:24 ` [PATCH v3 5/6] rtc: omap: Add runtime pm support Afzal Mohammed
@ 2012-07-27 12:24 ` Afzal Mohammed
2012-08-10 19:57 ` [PATCH v3 0/6] omap-am33xx rtc dt support Sekhar Nori
6 siblings, 0 replies; 10+ messages in thread
From: Afzal Mohammed @ 2012-07-27 12:24 UTC (permalink / raw)
To: grant.likely-s3s/WqlpOiPyB63q8FvJNQ,
rob.herring-bsGFqQB8/DxBDgjK7y7TUQ, rob-VoJi6FS/r0vR7s880joybQ,
linux-lFZ/pmaqli7XmaaqVzeoHQ, nsekhar-l0cyMroinI0,
khilman-l0cyMroinI0, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ,
tony-4v6yS6AI5VpBDgjK7y7TUQ,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-doc-u79uwXL29TY76Z2rM5mHXA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
rtc-linux-/JYPxA39Uh5TLH3MbocFFw
Cc: Afzal Mohammed
Add AM33xx rtc node.
Signed-off-by: Afzal Mohammed <afzal-l0cyMroinI0@public.gmane.org>
---
v3:
Remove unit address in DT node
v2:
Use compatible as ti,da830-rtc instead of ti,am1808-rtc
arch/arm/boot/dts/am33xx.dtsi | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/arch/arm/boot/dts/am33xx.dtsi b/arch/arm/boot/dts/am33xx.dtsi
index bd0cff3..c75ddcf 100644
--- a/arch/arm/boot/dts/am33xx.dtsi
+++ b/arch/arm/boot/dts/am33xx.dtsi
@@ -159,5 +159,10 @@
compatible = "ti,omap3-wdt";
ti,hwmods = "wd_timer2";
};
+
+ rtc {
+ compatible = "ti,da830-rtc";
+ ti,hwmods = "rtc";
+ };
};
};
--
1.7.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 0/6] omap-am33xx rtc dt support
[not found] ` <cover.1343383616.git.afzal-l0cyMroinI0@public.gmane.org>
` (5 preceding siblings ...)
2012-07-27 12:24 ` [PATCH v3 6/6] arm/dts: am33xx rtc node Afzal Mohammed
@ 2012-08-10 19:57 ` Sekhar Nori
2012-08-27 7:35 ` Mohammed, Afzal
6 siblings, 1 reply; 10+ messages in thread
From: Sekhar Nori @ 2012-08-10 19:57 UTC (permalink / raw)
To: Afzal Mohammed, a.zummo-BfzFCNDTiLLj+vYz1yj4TQ
Cc: khilman-l0cyMroinI0,
davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
linux-lFZ/pmaqli7XmaaqVzeoHQ, rtc-linux-/JYPxA39Uh5TLH3MbocFFw,
linux-doc-u79uwXL29TY76Z2rM5mHXA, tony-4v6yS6AI5VpBDgjK7y7TUQ,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
rob.herring-bsGFqQB8/DxBDgjK7y7TUQ,
grant.likely-s3s/WqlpOiPyB63q8FvJNQ, rob-VoJi6FS/r0vR7s880joybQ,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
On 7/27/2012 5:53 PM, Afzal Mohammed wrote:
> Hi,
>
> This series makes rtc-omap driver DT capable, adds AM33xx
> RTC DT support along with a few enchancments to the driver.
>
> rtc-omap driver is made intelligent enough to handle kicker
> mechanism. This helps in removing kicker mechanism support
> done for DaVinci at platform level.
>
> This has been tested on Beaglebone (AM33xx platform) and on
> DaVinci DA850 EVM.
>
> This series is based over linux-omap master and can be
> directly applied over linux-next, except for
> [PATCH 6/6] arm/dts: am33xx rtc node.
>
> PATCH 6/6 should go through linux-omap tree and needs
> http://www.mail-archive.com/linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org/msg71644.html
> (arm/dts: am33xx wdt node) to get applied cleanly
I tested patches 1-5 on AM18x EVM using rtcwake and hwclock commands.
Also tested on DT enabled AM18x EVM using hwclock.
For patched 1-5:
Acked-by: Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org>
Alessandro,
I assume you would want me to queue 2/6 through DaVinci tree. That patch
depends on 1/6 being accepted and merged by you. Let me know how you
want to move forward here.
Thanks,
Sekhar
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [PATCH v3 0/6] omap-am33xx rtc dt support
2012-08-10 19:57 ` [PATCH v3 0/6] omap-am33xx rtc dt support Sekhar Nori
@ 2012-08-27 7:35 ` Mohammed, Afzal
2012-10-09 12:26 ` Afzal Mohammed
0 siblings, 1 reply; 10+ messages in thread
From: Mohammed, Afzal @ 2012-08-27 7:35 UTC (permalink / raw)
To: Nori, Sekhar, a.zummo@towertech.it
Cc: grant.likely@secretlab.ca, rob.herring@calxeda.com,
rob@landley.net, linux@arm.linux.org.uk, Hilman, Kevin,
tony@atomide.com, devicetree-discuss@lists.ozlabs.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
davinci-linux-open-source@linux.davincidsp.com,
rtc-linux@googlegroups.com
Hi Alessandro,
On Sat, Aug 11, 2012 at 01:27:11, Nori, Sekhar wrote:
> On 7/27/2012 5:53 PM, Afzal Mohammed wrote:
> > This series makes rtc-omap driver DT capable, adds AM33xx
> > RTC DT support along with a few enchancments to the driver.
> >
> > rtc-omap driver is made intelligent enough to handle kicker
> > mechanism. This helps in removing kicker mechanism support
> > done for DaVinci at platform level.
> >
> > This has been tested on Beaglebone (AM33xx platform) and on
> > DaVinci DA850 EVM.
> >
> > This series is based over linux-omap master and can be
> > directly applied over linux-next, except for
> > [PATCH 6/6] arm/dts: am33xx rtc node.
> >
> > PATCH 6/6 should go through linux-omap tree and needs
> > http://www.mail-archive.com/linux-omap@vger.kernel.org/msg71644.html
> > (arm/dts: am33xx wdt node) to get applied cleanly
>
> I tested patches 1-5 on AM18x EVM using rtcwake and hwclock commands.
> Also tested on DT enabled AM18x EVM using hwclock.
>
> For patched 1-5:
>
> Acked-by: Sekhar Nori <nsekhar@ti.com>
>
> Alessandro,
>
> I assume you would want me to queue 2/6 through DaVinci tree. That patch
> depends on 1/6 being accepted and merged by you. Let me know how you
> want to move forward here.
Can you please help 1-5 patches in this series to get into mainline.
1-5 of this series is a prerequisite for adding RTC support for AM335X
SoC's, which is present in beaglebone, AM335X EVM.
Also this series does cleanup on DaVinci platform by moving kicker handling
mechanism to driver. And we have Ack from DaVinci maintainer on 1-5 of this
series.
Patch 6/6 adds AM335X RTC DT support, not sure whether you can take 6/6
or Tony should be taking it.
The series applies cleanly over linux-next (now including 6/6)
Regards
Afzal
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v3 0/6] omap-am33xx rtc dt support
2012-08-27 7:35 ` Mohammed, Afzal
@ 2012-10-09 12:26 ` Afzal Mohammed
0 siblings, 0 replies; 10+ messages in thread
From: Afzal Mohammed @ 2012-10-09 12:26 UTC (permalink / raw)
To: Andrew Morton
Cc: Nori, Sekhar, a.zummo@towertech.it, Hilman, Kevin,
davinci-linux-open-source@linux.davincidsp.com,
linux@arm.linux.org.uk, rtc-linux@googlegroups.com,
linux-doc@vger.kernel.org, tony@atomide.com,
devicetree-discuss@lists.ozlabs.org, linux-kernel@vger.kernel.org,
rob.herring@calxeda.com, grant.likely@secretlab.ca,
rob@landley.net, linux-arm-kernel@lists.infradead.org
Hi Andrew,
On Monday 27 August 2012 01:05 PM, Mohammed, Afzal wrote:
> On Sat, Aug 11, 2012 at 01:27:11, Nori, Sekhar wrote:
>> On 7/27/2012 5:53 PM, Afzal Mohammed wrote:
>>> This series makes rtc-omap driver DT capable, adds AM33xx
>>> RTC DT support along with a few enchancments to the driver.
>>>
>>> rtc-omap driver is made intelligent enough to handle kicker
>>> mechanism. This helps in removing kicker mechanism support
>>> done for DaVinci at platform level.
>>>
>>> This has been tested on Beaglebone (AM33xx platform) and on
>>> DaVinci DA850 EVM.
>> I tested patches 1-5 on AM18x EVM using rtcwake and hwclock commands.
>> Also tested on DT enabled AM18x EVM using hwclock.
>>
>> For patched 1-5:
>>
>> Acked-by: Sekhar Nori<nsekhar@ti.com>
>>
>> Alessandro,
>>
>> I assume you would want me to queue 2/6 through DaVinci tree. That patch
>> depends on 1/6 being accepted and merged by you. Let me know how you
>> want to move forward here.
> Can you please help 1-5 patches in this series to get into mainline.
> 1-5 of this series is a prerequisite for adding RTC support for AM335X
> SoC's, which is present in beaglebone, AM335X EVM.
This series which adds rtc support for AM335x SoC (ARM
Cortex-A8 from TI) based boards (like beagle bone) and
in the process making omap rtc driver device tree capable
was posted after addressing review comments around
July end. It seems rtc maintainer is not active and you
are taking care of the rtc patches.
Patches 1-5 has been Acked by DaVinci maintainer.
Can you please help this series reach mainline, let me
know whether this series needs to be reposted.
I waited to see response from rtc maintainer, it seems wait went
too far and this mail should have been sent a couple of weeks
before start of merge window.
As merge window is coming to an end, I feel it may be bad to
ask you this , but still: would it be possible to get the series in
during this merge window.
A recap of what this series is about,
omap-rtc driver used by DaVinci and OMAP1 platforms is being
reused for AM335x. Kicker release mechanism that is handled
by DaVinci platform code has been moved to rtc driver. AM335x
also needs to handle kicker mechanism. DT support has been
added to omap-rtc driver, this was necessitated as AM335x
supports only DT boot (DaVinci platform is also going DT way)
Patch 6 adds AM335x DT support (this probably should go
through omap tree). This series has been tested on beagle bone
and DaVinci DA850 EVM.
Regards
Afzal
^ permalink raw reply [flat|nested] 10+ messages in thread