blob: 3ed0e16372f1af2306b5973ebaf09b6cc9bbf3fa [file] [log] [blame]
stroese0621f6f2004-12-16 18:43:13 +00001/*
2 * (C) Copyright 2004
3 * Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
4 *
5 * See file CREDITS for list of people who contributed to this
6 * project.
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 * MA 02111-1307 USA
22 */
23
24#ifndef _AUTO_UPDATE_H_
25#define _AUTO_UPDATE_H_
26
27#define MBR_MAGIC 0x07081967
28#define MBR_MAGIC_ADDR 0x100 /* offset 0x100 should be free space */
29
30#define AU_MAGIC_FILE "__auto_update"
31
Matthias Fuchs83975d02008-04-21 14:42:06 +020032#define AU_TYPEMASK 0x000000ff
33#define AU_FLAGMASK 0xffff0000
34
35#define AU_PROTECT 0x80000000
36
37#define AU_SCRIPT 0x01
38#define AU_FIRMWARE (0x02 | AU_PROTECT)
39#define AU_NOR 0x03
40#define AU_NAND 0x04
stroese0621f6f2004-12-16 18:43:13 +000041
42struct au_image_s {
43 char name[80];
44 ulong start;
45 ulong size;
Matthias Fuchs83975d02008-04-21 14:42:06 +020046 ulong type;
stroese0621f6f2004-12-16 18:43:13 +000047};
48
49typedef struct au_image_s au_image_t;
50
51int do_auto_update(void);
52#ifdef CONFIG_AUTO_UPDATE_SHOW
53void board_auto_update_show(int au_active);
54#endif
55
56#endif /* #ifndef _AUTO_UPDATE_H_ */