/Linux-v5.4/drivers/rtc/ |
D | rtc-ds1685.c | 42 ds1685_read(struct ds1685_priv *rtc, int reg) in ds1685_read() argument 44 return readb((u8 __iomem *)rtc->regs + in ds1685_read() 45 (reg * rtc->regstep)); in ds1685_read() 55 ds1685_write(struct ds1685_priv *rtc, int reg, u8 value) in ds1685_write() argument 57 writeb(value, ((u8 __iomem *)rtc->regs + in ds1685_write() 58 (reg * rtc->regstep))); in ds1685_write() 76 ds1685_rtc_bcd2bin(struct ds1685_priv *rtc, u8 val, u8 bcd_mask, u8 bin_mask) in ds1685_rtc_bcd2bin() argument 78 if (rtc->bcd_mode) in ds1685_rtc_bcd2bin() 94 ds1685_rtc_bin2bcd(struct ds1685_priv *rtc, u8 val, u8 bin_mask, u8 bcd_mask) in ds1685_rtc_bin2bcd() argument 96 if (rtc->bcd_mode) in ds1685_rtc_bin2bcd() [all …]
|
D | Makefile | 11 obj-$(CONFIG_RTC_CLASS) += rtc-core.o 12 obj-$(CONFIG_RTC_MC146818_LIB) += rtc-mc146818-lib.o 13 rtc-core-y := class.o interface.o 16 rtc-core-y += rtc-efi-platform.o 19 rtc-core-$(CONFIG_RTC_NVMEM) += nvmem.o 20 rtc-core-$(CONFIG_RTC_INTF_DEV) += dev.o 21 rtc-core-$(CONFIG_RTC_INTF_PROC) += proc.o 22 rtc-core-$(CONFIG_RTC_INTF_SYSFS) += sysfs.o 26 obj-$(CONFIG_RTC_DRV_88PM80X) += rtc-88pm80x.o 27 obj-$(CONFIG_RTC_DRV_88PM860X) += rtc-88pm860x.o [all …]
|
D | class.c | 28 struct rtc_device *rtc = to_rtc_device(dev); in rtc_device_release() local 30 ida_simple_remove(&rtc_ida, rtc->id); in rtc_device_release() 31 kfree(rtc); in rtc_device_release() 49 struct rtc_device *rtc = to_rtc_device(dev); in rtc_suspend() local 57 if (strcmp(dev_name(&rtc->dev), CONFIG_RTC_HCTOSYS_DEVICE) != 0) in rtc_suspend() 61 err = rtc_read_time(rtc, &tm); in rtc_suspend() 63 pr_debug("%s: fail to read rtc time\n", dev_name(&rtc->dev)); in rtc_suspend() 94 struct rtc_device *rtc = to_rtc_device(dev); in rtc_resume() local 104 if (strcmp(dev_name(&rtc->dev), CONFIG_RTC_HCTOSYS_DEVICE) != 0) in rtc_resume() 109 err = rtc_read_time(rtc, &tm); in rtc_resume() [all …]
|
D | rtc-omap.c | 137 void (*lock)(struct omap_rtc *rtc); 138 void (*unlock)(struct omap_rtc *rtc); 142 struct rtc_device *rtc; member 155 static inline u8 rtc_read(struct omap_rtc *rtc, unsigned int reg) in rtc_read() argument 157 return readb(rtc->base + reg); in rtc_read() 160 static inline u32 rtc_readl(struct omap_rtc *rtc, unsigned int reg) in rtc_readl() argument 162 return readl(rtc->base + reg); in rtc_readl() 165 static inline void rtc_write(struct omap_rtc *rtc, unsigned int reg, u8 val) in rtc_write() argument 167 writeb(val, rtc->base + reg); in rtc_write() 170 static inline void rtc_writel(struct omap_rtc *rtc, unsigned int reg, u32 val) in rtc_writel() argument [all …]
|
D | interface.c | 20 static int rtc_timer_enqueue(struct rtc_device *rtc, struct rtc_timer *timer); 21 static void rtc_timer_remove(struct rtc_device *rtc, struct rtc_timer *timer); 23 static void rtc_add_offset(struct rtc_device *rtc, struct rtc_time *tm) in rtc_add_offset() argument 27 if (!rtc->offset_secs) in rtc_add_offset() 38 if ((rtc->start_secs > rtc->range_min && secs >= rtc->start_secs) || in rtc_add_offset() 39 (rtc->start_secs < rtc->range_min && in rtc_add_offset() 40 secs <= (rtc->start_secs + rtc->range_max - rtc->range_min))) in rtc_add_offset() 43 rtc_time64_to_tm(secs + rtc->offset_secs, tm); in rtc_add_offset() 46 static void rtc_subtract_offset(struct rtc_device *rtc, struct rtc_time *tm) in rtc_subtract_offset() argument 50 if (!rtc->offset_secs) in rtc_subtract_offset() [all …]
|
D | dev.c | 24 struct rtc_device *rtc = container_of(inode->i_cdev, in rtc_dev_open() local 27 if (test_and_set_bit_lock(RTC_DEV_BUSY, &rtc->flags)) in rtc_dev_open() 30 file->private_data = rtc; in rtc_dev_open() 32 spin_lock_irq(&rtc->irq_lock); in rtc_dev_open() 33 rtc->irq_data = 0; in rtc_dev_open() 34 spin_unlock_irq(&rtc->irq_lock); in rtc_dev_open() 46 struct rtc_device *rtc = in rtc_uie_task() local 52 err = rtc_read_time(rtc, &tm); in rtc_uie_task() 54 spin_lock_irq(&rtc->irq_lock); in rtc_uie_task() 55 if (rtc->stop_uie_polling || err) { in rtc_uie_task() [all …]
|
D | rtc-at91sam9.c | 81 #define rtt_readl(rtc, field) \ argument 82 readl((rtc)->rtt + AT91_RTT_ ## field) 83 #define rtt_writel(rtc, field, val) \ argument 84 writel((val), (rtc)->rtt + AT91_RTT_ ## field) 86 static inline unsigned int gpbr_readl(struct sam9_rtc *rtc) in gpbr_readl() argument 90 regmap_read(rtc->gpbr, rtc->gpbr_offset, &val); in gpbr_readl() 95 static inline void gpbr_writel(struct sam9_rtc *rtc, unsigned int val) in gpbr_writel() argument 97 regmap_write(rtc->gpbr, rtc->gpbr_offset, val); in gpbr_writel() 105 struct sam9_rtc *rtc = dev_get_drvdata(dev); in at91_rtc_readtime() local 110 offset = gpbr_readl(rtc); in at91_rtc_readtime() [all …]
|
D | rtc-sh.c | 110 static int __sh_rtc_interrupt(struct sh_rtc *rtc) in __sh_rtc_interrupt() argument 114 tmp = readb(rtc->regbase + RCR1); in __sh_rtc_interrupt() 117 writeb(tmp, rtc->regbase + RCR1); in __sh_rtc_interrupt() 120 if (pending && rtc->periodic_freq & PF_OXS) in __sh_rtc_interrupt() 121 rtc_update_irq(rtc->rtc_dev, 1, RTC_UF | RTC_IRQF); in __sh_rtc_interrupt() 126 static int __sh_rtc_alarm(struct sh_rtc *rtc) in __sh_rtc_alarm() argument 130 tmp = readb(rtc->regbase + RCR1); in __sh_rtc_alarm() 133 writeb(tmp, rtc->regbase + RCR1); in __sh_rtc_alarm() 136 rtc_update_irq(rtc->rtc_dev, 1, RTC_AF | RTC_IRQF); in __sh_rtc_alarm() 141 static int __sh_rtc_periodic(struct sh_rtc *rtc) in __sh_rtc_periodic() argument [all …]
|
D | rtc-lpc32xx.c | 51 struct rtc_device *rtc; member 58 struct lpc32xx_rtc *rtc = dev_get_drvdata(dev); in lpc32xx_rtc_read_time() local 60 elapsed_sec = rtc_readl(rtc, LPC32XX_RTC_UCOUNT); in lpc32xx_rtc_read_time() 68 struct lpc32xx_rtc *rtc = dev_get_drvdata(dev); in lpc32xx_rtc_set_time() local 72 spin_lock_irq(&rtc->lock); in lpc32xx_rtc_set_time() 75 tmp = rtc_readl(rtc, LPC32XX_RTC_CTRL); in lpc32xx_rtc_set_time() 76 rtc_writel(rtc, LPC32XX_RTC_CTRL, tmp | LPC32XX_RTC_CTRL_CNTR_DIS); in lpc32xx_rtc_set_time() 77 rtc_writel(rtc, LPC32XX_RTC_UCOUNT, secs); in lpc32xx_rtc_set_time() 78 rtc_writel(rtc, LPC32XX_RTC_DCOUNT, 0xFFFFFFFF - secs); in lpc32xx_rtc_set_time() 79 rtc_writel(rtc, LPC32XX_RTC_CTRL, tmp &= ~LPC32XX_RTC_CTRL_CNTR_DIS); in lpc32xx_rtc_set_time() [all …]
|
D | rtc-armada38x.c | 87 void (*update_mbus_timing)(struct armada38x_rtc *rtc); 88 u32 (*read_rtc_reg)(struct armada38x_rtc *rtc, u8 rtc_reg); 89 void (*clear_isr)(struct armada38x_rtc *rtc); 90 void (*unmask_interrupt)(struct armada38x_rtc *rtc); 104 static void rtc_delayed_write(u32 val, struct armada38x_rtc *rtc, int offset) in rtc_delayed_write() argument 106 writel(0, rtc->regs + RTC_STATUS); in rtc_delayed_write() 107 writel(0, rtc->regs + RTC_STATUS); in rtc_delayed_write() 108 writel(val, rtc->regs + offset); in rtc_delayed_write() 113 static void rtc_update_38x_mbus_timing_params(struct armada38x_rtc *rtc) in rtc_update_38x_mbus_timing_params() argument 117 reg = readl(rtc->regs_soc + RTC_38X_BRIDGE_TIMING_CTL); in rtc_update_38x_mbus_timing_params() [all …]
|
D | rtc-st-lpc.c | 53 static void st_rtc_set_hw_alarm(struct st_rtc *rtc, in st_rtc_set_hw_alarm() argument 58 spin_lock_irqsave(&rtc->lock, flags); in st_rtc_set_hw_alarm() 60 writel_relaxed(1, rtc->ioaddr + LPC_WDT_OFF); in st_rtc_set_hw_alarm() 62 writel_relaxed(msb, rtc->ioaddr + LPC_LPA_MSB_OFF); in st_rtc_set_hw_alarm() 63 writel_relaxed(lsb, rtc->ioaddr + LPC_LPA_LSB_OFF); in st_rtc_set_hw_alarm() 64 writel_relaxed(1, rtc->ioaddr + LPC_LPA_START_OFF); in st_rtc_set_hw_alarm() 66 writel_relaxed(0, rtc->ioaddr + LPC_WDT_OFF); in st_rtc_set_hw_alarm() 68 spin_unlock_irqrestore(&rtc->lock, flags); in st_rtc_set_hw_alarm() 73 struct st_rtc *rtc = (struct st_rtc *)data; in st_rtc_handler() local 75 rtc_update_irq(rtc->rtc_dev, 1, RTC_AF); in st_rtc_handler() [all …]
|
D | rtc-sc27xx.c | 104 struct rtc_device *rtc; member 126 static int sprd_rtc_clear_alarm_ints(struct sprd_rtc *rtc) in sprd_rtc_clear_alarm_ints() argument 128 return regmap_write(rtc->regmap, rtc->base + SPRD_RTC_INT_CLR, in sprd_rtc_clear_alarm_ints() 132 static int sprd_rtc_lock_alarm(struct sprd_rtc *rtc, bool lock) in sprd_rtc_lock_alarm() argument 137 ret = regmap_read(rtc->regmap, rtc->base + SPRD_RTC_SPG_VALUE, &val); in sprd_rtc_lock_alarm() 147 ret = regmap_write(rtc->regmap, rtc->base + SPRD_RTC_SPG_UPD, val); in sprd_rtc_lock_alarm() 152 ret = regmap_read_poll_timeout(rtc->regmap, in sprd_rtc_lock_alarm() 153 rtc->base + SPRD_RTC_INT_RAW_STS, val, in sprd_rtc_lock_alarm() 158 dev_err(rtc->dev, "failed to update SPG value:%d\n", ret); in sprd_rtc_lock_alarm() 162 return regmap_write(rtc->regmap, rtc->base + SPRD_RTC_INT_CLR, in sprd_rtc_lock_alarm() [all …]
|
D | rtc-meson.c | 62 struct rtc_device *rtc; /* rtc device we created */ member 81 static void meson_rtc_sclk_pulse(struct meson_rtc *rtc) in meson_rtc_sclk_pulse() argument 84 regmap_update_bits(rtc->peripheral, RTC_ADDR0, RTC_ADDR0_LINE_SCLK, 0); in meson_rtc_sclk_pulse() 86 regmap_update_bits(rtc->peripheral, RTC_ADDR0, RTC_ADDR0_LINE_SCLK, in meson_rtc_sclk_pulse() 90 static void meson_rtc_send_bit(struct meson_rtc *rtc, unsigned int bit) in meson_rtc_send_bit() argument 92 regmap_update_bits(rtc->peripheral, RTC_ADDR0, RTC_ADDR0_LINE_SDI, in meson_rtc_send_bit() 94 meson_rtc_sclk_pulse(rtc); in meson_rtc_send_bit() 97 static void meson_rtc_send_bits(struct meson_rtc *rtc, u32 data, in meson_rtc_send_bits() argument 103 meson_rtc_send_bit(rtc, data & bit); in meson_rtc_send_bits() 108 static void meson_rtc_set_dir(struct meson_rtc *rtc, u32 mode) in meson_rtc_set_dir() argument [all …]
|
D | rtc-lpc24xx.c | 64 struct rtc_device *rtc; member 71 struct lpc24xx_rtc *rtc = dev_get_drvdata(dev); in lpc24xx_rtc_set_time() local 74 rtc_writel(rtc, LPC24XX_CCR, LPC178X_CCALEN); in lpc24xx_rtc_set_time() 76 rtc_writel(rtc, LPC24XX_SEC, tm->tm_sec); in lpc24xx_rtc_set_time() 77 rtc_writel(rtc, LPC24XX_MIN, tm->tm_min); in lpc24xx_rtc_set_time() 78 rtc_writel(rtc, LPC24XX_HOUR, tm->tm_hour); in lpc24xx_rtc_set_time() 79 rtc_writel(rtc, LPC24XX_DOW, tm->tm_wday); in lpc24xx_rtc_set_time() 80 rtc_writel(rtc, LPC24XX_DOM, tm->tm_mday); in lpc24xx_rtc_set_time() 81 rtc_writel(rtc, LPC24XX_DOY, tm->tm_yday); in lpc24xx_rtc_set_time() 82 rtc_writel(rtc, LPC24XX_MONTH, tm->tm_mon); in lpc24xx_rtc_set_time() [all …]
|
D | rtc-cpcap.c | 51 static void cpcap2rtc_time(struct rtc_time *rtc, struct cpcap_time *cpcap) in cpcap2rtc_time() argument 59 rtc_time_to_tm(time, rtc); in cpcap2rtc_time() 62 static void rtc2cpcap_time(struct cpcap_time *cpcap, struct rtc_time *rtc) in rtc2cpcap_time() argument 66 rtc_tm_to_time(rtc, &time); in rtc2cpcap_time() 76 struct cpcap_rtc *rtc = dev_get_drvdata(dev); in cpcap_rtc_alarm_irq_enable() local 78 if (rtc->alarm_enabled == enabled) in cpcap_rtc_alarm_irq_enable() 82 enable_irq(rtc->alarm_irq); in cpcap_rtc_alarm_irq_enable() 84 disable_irq(rtc->alarm_irq); in cpcap_rtc_alarm_irq_enable() 86 rtc->alarm_enabled = !!enabled; in cpcap_rtc_alarm_irq_enable() 93 struct cpcap_rtc *rtc; in cpcap_rtc_read_time() local [all …]
|
D | rtc-stm32.c | 114 void (*clear_events)(struct stm32_rtc *rtc, unsigned int flags); 133 static void stm32_rtc_wpr_unlock(struct stm32_rtc *rtc) in stm32_rtc_wpr_unlock() argument 135 const struct stm32_rtc_registers *regs = &rtc->data->regs; in stm32_rtc_wpr_unlock() 137 writel_relaxed(RTC_WPR_1ST_KEY, rtc->base + regs->wpr); in stm32_rtc_wpr_unlock() 138 writel_relaxed(RTC_WPR_2ND_KEY, rtc->base + regs->wpr); in stm32_rtc_wpr_unlock() 141 static void stm32_rtc_wpr_lock(struct stm32_rtc *rtc) in stm32_rtc_wpr_lock() argument 143 const struct stm32_rtc_registers *regs = &rtc->data->regs; in stm32_rtc_wpr_lock() 145 writel_relaxed(RTC_WPR_WRONG_KEY, rtc->base + regs->wpr); in stm32_rtc_wpr_lock() 148 static int stm32_rtc_enter_init_mode(struct stm32_rtc *rtc) in stm32_rtc_enter_init_mode() argument 150 const struct stm32_rtc_registers *regs = &rtc->data->regs; in stm32_rtc_enter_init_mode() [all …]
|
D | rtc-jz4740.c | 56 struct rtc_device *rtc; member 69 static inline uint32_t jz4740_rtc_reg_read(struct jz4740_rtc *rtc, size_t reg) in jz4740_rtc_reg_read() argument 71 return readl(rtc->base + reg); in jz4740_rtc_reg_read() 74 static int jz4740_rtc_wait_write_ready(struct jz4740_rtc *rtc) in jz4740_rtc_wait_write_ready() argument 80 ctrl = jz4740_rtc_reg_read(rtc, JZ_REG_RTC_CTRL); in jz4740_rtc_wait_write_ready() 86 static inline int jz4780_rtc_enable_write(struct jz4740_rtc *rtc) in jz4780_rtc_enable_write() argument 91 ret = jz4740_rtc_wait_write_ready(rtc); in jz4780_rtc_enable_write() 95 writel(JZ_RTC_WENR_MAGIC, rtc->base + JZ_REG_RTC_WENR); in jz4780_rtc_enable_write() 98 ctrl = readl(rtc->base + JZ_REG_RTC_WENR); in jz4780_rtc_enable_write() 104 static inline int jz4740_rtc_reg_write(struct jz4740_rtc *rtc, size_t reg, in jz4740_rtc_reg_write() argument [all …]
|
D | rtc-mt6397.c | 67 static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc) in mtk_rtc_write_trigger() argument 73 ret = regmap_write(rtc->regmap, rtc->addr_base + RTC_WRTGR, 1); in mtk_rtc_write_trigger() 78 ret = regmap_read(rtc->regmap, rtc->addr_base + RTC_BBPU, in mtk_rtc_write_trigger() 96 struct mt6397_rtc *rtc = data; in mtk_rtc_irq_handler_thread() local 100 ret = regmap_read(rtc->regmap, rtc->addr_base + RTC_IRQ_STA, &irqsta); in mtk_rtc_irq_handler_thread() 102 rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF); in mtk_rtc_irq_handler_thread() 104 mutex_lock(&rtc->lock); in mtk_rtc_irq_handler_thread() 105 if (regmap_write(rtc->regmap, rtc->addr_base + RTC_IRQ_EN, in mtk_rtc_irq_handler_thread() 107 mtk_rtc_write_trigger(rtc); in mtk_rtc_irq_handler_thread() 108 mutex_unlock(&rtc->lock); in mtk_rtc_irq_handler_thread() [all …]
|
D | rtc-pcf50633.c | 62 static void pcf2rtc_time(struct rtc_time *rtc, struct pcf50633_time *pcf) in pcf2rtc_time() argument 64 rtc->tm_sec = bcd2bin(pcf->time[PCF50633_TI_SEC]); in pcf2rtc_time() 65 rtc->tm_min = bcd2bin(pcf->time[PCF50633_TI_MIN]); in pcf2rtc_time() 66 rtc->tm_hour = bcd2bin(pcf->time[PCF50633_TI_HOUR]); in pcf2rtc_time() 67 rtc->tm_wday = bcd2bin(pcf->time[PCF50633_TI_WKDAY]); in pcf2rtc_time() 68 rtc->tm_mday = bcd2bin(pcf->time[PCF50633_TI_DAY]); in pcf2rtc_time() 69 rtc->tm_mon = bcd2bin(pcf->time[PCF50633_TI_MONTH]) - 1; in pcf2rtc_time() 70 rtc->tm_year = bcd2bin(pcf->time[PCF50633_TI_YEAR]) + 100; in pcf2rtc_time() 73 static void rtc2pcf_time(struct pcf50633_time *pcf, struct rtc_time *rtc) in rtc2pcf_time() argument 75 pcf->time[PCF50633_TI_SEC] = bin2bcd(rtc->tm_sec); in rtc2pcf_time() [all …]
|
D | rtc-fsl-ftm-alarm.c | 62 static inline void ftm_counter_enable(struct ftm_rtc *rtc) in ftm_counter_enable() argument 67 val = rtc_readl(rtc, FTM_SC); in ftm_counter_enable() 70 rtc_writel(rtc, FTM_SC, val); in ftm_counter_enable() 73 static inline void ftm_counter_disable(struct ftm_rtc *rtc) in ftm_counter_disable() argument 78 val = rtc_readl(rtc, FTM_SC); in ftm_counter_disable() 80 rtc_writel(rtc, FTM_SC, val); in ftm_counter_disable() 83 static inline void ftm_irq_acknowledge(struct ftm_rtc *rtc) in ftm_irq_acknowledge() argument 108 while ((FTM_SC_TOF & rtc_readl(rtc, FTM_SC)) && timeout--) in ftm_irq_acknowledge() 109 rtc_writel(rtc, FTM_SC, rtc_readl(rtc, FTM_SC) & (~FTM_SC_TOF)); in ftm_irq_acknowledge() 112 static inline void ftm_irq_enable(struct ftm_rtc *rtc) in ftm_irq_enable() argument [all …]
|
D | rtc-da9052.c | 19 #define rtc_err(rtc, fmt, ...) \ argument 20 dev_err(rtc->da9052->dev, "%s: " fmt, __func__, ##__VA_ARGS__) 25 struct rtc_device *rtc; member 29 static int da9052_rtc_enable_alarm(struct da9052_rtc *rtc, bool enable) in da9052_rtc_enable_alarm() argument 33 ret = da9052_reg_update(rtc->da9052, DA9052_ALARM_Y_REG, in da9052_rtc_enable_alarm() 37 rtc_err(rtc, "Failed to enable ALM: %d\n", ret); in da9052_rtc_enable_alarm() 39 ret = da9052_reg_update(rtc->da9052, DA9052_ALARM_Y_REG, in da9052_rtc_enable_alarm() 42 rtc_err(rtc, "Write error: %d\n", ret); in da9052_rtc_enable_alarm() 49 struct da9052_rtc *rtc = data; in da9052_rtc_irq() local 51 rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_AF); in da9052_rtc_irq() [all …]
|
D | rtc-ftrtc010.c | 66 struct ftrtc010_rtc *rtc = dev_get_drvdata(dev); in ftrtc010_rtc_read_time() local 71 sec = readl(rtc->rtc_base + FTRTC010_RTC_SECOND); in ftrtc010_rtc_read_time() 72 min = readl(rtc->rtc_base + FTRTC010_RTC_MINUTE); in ftrtc010_rtc_read_time() 73 hour = readl(rtc->rtc_base + FTRTC010_RTC_HOUR); in ftrtc010_rtc_read_time() 74 days = readl(rtc->rtc_base + FTRTC010_RTC_DAYS); in ftrtc010_rtc_read_time() 75 offset = readl(rtc->rtc_base + FTRTC010_RTC_RECORD); in ftrtc010_rtc_read_time() 86 struct ftrtc010_rtc *rtc = dev_get_drvdata(dev); in ftrtc010_rtc_set_time() local 92 sec = readl(rtc->rtc_base + FTRTC010_RTC_SECOND); in ftrtc010_rtc_set_time() 93 min = readl(rtc->rtc_base + FTRTC010_RTC_MINUTE); in ftrtc010_rtc_set_time() 94 hour = readl(rtc->rtc_base + FTRTC010_RTC_HOUR); in ftrtc010_rtc_set_time() [all …]
|
D | rtc-pl030.c | 24 struct rtc_device *rtc; member 30 struct pl030_rtc *rtc = dev_id; in pl030_interrupt() local 31 writel(0, rtc->base + RTC_EOI); in pl030_interrupt() 37 struct pl030_rtc *rtc = dev_get_drvdata(dev); in pl030_read_alarm() local 39 rtc_time_to_tm(readl(rtc->base + RTC_MR), &alrm->time); in pl030_read_alarm() 45 struct pl030_rtc *rtc = dev_get_drvdata(dev); in pl030_set_alarm() local 56 writel(time, rtc->base + RTC_MR); in pl030_set_alarm() 62 struct pl030_rtc *rtc = dev_get_drvdata(dev); in pl030_read_time() local 64 rtc_time_to_tm(readl(rtc->base + RTC_DR), tm); in pl030_read_time() 79 struct pl030_rtc *rtc = dev_get_drvdata(dev); in pl030_set_time() local [all …]
|
D | nvmem.c | 41 static int rtc_nvram_register(struct rtc_device *rtc, in rtc_nvram_register() argument 46 rtc->nvram = kzalloc(sizeof(*rtc->nvram), GFP_KERNEL); in rtc_nvram_register() 47 if (!rtc->nvram) in rtc_nvram_register() 50 rtc->nvram->attr.name = "nvram"; in rtc_nvram_register() 51 rtc->nvram->attr.mode = 0644; in rtc_nvram_register() 52 rtc->nvram->private = nvmem; in rtc_nvram_register() 54 sysfs_bin_attr_init(rtc->nvram); in rtc_nvram_register() 56 rtc->nvram->read = rtc_nvram_read; in rtc_nvram_register() 57 rtc->nvram->write = rtc_nvram_write; in rtc_nvram_register() 58 rtc->nvram->size = size; in rtc_nvram_register() [all …]
|
/Linux-v5.4/arch/m68k/bvme6000/ |
D | config.c | 171 volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE; in bvme6000_timer_int() local 175 msr = rtc->msr & 0xc0; in bvme6000_timer_int() 176 rtc->msr = msr | 0x20; /* Ack the interrupt */ in bvme6000_timer_int() 196 volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE; in bvme6000_sched_init() local 197 unsigned char msr = rtc->msr & 0xc0; in bvme6000_sched_init() 199 rtc->msr = 0; /* Ensure timer registers accessible */ in bvme6000_sched_init() 205 rtc->t1cr_omr = 0x04; /* Mode 2, ext clk */ in bvme6000_sched_init() 206 rtc->t1msb = RTC_TIMER_COUNT >> 8; in bvme6000_sched_init() 207 rtc->t1lsb = RTC_TIMER_COUNT & 0xff; in bvme6000_sched_init() 208 rtc->irr_icr1 &= 0xef; /* Route timer 1 to INTR pin */ in bvme6000_sched_init() [all …]
|