Lines Matching refs:moxart_rtc

55 struct moxart_rtc {  struct
66 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev); in moxart_rtc_write_byte() argument
70 gpio_set_value(moxart_rtc->gpio_sclk, 0); in moxart_rtc_write_byte()
71 gpio_set_value(moxart_rtc->gpio_data, ((data & 1) == 1)); in moxart_rtc_write_byte()
73 gpio_set_value(moxart_rtc->gpio_sclk, 1); in moxart_rtc_write_byte()
80 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev); in moxart_rtc_read_byte() local
85 gpio_set_value(moxart_rtc->gpio_sclk, 0); in moxart_rtc_read_byte()
87 gpio_set_value(moxart_rtc->gpio_sclk, 1); in moxart_rtc_read_byte()
89 if (gpio_get_value(moxart_rtc->gpio_data)) in moxart_rtc_read_byte()
98 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev); in moxart_rtc_read_register() local
104 gpio_direction_output(moxart_rtc->gpio_data, 0); in moxart_rtc_read_register()
105 gpio_set_value(moxart_rtc->gpio_reset, 1); in moxart_rtc_read_register()
108 gpio_direction_input(moxart_rtc->gpio_data); in moxart_rtc_read_register()
111 gpio_set_value(moxart_rtc->gpio_sclk, 0); in moxart_rtc_read_register()
112 gpio_set_value(moxart_rtc->gpio_reset, 0); in moxart_rtc_read_register()
122 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev); in moxart_rtc_write_register() local
127 gpio_direction_output(moxart_rtc->gpio_data, 0); in moxart_rtc_write_register()
128 gpio_set_value(moxart_rtc->gpio_reset, 1); in moxart_rtc_write_register()
132 gpio_set_value(moxart_rtc->gpio_sclk, 0); in moxart_rtc_write_register()
133 gpio_set_value(moxart_rtc->gpio_reset, 0); in moxart_rtc_write_register()
141 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev); in moxart_rtc_set_time() local
143 spin_lock_irq(&moxart_rtc->rtc_lock); in moxart_rtc_set_time()
172 spin_unlock_irq(&moxart_rtc->rtc_lock); in moxart_rtc_set_time()
184 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev); in moxart_rtc_read_time() local
187 spin_lock_irq(&moxart_rtc->rtc_lock); in moxart_rtc_read_time()
231 spin_unlock_irq(&moxart_rtc->rtc_lock); in moxart_rtc_read_time()
243 struct moxart_rtc *moxart_rtc; in moxart_rtc_probe() local
246 moxart_rtc = devm_kzalloc(&pdev->dev, sizeof(*moxart_rtc), GFP_KERNEL); in moxart_rtc_probe()
247 if (!moxart_rtc) in moxart_rtc_probe()
250 moxart_rtc->gpio_data = of_get_named_gpio(pdev->dev.of_node, in moxart_rtc_probe()
252 if (!gpio_is_valid(moxart_rtc->gpio_data)) { in moxart_rtc_probe()
254 moxart_rtc->gpio_data); in moxart_rtc_probe()
255 return moxart_rtc->gpio_data; in moxart_rtc_probe()
258 moxart_rtc->gpio_sclk = of_get_named_gpio(pdev->dev.of_node, in moxart_rtc_probe()
260 if (!gpio_is_valid(moxart_rtc->gpio_sclk)) { in moxart_rtc_probe()
262 moxart_rtc->gpio_sclk); in moxart_rtc_probe()
263 return moxart_rtc->gpio_sclk; in moxart_rtc_probe()
266 moxart_rtc->gpio_reset = of_get_named_gpio(pdev->dev.of_node, in moxart_rtc_probe()
268 if (!gpio_is_valid(moxart_rtc->gpio_reset)) { in moxart_rtc_probe()
270 moxart_rtc->gpio_reset); in moxart_rtc_probe()
271 return moxart_rtc->gpio_reset; in moxart_rtc_probe()
274 spin_lock_init(&moxart_rtc->rtc_lock); in moxart_rtc_probe()
275 platform_set_drvdata(pdev, moxart_rtc); in moxart_rtc_probe()
277 ret = devm_gpio_request(&pdev->dev, moxart_rtc->gpio_data, "rtc_data"); in moxart_rtc_probe()
283 ret = devm_gpio_request_one(&pdev->dev, moxart_rtc->gpio_sclk, in moxart_rtc_probe()
290 ret = devm_gpio_request_one(&pdev->dev, moxart_rtc->gpio_reset, in moxart_rtc_probe()
297 moxart_rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name, in moxart_rtc_probe()
300 if (IS_ERR(moxart_rtc->rtc)) { in moxart_rtc_probe()
302 return PTR_ERR(moxart_rtc->rtc); in moxart_rtc_probe()