2019-05-11 14:57:15 +00:00
|
|
|
Some of the Linux header files are not available on non Linux host
|
|
|
|
systems like FreeBSD or MacOSX.
|
|
|
|
|
|
|
|
The __le32 and __be32 types are only defined in Linux in
|
|
|
|
asm/byteorder.h, but not on all other BSD systems.
|
|
|
|
Use uint32_t instead of __le32 and __be32.
|
|
|
|
|
|
|
|
__swab32 is also a Linux only function, it looks like be32_to_cpu()
|
|
|
|
would be better here anyway.
|
|
|
|
|
2013-03-09 19:00:39 +00:00
|
|
|
--- a/include/image.h
|
|
|
|
+++ b/include/image.h
|
2019-05-11 14:57:15 +00:00
|
|
|
@@ -16,7 +16,6 @@
|
2013-03-09 19:00:39 +00:00
|
|
|
#define __IMAGE_H__
|
|
|
|
|
|
|
|
#include "compiler.h"
|
|
|
|
-#include <asm/byteorder.h>
|
2019-05-11 14:57:15 +00:00
|
|
|
#include <stdbool.h>
|
2013-03-09 19:00:39 +00:00
|
|
|
|
2013-07-15 23:18:36 +00:00
|
|
|
/* Define this to avoid #ifdefs later on */
|
2019-05-11 14:57:15 +00:00
|
|
|
@@ -317,13 +316,13 @@ enum {
|
2013-03-09 19:00:39 +00:00
|
|
|
* all data in network byte order (aka natural aka bigendian).
|
|
|
|
*/
|
|
|
|
typedef struct image_header {
|
|
|
|
- __be32 ih_magic; /* Image Header Magic Number */
|
|
|
|
- __be32 ih_hcrc; /* Image Header CRC Checksum */
|
|
|
|
- __be32 ih_time; /* Image Creation Timestamp */
|
|
|
|
- __be32 ih_size; /* Image Data Size */
|
|
|
|
- __be32 ih_load; /* Data Load Address */
|
|
|
|
- __be32 ih_ep; /* Entry Point Address */
|
|
|
|
- __be32 ih_dcrc; /* Image Data CRC Checksum */
|
|
|
|
+ uint32_t ih_magic; /* Image Header Magic Number */
|
|
|
|
+ uint32_t ih_hcrc; /* Image Header CRC Checksum */
|
|
|
|
+ uint32_t ih_time; /* Image Creation Timestamp */
|
|
|
|
+ uint32_t ih_size; /* Image Data Size */
|
|
|
|
+ uint32_t ih_load; /* Data Load Address */
|
|
|
|
+ uint32_t ih_ep; /* Entry Point Address */
|
|
|
|
+ uint32_t ih_dcrc; /* Image Data CRC Checksum */
|
|
|
|
uint8_t ih_os; /* Operating System */
|
|
|
|
uint8_t ih_arch; /* CPU architecture */
|
|
|
|
uint8_t ih_type; /* Image Type */
|
2019-05-11 14:57:15 +00:00
|
|
|
--- a/tools/mtk_image.h
|
|
|
|
+++ b/tools/mtk_image.h
|
|
|
|
@@ -15,8 +15,8 @@
|
|
|
|
union gen_boot_header {
|
|
|
|
struct {
|
|
|
|
char name[12];
|
|
|
|
- __le32 version;
|
|
|
|
- __le32 size;
|
|
|
|
+ uint32_t version;
|
|
|
|
+ uint32_t size;
|
|
|
|
};
|
|
|
|
|
|
|
|
uint8_t pad[0x200];
|
|
|
|
@@ -32,14 +32,14 @@ union nand_boot_header {
|
|
|
|
char name[12];
|
|
|
|
char version[4];
|
|
|
|
char id[8];
|
|
|
|
- __le16 ioif;
|
|
|
|
- __le16 pagesize;
|
|
|
|
- __le16 addrcycles;
|
|
|
|
- __le16 oobsize;
|
|
|
|
- __le16 pages_of_block;
|
|
|
|
- __le16 numblocks;
|
|
|
|
- __le16 writesize_shift;
|
|
|
|
- __le16 erasesize_shift;
|
|
|
|
+ uint16_t ioif;
|
|
|
|
+ uint16_t pagesize;
|
|
|
|
+ uint16_t addrcycles;
|
|
|
|
+ uint16_t oobsize;
|
|
|
|
+ uint16_t pages_of_block;
|
|
|
|
+ uint16_t numblocks;
|
|
|
|
+ uint16_t writesize_shift;
|
|
|
|
+ uint16_t erasesize_shift;
|
|
|
|
uint8_t dummy[60];
|
|
|
|
uint8_t ecc_parity[28];
|
|
|
|
};
|
|
|
|
@@ -54,14 +54,14 @@ union nand_boot_header {
|
|
|
|
/* BootROM layout header */
|
|
|
|
struct brom_layout_header {
|
|
|
|
char name[8];
|
|
|
|
- __le32 version;
|
|
|
|
- __le32 header_size;
|
|
|
|
- __le32 total_size;
|
|
|
|
- __le32 magic;
|
|
|
|
- __le32 type;
|
|
|
|
- __le32 header_size_2;
|
|
|
|
- __le32 total_size_2;
|
|
|
|
- __le32 unused;
|
|
|
|
+ uint32_t version;
|
|
|
|
+ uint32_t header_size;
|
|
|
|
+ uint32_t total_size;
|
|
|
|
+ uint32_t magic;
|
|
|
|
+ uint32_t type;
|
|
|
|
+ uint32_t header_size_2;
|
|
|
|
+ uint32_t total_size_2;
|
|
|
|
+ uint32_t unused;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define BRLYT_NAME "BRLYT"
|
|
|
|
@@ -90,8 +90,8 @@ struct gen_device_header {
|
|
|
|
struct gfh_common_header {
|
|
|
|
uint8_t magic[3];
|
|
|
|
uint8_t version;
|
|
|
|
- __le16 size;
|
|
|
|
- __le16 type;
|
|
|
|
+ uint16_t size;
|
|
|
|
+ uint16_t type;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define GFH_HEADER_MAGIC "MMM"
|
|
|
|
@@ -106,17 +106,17 @@ struct gfh_common_header {
|
|
|
|
struct gfh_file_info {
|
|
|
|
struct gfh_common_header gfh;
|
|
|
|
char name[12];
|
|
|
|
- __le32 unused;
|
|
|
|
- __le16 file_type;
|
|
|
|
+ uint32_t unused;
|
|
|
|
+ uint16_t file_type;
|
|
|
|
uint8_t flash_type;
|
|
|
|
uint8_t sig_type;
|
|
|
|
- __le32 load_addr;
|
|
|
|
- __le32 total_size;
|
|
|
|
- __le32 max_size;
|
|
|
|
- __le32 hdr_size;
|
|
|
|
- __le32 sig_size;
|
|
|
|
- __le32 jump_offset;
|
|
|
|
- __le32 processed;
|
|
|
|
+ uint32_t load_addr;
|
|
|
|
+ uint32_t total_size;
|
|
|
|
+ uint32_t max_size;
|
|
|
|
+ uint32_t hdr_size;
|
|
|
|
+ uint32_t sig_size;
|
|
|
|
+ uint32_t jump_offset;
|
|
|
|
+ uint32_t processed;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define GFH_FILE_INFO_NAME "FILE_INFO"
|
|
|
|
@@ -129,16 +129,16 @@ struct gfh_file_info {
|
|
|
|
|
|
|
|
struct gfh_bl_info {
|
|
|
|
struct gfh_common_header gfh;
|
|
|
|
- __le32 attr;
|
|
|
|
+ uint32_t attr;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct gfh_brom_cfg {
|
|
|
|
struct gfh_common_header gfh;
|
|
|
|
- __le32 cfg_bits;
|
|
|
|
- __le32 usbdl_by_auto_detect_timeout_ms;
|
|
|
|
+ uint32_t cfg_bits;
|
|
|
|
+ uint32_t usbdl_by_auto_detect_timeout_ms;
|
|
|
|
uint8_t unused[0x48];
|
|
|
|
- __le32 usbdl_by_kcol0_timeout_ms;
|
|
|
|
- __le32 usbdl_by_flag_timeout_ms;
|
|
|
|
+ uint32_t usbdl_by_kcol0_timeout_ms;
|
|
|
|
+ uint32_t usbdl_by_flag_timeout_ms;
|
|
|
|
uint32_t pad;
|
|
|
|
};
|
|
|
|
|
|
|
|
@@ -157,15 +157,15 @@ struct gfh_anti_clone {
|
|
|
|
uint8_t ac_b2k;
|
|
|
|
uint8_t ac_b2c;
|
|
|
|
uint16_t pad;
|
|
|
|
- __le32 ac_offset;
|
|
|
|
- __le32 ac_len;
|
|
|
|
+ uint32_t ac_offset;
|
|
|
|
+ uint32_t ac_len;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct gfh_brom_sec_cfg {
|
|
|
|
struct gfh_common_header gfh;
|
|
|
|
- __le32 cfg_bits;
|
|
|
|
+ uint32_t cfg_bits;
|
|
|
|
char customer_name[0x20];
|
|
|
|
- __le32 pad;
|
|
|
|
+ uint32_t pad;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define BROM_SEC_CFG_JTAG_EN 1
|
|
|
|
@@ -184,11 +184,11 @@ struct gfh_header {
|
|
|
|
|
|
|
|
union lk_hdr {
|
|
|
|
struct {
|
|
|
|
- __le32 magic;
|
|
|
|
- __le32 size;
|
|
|
|
+ uint32_t magic;
|
|
|
|
+ uint32_t size;
|
|
|
|
char name[32];
|
|
|
|
- __le32 loadaddr;
|
|
|
|
- __le32 mode;
|
|
|
|
+ uint32_t loadaddr;
|
|
|
|
+ uint32_t mode;
|
|
|
|
};
|
|
|
|
|
|
|
|
uint8_t data[512];
|
|
|
|
--- a/tools/zynqmpbif.c
|
|
|
|
+++ b/tools/zynqmpbif.c
|
|
|
|
@@ -517,7 +517,7 @@ static int bif_add_bit(struct bif_entry
|
|
|
|
debug("Bitstream Length: 0x%x\n", bitlen);
|
|
|
|
for (i = 0; i < bitlen; i += sizeof(uint32_t)) {
|
|
|
|
uint32_t *bitbin32 = (uint32_t *)&bitbin[i];
|
|
|
|
- *bitbin32 = __swab32(*bitbin32);
|
|
|
|
+ *bitbin32 = be32_to_cpu(*bitbin32);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!bf->dest_dev)
|