Lines Matching full:hym8563

3  * Haoyu HYM8563 RTC driver
8 * based on rtc-HYM8563
78 struct hym8563 { struct
135 * While the HYM8563 has a century flag in the month register, in hym8563_rtc_set_time()
265 #define clkout_hw_to_hym8563(_hw) container_of(_hw, struct hym8563, clkout_hw)
277 struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw); in hym8563_clkout_recalc_rate() local
278 struct i2c_client *client = hym8563->client; in hym8563_clkout_recalc_rate()
303 struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw); in hym8563_clkout_set_rate() local
304 struct i2c_client *client = hym8563->client; in hym8563_clkout_set_rate()
324 struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw); in hym8563_clkout_control() local
325 struct i2c_client *client = hym8563->client; in hym8563_clkout_control()
351 struct hym8563 *hym8563 = clkout_hw_to_hym8563(hw); in hym8563_clkout_is_prepared() local
352 struct i2c_client *client = hym8563->client; in hym8563_clkout_is_prepared()
370 static struct clk *hym8563_clkout_register_clk(struct hym8563 *hym8563) in hym8563_clkout_register_clk() argument
372 struct i2c_client *client = hym8563->client; in hym8563_clkout_register_clk()
383 init.name = "hym8563-clkout"; in hym8563_clkout_register_clk()
388 hym8563->clkout_hw.init = &init; in hym8563_clkout_register_clk()
394 clk = clk_register(&client->dev, &hym8563->clkout_hw); in hym8563_clkout_register_clk()
405 * hym8563, while the timer interrupt uses a falling edge.
411 struct hym8563 *hym8563 = (struct hym8563 *)dev_id; in hym8563_irq() local
412 struct i2c_client *client = hym8563->client; in hym8563_irq()
415 rtc_lock(hym8563->rtc); in hym8563_irq()
435 rtc_unlock(hym8563->rtc); in hym8563_irq()
500 struct hym8563 *hym8563; in hym8563_probe() local
503 hym8563 = devm_kzalloc(&client->dev, sizeof(*hym8563), GFP_KERNEL); in hym8563_probe()
504 if (!hym8563) in hym8563_probe()
507 hym8563->rtc = devm_rtc_allocate_device(&client->dev); in hym8563_probe()
508 if (IS_ERR(hym8563->rtc)) in hym8563_probe()
509 return PTR_ERR(hym8563->rtc); in hym8563_probe()
511 hym8563->client = client; in hym8563_probe()
512 i2c_set_clientdata(client, hym8563); in hym8563_probe()
529 client->name, hym8563); in hym8563_probe()
550 hym8563->rtc->ops = &hym8563_rtc_ops; in hym8563_probe()
551 set_bit(RTC_FEATURE_ALARM_RES_MINUTE, hym8563->rtc->features); in hym8563_probe()
552 clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, hym8563->rtc->features); in hym8563_probe()
555 hym8563_clkout_register_clk(hym8563); in hym8563_probe()
558 return devm_rtc_register_device(hym8563->rtc); in hym8563_probe()
562 { "hym8563", 0 },
568 { .compatible = "haoyu,hym8563" },
575 .name = "rtc-hym8563",
586 MODULE_DESCRIPTION("HYM8563 RTC driver");