xref: /OK3568_Linux_fs/kernel/Documentation/arm/setup.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun=============================================
2*4882a593SmuzhiyunKernel initialisation parameters on ARM Linux
3*4882a593Smuzhiyun=============================================
4*4882a593Smuzhiyun
5*4882a593SmuzhiyunThe following document describes the kernel initialisation parameter
6*4882a593Smuzhiyunstructure, otherwise known as 'struct param_struct' which is used
7*4882a593Smuzhiyunfor most ARM Linux architectures.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunThis structure is used to pass initialisation parameters from the
10*4882a593Smuzhiyunkernel loader to the Linux kernel proper, and may be short lived
11*4882a593Smuzhiyunthrough the kernel initialisation process.  As a general rule, it
12*4882a593Smuzhiyunshould not be referenced outside of arch/arm/kernel/setup.c:setup_arch().
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunThere are a lot of parameters listed in there, and they are described
15*4882a593Smuzhiyunbelow:
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun page_size
18*4882a593Smuzhiyun   This parameter must be set to the page size of the machine, and
19*4882a593Smuzhiyun   will be checked by the kernel.
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun nr_pages
22*4882a593Smuzhiyun   This is the total number of pages of memory in the system.  If
23*4882a593Smuzhiyun   the memory is banked, then this should contain the total number
24*4882a593Smuzhiyun   of pages in the system.
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun   If the system contains separate VRAM, this value should not
27*4882a593Smuzhiyun   include this information.
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun ramdisk_size
30*4882a593Smuzhiyun   This is now obsolete, and should not be used.
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun flags
33*4882a593Smuzhiyun   Various kernel flags, including:
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun    =====   ========================
36*4882a593Smuzhiyun    bit 0   1 = mount root read only
37*4882a593Smuzhiyun    bit 1   unused
38*4882a593Smuzhiyun    bit 2   0 = load ramdisk
39*4882a593Smuzhiyun    bit 3   0 = prompt for ramdisk
40*4882a593Smuzhiyun    =====   ========================
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun rootdev
43*4882a593Smuzhiyun   major/minor number pair of device to mount as the root filesystem.
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun video_num_cols / video_num_rows
46*4882a593Smuzhiyun   These two together describe the character size of the dummy console,
47*4882a593Smuzhiyun   or VGA console character size.  They should not be used for any other
48*4882a593Smuzhiyun   purpose.
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun   It's generally a good idea to set these to be either standard VGA, or
51*4882a593Smuzhiyun   the equivalent character size of your fbcon display.  This then allows
52*4882a593Smuzhiyun   all the bootup messages to be displayed correctly.
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun video_x / video_y
55*4882a593Smuzhiyun   This describes the character position of cursor on VGA console, and
56*4882a593Smuzhiyun   is otherwise unused. (should not be used for other console types, and
57*4882a593Smuzhiyun   should not be used for other purposes).
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun memc_control_reg
60*4882a593Smuzhiyun   MEMC chip control register for Acorn Archimedes and Acorn A5000
61*4882a593Smuzhiyun   based machines.  May be used differently by different architectures.
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun sounddefault
64*4882a593Smuzhiyun   Default sound setting on Acorn machines.  May be used differently by
65*4882a593Smuzhiyun   different architectures.
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun adfsdrives
68*4882a593Smuzhiyun   Number of ADFS/MFM disks.  May be used differently by different
69*4882a593Smuzhiyun   architectures.
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun bytes_per_char_h / bytes_per_char_v
72*4882a593Smuzhiyun   These are now obsolete, and should not be used.
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun pages_in_bank[4]
75*4882a593Smuzhiyun   Number of pages in each bank of the systems memory (used for RiscPC).
76*4882a593Smuzhiyun   This is intended to be used on systems where the physical memory
77*4882a593Smuzhiyun   is non-contiguous from the processors point of view.
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun pages_in_vram
80*4882a593Smuzhiyun   Number of pages in VRAM (used on Acorn RiscPC).  This value may also
81*4882a593Smuzhiyun   be used by loaders if the size of the video RAM can't be obtained
82*4882a593Smuzhiyun   from the hardware.
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun initrd_start / initrd_size
85*4882a593Smuzhiyun   This describes the kernel virtual start address and size of the
86*4882a593Smuzhiyun   initial ramdisk.
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun rd_start
89*4882a593Smuzhiyun   Start address in sectors of the ramdisk image on a floppy disk.
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun system_rev
92*4882a593Smuzhiyun   system revision number.
93*4882a593Smuzhiyun
94*4882a593Smuzhiyun system_serial_low / system_serial_high
95*4882a593Smuzhiyun   system 64-bit serial number
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun mem_fclk_21285
98*4882a593Smuzhiyun   The speed of the external oscillator to the 21285 (footbridge),
99*4882a593Smuzhiyun   which control's the speed of the memory bus, timer & serial port.
100*4882a593Smuzhiyun   Depending upon the speed of the cpu its value can be between
101*4882a593Smuzhiyun   0-66 MHz. If no params are passed or a value of zero is passed,
102*4882a593Smuzhiyun   then a value of 50 Mhz is the default on 21285 architectures.
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun paths[8][128]
105*4882a593Smuzhiyun   These are now obsolete, and should not be used.
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun commandline
108*4882a593Smuzhiyun   Kernel command line parameters.  Details can be found elsewhere.
109