Lines Matching +full:1 +full:p1
3 * Driver for the RTC found in the SpacemiT P1 PMIC
15 #define MOD_NAME "spacemit-p1-rtc"
18 * Six consecutive 1-byte registers hold the seconds, minutes, hours,
25 * day 0-30 (struct tm is 1-31)
38 #define RTC_READ_TRIES 20 /* At least 1 */
46 * The P1 hardware documentation states that the register values are
53 struct p1_rtc *p1 = dev_get_drvdata(dev); in p1_rtc_read_time() local
54 struct regmap *regmap = p1->regmap; in p1_rtc_read_time()
78 t->tm_min = time[1] & GENMASK(5, 0); in p1_rtc_read_time()
80 t->tm_mday = (time[3] & GENMASK(4, 0)) + 1; in p1_rtc_read_time()
88 * The P1 hardware documentation states that values in the registers are
95 struct p1_rtc *p1 = dev_get_drvdata(dev); in p1_rtc_set_time() local
96 struct regmap *regmap = p1->regmap; in p1_rtc_set_time()
101 time[1] = t->tm_min; in p1_rtc_set_time()
103 time[3] = t->tm_mday - 1; in p1_rtc_set_time()
129 struct p1_rtc *p1; in p1_rtc_probe() local
131 p1 = devm_kzalloc(dev, sizeof(*p1), GFP_KERNEL); in p1_rtc_probe()
132 if (!p1) in p1_rtc_probe()
134 dev_set_drvdata(dev, p1); in p1_rtc_probe()
136 p1->regmap = dev_get_regmap(dev->parent, NULL); in p1_rtc_probe()
137 if (!p1->regmap) in p1_rtc_probe()
144 p1->rtc = rtc; in p1_rtc_probe()
165 MODULE_DESCRIPTION("SpacemiT P1 RTC driver");