Siarhei Siamashka a275b246a4 fel: Support for enabling MMU after running SPL on new SoC variants
The BROM in newer SoC variants doesn't enable MMU by default anymore.
So in order to benefit from e4b3da2b17ee9d7c5cab9b80e708b3a309fc4c96
("fel: Faster USB transfers via 'fel write' to DRAM"), we need to
be able to enable it from the 'sunxi-fel' tool.

This patch can be interpreted as simply reverting the changes done
by Allwinner and bringing back the MMU support in roughly the same
way as it was before. That's why the values in the hardware
registers and the translation table entries replicate the A20 setup.

Additionally, the code is now more defensive and introduces new
"canary" checks for certain known magic values in the coprocessor
registers in order to safeguard against any unpleasant surprises.

MMU tuning for A80 and A64 will probably need a more sophisticated
setup with a second level page table. Because both the SRAM and
the BROM reside in the same 1MB section there and we need finer
granularity. In other words, enabling the MMU on A80 and A64 is
not supported yet.

Signed-off-by: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Acked-by: Peter Korsgaard <peter@korsgaard.com>
2015-11-24 04:50:26 +02:00
2012-06-15 22:34:22 +02:00
2012-06-15 22:34:22 +02:00
2014-08-02 18:51:32 +02:00
2012-09-29 18:42:17 +02:00
2014-09-06 11:27:03 +02:00
2015-10-23 23:20:41 +03:00
2012-06-15 22:34:22 +02:00
2012-06-15 22:34:22 +02:00
2014-01-28 17:56:25 -03:00
2012-09-29 18:42:17 +02:00

sunxi-tools
Copyright (C) 2012  Alejandro Mery <amery@geeks.cl>

Tools to help hacking Allwinner A10 (aka sun4i) based devices and possibly
it's successors, that's why the 'x' in the package name.

sunxi-fexc:
	`.fex` file (de)compiler

	Usage: ./sunxi-fexc [-vq] [-I <infmt>] [-O <outfmt>] [<input> [<output>]]

	infmt:  fex, bin  (default:fex)
	outfmt: fex, bin  (default:bin)

bin2fex:
	compatibility shortcut to call `fexc` to decompile an script.bin
	blob back into `.fex` format used by allwinner's SDK to configure
	the boards.

fex2bin:
	compatiblity shortcut to call `fexc` to compile a `.fex` file into
	the binary form used by the sun4i kernel.

sunxi-fel:
	script interface for talking to the FEL USB handler built in to
	th CPU. You activate FEL mode by pushing the usboot/recovery
	button at poweron. See http://linux-sunxi.org/FEL/USBBoot for
	a detailed usage guide.

fel-gpio:
	Simple wrapper around fel-pio and fel to allos GPIO manipulations
	via FEL
	
fel-sdboot:
	ARM native sdcard bootloader forcing the device into FEL mode

fel-pio:
	ARM native helper for fel-gpio

sunxi-pio:
	Manipulate PIO register dumps

sunxi-nand-part:
	Tool for manipulating Allwinner NAND partition tables

jtag-loop.sunxi:
	ARM native boot helper to force the SD port into JTAG
	and then stop, to ease debugging of bootloaders.

sunxi-bootinfo:
	Dump information from Allwinner boot files (boot0/boot1)
	--type=sd	include SD boot info
	--type=nand	include NAND boot info (not implemented)

phoenix_info:
	gives information about a phoenix image created by the
	phoenixcard utility and optionally extracts the embedded boot
	code & firmware file from their hidden partitions.

meminfo:
	Tool for reading DRAM settings from registers. Compiled as a
	static binary for use on android and other OSes. To build this,
	get a toolchain, and run:
		make CROSS_COMPILE=arm-linux-gnueabihf- meminfo

script-extractor:
	A simple tool, which can be executed on a rooted Android device
	to dump the script.bin blob from RAM via reading /dev/mem.

This software is licensed under the terms of GPLv2+ as defined by the
Free Software Foundation, details can be read in the COPYING file.
Description
No description provided
Readme 955 KiB
Languages
C 87.6%
Assembly 4%
Makefile 2.6%
Shell 2.3%
Roff 2%
Other 1.5%