todc.h
来自「Linux Kernel 2.6.9 for OMAP1710」· C头文件 代码 · 共 468 行 · 第 1/2 页
H
468 行
#define TODC_TYPE_DS1643_YEAR 0x1fff#define TODC_TYPE_DS1643_MONTH 0x1ffe#define TODC_TYPE_DS1643_DOM 0x1ffd /* Day of Month */#define TODC_TYPE_DS1643_DOW 0x1ffc /* Day of Week */#define TODC_TYPE_DS1643_HOURS 0x1ffb#define TODC_TYPE_DS1643_MINUTES 0x1ffa#define TODC_TYPE_DS1643_SECONDS 0x1ff9#define TODC_TYPE_DS1643_CNTL_B 0x1ff9#define TODC_TYPE_DS1643_CNTL_A 0x1ff8 /* control_a R/W regs */#define TODC_TYPE_DS1643_WATCHDOG 0x1fff#define TODC_TYPE_DS1643_INTERRUPTS 0x1fff#define TODC_TYPE_DS1643_ALARM_DATE 0x1fff#define TODC_TYPE_DS1643_ALARM_HOUR 0x1fff#define TODC_TYPE_DS1643_ALARM_MINUTES 0x1fff#define TODC_TYPE_DS1643_ALARM_SECONDS 0x1fff#define TODC_TYPE_DS1643_CENTURY 0x1ff8#define TODC_TYPE_DS1643_FLAGS 0x1fff#define TODC_TYPE_DS1643_NVRAM_ADDR_REG 0#define TODC_TYPE_DS1643_NVRAM_DATA_REG 0#define TODC_TYPE_DS1693_NVRAM_SIZE 0 /* Not handled yet */#define TODC_TYPE_DS1693_SW_FLAGS 0#define TODC_TYPE_DS1693_YEAR 0x09#define TODC_TYPE_DS1693_MONTH 0x08#define TODC_TYPE_DS1693_DOM 0x07 /* Day of Month */#define TODC_TYPE_DS1693_DOW 0x06 /* Day of Week */#define TODC_TYPE_DS1693_HOURS 0x04#define TODC_TYPE_DS1693_MINUTES 0x02#define TODC_TYPE_DS1693_SECONDS 0x00#define TODC_TYPE_DS1693_CNTL_B 0x0b#define TODC_TYPE_DS1693_CNTL_A 0x0a#define TODC_TYPE_DS1693_WATCHDOG 0xff#define TODC_TYPE_DS1693_INTERRUPTS 0xff#define TODC_TYPE_DS1693_ALARM_DATE 0x49#define TODC_TYPE_DS1693_ALARM_HOUR 0x05#define TODC_TYPE_DS1693_ALARM_MINUTES 0x03#define TODC_TYPE_DS1693_ALARM_SECONDS 0x01#define TODC_TYPE_DS1693_CENTURY 0x48#define TODC_TYPE_DS1693_FLAGS 0xff#define TODC_TYPE_DS1693_NVRAM_ADDR_REG 0#define TODC_TYPE_DS1693_NVRAM_DATA_REG 0#define TODC_TYPE_DS1743_NVRAM_SIZE 0x1ff8#define TODC_TYPE_DS1743_SW_FLAGS 0#define TODC_TYPE_DS1743_YEAR 0x1fff#define TODC_TYPE_DS1743_MONTH 0x1ffe#define TODC_TYPE_DS1743_DOM 0x1ffd /* Day of Month */#define TODC_TYPE_DS1743_DOW 0x1ffc /* Day of Week */#define TODC_TYPE_DS1743_HOURS 0x1ffb#define TODC_TYPE_DS1743_MINUTES 0x1ffa#define TODC_TYPE_DS1743_SECONDS 0x1ff9#define TODC_TYPE_DS1743_CNTL_B 0x1ff9#define TODC_TYPE_DS1743_CNTL_A 0x1ff8 /* control_a R/W regs */#define TODC_TYPE_DS1743_WATCHDOG 0x1fff#define TODC_TYPE_DS1743_INTERRUPTS 0x1fff#define TODC_TYPE_DS1743_ALARM_DATE 0x1fff#define TODC_TYPE_DS1743_ALARM_HOUR 0x1fff#define TODC_TYPE_DS1743_ALARM_MINUTES 0x1fff#define TODC_TYPE_DS1743_ALARM_SECONDS 0x1fff#define TODC_TYPE_DS1743_CENTURY 0x1ff8#define TODC_TYPE_DS1743_FLAGS 0x1fff#define TODC_TYPE_DS1743_NVRAM_ADDR_REG 0#define TODC_TYPE_DS1743_NVRAM_DATA_REG 0#define TODC_TYPE_DS1746_NVRAM_SIZE 0x1fff8#define TODC_TYPE_DS1746_SW_FLAGS 0#define TODC_TYPE_DS1746_YEAR 0x1ffff#define TODC_TYPE_DS1746_MONTH 0x1fffe#define TODC_TYPE_DS1746_DOM 0x1fffd /* Day of Month */#define TODC_TYPE_DS1746_DOW 0x1fffc /* Day of Week */#define TODC_TYPE_DS1746_HOURS 0x1fffb#define TODC_TYPE_DS1746_MINUTES 0x1fffa#define TODC_TYPE_DS1746_SECONDS 0x1fff9#define TODC_TYPE_DS1746_CNTL_B 0x1fff9#define TODC_TYPE_DS1746_CNTL_A 0x1fff8 /* control_a R/W regs */#define TODC_TYPE_DS1746_WATCHDOG 0x00000#define TODC_TYPE_DS1746_INTERRUPTS 0x00000#define TODC_TYPE_DS1746_ALARM_DATE 0x00000#define TODC_TYPE_DS1746_ALARM_HOUR 0x00000#define TODC_TYPE_DS1746_ALARM_MINUTES 0x00000#define TODC_TYPE_DS1746_ALARM_SECONDS 0x00000#define TODC_TYPE_DS1746_CENTURY 0x00000#define TODC_TYPE_DS1746_FLAGS 0x00000#define TODC_TYPE_DS1746_NVRAM_ADDR_REG 0#define TODC_TYPE_DS1746_NVRAM_DATA_REG 0#define TODC_TYPE_DS1747_NVRAM_SIZE 0x7fff8#define TODC_TYPE_DS1747_SW_FLAGS 0#define TODC_TYPE_DS1747_YEAR 0x7ffff#define TODC_TYPE_DS1747_MONTH 0x7fffe#define TODC_TYPE_DS1747_DOM 0x7fffd /* Day of Month */#define TODC_TYPE_DS1747_DOW 0x7fffc /* Day of Week */#define TODC_TYPE_DS1747_HOURS 0x7fffb#define TODC_TYPE_DS1747_MINUTES 0x7fffa#define TODC_TYPE_DS1747_SECONDS 0x7fff9#define TODC_TYPE_DS1747_CNTL_B 0x7fff9#define TODC_TYPE_DS1747_CNTL_A 0x7fff8 /* control_a R/W regs */#define TODC_TYPE_DS1747_WATCHDOG 0x00000#define TODC_TYPE_DS1747_INTERRUPTS 0x00000#define TODC_TYPE_DS1747_ALARM_DATE 0x00000#define TODC_TYPE_DS1747_ALARM_HOUR 0x00000#define TODC_TYPE_DS1747_ALARM_MINUTES 0x00000#define TODC_TYPE_DS1747_ALARM_SECONDS 0x00000#define TODC_TYPE_DS1747_CENTURY 0x00000#define TODC_TYPE_DS1747_FLAGS 0x00000#define TODC_TYPE_DS1747_NVRAM_ADDR_REG 0#define TODC_TYPE_DS1747_NVRAM_DATA_REG 0#define TODC_TYPE_DS17285_NVRAM_SIZE (0x1000-0x80) /* 4Kx8 NVRAM (minus RTC regs) */#define TODC_TYPE_DS17285_SW_FLAGS TODC_FLAG_2_LEVEL_NVRAM#define TODC_TYPE_DS17285_SECONDS (TODC_TYPE_DS17285_NVRAM_SIZE + 0x00)#define TODC_TYPE_DS17285_ALARM_SECONDS (TODC_TYPE_DS17285_NVRAM_SIZE + 0x01)#define TODC_TYPE_DS17285_MINUTES (TODC_TYPE_DS17285_NVRAM_SIZE + 0x02)#define TODC_TYPE_DS17285_ALARM_MINUTES (TODC_TYPE_DS17285_NVRAM_SIZE + 0x03)#define TODC_TYPE_DS17285_HOURS (TODC_TYPE_DS17285_NVRAM_SIZE + 0x04)#define TODC_TYPE_DS17285_ALARM_HOUR (TODC_TYPE_DS17285_NVRAM_SIZE + 0x05)#define TODC_TYPE_DS17285_DOW (TODC_TYPE_DS17285_NVRAM_SIZE + 0x06)#define TODC_TYPE_DS17285_DOM (TODC_TYPE_DS17285_NVRAM_SIZE + 0x07)#define TODC_TYPE_DS17285_MONTH (TODC_TYPE_DS17285_NVRAM_SIZE + 0x08)#define TODC_TYPE_DS17285_YEAR (TODC_TYPE_DS17285_NVRAM_SIZE + 0x09)#define TODC_TYPE_DS17285_CNTL_A (TODC_TYPE_DS17285_NVRAM_SIZE + 0x0A)#define TODC_TYPE_DS17285_CNTL_B (TODC_TYPE_DS17285_NVRAM_SIZE + 0x0B)#define TODC_TYPE_DS17285_CNTL_C (TODC_TYPE_DS17285_NVRAM_SIZE + 0x0C)#define TODC_TYPE_DS17285_CNTL_D (TODC_TYPE_DS17285_NVRAM_SIZE + 0x0D)#define TODC_TYPE_DS17285_WATCHDOG 0#define TODC_TYPE_DS17285_INTERRUPTS 0#define TODC_TYPE_DS17285_ALARM_DATE 0#define TODC_TYPE_DS17285_CENTURY 0#define TODC_TYPE_DS17285_FLAGS 0#define TODC_TYPE_DS17285_NVRAM_ADDR_REG 0x50#define TODC_TYPE_DS17285_NVRAM_DATA_REG 0x53 #define TODC_TYPE_MC146818_NVRAM_SIZE 0 /* XXXX */#define TODC_TYPE_MC146818_SW_FLAGS 0#define TODC_TYPE_MC146818_YEAR 0x09#define TODC_TYPE_MC146818_MONTH 0x08#define TODC_TYPE_MC146818_DOM 0x07 /* Day of Month */#define TODC_TYPE_MC146818_DOW 0x06 /* Day of Week */#define TODC_TYPE_MC146818_HOURS 0x04#define TODC_TYPE_MC146818_MINUTES 0x02#define TODC_TYPE_MC146818_SECONDS 0x00#define TODC_TYPE_MC146818_CNTL_B 0x0a#define TODC_TYPE_MC146818_CNTL_A 0x0b /* control_a R/W regs */#define TODC_TYPE_MC146818_WATCHDOG 0#define TODC_TYPE_MC146818_INTERRUPTS 0x0c#define TODC_TYPE_MC146818_ALARM_DATE 0xff#define TODC_TYPE_MC146818_ALARM_HOUR 0x05#define TODC_TYPE_MC146818_ALARM_MINUTES 0x03#define TODC_TYPE_MC146818_ALARM_SECONDS 0x01#define TODC_TYPE_MC146818_CENTURY 0xff#define TODC_TYPE_MC146818_FLAGS 0xff#define TODC_TYPE_MC146818_NVRAM_ADDR_REG 0#define TODC_TYPE_MC146818_NVRAM_DATA_REG 0 #define TODC_TYPE_PC97307_NVRAM_SIZE 0 /* No NVRAM? */#define TODC_TYPE_PC97307_SW_FLAGS 0#define TODC_TYPE_PC97307_YEAR 0x09#define TODC_TYPE_PC97307_MONTH 0x08#define TODC_TYPE_PC97307_DOM 0x07 /* Day of Month */#define TODC_TYPE_PC97307_DOW 0x06 /* Day of Week */#define TODC_TYPE_PC97307_HOURS 0x04#define TODC_TYPE_PC97307_MINUTES 0x02#define TODC_TYPE_PC97307_SECONDS 0x00#define TODC_TYPE_PC97307_CNTL_B 0x0a#define TODC_TYPE_PC97307_CNTL_A 0x0b /* control_a R/W regs */#define TODC_TYPE_PC97307_WATCHDOG 0x0c#define TODC_TYPE_PC97307_INTERRUPTS 0x0d#define TODC_TYPE_PC97307_ALARM_DATE 0xff#define TODC_TYPE_PC97307_ALARM_HOUR 0x05#define TODC_TYPE_PC97307_ALARM_MINUTES 0x03#define TODC_TYPE_PC97307_ALARM_SECONDS 0x01#define TODC_TYPE_PC97307_CENTURY 0xff#define TODC_TYPE_PC97307_FLAGS 0xff#define TODC_TYPE_PC97307_NVRAM_ADDR_REG 0#define TODC_TYPE_PC97307_NVRAM_DATA_REG 0/* * Define macros to allocate and init the todc_info_t table that will * be used by the todc_time.c routines. */#define TODC_ALLOC() \ static todc_info_t todc_info_alloc; \ todc_info_t *todc_info = &todc_info_alloc;#define TODC_INIT(clock_type, as0, as1, data, bits) { \ todc_info->rtc_type = clock_type; \ \ todc_info->nvram_as0 = (unsigned int)(as0); \ todc_info->nvram_as1 = (unsigned int)(as1); \ todc_info->nvram_data = (unsigned int)(data); \ \ todc_info->as0_bits = (bits); \ \ todc_info->nvram_size = clock_type ##_NVRAM_SIZE; \ todc_info->sw_flags = clock_type ##_SW_FLAGS; \ \ todc_info->year = clock_type ##_YEAR; \ todc_info->month = clock_type ##_MONTH; \ todc_info->day_of_month = clock_type ##_DOM; \ todc_info->day_of_week = clock_type ##_DOW; \ todc_info->hours = clock_type ##_HOURS; \ todc_info->minutes = clock_type ##_MINUTES; \ todc_info->seconds = clock_type ##_SECONDS; \ todc_info->control_b = clock_type ##_CNTL_B; \ todc_info->control_a = clock_type ##_CNTL_A; \ todc_info->watchdog = clock_type ##_WATCHDOG; \ todc_info->interrupts = clock_type ##_INTERRUPTS; \ todc_info->alarm_date = clock_type ##_ALARM_DATE; \ todc_info->alarm_hour = clock_type ##_ALARM_HOUR; \ todc_info->alarm_minutes = clock_type ##_ALARM_MINUTES; \ todc_info->alarm_seconds = clock_type ##_ALARM_SECONDS; \ todc_info->century = clock_type ##_CENTURY; \ todc_info->flags = clock_type ##_FLAGS; \ \ todc_info->nvram_addr_reg = clock_type ##_NVRAM_ADDR_REG; \ todc_info->nvram_data_reg = clock_type ##_NVRAM_DATA_REG; \}extern todc_info_t *todc_info;unsigned char todc_direct_read_val(int addr);void todc_direct_write_val(int addr, unsigned char val);unsigned char todc_m48txx_read_val(int addr);void todc_m48txx_write_val(int addr, unsigned char val);unsigned char todc_mc146818_read_val(int addr);void todc_mc146818_write_val(int addr, unsigned char val);long todc_time_init(void);unsigned long todc_get_rtc_time(void);int todc_set_rtc_time(unsigned long nowtime);void todc_calibrate_decr(void);#endif /* __PPC_KERNEL_TODC_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?