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

2  * ds1302.c - Support for the Dallas Semiconductor DS1302 Timekeeping Chip
36 while (num--) printf("%x ", *ptr++); in DUMP()
57 unsigned char hr10:2; /* 10 (0-2) or am/pm (am/pm, 0-1) */
74 unsigned char WP:1; /* write protect 1=protect 0=unprot */
178 DPRINTF("WRITE 0x%x bytes @ 0x%x [ ", count, addr); in write_ser_drv()
181 addr&=~1; /* WRITE */ in write_ser_drv()
202 /* disable write protect */ in rtc_init()
229 bbclk.year10=100/10; /* 2000 - why not? ;) */ in rtc_init()
234 /* Write out the changes if needed */ in rtc_init()
236 /* enable write protect */ in rtc_init()
240 /* Else just turn write protect on */ in rtc_init()
269 rel = -1; in rtc_get()
272 tmp->tm_sec=10*bbclk.sec10+bbclk.sec; in rtc_get()
273 tmp->tm_min=10*bbclk.min10+bbclk.min; in rtc_get()
274 tmp->tm_hour=10*bbclk.hr10+bbclk.hr; in rtc_get()
275 tmp->tm_wday=bbclk.day; in rtc_get()
276 tmp->tm_mday=10*bbclk.date10+bbclk.date; in rtc_get()
277 tmp->tm_mon=10*bbclk.month10+bbclk.month; in rtc_get()
278 tmp->tm_year=10*bbclk.year10+bbclk.year + 1900; in rtc_get()
280 tmp->tm_yday = 0; in rtc_get()
281 tmp->tm_isdst= 0; in rtc_get()
283 DPRINTF("Get DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n", in rtc_get()
284 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, in rtc_get()
285 tmp->tm_hour, tmp->tm_min, tmp->tm_sec ); in rtc_get()
297 DPRINTF("Set DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n", in rtc_set()
298 tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday, in rtc_set()
299 tmp->tm_hour, tmp->tm_min, tmp->tm_sec); in rtc_set()
303 bbclk.WP=1; /* write protect when we're done */ in rtc_set()
305 bbclk.sec10=tmp->tm_sec/10; in rtc_set()
306 bbclk.sec=tmp->tm_sec%10; in rtc_set()
308 bbclk.min10=tmp->tm_min/10; in rtc_set()
309 bbclk.min=tmp->tm_min%10; in rtc_set()
311 bbclk.hr10=tmp->tm_hour/10; in rtc_set()
312 bbclk.hr=tmp->tm_hour%10; in rtc_set()
314 bbclk.day=tmp->tm_wday; in rtc_set()
316 bbclk.date10=tmp->tm_mday/10; in rtc_set()
317 bbclk.date=tmp->tm_mday%10; in rtc_set()
319 bbclk.month10=tmp->tm_mon/10; in rtc_set()
320 bbclk.month=tmp->tm_mon%10; in rtc_set()
322 tmp->tm_year -= 1900; in rtc_set()
323 bbclk.year10=tmp->tm_year/10; in rtc_set()
324 bbclk.year=tmp->tm_year%10; in rtc_set()
326 write_ser_drv(0x8e,&b,1); /* disable write protect */ in rtc_set()
327 write_ser_drv(0xbe,(unsigned char *)&bbclk, 8); /* write burst */ in rtc_set()