xref: /rk3399_ARM-atf/include/drivers/partition/mbr.h (revision 9d068f66b15e644df4961b74b965323c20f21f14)
1201b66b7SHaojian Zhuang /*
2201b66b7SHaojian Zhuang  * Copyright (c) 2016, ARM Limited and Contributors. All rights reserved.
3201b66b7SHaojian Zhuang  *
482cb2c1aSdp-arm  * SPDX-License-Identifier: BSD-3-Clause
5201b66b7SHaojian Zhuang  */
6201b66b7SHaojian Zhuang 
7*c3cf06f1SAntonio Nino Diaz #ifndef MBR_H
8*c3cf06f1SAntonio Nino Diaz #define MBR_H
9201b66b7SHaojian Zhuang 
10201b66b7SHaojian Zhuang #define MBR_OFFSET			0
11201b66b7SHaojian Zhuang 
12201b66b7SHaojian Zhuang #define MBR_PRIMARY_ENTRY_OFFSET	0x1be
13201b66b7SHaojian Zhuang #define MBR_PRIMARY_ENTRY_SIZE		0x10
14201b66b7SHaojian Zhuang #define MBR_PRIMARY_ENTRY_NUMBER	4
15201b66b7SHaojian Zhuang #define MBR_CHS_ADDRESS_LEN		3
16201b66b7SHaojian Zhuang 
17201b66b7SHaojian Zhuang #define MBR_SIGNATURE_FIRST		0x55
18201b66b7SHaojian Zhuang #define MBR_SIGNATURE_SECOND		0xAA
19201b66b7SHaojian Zhuang 
20201b66b7SHaojian Zhuang typedef struct mbr_entry {
21201b66b7SHaojian Zhuang 	unsigned char		status;
22201b66b7SHaojian Zhuang 	unsigned char		first_sector[MBR_CHS_ADDRESS_LEN];
23201b66b7SHaojian Zhuang 	unsigned char		type;
24201b66b7SHaojian Zhuang 	unsigned char		last_sector[MBR_CHS_ADDRESS_LEN];
25201b66b7SHaojian Zhuang 	unsigned int		first_lba;
26201b66b7SHaojian Zhuang 	unsigned int		sector_nums;
27201b66b7SHaojian Zhuang } mbr_entry_t;
28201b66b7SHaojian Zhuang 
29*c3cf06f1SAntonio Nino Diaz #endif /* MBR_H */
30