Lines Matching refs:data

57 	struct rtd119x_rtc *data = dev_get_drvdata(dev);
60 val = readl_relaxed(data->base + RTD_RTCCR);
62 writel_relaxed(val, data->base + RTD_RTCCR);
65 writel(val, data->base + RTD_RTCCR);
70 struct rtd119x_rtc *data = dev_get_drvdata(dev);
73 val = readl_relaxed(data->base + RTD_RTCEN);
77 writel_relaxed(0x5a, data->base + RTD_RTCEN);
79 writel_relaxed(0, data->base + RTD_RTCEN);
85 struct rtd119x_rtc *data = dev_get_drvdata(dev);
92 tm->tm_sec = (readl_relaxed(data->base + RTD_RTCSEC) & RTD_RTCSEC_RTCSEC_MASK) >> 1;
93 tm->tm_min = readl_relaxed(data->base + RTD_RTCMIN) & RTD_RTCMIN_RTCMIN_MASK;
94 tm->tm_hour = readl_relaxed(data->base + RTD_RTCHR) & RTD_RTCHR_RTCHR_MASK;
95 day = readl_relaxed(data->base + RTD_RTCDATE1) & RTD_RTCDATE1_RTCDATE1_MASK;
96 day |= (readl_relaxed(data->base + RTD_RTCDATE2) & RTD_RTCDATE2_RTCDATE2_MASK) << 8;
97 sec = (readl_relaxed(data->base + RTD_RTCSEC) & RTD_RTCSEC_RTCSEC_MASK) >> 1;
109 year = data->base_year;
129 struct rtd119x_rtc *data = dev_get_drvdata(dev);
133 if (1900 + tm->tm_year < data->base_year)
137 for (i = data->base_year; i < 1900 + tm->tm_year; i++)
146 writel_relaxed((tm->tm_sec << 1) & RTD_RTCSEC_RTCSEC_MASK, data->base + RTD_RTCSEC);
147 writel_relaxed(tm->tm_min & RTD_RTCMIN_RTCMIN_MASK, data->base + RTD_RTCMIN);
148 writel_relaxed(tm->tm_hour & RTD_RTCHR_RTCHR_MASK, data->base + RTD_RTCHR);
149 writel_relaxed(day & RTD_RTCDATE1_RTCDATE1_MASK, data->base + RTD_RTCDATE1);
150 writel_relaxed((day >> 8) & RTD_RTCDATE2_RTCDATE2_MASK, data->base + RTD_RTCDATE2);
169 struct rtd119x_rtc *data;
173 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
174 if (!data)
177 platform_set_drvdata(pdev, data);
178 data->base_year = 2014;
180 data->base = devm_platform_ioremap_resource(pdev, 0);
181 if (IS_ERR(data->base))
182 return PTR_ERR(data->base);
184 data->clk = of_clk_get(pdev->dev.of_node, 0);
185 if (IS_ERR(data->clk))
186 return PTR_ERR(data->clk);
188 ret = clk_prepare_enable(data->clk);
190 clk_put(data->clk);
194 val = readl_relaxed(data->base + RTD_RTCACR);
196 writel_relaxed(RTD_RTCACR_RTCPWR, data->base + RTD_RTCACR);
200 writel_relaxed(0, data->base + RTD_RTCMIN);
201 writel_relaxed(0, data->base + RTD_RTCHR);
202 writel_relaxed(0, data->base + RTD_RTCDATE1);
203 writel_relaxed(0, data->base + RTD_RTCDATE2);
208 data->rtcdev = devm_rtc_device_register(&pdev->dev, "rtc",
210 if (IS_ERR(data->rtcdev)) {
212 clk_disable_unprepare(data->clk);
213 clk_put(data->clk);
214 return PTR_ERR(data->rtcdev);
222 struct rtd119x_rtc *data = platform_get_drvdata(pdev);
226 clk_disable_unprepare(data->clk);
227 clk_put(data->clk);