3 * Copyright (c) 2011-2015, ARM Limited. All rights reserved.
5 * This program and the accompanying materials
6 * are licensed and made available under the terms and conditions of the BSD License
7 * which accompanies this distribution. The full text of the license may be found at
8 * http://opensource.org/licenses/bsd-license.php
10 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #ifndef __LINUX_ATAG_H__
16 #define __LINUX_ATAG_H__
22 #define ATAG_MAX_SIZE 0x3000
24 /* ATAG : list of possible tags */
25 #define ATAG_NONE 0x00000000
26 #define ATAG_CORE 0x54410001
27 #define ATAG_MEM 0x54410002
28 #define ATAG_VIDEOTEXT 0x54410003
29 #define ATAG_RAMDISK 0x54410004
30 #define ATAG_INITRD2 0x54420005
31 #define ATAG_SERIAL 0x54410006
32 #define ATAG_REVISION 0x54410007
33 #define ATAG_VIDEOLFB 0x54410008
34 #define ATAG_CMDLINE 0x54410009
35 #define ATAG_ARM_MP_CORE 0x5441000A
37 #define next_tag_address(t) ((LINUX_ATAG*)((UINT32)(t) + (((t)->header.size) << 2) ))
38 #define tag_size(type) ((UINT32)((sizeof(LINUX_ATAG_HEADER) + sizeof(type)) >> 2))
41 UINT32 size
; /* length of tag in words including this header */
42 UINT32 type
; /* tag type */
66 } LINUX_ATAG_VIDEOTEXT
;
82 } LINUX_ATAG_SERIALNR
;
86 } LINUX_ATAG_REVISION
;
92 UINT16 lfb_linelength
;
103 } LINUX_ATAG_VIDEOLFB
;
107 } LINUX_ATAG_CMDLINE
;
110 LINUX_ATAG_HEADER header
;
112 LINUX_ATAG_CORE core_tag
;
113 LINUX_ATAG_MEM mem_tag
;
114 LINUX_ATAG_VIDEOTEXT videotext_tag
;
115 LINUX_ATAG_RAMDISK ramdisk_tag
;
116 LINUX_ATAG_INITRD2 initrd2_tag
;
117 LINUX_ATAG_SERIALNR serialnr_tag
;
118 LINUX_ATAG_REVISION revision_tag
;
119 LINUX_ATAG_VIDEOLFB videolfb_tag
;
120 LINUX_ATAG_CMDLINE cmdline_tag
;
124 #endif /* __LINUX_ATAG_H__ */