1*ec62a746SCosta Shulyupin.. SPDX-License-Identifier: GPL-2.0 2*ec62a746SCosta Shulyupin 3*ec62a746SCosta ShulyupinBMIPS DeviceTree Booting 4*ec62a746SCosta Shulyupin------------------------ 5*ec62a746SCosta Shulyupin 6*ec62a746SCosta Shulyupin Some bootloaders only support a single entry point, at the start of the 7*ec62a746SCosta Shulyupin kernel image. Other bootloaders will jump to the ELF start address. 8*ec62a746SCosta Shulyupin Both schemes are supported; CONFIG_BOOT_RAW=y and CONFIG_NO_EXCEPT_FILL=y, 9*ec62a746SCosta Shulyupin so the first instruction immediately jumps to kernel_entry(). 10*ec62a746SCosta Shulyupin 11*ec62a746SCosta Shulyupin Similar to the arch/arm case (b), a DT-aware bootloader is expected to 12*ec62a746SCosta Shulyupin set up the following registers: 13*ec62a746SCosta Shulyupin 14*ec62a746SCosta Shulyupin a0 : 0 15*ec62a746SCosta Shulyupin 16*ec62a746SCosta Shulyupin a1 : 0xffffffff 17*ec62a746SCosta Shulyupin 18*ec62a746SCosta Shulyupin a2 : Physical pointer to the device tree block (defined in chapter 19*ec62a746SCosta Shulyupin II) in RAM. The device tree can be located anywhere in the first 20*ec62a746SCosta Shulyupin 512MB of the physical address space (0x00000000 - 0x1fffffff), 21*ec62a746SCosta Shulyupin aligned on a 64 bit boundary. 22*ec62a746SCosta Shulyupin 23*ec62a746SCosta Shulyupin Legacy bootloaders do not use this convention, and they do not pass in a 24*ec62a746SCosta Shulyupin DT block. In this case, Linux will look for a builtin DTB, selected via 25*ec62a746SCosta Shulyupin CONFIG_DT_*. 26*ec62a746SCosta Shulyupin 27*ec62a746SCosta Shulyupin This convention is defined for 32-bit systems only, as there are not 28*ec62a746SCosta Shulyupin currently any 64-bit BMIPS implementations. 29