OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-ppc64/] [nvram.h] - Blame information for rev 1275

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 * PreP compliant NVRAM access
3
 * This needs to be updated for PPC64
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version
8
 * 2 of the License, or (at your option) any later version.
9
 */
10
 
11
#ifndef _PPC64_NVRAM_H
12
#define _PPC64_NVRAM_H
13
 
14
#define NVRW_CNT 0x20
15
#define NVRAM_HEADER_LEN 16 /* sizeof(struct nvram_header) */
16
#define NVRAM_BLOCK_LEN 16
17
#define NVRAM_MAX_REQ (2080/NVRAM_BLOCK_LEN)
18
#define NVRAM_MIN_REQ (1056/NVRAM_BLOCK_LEN)
19
 
20
#define NVRAM_AS0  0x74
21
#define NVRAM_AS1  0x75
22
#define NVRAM_DATA 0x77
23
 
24
 
25
/* RTC Offsets */
26
 
27
#define MOTO_RTC_SECONDS        0x1FF9
28
#define MOTO_RTC_MINUTES        0x1FFA
29
#define MOTO_RTC_HOURS          0x1FFB
30
#define MOTO_RTC_DAY_OF_WEEK    0x1FFC
31
#define MOTO_RTC_DAY_OF_MONTH   0x1FFD
32
#define MOTO_RTC_MONTH          0x1FFE
33
#define MOTO_RTC_YEAR           0x1FFF
34
#define MOTO_RTC_CONTROLA       0x1FF8
35
#define MOTO_RTC_CONTROLB       0x1FF9
36
 
37
#ifndef BCD_TO_BIN
38
#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
39
#endif
40
 
41
#ifndef BIN_TO_BCD
42
#define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
43
#endif
44
 
45
#define NVRAM_SIG_SP    0x02    /* support processor */
46
#define NVRAM_SIG_OF    0x50    /* open firmware config */
47
#define NVRAM_SIG_FW    0x51    /* general firmware */
48
#define NVRAM_SIG_HW    0x52    /* hardware (VPD) */
49
#define NVRAM_SIG_SYS   0x70    /* system env vars */
50
#define NVRAM_SIG_CFG   0x71    /* config data */
51
#define NVRAM_SIG_ELOG  0x72    /* error log */
52
#define NVRAM_SIG_VEND  0x7e    /* vendor defined */
53
#define NVRAM_SIG_FREE  0x7f    /* Free space */
54
#define NVRAM_SIG_OS    0xa0    /* OS defined */
55
 
56
/* If change this size, then change the size of NVRAM_HEADER_LEN */
57
struct nvram_header {
58
        unsigned char signature;
59
        unsigned char checksum;
60
        unsigned short length;
61
        char name[12];
62
};
63
 
64
struct nvram_partition {
65
        struct list_head partition;
66
        struct nvram_header header;
67
        unsigned int index;
68
};
69
 
70
 
71
ssize_t read_nvram(char *buf, size_t count, loff_t *index);
72
ssize_t write_nvram(char *buf, size_t count, loff_t *index);
73
int write_error_log_nvram(char * buff, int length, unsigned int err_type);
74
int read_error_log_nvram(char * buff, int length, unsigned int * err_type);
75
int clear_error_log_nvram(void);
76
void print_nvram_partitions(char * label);
77
 
78
#endif /* _PPC64_NVRAM_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.