From: Sean Wang <[email protected]>

Add compatible string as "mt6323-rtc" that will make the OF core spawn
child devices for the RTC subnode of that MT6323 MFD device.

Signed-off-by: Sean Wang <[email protected]>
---
 drivers/mfd/mt6397-core.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/drivers/mfd/mt6397-core.c b/drivers/mfd/mt6397-core.c
index 77b64bd..c70d5b2 100644
--- a/drivers/mfd/mt6397-core.c
+++ b/drivers/mfd/mt6397-core.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 MediaTek Inc.
+ * Copyright (c) 2014-2018 MediaTek Inc.
  * Author: Flora Fu, MediaTek
  *
  * This program is free software; you can redistribute it and/or modify
@@ -13,6 +13,7 @@
  */
 
 #include <linux/interrupt.h>
+#include <linux/ioport.h>
 #include <linux/module.h>
 #include <linux/of_device.h>
 #include <linux/of_irq.h>
@@ -23,6 +24,9 @@
 #include <linux/mfd/mt6397/registers.h>
 #include <linux/mfd/mt6323/registers.h>
 
+#define MT6323_RTC_BASE                0x8000
+#define MT6323_RTC_SIZE                0x40
+
 #define MT6397_RTC_BASE                0xe000
 #define MT6397_RTC_SIZE                0x3e
 
@@ -30,6 +34,11 @@
 #define MT6391_CID_CODE                0x91
 #define MT6397_CID_CODE                0x97
 
+static const struct resource mt6323_rtc_resources[] = {
+       DEFINE_RES_MEM(MT6323_RTC_BASE, MT6323_RTC_SIZE),
+       DEFINE_RES_IRQ(MT6323_IRQ_STATUS_RTC),
+};
+
 static const struct resource mt6397_rtc_resources[] = {
        {
                .start = MT6397_RTC_BASE,
@@ -55,6 +64,11 @@ static const struct resource mt6397_keys_resources[] = {
 
 static const struct mfd_cell mt6323_devs[] = {
        {
+               .name = "mt6323-rtc",
+               .num_resources = ARRAY_SIZE(mt6323_rtc_resources),
+               .resources = mt6323_rtc_resources,
+               .of_compatible = "mediatek,mt6323-rtc",
+       }, {
                .name = "mt6323-regulator",
                .of_compatible = "mediatek,mt6323-regulator"
        }, {
-- 
2.7.4

Reply via email to