Lines Matching refs:moxart_rtc
56 struct moxart_rtc {
69 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev);
73 gpiod_set_value(moxart_rtc->gpio_sclk, 0);
74 gpiod_set_value(moxart_rtc->gpio_data, ((data & 1) == 1));
76 gpiod_set_value(moxart_rtc->gpio_sclk, 1);
83 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev);
88 gpiod_set_value(moxart_rtc->gpio_sclk, 0);
90 gpiod_set_value(moxart_rtc->gpio_sclk, 1);
92 if (gpiod_get_value(moxart_rtc->gpio_data))
101 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev);
107 gpiod_direction_output(moxart_rtc->gpio_data, 0);
108 gpiod_set_value(moxart_rtc->gpio_reset, 1);
111 gpiod_direction_input(moxart_rtc->gpio_data);
114 gpiod_set_value(moxart_rtc->gpio_sclk, 0);
115 gpiod_set_value(moxart_rtc->gpio_reset, 0);
125 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev);
130 gpiod_direction_output(moxart_rtc->gpio_data, 0);
131 gpiod_set_value(moxart_rtc->gpio_reset, 1);
135 gpiod_set_value(moxart_rtc->gpio_sclk, 0);
136 gpiod_set_value(moxart_rtc->gpio_reset, 0);
144 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev);
146 spin_lock_irq(&moxart_rtc->rtc_lock);
175 spin_unlock_irq(&moxart_rtc->rtc_lock);
187 struct moxart_rtc *moxart_rtc = dev_get_drvdata(dev);
190 spin_lock_irq(&moxart_rtc->rtc_lock);
234 spin_unlock_irq(&moxart_rtc->rtc_lock);
246 struct moxart_rtc *moxart_rtc;
249 moxart_rtc = devm_kzalloc(&pdev->dev, sizeof(*moxart_rtc), GFP_KERNEL);
250 if (!moxart_rtc)
253 moxart_rtc->gpio_data = devm_gpiod_get(&pdev->dev, "rtc-data",
255 ret = PTR_ERR_OR_ZERO(moxart_rtc->gpio_data);
261 moxart_rtc->gpio_sclk = devm_gpiod_get(&pdev->dev, "rtc-sclk",
263 ret = PTR_ERR_OR_ZERO(moxart_rtc->gpio_sclk);
269 moxart_rtc->gpio_reset = devm_gpiod_get(&pdev->dev, "rtc-reset",
271 ret = PTR_ERR_OR_ZERO(moxart_rtc->gpio_reset);
277 spin_lock_init(&moxart_rtc->rtc_lock);
278 platform_set_drvdata(pdev, moxart_rtc);
280 moxart_rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
283 if (IS_ERR(moxart_rtc->rtc)) {
285 return PTR_ERR(moxart_rtc->rtc);