Lines Matching +full:write +full:- +full:protect

2  * ds1302.c - Support for the Dallas Semiconductor DS1302 Timekeeping Chip
34 while (num--) printf("%x ", *ptr++); in DUMP()
55 unsigned char hr10:2; /* 10 (0-2) or am/pm (am/pm, 0-1) */
72 unsigned char WP:1; /* write protect 1=protect 0=unprot */
176 DPRINTF("WRITE 0x%x bytes @ 0x%x [ ", count, addr); in write_ser_drv()
179 addr&=~1; /* WRITE */ in write_ser_drv()
200 /* disable write protect */ in rtc_init()
227 bbclk.year10=100/10; /* 2000 - why not? ;) */ in rtc_init()
232 /* Write out the changes if needed */ in rtc_init()
234 /* enable write protect */ in rtc_init()
238 /* Else just turn write protect on */ in rtc_init()
267 rel = -1; in rtc_get()
270 tmp->tm_sec=10*bbclk.sec10+bbclk.sec; in rtc_get()
271 tmp->tm_min=10*bbclk.min10+bbclk.min; in rtc_get()
272 tmp->tm_hour=10*bbclk.hr10+bbclk.hr; in rtc_get()
273 tmp->tm_wday=bbclk.day; in rtc_get()
274 tmp->tm_mday=10*bbclk.date10+bbclk.date; in rtc_get()
275 tmp->tm_mon=10*bbclk.month10+bbclk.month; in rtc_get()
276 tmp->tm_year=10*bbclk.year10+bbclk.year + 1900; in rtc_get()
278 tmp->tm_yday = 0; in rtc_get()
279 tmp->tm_isdst= 0; in rtc_get()
281 DPRINTF("Get DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n", in rtc_get()
282 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, in rtc_get()
283 tmp->tm_hour, tmp->tm_min, tmp->tm_sec ); in rtc_get()
295 DPRINTF("Set DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n", in rtc_set()
296 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, in rtc_set()
297 tmp->tm_hour, tmp->tm_min, tmp->tm_sec); in rtc_set()
301 bbclk.WP=1; /* write protect when we're done */ in rtc_set()
303 bbclk.sec10=tmp->tm_sec/10; in rtc_set()
304 bbclk.sec=tmp->tm_sec%10; in rtc_set()
306 bbclk.min10=tmp->tm_min/10; in rtc_set()
307 bbclk.min=tmp->tm_min%10; in rtc_set()
309 bbclk.hr10=tmp->tm_hour/10; in rtc_set()
310 bbclk.hr=tmp->tm_hour%10; in rtc_set()
312 bbclk.day=tmp->tm_wday; in rtc_set()
314 bbclk.date10=tmp->tm_mday/10; in rtc_set()
315 bbclk.date=tmp->tm_mday%10; in rtc_set()
317 bbclk.month10=tmp->tm_mon/10; in rtc_set()
318 bbclk.month=tmp->tm_mon%10; in rtc_set()
320 tmp->tm_year -= 1900; in rtc_set()
321 bbclk.year10=tmp->tm_year/10; in rtc_set()
322 bbclk.year=tmp->tm_year%10; in rtc_set()
324 write_ser_drv(0x8e,&b,1); /* disable write protect */ in rtc_set()
325 write_ser_drv(0xbe,(unsigned char *)&bbclk, 8); /* write burst */ in rtc_set()