]> Git Repo - u-boot.git/blame - disk/part_amiga.h
Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sh
[u-boot.git] / disk / part_amiga.h
CommitLineData
83d290c5 1/* SPDX-License-Identifier: GPL-2.0+ */
c7de829c
WD
2/*
3 * (C) Copyright 2000
4 * Hans-Joerg Frieden, Hyperion Entertainment
5 * [email protected]
c7de829c
WD
6 */
7
8#ifndef _DISK_PART_AMIGA_H
9#define _DISK_PART_AMIGA_H
c7de829c 10
1acc0087 11#if CONFIG_IS_ENABLED(ISO_PARTITION)
c7de829c
WD
12/* Make the buffers bigger if ISO partition support is enabled -- CD-ROMS
13 have 2048 byte blocks */
14#define DEFAULT_SECTOR_SIZE 2048
15#else
16#define DEFAULT_SECTOR_SIZE 512
17#endif
18
c7de829c
WD
19#define AMIGA_BLOCK_LIMIT 16
20
21/*
22 * Amiga disks have a very open structure. The head for the partition table information
23 * is stored somewhere within the first 16 blocks on disk, and is called the
24 * "RigidDiskBlock".
25 */
26
8bde7f77 27struct rigid_disk_block
c7de829c
WD
28{
29 u32 id;
30 u32 summed_longs;
31 s32 chk_sum;
32 u32 host_id;
33 u32 block_bytes;
34 u32 flags;
35 u32 bad_block_list;
36 u32 partition_list;
37 u32 file_sys_header_list;
38 u32 drive_init;
39 u32 bootcode_block;
40 u32 reserved_1[5];
8bde7f77 41
c7de829c
WD
42 /* Physical drive geometry */
43 u32 cylinders;
44 u32 sectors;
45 u32 heads;
46 u32 interleave;
47 u32 park;
48 u32 reserved_2[3];
49 u32 write_pre_comp;
50 u32 reduced_write;
51 u32 step_rate;
52 u32 reserved_3[5];
53
54 /* logical drive geometry */
55 u32 rdb_blocks_lo;
56 u32 rdb_blocks_hi;
57 u32 lo_cylinder;
58 u32 hi_cylinder;
59 u32 cyl_blocks;
60 u32 auto_park_seconds;
61 u32 high_rdsk_block;
62 u32 reserved_4;
8bde7f77 63
c7de829c
WD
64 char disk_vendor[8];
65 char disk_product[16];
66 char disk_revision[4];
67 char controller_vendor[8];
68 char controller_product[16];
69 char controller_revision[4];
8bde7f77 70
c7de829c
WD
71 u32 reserved_5[10];
72};
73
74/*
75 * Each partition on this drive is defined by such a block
76 */
77
8bde7f77 78struct partition_block
c7de829c
WD
79{
80 u32 id;
81 u32 summed_longs;
82 s32 chk_sum;
83 u32 host_id;
84 u32 next;
85 u32 flags;
86 u32 reserved_1[2];
87 u32 dev_flags;
88 char drive_name[32];
89 u32 reserved_2[15];
90 u32 environment[17];
91 u32 reserved_3[15];
92};
93
8bde7f77 94struct bootcode_block
c7de829c
WD
95{
96 u32 id;
97 u32 summed_longs;
98 s32 chk_sum;
99 u32 host_id;
100 u32 next;
101 u32 load_data[123];
102};
103
c7de829c
WD
104#define AMIGA_ID_RDISK 0x5244534B
105#define AMIGA_ID_PART 0x50415254
106#define AMIGA_ID_BOOT 0x424f4f54
107
8bde7f77 108/*
c7de829c
WD
109 * The environment array in the partition block
110 * describes the partition
111 */
112
8bde7f77 113struct amiga_part_geometry
c7de829c
WD
114{
115 u32 table_size;
116 u32 size_blocks;
117 u32 unused1;
118 u32 surfaces;
119 u32 sector_per_block;
120 u32 block_per_track;
121 u32 reserved;
122 u32 prealloc;
123 u32 interleave;
124 u32 low_cyl;
125 u32 high_cyl;
126 u32 num_buffers;
127 u32 buf_mem_type;
128 u32 max_transfer;
129 u32 mask;
130 s32 boot_priority;
131 u32 dos_type;
132 u32 baud;
133 u32 control;
134 u32 boot_blocks;
135};
136
137#endif /* _DISK_PART_AMIGA_H_ */
This page took 0.314948 seconds and 4 git commands to generate.