diff options
Diffstat (limited to 'board/toradex/common/tegra2_partitions.h')
-rw-r--r-- | board/toradex/common/tegra2_partitions.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/board/toradex/common/tegra2_partitions.h b/board/toradex/common/tegra2_partitions.h new file mode 100644 index 0000000000..504cd1a5cf --- /dev/null +++ b/board/toradex/common/tegra2_partitions.h @@ -0,0 +1,38 @@ +#ifndef _TEGRA2_PARTITIONS_H_ +#define _TEGRA2_PARTITIONS_H_ + +#define TEGRA_MAX_PARTITIONS 24 + +typedef struct { + unsigned id; + char name[4]; + unsigned allocation_policy; + unsigned _unknown1[2]; + char name2[4]; + unsigned filesystem_type; + unsigned _unknown2[3]; + unsigned virtual_start_sector; + unsigned _unknown3; + unsigned virtual_size; + unsigned _unknown4; + unsigned start_sector; + unsigned _unknown5; + unsigned end_sector; + unsigned _unknown6[2]; + unsigned type; +} __attribute__ ((packed)) nvtegra_partinfo_t; + +typedef struct { + unsigned _unknown[18]; + nvtegra_partinfo_t partinfo[TEGRA_MAX_PARTITIONS]; +} __attribute__ ((packed)) nvtegra_parttable_t; + +void nvtegra_print_partition_table(nvtegra_parttable_t * pt); +int nvtegra_read_partition_table(nvtegra_parttable_t * pt); +int nvtegra_find_partition(nvtegra_parttable_t * pt, const char *name, + nvtegra_partinfo_t ** partinfo); +int nvtegra_mtdparts_string(char *output, int size); +void tegra_partition_init(void); + +#endif /* _TEGRA2_PARTITIONS_H_ */ + |