Lines Matching +full:40 +full:- +full:bit
1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (C) 2007-2009 ST-Ericsson AB
21 * Bit 0: RTC Monitor cleared=0, active=1, if you set it
23 * Bit 1: 32 kHz Oscillator, 0 = on, 1 = bypass
24 * Bit 2: Alarm on, 0 = off, 1 = on
25 * Bit 3: 32 kHz buffer disabling, 0 = enabled, 1 = disabled
30 /* Alarm when AL0-AL3 == TI0-TI3 */
35 /* This 48-bit register that counts up at 32768 Hz */
60 buf[5] = (hw_counter >> 40) & 0xFF; in ab3100_rtc_set_time()
89 return -EINVAL; in ab3100_rtc_read_time()
101 hw_counter = ((u64) buf[5] << 40) | ((u64) buf[4] << 32) | in ab3100_rtc_read_time()
126 alarm->enabled = 1; in ab3100_rtc_read_alarm()
128 alarm->enabled = 0; in ab3100_rtc_read_alarm()
130 alarm->pending = 0; in ab3100_rtc_read_alarm()
136 hw_counter = ((u64) buf[3] << 40) | ((u64) buf[2] << 32) | in ab3100_rtc_read_alarm()
140 rtc_time64_to_tm(time, &alarm->time); in ab3100_rtc_read_alarm()
142 return rtc_valid_tm(&alarm->time); in ab3100_rtc_read_alarm()
154 secs = rtc_tm_to_time64(&alarm->time); in ab3100_rtc_set_alarm()
159 buf[3] = (hw_counter >> 40) & 0xFF; in ab3100_rtc_set_alarm()
171 alarm->enabled << 2); in ab3100_rtc_set_alarm()
208 err = abx500_get_register_interruptible(&pdev->dev, 0, in ab3100_rtc_probe()
211 dev_err(&pdev->dev, "unable to read RTC register\n"); in ab3100_rtc_probe()
212 return -ENODEV; in ab3100_rtc_probe()
216 dev_warn(&pdev->dev, "not default value in RTC reg 0x%x\n", in ab3100_rtc_probe()
222 * Set bit to detect power loss. in ab3100_rtc_probe()
223 * This bit remains until RTC power is lost. in ab3100_rtc_probe()
226 err = abx500_set_register_interruptible(&pdev->dev, 0, in ab3100_rtc_probe()
231 rtc = devm_rtc_allocate_device(&pdev->dev); in ab3100_rtc_probe()
235 rtc->ops = &ab3100_rtc_ops; in ab3100_rtc_probe()
236 /* 48bit counter at (AB3100_RTC_CLOCK_RATE * 2) */ in ab3100_rtc_probe()
237 rtc->range_max = U32_MAX; in ab3100_rtc_probe()
246 .name = "ab3100-rtc",