[kernel] generic-2.6/2.6.30: refresh patches
[openwrt.git] / target / linux / s3c24xx / files-2.6.30 / drivers / ar6000 / include / dsetid.h
1 /*
2 * Copyright (c) 2004-2007 Atheros Communications Inc.
3 * All rights reserved.
4 *
5 * $ATH_LICENSE_HOSTSDK0_C$
6 *
7 */
8
9 #ifndef __DSETID_H__
10 #define __DSETID_H__
11
12 /* Well-known DataSet IDs */
13 #define DSETID_UNUSED 0x00000000
14 #define DSETID_BOARD_DATA 0x00000001 /* Cal and board data */
15 #define DSETID_REGDB 0x00000002 /* Regulatory Database */
16 #define DSETID_POWER_CONTROL 0x00000003 /* TX Pwr Lim & Ant Gain */
17 #define DSETID_USER_CONFIG 0x00000004 /* User Configuration */
18
19 #define DSETID_ANALOG_CONTROL_DATA_START 0x00000005
20 #define DSETID_ANALOG_CONTROL_DATA_END 0x00000025
21 /*
22 * Get DSETID for various reference clock speeds.
23 * For each speed there are three DataSets that correspond
24 * to the three columns of bank6 data (addr, 11a, 11b/g).
25 * This macro returns the dsetid of the first of those
26 * three DataSets.
27 */
28 #define ANALOG_CONTROL_DATA_DSETID(refclk) \
29 (DSETID_ANALOG_CONTROL_DATA_START + 3*refclk)
30
31 /*
32 * There are TWO STARTUP_PATCH DataSets.
33 * DSETID_STARTUP_PATCH is historical, and was applied before BMI on
34 * earlier systems. On AR6002, it is applied after BMI, just like
35 * DSETID_STARTUP_PATCH2.
36 */
37 #define DSETID_STARTUP_PATCH 0x00000026
38 #define DSETID_GPIO_CONFIG_PATCH 0x00000027
39 #define DSETID_WLANREGS 0x00000028 /* override wlan regs */
40 #define DSETID_STARTUP_PATCH2 0x00000029
41
42 #define DSETID_WOW_CONFIG 0x00000090 /* WoW Configuration */
43
44 /* Add WHAL_INI_DATA_ID to DSETID_INI_DATA for a specific WHAL INI table. */
45 #define DSETID_INI_DATA 0x00000100
46 /* Reserved for WHAL INI Tables: 0x100..0x11f */
47 #define DSETID_INI_DATA_END 0x0000011f
48
49 #define DSETID_VENDOR_START 0x00010000 /* Vendor-defined DataSets */
50
51 #define DSETID_INDEX_END 0xfffffffe /* Reserved to indicate the
52 end of a memory-based
53 DataSet Index */
54 #define DSETID_INDEX_FREE 0xffffffff /* An unused index entry */
55
56 /*
57 * PATCH DataSet format:
58 * A list of patches, terminated by a patch with
59 * address=PATCH_END.
60 *
61 * This allows for patches to be stored in flash.
62 */
63 struct patch_s {
64 A_UINT32 *address;
65 A_UINT32 data;
66 };
67
68 /*
69 * Skip some patches. Can be used to erase a single patch in a
70 * patch DataSet without having to re-write the DataSet. May
71 * also be used to embed information for use by subsequent
72 * patch code. The "data" in a PATCH_SKIP tells how many
73 * bytes of length "patch_s" to skip.
74 */
75 #define PATCH_SKIP ((A_UINT32 *)0x00000000)
76
77 /*
78 * Execute code at the address specified by "data".
79 * The address of the patch structure is passed as
80 * the one parameter.
81 */
82 #define PATCH_CODE_ABS ((A_UINT32 *)0x00000001)
83
84 /*
85 * Same as PATCH_CODE_ABS, but treat "data" as an
86 * offset from the start of the patch word.
87 */
88 #define PATCH_CODE_REL ((A_UINT32 *)0x00000002)
89
90 /* Mark the end of this patch DataSet. */
91 #define PATCH_END ((A_UINT32 *)0xffffffff)
92
93 /*
94 * A DataSet which contains a Binary Patch to some other DataSet
95 * uses the original dsetid with the DSETID_BPATCH_FLAG bit set.
96 * Such a BPatch DataSet consists of BPatch metadata followed by
97 * the bdiff bytes. BPatch metadata consists of a single 32-bit
98 * word that contains the size of the BPatched final image.
99 *
100 * To create a suitable bdiff DataSet, use bdiff in host/tools/bdiff
101 * to create "diffs":
102 * bdiff -q -O -nooldmd5 -nonewmd5 -d ORIGfile NEWfile diffs
103 * Then add BPatch metadata to the start of "diffs".
104 *
105 * NB: There are some implementation-induced restrictions
106 * on which DataSets can be BPatched.
107 */
108 #define DSETID_BPATCH_FLAG 0x80000000
109
110 #endif /* __DSETID_H__ */
This page took 0.046927 seconds and 5 git commands to generate.