[PATCH 0/5] MIPS: xburst: add initial JZ4770 SoC support
Antony Pavlov
antonynpavlov at gmail.com
Fri Apr 10 16:22:56 PDT 2015
This patchseries adds initial JZ4770 SoC and Ainol Novo7 Paladin tablet support.
The patchseries can be found on github:
https://github.com/frantony/barebox/tree/20150411.jz4770
The most notable problems and todos:
* no PBL support; I have a PBL-enabled barebox version
for the tablet, so barebox can be used as only bootloader for tablet.
But this version is based on some dirty hacks
e.g. it uses special pre-compiled X-Boot blob for bootstraping.
Nowadays barebox mips PBL is written in assembler
and I see no way to switch it to C. gcc-4.9.1 for mips has no __naked
directive support, see this gcc output
$ cat > 1.c <<EOF;
int __attribute__((naked)) __attribute__((no_instrument_function)) main()
{
}
EOF
$ /opt/mips-2014.11/bin/mips-linux-gnu-gcc -o 1.o 1.c
1.c:2:1: warning: 'naked' attribute directive ignored [-Wattributes]
{
^
So for moving X-Boot bootstrap C-code into barebox PBL we have to convert it
from C to assembler language :(
Please see JZ4770 bootstrap code in these repos:
https://github.com/gcwnow/UBIBoot/
https://github.com/IngenicSemiconductor/X-BOOT_NPM801
* no clk support just now; we can easely steal it from linux
JZ4780 support code (see wip-ci20-v4.1 branch in https://github.com/paulburton/linux);
* no hardware clocksource support; this can be easely fixed,
see linux JZ4780 support code again;
also see https://github.com/frantony/barebox/blob/next.xburst.jz4770.20130511/arch/mips/mach-xburst/csrc-jz4770.c
Antony Pavlov (5):
MIPS: xburst: add JZ4770 SoC support
MIPS: xburst: debug_ll: add JZ4770 support
MIPS: xburst: add Ainol Novo7 Paladin support
MIPS: add ainol-novo7-paladin_defconfig
Documentation: add Ainol Novo7 Paladin board mini-howto
Documentation/boards/mips/ainol-novo7-paladin.rst | 45 +++++++++++
arch/mips/Makefile | 1 +
arch/mips/boards/ainol-novo7-paladin/Makefile | 1 +
arch/mips/boards/ainol-novo7-paladin/board.c | 27 +++++++
.../ainol-novo7-paladin/include/board/debug_ll.h | 23 ++++++
arch/mips/configs/ainol-novo7-paladin_defconfig | 42 ++++++++++
arch/mips/dts/ainol-novo7-paladin.dts | 34 ++++++++
arch/mips/dts/jz4770.dtsi | 90 ++++++++++++++++++++++
arch/mips/include/asm/cpu.h | 1 +
arch/mips/lib/cpu-probe.c | 1 +
arch/mips/mach-xburst/Kconfig | 18 ++++-
.../mach-xburst/include/mach/debug_ll_jz4770.h | 47 +++++++++++
arch/mips/mach-xburst/include/mach/jz4770.h | 25 ++++++
13 files changed, 351 insertions(+), 4 deletions(-)
create mode 100644 Documentation/boards/mips/ainol-novo7-paladin.rst
create mode 100644 arch/mips/boards/ainol-novo7-paladin/Makefile
create mode 100644 arch/mips/boards/ainol-novo7-paladin/board.c
create mode 100644 arch/mips/boards/ainol-novo7-paladin/include/board/debug_ll.h
create mode 100644 arch/mips/configs/ainol-novo7-paladin_defconfig
create mode 100644 arch/mips/dts/ainol-novo7-paladin.dts
create mode 100644 arch/mips/dts/jz4770.dtsi
create mode 100644 arch/mips/mach-xburst/include/mach/debug_ll_jz4770.h
create mode 100644 arch/mips/mach-xburst/include/mach/jz4770.h
--
2.1.4
More information about the barebox
mailing list