CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
orangepi-xunlong

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

GitHub Repository: orangepi-xunlong/orangepi-build
Path: blob/next/external/cache/sources/wl/include/bcmotp.h
Views: 3959
1
/*
2
* OTP support.
3
*
4
* $Copyright Open Broadcom Corporation$
5
*
6
* $Id: bcmotp.h 325751 2012-04-04 19:08:48Z nvalji $
7
*/
8
9
#ifndef _bcmotp_h_
10
#define _bcmotp_h_
11
12
/* OTP regions */
13
#define OTP_HW_RGN 1
14
#define OTP_SW_RGN 2
15
#define OTP_CI_RGN 4
16
#define OTP_FUSE_RGN 8
17
#define OTP_ALL_RGN 0xf /* From h/w region to end of OTP including checksum */
18
19
/* OTP Size */
20
#define OTP_SZ_MAX (6144/8) /* maximum bytes in one CIS */
21
22
/* Fixed size subregions sizes in words */
23
#define OTPGU_CI_SZ 2
24
25
/* OTP usage */
26
#define OTP4325_FM_DISABLED_OFFSET 188
27
28
#if defined(BCMNVRAMW) || defined(OTP_REWRITE)
29
/* Global RDE index for chips not having an OTP PMU resource. */
30
#define OTP_GLOBAL_RDE_IDX 0xFF
31
#endif
32
33
/* Exported functions */
34
extern int otp_status(void *oh);
35
extern int otp_size(void *oh);
36
extern uint16 otp_read_bit(void *oh, uint offset);
37
extern void* otp_init(si_t *sih);
38
#if !defined(BCMDONGLEHOST)
39
extern int otp_read_region(si_t *sih, int region, uint16 *data, uint *wlen);
40
extern int otp_read_word(si_t *sih, uint wn, uint16 *data);
41
extern int otp_nvread(void *oh, char *data, uint *len);
42
#ifdef BCMNVRAMW
43
extern int otp_write_region(si_t *sih, int region, uint16 *data, uint wlen);
44
extern int otp_write_word(si_t *sih, uint wn, uint16 data);
45
extern int otp_cis_append_region(si_t *sih, int region, char *vars, int count);
46
extern int otp_lock(si_t *sih);
47
extern int otp_nvwrite(void *oh, uint16 *data, uint wlen);
48
#endif /* BCMNVRAMW */
49
#endif /* !defined(BCMDONGLEHOST) */
50
51
extern int otp_dump(void *oh, int arg, char *buf, uint size);
52
extern int otp_dumpstats(void *oh, int arg, char *buf, uint size);
53
54
#if !defined(BCMDONGLEHOST) && defined(BCMNVRAMW)
55
#define otp_write_rde(oh, rde, bit, val) ipxotp_write_rde(oh, rde, bit, val)
56
extern int otp_write_bits(void *oh, uint offset, int bits, uint8* data);
57
58
#ifdef OTP_DEBUG
59
extern int otp_verify1x(void *oh, uint off, uint fuse);
60
extern int otp_read1x(void *oh, uint off, uint fuse);
61
extern int otp_repair_bit(void *oh, uint off, uint val);
62
extern int otp_write_ones(void *oh, uint off, uint bits);
63
extern int otp_write_ones_old(void *oh, uint off, uint bits);
64
#endif
65
66
#endif /* !defined(BCMDONGLEHOST) && defined(BCMNVRAMW) */
67
68
69
#if !defined(BCMDONGLEHOST) && (defined(BCMNVRAMW) || defined(OTP_REWRITE))
70
extern int ipxotp_write_rde(void *oh, int rde, uint bit, uint val);
71
extern int otp_rewrite_all(void *oh);
72
#endif /* !BCMDONGLEHOST) && (BCMNVRAMW || OTP_REWRITE) */
73
74
#endif /* _bcmotp_h_ */
75
76