Bump buidlroot version to 2018.02.6
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
# post-image.sh for SoCkit/SoCDK
|
||||
# 2014, "Roman Diouskine" <roman.diouskine@savoirfairelinux.com>
|
||||
# 2014, "Sebastien Bourdelin" <sebastien.bourdelin@savoirfairelinux.com>
|
||||
|
||||
# create a DTB file copy with the name expected by the u-boot config
|
||||
# Name of the DTB is passed as the second argument to the script.
|
||||
cp -af $BINARIES_DIR/${2}.dtb $BINARIES_DIR/socfpga.dtb
|
||||
@@ -1,165 +0,0 @@
|
||||
SoCkit, SoC Development Kit
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
This is the buildroot board support for the Arrow SoCkit Evaluation Board
|
||||
and the Altera Cyclone 5 Development Board.
|
||||
|
||||
A good source of information for Arrow SoCkit:
|
||||
http://www.rocketboards.org/foswiki/Documentation/ArrowSoCKitEvaluationBoard
|
||||
|
||||
More information about SoC DK:
|
||||
https://www.altera.com/products/boards_and_kits/dev-kits/altera/kit-cyclone-v-soc.html
|
||||
|
||||
How it works
|
||||
============
|
||||
|
||||
Boot process:
|
||||
-------------
|
||||
|
||||
In summary, the bootloader has multiple stages, an hardcoded boot routine is
|
||||
loaded from an on-chip ROM.
|
||||
|
||||
- That first stage is scanning the SD card's partition table to find
|
||||
partition having the 0xA2 type.
|
||||
- This partition is expected to contain a boot image on its first 60 Kb,
|
||||
because u-boot is bigger, we must fill it with a preloader (u-boot-spl)
|
||||
which will load the u-boot image.
|
||||
- Then the u-boot image will load the Linux kernel.
|
||||
|
||||
A good source of information for the boot process is:
|
||||
http://xillybus.com/tutorials/u-boot-image-altera-soc
|
||||
|
||||
Note for the SPL:
|
||||
The SPL generated by the u-boot from Rocketboards doesn't seems to work,
|
||||
therefore we provide a patch for {uboot-PKG}/board/altera/socfpga_cyclone5/*
|
||||
based on the files generated with the Altera example design.
|
||||
|
||||
For more information about this files please look at:
|
||||
http://www.rocketboards.org/foswiki/Documentation/PreloaderUbootCustomization#Common_Source_Code
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot
|
||||
-------------------
|
||||
|
||||
The altera_sockit_defconfig configuration is a minimal configuration with
|
||||
all that is required to bring the SoCkit:
|
||||
|
||||
$ make altera_sockit_defconfig
|
||||
|
||||
and for the SoC Development Board:
|
||||
|
||||
$ make altera_sockdk_defconfig
|
||||
|
||||
Build everything
|
||||
----------------
|
||||
|
||||
Note: you will need to have access to the network, since Buildroot will
|
||||
download the packages' sources.
|
||||
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should obtain this tree:
|
||||
|
||||
output/images/
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext3 -> rootfs.ext2
|
||||
├── rootfs.tar
|
||||
├── socfpga_cyclone5_sockit.dtb or socfpga_cyclone5_socdk.dtb
|
||||
├── socfpga.dtb
|
||||
├── u-boot.img
|
||||
├── u-boot-spl.bin
|
||||
└── uImage
|
||||
|
||||
|
||||
Signing the Preloader
|
||||
---------------------
|
||||
|
||||
*** BEWARE ****
|
||||
The u-boot-spl.bin must be signed using the Altera's tool "mkpimage".
|
||||
This tool comes as a part of the Altera development environnment (SoC EDS).
|
||||
A fork of this tool have been done by Maxime Hadjinlian and can be found here:
|
||||
https://github.com/maximeh/mkpimage
|
||||
|
||||
Remember that without signing the u-boot-spl.bin, the board will not boot !!!
|
||||
|
||||
$ mkpimage u-boot-spl.bin -o u-boot-spl-signed.bin
|
||||
|
||||
Prepare your SDcard
|
||||
===================
|
||||
|
||||
A good source of information for the partitioning process is:
|
||||
http://www.rocketboards.org/foswiki/view/Projects/SoCKitLinaroLinuxDesktop#Partition_the_SD_Card
|
||||
|
||||
Create the SDcard partition table
|
||||
----------------------------------
|
||||
|
||||
Determine the device associated to the SD card:
|
||||
|
||||
$ cat /proc/partitions
|
||||
|
||||
let's assume it is /dev/mmcblk0:
|
||||
|
||||
$ sudo fdisk /dev/mmcblk0
|
||||
|
||||
Delete all previous partitions with 'd' then create the new partition table,
|
||||
using these options, pressing enter after each one:
|
||||
|
||||
* n p 1 9000000 +20480K t 1 b
|
||||
* n p 2 4096 +4496384K t 83
|
||||
* n p 3 2048 +1024K t 3 a2
|
||||
|
||||
Using the 'p' option, the SD card's partition must look like this:
|
||||
|
||||
Device Boot Start End Blocks Id System
|
||||
/dev/mmcblk0p1 9000000 9041919 20960 b W95 FAT32
|
||||
/dev/mmcblk0p2 4096 8996863 4496384 83 Linux
|
||||
/dev/mmcblk0p3 2048 4095 1024 a2 Unknown
|
||||
|
||||
Then write the partition table using 'w' and exit.
|
||||
|
||||
Make partition one a DOS partition:
|
||||
|
||||
$ sudo mkdosfs /dev/mmcblk0p1
|
||||
|
||||
Install the binaries to the SDcard
|
||||
----------------------------------
|
||||
|
||||
Remember your binaries are located in output/images/, go inside that directory:
|
||||
|
||||
$ cd output/images
|
||||
|
||||
The partition with type a2 is the partition scan by the first bootloader stage
|
||||
in the SoCkit ROM to find the next bootloader stage so we must write the signed
|
||||
preloader and the u-boot binaries in that partition:
|
||||
|
||||
$ sudo dd if=u-boot-spl-signed.bin of=/dev/mmcblk0p3 bs=64k seek=0
|
||||
$ sudo dd if=u-boot.img of=/dev/mmcblk0p3 bs=64k seek=4
|
||||
|
||||
Copy the Linux kernel and its Device tree:
|
||||
|
||||
$ sudo mkdir /mnt/sdcard
|
||||
$ sudo mount /dev/mmcblk0p1 /mnt/sdcard
|
||||
$ sudo cp socfpga.dtb uImage /mnt/sdcard
|
||||
$ sudo umount /mnt/sdcard
|
||||
|
||||
Copy the rootfs:
|
||||
|
||||
$ sudo dd if=rootfs.ext2 of=/dev/mmcblk0p2 bs=64k
|
||||
$ sudo sync
|
||||
|
||||
It's Done!
|
||||
|
||||
Finish
|
||||
======
|
||||
|
||||
Eject your SDcard, insert it in your SoCkit, and power it up.
|
||||
|
||||
if you want a serial console, you can plug a micro B USB cable on the USB-UART
|
||||
port, the serial port config to used is 57600/8-N-1.
|
||||
@@ -1,820 +0,0 @@
|
||||
From c70f2ebb350da20af1a0ed4b7960b8e5a1952713 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastien Bourdelin <sebastien.bourdelin@savoirfairelinux.com>
|
||||
Date: Thu, 20 Feb 2014 11:51:31 -0500
|
||||
Subject: [PATCH] board: add to sockit a working preloader design
|
||||
|
||||
---
|
||||
board/altera/socfpga_cyclone5/build.h | 2 +-
|
||||
board/altera/socfpga_cyclone5/iocsr_config.c | 314 ++++++++++-----------
|
||||
board/altera/socfpga_cyclone5/pinmux_config.c | 32 +--
|
||||
board/altera/socfpga_cyclone5/pinmux_config.h | 8 +-
|
||||
board/altera/socfpga_cyclone5/sdram/sdram_config.h | 14 +-
|
||||
.../altera/socfpga_cyclone5/sdram/sequencer_auto.h | 16 +-
|
||||
.../sdram/sequencer_auto_ac_init.c | 16 +-
|
||||
.../socfpga_cyclone5/sdram/sequencer_defines.h | 34 +--
|
||||
8 files changed, 218 insertions(+), 218 deletions(-)
|
||||
|
||||
diff --git a/board/altera/socfpga_cyclone5/build.h b/board/altera/socfpga_cyclone5/build.h
|
||||
index e5d9c3c..a369015 100644
|
||||
--- a/board/altera/socfpga_cyclone5/build.h
|
||||
+++ b/board/altera/socfpga_cyclone5/build.h
|
||||
@@ -29,7 +29,7 @@
|
||||
* Handoff files must provide user option whether to
|
||||
* enable watchdog during preloader execution phase
|
||||
*/
|
||||
-#define CONFIG_PRELOADER_WATCHDOG_ENABLE (0)
|
||||
+#define CONFIG_PRELOADER_WATCHDOG_ENABLE (1)
|
||||
|
||||
/*
|
||||
* Handoff files must provide user option whether to enable
|
||||
diff --git a/board/altera/socfpga_cyclone5/iocsr_config.c b/board/altera/socfpga_cyclone5/iocsr_config.c
|
||||
index fa663e1..90fc154 100644
|
||||
--- a/board/altera/socfpga_cyclone5/iocsr_config.c
|
||||
+++ b/board/altera/socfpga_cyclone5/iocsr_config.c
|
||||
@@ -7,113 +7,113 @@ const unsigned long iocsr_scan_chain0_table[((CONFIG_HPS_IOCSR_SCANCHAIN0_LENGTH
|
||||
0xC0000000,
|
||||
0x0000003F,
|
||||
0x00008000,
|
||||
- 0x00020080,
|
||||
- 0x08020000,
|
||||
- 0x08000000,
|
||||
- 0x00018020,
|
||||
+ 0x00060180,
|
||||
+ 0x18060000,
|
||||
+ 0x18000000,
|
||||
+ 0x00018060,
|
||||
0x00000000,
|
||||
0x00004000,
|
||||
- 0x00010040,
|
||||
- 0x04010000,
|
||||
- 0x04000000,
|
||||
- 0x00000010,
|
||||
- 0x00004010,
|
||||
+ 0x000300C0,
|
||||
+ 0x0C030000,
|
||||
+ 0x0C000000,
|
||||
+ 0x00000030,
|
||||
+ 0x0000C030,
|
||||
0x00002000,
|
||||
- 0x00020000,
|
||||
- 0x02008000,
|
||||
- 0x02000000,
|
||||
- 0x00000008,
|
||||
- 0x00002008,
|
||||
+ 0x00018060,
|
||||
+ 0x06018000,
|
||||
+ 0x06000000,
|
||||
+ 0x00000018,
|
||||
+ 0x00006018,
|
||||
0x00001000,
|
||||
};
|
||||
|
||||
const unsigned long iocsr_scan_chain1_table[((CONFIG_HPS_IOCSR_SCANCHAIN1_LENGTH / 32) + 1)] = {
|
||||
- 0x000C0300,
|
||||
- 0x10040000,
|
||||
- 0x100000C0,
|
||||
- 0x00000040,
|
||||
- 0x00010040,
|
||||
+ 0x00100000,
|
||||
+ 0x300C0000,
|
||||
+ 0x300000C0,
|
||||
+ 0x000000C0,
|
||||
+ 0x000300C0,
|
||||
0x00008000,
|
||||
0x00080000,
|
||||
- 0x18060000,
|
||||
- 0x18000000,
|
||||
- 0x00000060,
|
||||
- 0x00018060,
|
||||
+ 0x20000000,
|
||||
+ 0x00000000,
|
||||
+ 0x00000080,
|
||||
+ 0x00020000,
|
||||
0x00004000,
|
||||
- 0x00010040,
|
||||
+ 0x000300C0,
|
||||
0x10000000,
|
||||
- 0x04000000,
|
||||
- 0x00000010,
|
||||
- 0x00004010,
|
||||
+ 0x0C000000,
|
||||
+ 0x00000030,
|
||||
+ 0x0000C030,
|
||||
0x00002000,
|
||||
- 0x06008020,
|
||||
- 0x02008000,
|
||||
+ 0x06018060,
|
||||
+ 0x06018000,
|
||||
0x01FE0000,
|
||||
0xF8000000,
|
||||
0x00000007,
|
||||
0x00001000,
|
||||
- 0x00004010,
|
||||
- 0x01004000,
|
||||
- 0x01000000,
|
||||
- 0x00003004,
|
||||
- 0x00001004,
|
||||
+ 0x0000C030,
|
||||
+ 0x0300C000,
|
||||
+ 0x03000000,
|
||||
+ 0x0000300C,
|
||||
+ 0x0000300C,
|
||||
0x00000800,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
- 0x00800000,
|
||||
- 0x00000002,
|
||||
+ 0x01800000,
|
||||
+ 0x00000006,
|
||||
0x00002000,
|
||||
0x00000400,
|
||||
0x00000000,
|
||||
- 0x00401000,
|
||||
+ 0x00C03000,
|
||||
0x00000003,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000200,
|
||||
- 0x00600802,
|
||||
+ 0x00601806,
|
||||
0x00000000,
|
||||
- 0x80200000,
|
||||
- 0x80000600,
|
||||
- 0x00000200,
|
||||
+ 0x80600000,
|
||||
+ 0x80000601,
|
||||
+ 0x00000601,
|
||||
0x00000100,
|
||||
- 0x00300401,
|
||||
- 0xC0100400,
|
||||
- 0x40100000,
|
||||
- 0x40000300,
|
||||
- 0x000C0100,
|
||||
+ 0x00300C03,
|
||||
+ 0xC0300C00,
|
||||
+ 0xC0300000,
|
||||
+ 0xC0000300,
|
||||
+ 0x000C0300,
|
||||
0x00000080,
|
||||
};
|
||||
|
||||
const unsigned long iocsr_scan_chain2_table[((CONFIG_HPS_IOCSR_SCANCHAIN2_LENGTH / 32) + 1)] = {
|
||||
- 0x80040100,
|
||||
+ 0x300C0300,
|
||||
0x00000000,
|
||||
0x0FF00000,
|
||||
0x00000000,
|
||||
- 0x0C010040,
|
||||
+ 0x0C0300C0,
|
||||
0x00008000,
|
||||
- 0x18020080,
|
||||
- 0x00000000,
|
||||
- 0x08000000,
|
||||
- 0x00040020,
|
||||
- 0x06018060,
|
||||
+ 0x18060180,
|
||||
+ 0x18060000,
|
||||
+ 0x18000000,
|
||||
+ 0x00018060,
|
||||
+ 0x00018060,
|
||||
0x00004000,
|
||||
- 0x0C010040,
|
||||
- 0x04010000,
|
||||
+ 0x000300C0,
|
||||
+ 0x0C030000,
|
||||
0x00000030,
|
||||
0x00000000,
|
||||
- 0x03004010,
|
||||
+ 0x0300C030,
|
||||
0x00002000,
|
||||
- 0x06008020,
|
||||
- 0x02008000,
|
||||
- 0x02000018,
|
||||
- 0x00006008,
|
||||
- 0x01802008,
|
||||
+ 0x00018060,
|
||||
+ 0x06018000,
|
||||
+ 0x06000000,
|
||||
+ 0x00000018,
|
||||
+ 0x00006018,
|
||||
0x00001000,
|
||||
- 0x03004010,
|
||||
- 0x01004000,
|
||||
- 0x0100000C,
|
||||
- 0x00003004,
|
||||
- 0x00C01004,
|
||||
+ 0x0000C030,
|
||||
+ 0x00000000,
|
||||
+ 0x03000000,
|
||||
+ 0x0000000C,
|
||||
+ 0x00C0300C,
|
||||
0x00000800,
|
||||
};
|
||||
|
||||
@@ -170,14 +170,14 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0xA0000034,
|
||||
0x0D000001,
|
||||
0x6068030C,
|
||||
- 0xC7034018,
|
||||
- 0x0E381A01,
|
||||
+ 0xCF034059,
|
||||
+ 0x1E781A03,
|
||||
0x8030C0D0,
|
||||
- 0x34018606,
|
||||
- 0x01A01C70,
|
||||
+ 0x34059606,
|
||||
+ 0x01A03CF0,
|
||||
0x0C0D0000,
|
||||
- 0x18606803,
|
||||
- 0x01C70340,
|
||||
+ 0x59606803,
|
||||
+ 0x03CF0340,
|
||||
0xD000001A,
|
||||
0x068030C0,
|
||||
0x10040000,
|
||||
@@ -244,15 +244,15 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0xA0000034,
|
||||
0x0D000001,
|
||||
0x6068030C,
|
||||
- 0xC7034018,
|
||||
- 0x0E381A01,
|
||||
+ 0xCF034059,
|
||||
+ 0x1E781A03,
|
||||
0x8030C0D0,
|
||||
- 0x34018606,
|
||||
+ 0x34059606,
|
||||
0x01A00000,
|
||||
0x0C0D0000,
|
||||
- 0x18606803,
|
||||
- 0x01C70340,
|
||||
- 0xD00E381A,
|
||||
+ 0x59606803,
|
||||
+ 0x03CF0340,
|
||||
+ 0xD01E781A,
|
||||
0x068030C0,
|
||||
0x10040000,
|
||||
0x00200000,
|
||||
@@ -273,7 +273,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0xAA0D4000,
|
||||
- 0x01C3A808,
|
||||
+ 0x01C3A810,
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0x00040100,
|
||||
@@ -301,7 +301,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x2A835000,
|
||||
- 0x0070EA02,
|
||||
+ 0x0070EA04,
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x00010040,
|
||||
@@ -321,15 +321,15 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x14864000,
|
||||
0x69A47A05,
|
||||
0xCBCF23D7,
|
||||
- 0xF41E791E,
|
||||
- 0x034ED348,
|
||||
+ 0xF5DE791E,
|
||||
+ 0x0356D348,
|
||||
0x821A0000,
|
||||
0x0000D000,
|
||||
0x01860680,
|
||||
0xD769A47A,
|
||||
0x1ECBCF23,
|
||||
- 0x48F41E79,
|
||||
- 0x00034ED3,
|
||||
+ 0x48F5DE79,
|
||||
+ 0x000356D3,
|
||||
0x00080200,
|
||||
0x00001000,
|
||||
0x00080200,
|
||||
@@ -347,7 +347,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0xAA0D4000,
|
||||
- 0x01C3A808,
|
||||
+ 0x01C3A810,
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0x00040100,
|
||||
@@ -375,7 +375,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x2A835000,
|
||||
- 0x0070EA02,
|
||||
+ 0x0070EA04,
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x00015000,
|
||||
@@ -395,15 +395,15 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x14864000,
|
||||
0x69A47A05,
|
||||
0xCBCF23D7,
|
||||
- 0xF41E791E,
|
||||
- 0x034ED348,
|
||||
- 0x821A00C3,
|
||||
+ 0xF5DE791E,
|
||||
+ 0x0356D348,
|
||||
+ 0x821A02CB,
|
||||
0x0000D000,
|
||||
0x00000680,
|
||||
0xD769A47A,
|
||||
0x1ECBCF23,
|
||||
- 0x48F41E79,
|
||||
- 0x00034ED3,
|
||||
+ 0x48F5DE79,
|
||||
+ 0x000356D3,
|
||||
0x00080200,
|
||||
0x00001000,
|
||||
0x00080200,
|
||||
@@ -421,7 +421,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0xAA0D4000,
|
||||
- 0x01C3A808,
|
||||
+ 0x01C3A810,
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0x00040100,
|
||||
@@ -449,7 +449,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x2A835000,
|
||||
- 0x0070EA02,
|
||||
+ 0x0070EA04,
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x00010040,
|
||||
@@ -469,15 +469,15 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x14864000,
|
||||
0x69A47A05,
|
||||
0xCBCF23D7,
|
||||
- 0xF41E791E,
|
||||
- 0x034ED348,
|
||||
+ 0xF5DE791E,
|
||||
+ 0x0356D348,
|
||||
0x821A0000,
|
||||
0x0000D000,
|
||||
0x00000680,
|
||||
0xD769A47A,
|
||||
0x1ECBCF23,
|
||||
- 0x48F41E79,
|
||||
- 0x00034ED3,
|
||||
+ 0x48F5DE79,
|
||||
+ 0x000356D3,
|
||||
0x00080200,
|
||||
0x00001000,
|
||||
0x00080200,
|
||||
@@ -495,7 +495,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0xAA0D4000,
|
||||
- 0x01C3A808,
|
||||
+ 0x01C3A810,
|
||||
0xAA0D4000,
|
||||
0x01C3A810,
|
||||
0x00040100,
|
||||
@@ -523,7 +523,7 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x2A835000,
|
||||
- 0x0070EA02,
|
||||
+ 0x0070EA04,
|
||||
0x2A835000,
|
||||
0x0070EA04,
|
||||
0x00010040,
|
||||
@@ -543,15 +543,15 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x14864000,
|
||||
0x69A47A05,
|
||||
0xCBCF23D7,
|
||||
- 0xF41E791E,
|
||||
- 0x034ED348,
|
||||
+ 0xF5DE791E,
|
||||
+ 0x0356D348,
|
||||
0x821A0000,
|
||||
0x0000D000,
|
||||
0x00000680,
|
||||
0xD769A47A,
|
||||
0x1ECBCF23,
|
||||
- 0x48F41E79,
|
||||
- 0x00034ED3,
|
||||
+ 0x48F5DE79,
|
||||
+ 0x000356D3,
|
||||
0x00080200,
|
||||
0x00001000,
|
||||
0x00080200,
|
||||
@@ -567,80 +567,80 @@ const unsigned long iocsr_scan_chain3_table[((CONFIG_HPS_IOCSR_SCANCHAIN3_LENGTH
|
||||
0x04000002,
|
||||
0x00820000,
|
||||
0x00489000,
|
||||
- 0x001A1A1A,
|
||||
- 0x085506A0,
|
||||
- 0x0000E1D4,
|
||||
- 0x045506A0,
|
||||
- 0x0000E1D4,
|
||||
- 0x085506A0,
|
||||
- 0x8000E1D4,
|
||||
+ 0x801A1A1A,
|
||||
+ 0x00000200,
|
||||
+ 0x80000004,
|
||||
+ 0x00000200,
|
||||
+ 0x80000004,
|
||||
+ 0x00000200,
|
||||
+ 0x80000004,
|
||||
0x00000200,
|
||||
0x00000004,
|
||||
- 0x04000000,
|
||||
- 0x00000009,
|
||||
- 0x00002410,
|
||||
+ 0x00040000,
|
||||
+ 0x10000000,
|
||||
+ 0x00000000,
|
||||
0x00000040,
|
||||
- 0x41000000,
|
||||
- 0x00002082,
|
||||
- 0x00000350,
|
||||
- 0x000000DA,
|
||||
+ 0x00010000,
|
||||
+ 0x40002000,
|
||||
+ 0x00000100,
|
||||
+ 0x40000002,
|
||||
+ 0x00000100,
|
||||
+ 0x40000002,
|
||||
0x00000100,
|
||||
0x40000002,
|
||||
0x00000100,
|
||||
0x00000002,
|
||||
- 0x042A8350,
|
||||
- 0x000070EA,
|
||||
- 0x86000000,
|
||||
- 0x08000004,
|
||||
+ 0x00020000,
|
||||
+ 0x08000000,
|
||||
0x00000000,
|
||||
- 0x00482000,
|
||||
- 0x21800000,
|
||||
- 0x00101061,
|
||||
- 0x021541A8,
|
||||
- 0x00003875,
|
||||
- 0x011541A8,
|
||||
- 0x00003875,
|
||||
- 0x021541A8,
|
||||
- 0x20003875,
|
||||
+ 0x00000020,
|
||||
+ 0x00008000,
|
||||
+ 0x20001000,
|
||||
+ 0x00000080,
|
||||
+ 0x20000001,
|
||||
+ 0x00000080,
|
||||
+ 0x20000001,
|
||||
+ 0x00000080,
|
||||
+ 0x20000001,
|
||||
0x00000080,
|
||||
0x00000001,
|
||||
- 0x41000000,
|
||||
- 0x00000002,
|
||||
- 0x00FF0904,
|
||||
+ 0x00010000,
|
||||
+ 0x04000000,
|
||||
+ 0x00FF0000,
|
||||
0x00000000,
|
||||
- 0x90400000,
|
||||
- 0x00000820,
|
||||
+ 0x00004000,
|
||||
+ 0x00000800,
|
||||
0x80000001,
|
||||
- 0x38D612AF,
|
||||
- 0x86F8E38E,
|
||||
- 0x0A0A78B4,
|
||||
- 0x000D020A,
|
||||
+ 0x00041419,
|
||||
+ 0x40000000,
|
||||
+ 0x04000816,
|
||||
+ 0x000D0000,
|
||||
0x00006800,
|
||||
- 0x028A4320,
|
||||
- 0xEBB4D23D,
|
||||
- 0x8F65E791,
|
||||
- 0xA47A0F3C,
|
||||
- 0x0001A769,
|
||||
- 0x00410D00,
|
||||
+ 0x00000340,
|
||||
+ 0xD000001A,
|
||||
+ 0x06800000,
|
||||
+ 0x00340000,
|
||||
+ 0x0001A000,
|
||||
+ 0x00000D00,
|
||||
0x40000068,
|
||||
- 0x3D000003,
|
||||
- 0x91EBB4D2,
|
||||
- 0x3C8F65E7,
|
||||
- 0x69A47A0F,
|
||||
- 0x000001A7,
|
||||
+ 0x1A000003,
|
||||
+ 0x00D00000,
|
||||
+ 0x00068000,
|
||||
+ 0x00003400,
|
||||
+ 0x000001A0,
|
||||
+ 0x00000401,
|
||||
+ 0x00000008,
|
||||
0x00000401,
|
||||
0x00000008,
|
||||
0x00000401,
|
||||
0x00000008,
|
||||
- 0x00000540,
|
||||
- 0x000003A8,
|
||||
- 0x10AA0D40,
|
||||
- 0x8001C3A8,
|
||||
+ 0x00000401,
|
||||
+ 0x80000008,
|
||||
0x0000007F,
|
||||
+ 0x20000000,
|
||||
0x00000000,
|
||||
- 0x00004060,
|
||||
- 0xE1208000,
|
||||
+ 0xE0000080,
|
||||
0x0000001F,
|
||||
- 0x00004100,
|
||||
+ 0x00004000,
|
||||
};
|
||||
|
||||
diff --git a/board/altera/socfpga_cyclone5/pinmux_config.c b/board/altera/socfpga_cyclone5/pinmux_config.c
|
||||
index 730067e..cfd74cd 100644
|
||||
--- a/board/altera/socfpga_cyclone5/pinmux_config.c
|
||||
+++ b/board/altera/socfpga_cyclone5/pinmux_config.c
|
||||
@@ -23,7 +23,7 @@ unsigned long sys_mgr_init_table[CONFIG_HPS_PINMUX_NUM] = {
|
||||
0, /* EMACIO18 */
|
||||
0, /* EMACIO19 */
|
||||
3, /* FLASHIO0 */
|
||||
- 3, /* FLASHIO1 */
|
||||
+ 0, /* FLASHIO1 */
|
||||
3, /* FLASHIO2 */
|
||||
3, /* FLASHIO3 */
|
||||
0, /* FLASHIO4 */
|
||||
@@ -34,25 +34,25 @@ unsigned long sys_mgr_init_table[CONFIG_HPS_PINMUX_NUM] = {
|
||||
3, /* FLASHIO9 */
|
||||
3, /* FLASHIO10 */
|
||||
3, /* FLASHIO11 */
|
||||
- 3, /* GENERALIO0 */
|
||||
- 3, /* GENERALIO1 */
|
||||
- 3, /* GENERALIO2 */
|
||||
- 3, /* GENERALIO3 */
|
||||
- 3, /* GENERALIO4 */
|
||||
- 3, /* GENERALIO5 */
|
||||
- 3, /* GENERALIO6 */
|
||||
- 3, /* GENERALIO7 */
|
||||
- 3, /* GENERALIO8 */
|
||||
+ 0, /* GENERALIO0 */
|
||||
+ 1, /* GENERALIO1 */
|
||||
+ 1, /* GENERALIO2 */
|
||||
+ 1, /* GENERALIO3 */
|
||||
+ 1, /* GENERALIO4 */
|
||||
+ 0, /* GENERALIO5 */
|
||||
+ 0, /* GENERALIO6 */
|
||||
+ 0, /* GENERALIO7 */
|
||||
+ 0, /* GENERALIO8 */
|
||||
3, /* GENERALIO9 */
|
||||
3, /* GENERALIO10 */
|
||||
3, /* GENERALIO11 */
|
||||
3, /* GENERALIO12 */
|
||||
- 2, /* GENERALIO13 */
|
||||
- 2, /* GENERALIO14 */
|
||||
- 3, /* GENERALIO15 */
|
||||
- 3, /* GENERALIO16 */
|
||||
- 2, /* GENERALIO17 */
|
||||
- 2, /* GENERALIO18 */
|
||||
+ 0, /* GENERALIO13 */
|
||||
+ 0, /* GENERALIO14 */
|
||||
+ 1, /* GENERALIO15 */
|
||||
+ 1, /* GENERALIO16 */
|
||||
+ 1, /* GENERALIO17 */
|
||||
+ 1, /* GENERALIO18 */
|
||||
0, /* GENERALIO19 */
|
||||
0, /* GENERALIO20 */
|
||||
0, /* GENERALIO21 */
|
||||
diff --git a/board/altera/socfpga_cyclone5/pinmux_config.h b/board/altera/socfpga_cyclone5/pinmux_config.h
|
||||
index fb483ab..64c750a 100644
|
||||
--- a/board/altera/socfpga_cyclone5/pinmux_config.h
|
||||
+++ b/board/altera/socfpga_cyclone5/pinmux_config.h
|
||||
@@ -11,15 +11,15 @@
|
||||
#define CONFIG_HPS_UART0 (1)
|
||||
#define CONFIG_HPS_UART1 (0)
|
||||
#define CONFIG_HPS_TRACE (0)
|
||||
-#define CONFIG_HPS_I2C0 (1)
|
||||
-#define CONFIG_HPS_I2C1 (0)
|
||||
+#define CONFIG_HPS_I2C0 (0)
|
||||
+#define CONFIG_HPS_I2C1 (1)
|
||||
#define CONFIG_HPS_I2C2 (0)
|
||||
#define CONFIG_HPS_I2C3 (0)
|
||||
#define CONFIG_HPS_SPIM0 (1)
|
||||
-#define CONFIG_HPS_SPIM1 (0)
|
||||
+#define CONFIG_HPS_SPIM1 (1)
|
||||
#define CONFIG_HPS_SPIS0 (0)
|
||||
#define CONFIG_HPS_SPIS1 (0)
|
||||
-#define CONFIG_HPS_CAN0 (1)
|
||||
+#define CONFIG_HPS_CAN0 (0)
|
||||
#define CONFIG_HPS_CAN1 (0)
|
||||
|
||||
#define CONFIG_HPS_SDMMC_BUSWIDTH (4)
|
||||
diff --git a/board/altera/socfpga_cyclone5/sdram/sdram_config.h b/board/altera/socfpga_cyclone5/sdram/sdram_config.h
|
||||
index b90d6f3..dd027ef 100755
|
||||
--- a/board/altera/socfpga_cyclone5/sdram/sdram_config.h
|
||||
+++ b/board/altera/socfpga_cyclone5/sdram/sdram_config.h
|
||||
@@ -4,16 +4,16 @@
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_MEMTYPE (2)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_MEMBL (8)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_ADDRORDER (0)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_ECCEN (1)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_ECCCORREN (1)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_ECCEN (0)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_ECCCORREN (0)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_REORDEREN (1)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_STARVELIMIT (10)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_DQSTRKEN (0)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_CTRLCFG_NODMPINS (0)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TCWL (6)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TCWL (8)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_AL (0)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TCL (7)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TRRD (4)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TCL (11)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TRRD (3)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TFAW (12)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING1_TRFC (104)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING2_IF_TREFI (3120)
|
||||
@@ -21,7 +21,7 @@
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING2_IF_TRP (6)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING2_IF_TWR (6)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING2_IF_TWTR (4)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING3_TRTP (4)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING3_TRTP (3)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING3_TRAS (14)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING3_TRC (20)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMTIMING3_TMRD (4)
|
||||
@@ -33,7 +33,7 @@
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMADDRW_ROWBITS (15)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMADDRW_BANKBITS (3)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMADDRW_CSBITS (1)
|
||||
-#define CONFIG_HPS_SDR_CTRLCFG_DRAMIFWIDTH_IFWIDTH (40)
|
||||
+#define CONFIG_HPS_SDR_CTRLCFG_DRAMIFWIDTH_IFWIDTH (32)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMDEVWIDTH_DEVWIDTH (8)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_DRAMINTR_INTREN (0)
|
||||
#define CONFIG_HPS_SDR_CTRLCFG_STATICCFG_MEMBL (2)
|
||||
diff --git a/board/altera/socfpga_cyclone5/sdram/sequencer_auto.h b/board/altera/socfpga_cyclone5/sdram/sequencer_auto.h
|
||||
index e8c5484..919676d 100644
|
||||
--- a/board/altera/socfpga_cyclone5/sdram/sequencer_auto.h
|
||||
+++ b/board/altera/socfpga_cyclone5/sdram/sequencer_auto.h
|
||||
@@ -34,7 +34,7 @@
|
||||
#define __RW_MGR_ac_read_en 0x21
|
||||
#define __RW_MGR_ac_mrs3_mirr 0x0C
|
||||
#define __RW_MGR_ac_mrs2 0x05
|
||||
-#define __RW_MGR_CONTENT_ac_mrs1 0x10090044
|
||||
+#define __RW_MGR_CONTENT_ac_mrs1 0x10090006
|
||||
#define __RW_MGR_CONTENT_ac_mrs3 0x100B0000
|
||||
#define __RW_MGR_CONTENT_ac_write_bank_0_col_0_nodata_wl_1 0x18980000
|
||||
#define __RW_MGR_CONTENT_ac_act_1 0x106B0000
|
||||
@@ -46,8 +46,8 @@
|
||||
#define __RW_MGR_CONTENT_ac_init_reset_0_cke_0 0x20700000
|
||||
#define __RW_MGR_CONTENT_ac_read_bank_0_1_norden 0x10580008
|
||||
#define __RW_MGR_CONTENT_ac_pre_all 0x10280400
|
||||
-#define __RW_MGR_CONTENT_ac_mrs0_user 0x10080431
|
||||
-#define __RW_MGR_CONTENT_ac_mrs0_dll_reset 0x10080530
|
||||
+#define __RW_MGR_CONTENT_ac_mrs0_user 0x10080471
|
||||
+#define __RW_MGR_CONTENT_ac_mrs0_dll_reset 0x10080570
|
||||
#define __RW_MGR_CONTENT_ac_read_bank_0_0 0x13580000
|
||||
#define __RW_MGR_CONTENT_ac_write_bank_0_col_1 0x1C980008
|
||||
#define __RW_MGR_CONTENT_ac_read_bank_0_1 0x13580008
|
||||
@@ -55,21 +55,21 @@
|
||||
#define __RW_MGR_CONTENT_ac_write_bank_1_col_1 0x1C9B0008
|
||||
#define __RW_MGR_CONTENT_ac_write_bank_0_col_0 0x1C980000
|
||||
#define __RW_MGR_CONTENT_ac_read_bank_1_0 0x135B0000
|
||||
-#define __RW_MGR_CONTENT_ac_mrs1_mirr 0x100A0024
|
||||
+#define __RW_MGR_CONTENT_ac_mrs1_mirr 0x100A0006
|
||||
#define __RW_MGR_CONTENT_ac_read_bank_1_1 0x135B0008
|
||||
#define __RW_MGR_CONTENT_ac_des_odt_1 0x38780000
|
||||
-#define __RW_MGR_CONTENT_ac_mrs0_dll_reset_mirr 0x100804C8
|
||||
+#define __RW_MGR_CONTENT_ac_mrs0_dll_reset_mirr 0x100804E8
|
||||
#define __RW_MGR_CONTENT_ac_zqcl 0x10380400
|
||||
#define __RW_MGR_CONTENT_ac_write_predata 0x38F80000
|
||||
-#define __RW_MGR_CONTENT_ac_mrs0_user_mirr 0x10080449
|
||||
+#define __RW_MGR_CONTENT_ac_mrs0_user_mirr 0x10080469
|
||||
#define __RW_MGR_CONTENT_ac_ref 0x10480000
|
||||
#define __RW_MGR_CONTENT_ac_nop 0x30780000
|
||||
#define __RW_MGR_CONTENT_ac_rdimm 0x10780000
|
||||
-#define __RW_MGR_CONTENT_ac_mrs2_mirr 0x10090010
|
||||
+#define __RW_MGR_CONTENT_ac_mrs2_mirr 0x10090218
|
||||
#define __RW_MGR_CONTENT_ac_write_bank_0_col_0_nodata 0x18180000
|
||||
#define __RW_MGR_CONTENT_ac_read_en 0x33780000
|
||||
#define __RW_MGR_CONTENT_ac_mrs3_mirr 0x100B0000
|
||||
-#define __RW_MGR_CONTENT_ac_mrs2 0x100A0008
|
||||
+#define __RW_MGR_CONTENT_ac_mrs2 0x100A0218
|
||||
|
||||
#define __RW_MGR_READ_B2B_WAIT2 0x6A
|
||||
#define __RW_MGR_LFSR_WR_RD_BANK_0_WAIT 0x31
|
||||
diff --git a/board/altera/socfpga_cyclone5/sdram/sequencer_auto_ac_init.c b/board/altera/socfpga_cyclone5/sdram/sequencer_auto_ac_init.c
|
||||
index e16efa1..20b4ca1 100644
|
||||
--- a/board/altera/socfpga_cyclone5/sdram/sequencer_auto_ac_init.c
|
||||
+++ b/board/altera/socfpga_cyclone5/sdram/sequencer_auto_ac_init.c
|
||||
@@ -6,16 +6,16 @@ const alt_u32 ac_rom_init[36] =
|
||||
{
|
||||
0x20700000,
|
||||
0x20780000,
|
||||
- 0x10080431,
|
||||
- 0x10080530,
|
||||
- 0x10090044,
|
||||
- 0x100a0008,
|
||||
+ 0x10080471,
|
||||
+ 0x10080570,
|
||||
+ 0x10090006,
|
||||
+ 0x100a0218,
|
||||
0x100b0000,
|
||||
0x10380400,
|
||||
- 0x10080449,
|
||||
- 0x100804c8,
|
||||
- 0x100a0024,
|
||||
- 0x10090010,
|
||||
+ 0x10080469,
|
||||
+ 0x100804e8,
|
||||
+ 0x100a0006,
|
||||
+ 0x10090218,
|
||||
0x100b0000,
|
||||
0x30780000,
|
||||
0x38780000,
|
||||
diff --git a/board/altera/socfpga_cyclone5/sdram/sequencer_defines.h b/board/altera/socfpga_cyclone5/sdram/sequencer_defines.h
|
||||
index 52faf3f..b85b85c 100644
|
||||
--- a/board/altera/socfpga_cyclone5/sdram/sequencer_defines.h
|
||||
+++ b/board/altera/socfpga_cyclone5/sdram/sequencer_defines.h
|
||||
@@ -1,28 +1,28 @@
|
||||
#ifndef _SEQUENCER_DEFINES_H_
|
||||
#define _SEQUENCER_DEFINES_H_
|
||||
|
||||
-#define AC_ROM_MR1_MIRR 0000000100100
|
||||
+#define AC_ROM_MR1_MIRR 0000000000110
|
||||
#define AC_ROM_MR1_OCD_ENABLE
|
||||
-#define AC_ROM_MR2_MIRR 0000000010000
|
||||
+#define AC_ROM_MR2_MIRR 0001000011000
|
||||
#define AC_ROM_MR3_MIRR 0000000000000
|
||||
#define AC_ROM_MR0_CALIB
|
||||
-#define AC_ROM_MR0_DLL_RESET_MIRR 0010011001000
|
||||
-#define AC_ROM_MR0_DLL_RESET 0010100110000
|
||||
-#define AC_ROM_MR0_MIRR 0010001001001
|
||||
-#define AC_ROM_MR0 0010000110001
|
||||
-#define AC_ROM_MR1 0000001000100
|
||||
-#define AC_ROM_MR2 0000000001000
|
||||
+#define AC_ROM_MR0_DLL_RESET_MIRR 0010011101000
|
||||
+#define AC_ROM_MR0_DLL_RESET 0010101110000
|
||||
+#define AC_ROM_MR0_MIRR 0010001101001
|
||||
+#define AC_ROM_MR0 0010001110001
|
||||
+#define AC_ROM_MR1 0000000000110
|
||||
+#define AC_ROM_MR2 0001000011000
|
||||
#define AC_ROM_MR3 0000000000000
|
||||
#define AFI_CLK_FREQ 401
|
||||
#define AFI_RATE_RATIO 1
|
||||
#define ARRIAVGZ 0
|
||||
#define ARRIAV 0
|
||||
-#define AVL_CLK_FREQ 67
|
||||
+#define AVL_CLK_FREQ 81
|
||||
#define BFM_MODE 0
|
||||
#define BURST2 0
|
||||
#define CALIBRATE_BIT_SLIPS 0
|
||||
-#define CALIB_LFIFO_OFFSET 7
|
||||
-#define CALIB_VFIFO_OFFSET 5
|
||||
+#define CALIB_LFIFO_OFFSET 11
|
||||
+#define CALIB_VFIFO_OFFSET 9
|
||||
#define CYCLONEV 1
|
||||
#define DDR2 0
|
||||
#define DDR3 1
|
||||
@@ -89,20 +89,20 @@
|
||||
#define RW_MGR_MEM_CHIP_SELECT_WIDTH 1
|
||||
#define RW_MGR_MEM_CLK_EN_WIDTH 1
|
||||
#define RW_MGR_MEM_CONTROL_WIDTH 1
|
||||
-#define RW_MGR_MEM_DATA_MASK_WIDTH 5
|
||||
-#define RW_MGR_MEM_DATA_WIDTH 40
|
||||
+#define RW_MGR_MEM_DATA_MASK_WIDTH 4
|
||||
+#define RW_MGR_MEM_DATA_WIDTH 32
|
||||
#define RW_MGR_MEM_DQ_PER_READ_DQS 8
|
||||
#define RW_MGR_MEM_DQ_PER_WRITE_DQS 8
|
||||
-#define RW_MGR_MEM_IF_READ_DQS_WIDTH 5
|
||||
-#define RW_MGR_MEM_IF_WRITE_DQS_WIDTH 5
|
||||
+#define RW_MGR_MEM_IF_READ_DQS_WIDTH 4
|
||||
+#define RW_MGR_MEM_IF_WRITE_DQS_WIDTH 4
|
||||
#define RW_MGR_MEM_NUMBER_OF_CS_PER_DIMM 1
|
||||
#define RW_MGR_MEM_NUMBER_OF_RANKS 1
|
||||
#define RW_MGR_MEM_ODT_WIDTH 1
|
||||
#define RW_MGR_MEM_VIRTUAL_GROUPS_PER_READ_DQS 1
|
||||
#define RW_MGR_MEM_VIRTUAL_GROUPS_PER_WRITE_DQS 1
|
||||
#define RW_MGR_MR0_BL 1
|
||||
-#define RW_MGR_MR0_CAS_LATENCY 3
|
||||
-#define RW_MGR_TRUE_MEM_DATA_MASK_WIDTH 5
|
||||
+#define RW_MGR_MR0_CAS_LATENCY 7
|
||||
+#define RW_MGR_TRUE_MEM_DATA_MASK_WIDTH 4
|
||||
#define RW_MGR_WRITE_TO_DEBUG_READ 1.0
|
||||
#define SKEW_CALIBRATION 0
|
||||
#define STATIC_FULL_CALIBRATION 1
|
||||
--
|
||||
1.9.0
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
linux_load_address=0x100000
|
||||
linux_dtb_load_address=0x100
|
||||
linux_dtb=socfpga_cyclone5_socrates.dtb
|
||||
linux_load=mmc rescan; fatload mmc 0:1 ${linux_load_address} zImage; fatload mmc 0:1 ${linux_dtb_load_address} ${linux_dtb}
|
||||
bootargs=console=ttyS0,115200 root=/dev/mmcblk0p3 ro rootwait
|
||||
source_env=fatload mmc 0:1 0x2000000 boot.scr; source 0x2000000
|
||||
bootcmd=run linux_load; bootz ${linux_load_address} - ${linux_dtb_load_address}
|
||||
bootdelay=1
|
||||
58
bsp/buildroot/board/altera/socrates_cyclone5/genimage.cfg
Normal file
58
bsp/buildroot/board/altera/socrates_cyclone5/genimage.cfg
Normal file
@@ -0,0 +1,58 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"socfpga_cyclone5_socrates.dtb"
|
||||
}
|
||||
}
|
||||
size = 8M
|
||||
}
|
||||
|
||||
image uboot.img {
|
||||
hdimage {
|
||||
partition-table = "no"
|
||||
}
|
||||
|
||||
partition spl {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-spl.bin.crc"
|
||||
offset = 0
|
||||
size = 64k
|
||||
}
|
||||
|
||||
partition uboot-full {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.img"
|
||||
offset = 256k
|
||||
}
|
||||
|
||||
size = 1M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition uboot-env {
|
||||
in-partition-table = "no"
|
||||
image = "uboot-env.bin"
|
||||
offset = 17408 # 512 * 34 -> just after gpt
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xc
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
partition-type = 0xa2
|
||||
image = "uboot.img"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
size = 500M
|
||||
}
|
||||
}
|
||||
52
bsp/buildroot/board/altera/socrates_cyclone5/readme.txt
Normal file
52
bsp/buildroot/board/altera/socrates_cyclone5/readme.txt
Normal file
@@ -0,0 +1,52 @@
|
||||
EBV SoCrates Evaluation Board
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
More information about this board can be found here:
|
||||
https://rocketboards.org/foswiki/Documentation/EBVSoCratesEvaluationBoard
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, load socrates config for buildroot
|
||||
|
||||
make socrates_cyclone5_defconfig
|
||||
|
||||
Build everything
|
||||
|
||||
make
|
||||
|
||||
Following files will be generated in output/images
|
||||
|
||||
.
|
||||
├── boot.vfat
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4 -> rootfs.ext2
|
||||
├── rootfs.tar
|
||||
├── sdcard.img
|
||||
├── socfpga_cyclone5_socrates.dtb
|
||||
├── u-boot-spl.bin
|
||||
├── u-boot-spl.bin.crc
|
||||
├── u-boot.bin
|
||||
├── u-boot.img
|
||||
├── uboot-env.bin
|
||||
├── uboot.img
|
||||
└── zImage
|
||||
|
||||
|
||||
Creating bootable SD card
|
||||
=========================
|
||||
|
||||
Simply invoke
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Where X is your SD card device (not partition)
|
||||
|
||||
Booting
|
||||
=======
|
||||
|
||||
Pins 6:8 on P18 selector is used to determine boot device. To boot socrates from
|
||||
sdcard set these pins to value 0x5 (101b). Remaining pins are used to determine
|
||||
how to configure FPGA and are not associated with booting into Linux kernel.
|
||||
@@ -0,0 +1,53 @@
|
||||
From 35b7ce4f8f290794d3b89db7461e8c568b5defa1 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 25 Apr 2016 09:19:17 -0700
|
||||
Subject: powerpc/ptrace: Fix out of bounds array access warning
|
||||
|
||||
commit 1e407ee3b21f981140491d5b8a36422979ca246f upstream.
|
||||
|
||||
gcc-6 correctly warns about a out of bounds access
|
||||
|
||||
arch/powerpc/kernel/ptrace.c:407:24: warning: index 32 denotes an offset greater than size of 'u64[32][1] {aka long long unsigned int[32][1]}' [-Warray-bounds]
|
||||
offsetof(struct thread_fp_state, fpr[32][0]));
|
||||
^
|
||||
|
||||
check the end of array instead of beginning of next element to fix this
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Cc: Kees Cook <keescook@chromium.org>
|
||||
Cc: Michael Ellerman <mpe@ellerman.id.au>
|
||||
Cc: Segher Boessenkool <segher@kernel.crashing.org>
|
||||
Tested-by: Aaro Koskinen <aaro.koskinen@iki.fi>
|
||||
Acked-by: Olof Johansson <olof@lixom.net>
|
||||
Cc: Arnd Bergmann <arnd@arndb.de>
|
||||
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
Signed-off-by: Oleksandr Zhadan <oleks@arcturusnetworks.com>
|
||||
---
|
||||
arch/powerpc/kernel/ptrace.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c
|
||||
index f21897b..93f200f 100644
|
||||
--- a/arch/powerpc/kernel/ptrace.c
|
||||
+++ b/arch/powerpc/kernel/ptrace.c
|
||||
@@ -376,7 +376,7 @@ static int fpr_get(struct task_struct *target, const struct user_regset *regset,
|
||||
|
||||
#else
|
||||
BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
|
||||
- offsetof(struct thread_fp_state, fpr[32][0]));
|
||||
+ offsetof(struct thread_fp_state, fpr[32]));
|
||||
|
||||
return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
|
||||
&target->thread.fp_state, 0, -1);
|
||||
@@ -404,7 +404,7 @@ static int fpr_set(struct task_struct *target, const struct user_regset *regset,
|
||||
return 0;
|
||||
#else
|
||||
BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) !=
|
||||
- offsetof(struct thread_fp_state, fpr[32][0]));
|
||||
+ offsetof(struct thread_fp_state, fpr[32]));
|
||||
|
||||
return user_regset_copyin(&pos, &count, &kbuf, &ubuf,
|
||||
&target->thread.fp_state, 0, -1);
|
||||
--
|
||||
cgit v1.1
|
||||
@@ -33,9 +33,7 @@ CONFIG_IP_PNP_DHCP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_CAN=m
|
||||
CONFIG_CAN_VCAN=m
|
||||
CONFIG_CAN_MCP251X=m
|
||||
@@ -84,13 +82,13 @@ CONFIG_NETDEVICES=y
|
||||
# CONFIG_NET_VENDOR_STMICRO is not set
|
||||
# CONFIG_NET_VENDOR_WIZNET is not set
|
||||
CONFIG_SMSC_PHY=y
|
||||
CONFIG_RTL8187=m
|
||||
CONFIG_LIBERTAS=m
|
||||
CONFIG_LIBERTAS_SDIO=m
|
||||
CONFIG_RT2X00=m
|
||||
CONFIG_RT2500USB=m
|
||||
CONFIG_RT73USB=m
|
||||
CONFIG_RT2800USB=m
|
||||
CONFIG_RTL8187=m
|
||||
CONFIG_RTL8192CU=m
|
||||
CONFIG_ZD1211RW=m
|
||||
CONFIG_INPUT_JOYDEV=y
|
||||
@@ -125,11 +123,7 @@ CONFIG_USB_VIDEO_CLASS=m
|
||||
CONFIG_USB_PWC=m
|
||||
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||
CONFIG_SOC_CAMERA=m
|
||||
CONFIG_VIDEO_MX2=m
|
||||
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
|
||||
# CONFIG_DVB_AU8522_V4L is not set
|
||||
# CONFIG_DVB_TUNER_DIB0070 is not set
|
||||
# CONFIG_DVB_TUNER_DIB0090 is not set
|
||||
CONFIG_FB=y
|
||||
# CONFIG_FB_MX3 is not set
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
@@ -157,7 +151,6 @@ CONFIG_USB_PRINTER=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_CHIPIDEA=y
|
||||
CONFIG_USB_CHIPIDEA_HOST=y
|
||||
CONFIG_USB_CHIPIDEA_DEBUG=y
|
||||
CONFIG_USB_SERIAL=y
|
||||
CONFIG_USB_SERIAL_FTDI_SIO=y
|
||||
CONFIG_USB_SERIAL_PL2303=y
|
||||
@@ -185,8 +178,8 @@ CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_DS1374=y
|
||||
CONFIG_RTC_DRV_MXC=m
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_IMX_SDMA=y
|
||||
CONFIG_IMX_DMA=y
|
||||
CONFIG_IMX_SDMA=y
|
||||
# CONFIG_IOMMU_SUPPORT is not set
|
||||
CONFIG_IIO=y
|
||||
CONFIG_MAX1027=y
|
||||
@@ -219,6 +212,5 @@ CONFIG_DEBUG_FS=y
|
||||
# CONFIG_FTRACE is not set
|
||||
CONFIG_DEBUG_LL=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
@@ -1,185 +0,0 @@
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_OPROFILE=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_BSD_DISKLABEL=y
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_ARCH_MULTI_V7 is not set
|
||||
CONFIG_ARCH_MXS=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_AEABI=y
|
||||
# CONFIG_OABI_COMPAT is not set
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CPU_IDLE=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_PNP=y
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_DIAG is not set
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_CAN=m
|
||||
CONFIG_CAN_VCAN=m
|
||||
CONFIG_CAN_FLEXCAN=m
|
||||
CONFIG_BT=m
|
||||
CONFIG_BT_RFCOMM=m
|
||||
CONFIG_BT_RFCOMM_TTY=y
|
||||
CONFIG_BT_BNEP=m
|
||||
CONFIG_BT_BNEP_MC_FILTER=y
|
||||
CONFIG_BT_BNEP_PROTO_FILTER=y
|
||||
CONFIG_BT_HIDP=m
|
||||
CONFIG_BT_HCIBTUSB=m
|
||||
CONFIG_CFG80211=m
|
||||
CONFIG_MAC80211=m
|
||||
CONFIG_MAC80211_RC_PID=y
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_FW_LOADER=m
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_DATAFLASH=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
# CONFIG_M25PXX_USE_FAST_READ is not set
|
||||
CONFIG_MTD_SST25L=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_GPMI_NAND=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_EEPROM_AT25=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_ST=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_CHR_DEV_SCH=y
|
||||
CONFIG_SCSI_MULTI_LUN=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_SCSI_SCAN_ASYNC=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_RTL8187=m
|
||||
CONFIG_RT2X00=m
|
||||
CONFIG_RT73USB=m
|
||||
CONFIG_ZD1211RW=m
|
||||
CONFIG_INPUT_JOYDEV=y
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_UINPUT=m
|
||||
# CONFIG_SERIO_SERPORT is not set
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
# CONFIG_DEVKMEM is not set
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_SERIAL_MXS_AUART=y
|
||||
CONFIG_TTY_PRINTK=y
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MXS=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_BITBANG=m
|
||||
CONFIG_SPI_MXS=y
|
||||
CONFIG_SPI_SPIDEV=m
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_HWMON=m
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_STMP3XXX_RTC_WATCHDOG=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_MXS=y
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
CONFIG_LCD_CLASS_DEVICE=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
# CONFIG_BACKLIGHT_GENERIC is not set
|
||||
CONFIG_BACKLIGHT_PWM=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_DEBUG=y
|
||||
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_ACM=y
|
||||
CONFIG_USB_PRINTER=y
|
||||
CONFIG_USB_WDM=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_CHIPIDEA=y
|
||||
CONFIG_USB_CHIPIDEA_UDC=y
|
||||
CONFIG_USB_CHIPIDEA_HOST=y
|
||||
CONFIG_USB_MXS_PHY=y
|
||||
CONFIG_USB_GADGET=y
|
||||
CONFIG_USB_GADGET_DEBUG_FILES=y
|
||||
CONFIG_USB_ETH=m
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_MXS=y
|
||||
CONFIG_NEW_LEDS=y
|
||||
CONFIG_LEDS_CLASS=y
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=y
|
||||
CONFIG_LEDS_TRIGGER_ONESHOT=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_STMP=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_MXS_DMA=y
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_MXS_LRADC=y
|
||||
CONFIG_IIO=y
|
||||
CONFIG_PWM=y
|
||||
CONFIG_PWM_MXS=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT2_FS_XATTR=y
|
||||
CONFIG_EXT2_FS_POSIX_ACL=y
|
||||
CONFIG_EXT2_FS_SECURITY=y
|
||||
CONFIG_EXT2_FS_XIP=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_ISO9660_FS=y
|
||||
CONFIG_JOLIET=y
|
||||
CONFIG_ZISOFS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
@@ -13,7 +13,6 @@ Supported platforms
|
||||
Buildroot currently supports the following Armadeus platforms with the
|
||||
associated defconfigs:
|
||||
|
||||
* APF9328 SOM + devt boards -> armadeus_apf9328_defconfig
|
||||
* APF27 SOM + devt board -> armadeus_apf27_defconfig
|
||||
* APF51 SOM + devt board -> armadeus_apf51_defconfig
|
||||
* APF28 SOM + devt board -> armadeus_apf28_defconfig
|
||||
@@ -46,15 +45,12 @@ When the build is finished, you will end up with:
|
||||
|
||||
output/images/
|
||||
├── imx**-apfxxdev.dtb [1]
|
||||
├── rootfs.jffs2 [2]
|
||||
├── rootfs.tar
|
||||
├── rootfs.ubi [2]
|
||||
├── rootfs.ubifs [2]
|
||||
├── rootfs.ubi
|
||||
├── rootfs.ubifs
|
||||
└── uImage
|
||||
|
||||
[1] Only if the kernel version used uses a Device Tree.
|
||||
[2] .ubi/.ubifs images are not available on APF9328 and replaced by a
|
||||
.jffs2 one in this case.
|
||||
|
||||
Building U-Boot is currently not supported in these configurations.
|
||||
|
||||
@@ -69,7 +65,6 @@ it:
|
||||
$ cp output/images/uImage /tftpboot/apfxx-linux.bin
|
||||
$ cp output/images/*.dtb /tftpboot/
|
||||
$ cp output/images/rootfs.ubi /tftpboot/apfxx-rootfs.ubi
|
||||
$ cp output/images/rootfs.jffs2 /tftpboot/apfxx-rootfs.jffs2
|
||||
|
||||
where "apfxx" is the version of your SOM, as used with _defconfigs.
|
||||
|
||||
|
||||
39
bsp/buildroot/board/atmel/at91sam9x5ek_mmc/genimage.cfg
Normal file
39
bsp/buildroot/board/atmel/at91sam9x5ek_mmc/genimage.cfg
Normal file
@@ -0,0 +1,39 @@
|
||||
# Image for SD card boot on Atmel at91sam9x5ek boards
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"at91sam9g15ek.dtb",
|
||||
"at91sam9g25ek.dtb",
|
||||
"at91sam9g35ek.dtb",
|
||||
"at91sam9x25ek.dtb",
|
||||
"at91sam9x35ek.dtb",
|
||||
"boot.bin",
|
||||
"u-boot.bin"
|
||||
}
|
||||
|
||||
file uboot.env {
|
||||
image = "uboot-env.bin"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
7
bsp/buildroot/board/atmel/at91sam9x5ek_mmc/uboot-env.txt
Normal file
7
bsp/buildroot/board/atmel/at91sam9x5ek_mmc/uboot-env.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
bootargs=console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait video=Unknown-1:800x480-16
|
||||
bootcmd=fatload mmc 0:1 0x21000000 at91sam9g35ek.dtb; fatload mmc 0:1 0x22000000 zImage; bootz 0x22000000 - 0x21000000
|
||||
bootdelay=1
|
||||
ethact=gmac0
|
||||
stderr=serial
|
||||
stdin=serial
|
||||
stdout=serial
|
||||
@@ -130,7 +130,6 @@ if [[ $BOARD == "*pda4" ]]; then
|
||||
video_mode="video=LVDS-1:480x272-16"
|
||||
fi
|
||||
|
||||
echo "Executing: ${!F} O=$1/images $1/host/opt/sam-ba/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode"
|
||||
echo "Executing: ${!F} O=$1/images $1/host/bin/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode"
|
||||
export O=$1/images
|
||||
$1/host/opt/sam-ba/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode
|
||||
|
||||
$1/host/bin/sam-ba $TTY ${!M} $(dirname $0)/nandflash.tcl -- ${!F} ${!D} $video_mode
|
||||
|
||||
34
bsp/buildroot/board/atmel/sama5d27_som1_ek_mmc/genimage.cfg
Normal file
34
bsp/buildroot/board/atmel/sama5d27_som1_ek_mmc/genimage.cfg
Normal file
@@ -0,0 +1,34 @@
|
||||
# Image for SD card boot on Atmel SAMA5D2 Xplained boards
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"at91-sama5d27_som1_ek.dtb",
|
||||
"at91-sama5d27_som1_ek_pda4.dtb",
|
||||
"at91-sama5d27_som1_ek_pda7.dtb",
|
||||
"at91-sama5d27_som1_ek_pda7b.dtb",
|
||||
"boot.bin",
|
||||
"u-boot.bin"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
7
bsp/buildroot/board/bananapi/bananapi-m1/boot.cmd
Normal file
7
bsp/buildroot/board/bananapi/bananapi-m1/boot.cmd
Normal file
@@ -0,0 +1,7 @@
|
||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
|
||||
mmc dev 0
|
||||
fatload mmc 0 $kernel_addr_r zImage
|
||||
fatload mmc 0 $fdt_addr_r sun7i-a20-bananapi.dtb
|
||||
|
||||
bootz $kernel_addr_r - $fdt_addr_r
|
||||
33
bsp/buildroot/board/bananapi/bananapi-m1/genimage.cfg
Normal file
33
bsp/buildroot/board/bananapi/bananapi-m1/genimage.cfg
Normal file
@@ -0,0 +1,33 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"sun7i-a20-bananapi.dtb",
|
||||
"boot.scr"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-sunxi-with-spl.bin"
|
||||
offset = 8192
|
||||
size = 1040384 # 1MB - 8192
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
37
bsp/buildroot/board/bananapi/bananapi-m1/readme.txt
Normal file
37
bsp/buildroot/board/bananapi/bananapi-m1/readme.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Bananapi M1. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Bananapi M1 link:
|
||||
http://www.banana-pi.org/m1.html
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Bananapi+M1
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make bananapi_m1_defconfig
|
||||
$ make
|
||||
|
||||
Note: you will need access to the internet to download the required
|
||||
sources.
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
$ sudo sync
|
||||
|
||||
Insert the micro SDcard in your Bananapi M1 and power it up. The console
|
||||
is on the serial line, 115200 8N1.
|
||||
6
bsp/buildroot/board/bananapi/bananapi-m64/boot.cmd
Normal file
6
bsp/buildroot/board/bananapi/bananapi-m64/boot.cmd
Normal file
@@ -0,0 +1,6 @@
|
||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
|
||||
fatload mmc 0 $kernel_addr_r Image
|
||||
fatload mmc 0 $fdt_addr_r sun50i-a64-bananapi-m64.dtb
|
||||
|
||||
booti $kernel_addr_r - $fdt_addr_r
|
||||
39
bsp/buildroot/board/bananapi/bananapi-m64/genimage.cfg
Normal file
39
bsp/buildroot/board/bananapi/bananapi-m64/genimage.cfg
Normal file
@@ -0,0 +1,39 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"sun50i-a64-bananapi-m64.dtb",
|
||||
"boot.scr"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition spl {
|
||||
in-partition-table = "no"
|
||||
image = "sunxi-spl.bin"
|
||||
offset = 8192
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.itb"
|
||||
offset = 40K
|
||||
size = 1M # 1MB - 40K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
37
bsp/buildroot/board/bananapi/bananapi-m64/readme.txt
Normal file
37
bsp/buildroot/board/bananapi/bananapi-m64/readme.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Bananapi M64. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Bananapi M64 link:
|
||||
http://www.banana-pi.org/m64.html
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Bananapi+M64
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make bananapi_m64_defconfig
|
||||
$ make
|
||||
|
||||
Note: you will need access to the internet to download the required
|
||||
sources.
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
$ sudo sync
|
||||
|
||||
Insert the micro SDcard in your Bananapi M64 and power it up. The console
|
||||
is on the serial line, 115200 8N1.
|
||||
@@ -9,6 +9,7 @@ image boot.vfat {
|
||||
"am335x-evmsk.dtb",
|
||||
"am335x-bone.dtb",
|
||||
"am335x-boneblack.dtb",
|
||||
"am335x-bonegreen.dtb",
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
|
||||
32
bsp/buildroot/board/beaglebone/genimage_linux41.cfg
Normal file
32
bsp/buildroot/board/beaglebone/genimage_linux41.cfg
Normal file
@@ -0,0 +1,32 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"MLO",
|
||||
"u-boot.img",
|
||||
"zImage",
|
||||
"uEnv.txt",
|
||||
"am335x-evm.dtb",
|
||||
"am335x-evmsk.dtb",
|
||||
"am335x-bone.dtb",
|
||||
"am335x-boneblack.dtb",
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,15 @@ BOARD_DIR="$(dirname $0)"
|
||||
# copy the uEnv.txt to the output/images directory
|
||||
cp board/beaglebone/uEnv.txt $BINARIES_DIR/uEnv.txt
|
||||
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
# the 4.1 kernel does not provide a dtb for beaglebone green, so we
|
||||
# use a different genimage config if am335x-bonegreen.dtb is not
|
||||
# built:
|
||||
if [ -e ${BINARIES_DIR}/am335x-bonegreen.dtb ] ; then
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
else
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage_linux41.cfg"
|
||||
fi
|
||||
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
@@ -106,6 +106,7 @@ fi
|
||||
|
||||
if itest.s "x" != "x${wlmac}" ; then
|
||||
setenv bootargs ${bootargs} wlcore.mac=${wlmac}
|
||||
setenv bootargs ${bootargs} wlan.mac=${wlmac}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${gpumem}" ; then
|
||||
|
||||
155
bsp/buildroot/board/boundarydevices/common/boot.cmd
Normal file
155
bsp/buildroot/board/boundarydevices/common/boot.cmd
Normal file
@@ -0,0 +1,155 @@
|
||||
setenv bootargs ''
|
||||
|
||||
setenv initrd_high 0xffffffff
|
||||
m4=''
|
||||
a_base=0x10000000
|
||||
if itest.s x51 == "x${imx_cpu}" ; then
|
||||
a_base=0x90000000
|
||||
elif itest.s x53 == "x${imx_cpu}"; then
|
||||
a_base=0x70000000
|
||||
elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then
|
||||
a_base=0x80000000
|
||||
if itest.s "x1" == "x$m4enabled" ; then
|
||||
run m4boot;
|
||||
m4='-m4';
|
||||
fi
|
||||
fi
|
||||
|
||||
setexpr a_script ${a_base} + 0x00800000
|
||||
setexpr a_zImage ${a_base} + 0x00800000
|
||||
setexpr a_fdt ${a_base} + 0x03000000
|
||||
setexpr a_ramdisk ${a_base} + 0x03800000
|
||||
setexpr a_initrd ${a_base} + 0x03a00000
|
||||
setexpr a_reset_cause_marker ${a_base} + 0x80
|
||||
setexpr a_reset_cause ${a_base} + 0x84
|
||||
|
||||
if itest.s "x" == "x${board}" ; then
|
||||
echo "!!!! Error: Your u-boot is outdated. Please upgrade.";
|
||||
exit;
|
||||
fi
|
||||
|
||||
if itest.s "x" == "x${fdt_file}" ; then
|
||||
if itest.s x6SOLO == "x${imx_cpu}" ; then
|
||||
fdt_file=imx6dl-${board}.dtb;
|
||||
elif itest.s x6DL == "x${imx_cpu}" ; then
|
||||
fdt_file=imx6dl-${board}.dtb;
|
||||
elif itest.s x6QP == "x${imx_cpu}" ; then
|
||||
fdt_file=imx6qp-${board}.dtb;
|
||||
elif itest.s x6SX == "x${imx_cpu}" ; then
|
||||
fdt_file=imx6sx-${board}${m4}.dtb;
|
||||
elif itest.s x7D == "x${imx_cpu}" ; then
|
||||
fdt_file=imx7d-${board}${m4}.dtb;
|
||||
elif itest.s x51 == "x${imx_cpu}" ; then
|
||||
fdt_file=imx51-${board}${m4}.dtb;
|
||||
elif itest.s x53 == "x${imx_cpu}" ; then
|
||||
fdt_file=imx53-${board}${m4}.dtb;
|
||||
else
|
||||
fdt_file=imx6q-${board}.dtb;
|
||||
fi
|
||||
fi
|
||||
|
||||
if itest.s x${distro_bootpart} == x ; then
|
||||
distro_bootpart=1
|
||||
fi
|
||||
|
||||
if load ${devtype} ${devnum}:${distro_bootpart} ${a_script} uEnv.txt ; then
|
||||
env import -t ${a_script} ${filesize}
|
||||
fi
|
||||
|
||||
setenv bootargs ${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc cpu=${imx_cpu} board=${board}
|
||||
|
||||
if load ${devtype} ${devnum}:${distro_bootpart} ${a_fdt} ${prefix}${fdt_file} ; then
|
||||
fdt addr ${a_fdt}
|
||||
setenv fdt_high 0xffffffff
|
||||
else
|
||||
echo "!!!! Error loading ${prefix}${fdt_file}";
|
||||
exit;
|
||||
fi
|
||||
|
||||
cmd_xxx_present=
|
||||
fdt resize
|
||||
if itest.s "x" != "x${cmd_custom}" ; then
|
||||
run cmd_custom
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${cmd_hdmi}" ; then
|
||||
run cmd_hdmi
|
||||
cmd_xxx_present=1;
|
||||
if itest.s x == x${allow_noncea} ; then
|
||||
setenv bootargs ${bootargs} mxc_hdmi.only_cea=1;
|
||||
echo "only CEA modes allowed on HDMI port";
|
||||
else
|
||||
setenv bootargs ${bootargs} mxc_hdmi.only_cea=0;
|
||||
echo "non-CEA modes allowed on HDMI, audio may be affected";
|
||||
fi
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${cmd_lcd}" ; then
|
||||
run cmd_lcd
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_lcd2}" ; then
|
||||
run cmd_lcd2
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_lvds}" ; then
|
||||
run cmd_lvds
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
if itest.s "x" != "x${cmd_lvds2}" ; then
|
||||
run cmd_lvds2
|
||||
cmd_xxx_present=1;
|
||||
fi
|
||||
|
||||
if itest.s "x" == "x${cmd_xxx_present}" ; then
|
||||
echo "!!!!!!!!!!!!!!!!"
|
||||
echo "warning: your u-boot may be outdated, please upgrade"
|
||||
echo "!!!!!!!!!!!!!!!!"
|
||||
fi
|
||||
|
||||
if test "sata" = "${devtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${distro_bootpart}" ;
|
||||
elif test "usb" = "${devtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${distro_bootpart}" ;
|
||||
else
|
||||
setenv bootargs "${bootargs} root=/dev/mmcblk${devnum}p${distro_bootpart}"
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${disable_msi}" ; then
|
||||
setenv bootargs ${bootargs} pci=nomsi
|
||||
fi;
|
||||
|
||||
if itest.s "x" != "x${disable_giga}" ; then
|
||||
setenv bootargs ${bootargs} fec.disable_giga=1
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${wlmac}" ; then
|
||||
setenv bootargs ${bootargs} wlcore.mac=${wlmac}
|
||||
setenv bootargs ${bootargs} wlan.mac=${wlmac}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${gpumem}" ; then
|
||||
setenv bootargs ${bootargs} galcore.contiguousSize=${gpumem}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${cma}" ; then
|
||||
setenv bootargs ${bootargs} cma=${cma}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${loglevel}" ; then
|
||||
setenv bootargs ${bootargs} loglevel=${loglevel}
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${show_fdt}" ; then
|
||||
fdt print /
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${show_env}" ; then
|
||||
printenv
|
||||
fi
|
||||
|
||||
if load ${devtype} ${devnum}:${distro_bootpart} ${a_zImage} ${prefix}zImage ; then
|
||||
bootz ${a_zImage} - ${a_fdt}
|
||||
fi
|
||||
echo "Error loading kernel image"
|
||||
@@ -7,14 +7,19 @@
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
# bd u-boot looks for bootscript here
|
||||
$HOST_DIR/usr/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
|
||||
# bd u-boot looks for standard bootscript
|
||||
install -m 0644 -D $BINARIES_DIR/boot.scr $TARGET_DIR/boot/
|
||||
# legacy 6x_bootscript script
|
||||
$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
|
||||
-n "boot script" -d $BOARD_DIR/6x_bootscript.txt $TARGET_DIR/6x_bootscript
|
||||
|
||||
# u-boot / update script for bd upgradeu command
|
||||
if [ -e $BINARIES_DIR/u-boot.imx ];
|
||||
then
|
||||
install -D -m 0644 $BINARIES_DIR/u-boot.imx $TARGET_DIR/u-boot.imx
|
||||
$HOST_DIR/usr/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
|
||||
$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
|
||||
-n "upgrade script" -d $BOARD_DIR/upgrade.cmd $TARGET_DIR/upgrade.scr
|
||||
# legacy 6x_upgrade script
|
||||
$HOST_DIR/bin/mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
|
||||
-n "upgrade script" -d $BOARD_DIR/6x_upgrade.txt $TARGET_DIR/6x_upgrade
|
||||
fi
|
||||
|
||||
154
bsp/buildroot/board/boundarydevices/common/upgrade.cmd
Normal file
154
bsp/buildroot/board/boundarydevices/common/upgrade.cmd
Normal file
@@ -0,0 +1,154 @@
|
||||
if itest.s a$uboot_defconfig == a; then
|
||||
echo "Please set uboot_defconfig to the appropriate value"
|
||||
exit
|
||||
fi
|
||||
|
||||
offset=0x400
|
||||
erase_size=0xC0000
|
||||
qspi_offset=0x0
|
||||
a_base=0x12000000
|
||||
|
||||
if itest.s x51 == "x${imx_cpu}"; then
|
||||
a_base=0x92000000
|
||||
elif itest.s x53 == "x${imx_cpu}"; then
|
||||
a_base=0x72000000
|
||||
elif itest.s x6SX == "x${imx_cpu}" || itest.s x7D == "x${imx_cpu}"; then
|
||||
a_base=0x82000000
|
||||
fi
|
||||
|
||||
qspi_match=1
|
||||
setexpr a_qspi1 ${a_base}
|
||||
setexpr a_qspi2 ${a_qspi1} + 0x400000
|
||||
setexpr a_uImage1 ${a_qspi1} + 0x400
|
||||
setexpr a_uImage2 ${a_qspi2} + 0x400
|
||||
setexpr a_script ${a_base}
|
||||
|
||||
setenv stdout serial,vga
|
||||
|
||||
if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then
|
||||
echo "probed SPI ROM" ;
|
||||
else
|
||||
echo "Error initializing EEPROM"
|
||||
exit
|
||||
fi
|
||||
|
||||
if itest.s x7D == "x${imx_cpu}"; then
|
||||
echo "check qspi parameter block" ;
|
||||
if ${fs}load ${devtype} ${devnum}:1 ${a_qspi1} qspi-${sfname}.${uboot_defconfig} ; then
|
||||
else
|
||||
echo "parameter file qspi-${sfname}.${uboot_defconfig} not found on SD card"
|
||||
exit
|
||||
fi
|
||||
if itest ${filesize} != 0x200 ; then
|
||||
echo "------- qspi-${sfname}.${uboot_defconfig} 0x${filesize} != 0x200 bytes" ;
|
||||
exit
|
||||
fi
|
||||
setexpr a_marker ${a_qspi1} + 0x1fc
|
||||
if itest *${a_marker} != c0ffee01 ; then
|
||||
echo "------- qspi-${sfname}.${uboot_defconfig} c0ffee01 marker missing" ;
|
||||
exit
|
||||
fi
|
||||
if sf read ${a_qspi2} ${qspi_offset} 0x200 ; then
|
||||
else
|
||||
echo "Error reading qspi parameter from EEPROM"
|
||||
exit
|
||||
fi
|
||||
if cmp.b ${a_qspi1} ${a_qspi2} 0x200 ; then
|
||||
echo "------- qspi parameters match"
|
||||
else
|
||||
echo "------- qspi parameters mismatch"
|
||||
qspi_match=0
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "check U-Boot" ;
|
||||
|
||||
if ${fs}load ${devtype} ${devnum}:1 ${a_uImage1} u-boot.$uboot_defconfig ; then
|
||||
else
|
||||
echo "File u-boot.$uboot_defconfig not found on SD card" ;
|
||||
exit
|
||||
fi
|
||||
echo "read $filesize bytes from SD card" ;
|
||||
if sf read ${a_uImage2} $offset $filesize ; then
|
||||
else
|
||||
echo "Error reading boot loader from EEPROM" ;
|
||||
exit
|
||||
fi
|
||||
|
||||
if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
|
||||
echo "------- U-Boot versions match" ;
|
||||
if itest.s "${qspi_match}" == "1" ; then
|
||||
echo "------- upgrade not needed" ;
|
||||
if itest.s "x" != "x${next}" ; then
|
||||
if ${fs}load ${devtype} ${devnum}:1 ${a_script} ${next} ; then
|
||||
source ${a_script}
|
||||
else
|
||||
echo "${next} not found on SD card"
|
||||
fi
|
||||
fi
|
||||
exit
|
||||
fi
|
||||
erase_size=0x1000
|
||||
if itest.s xMX25L6405D == "x${sfname}"; then
|
||||
erase_size=0x10000
|
||||
fi
|
||||
setexpr filesize ${erase_size} - ${offset}
|
||||
fi
|
||||
|
||||
echo "Need U-Boot upgrade" ;
|
||||
echo "Program in 5 seconds" ;
|
||||
for n in 5 4 3 2 1 ; do
|
||||
echo $n ;
|
||||
sleep 1 ;
|
||||
done
|
||||
echo "erasing" ;
|
||||
sf erase 0 ${erase_size} ;
|
||||
|
||||
# two steps to prevent bricking
|
||||
echo "programming" ;
|
||||
setexpr a1 ${a_uImage1} + 0x400
|
||||
setexpr o1 ${offset} + 0x400
|
||||
setexpr s1 ${filesize} - 0x400
|
||||
sf write ${a1} ${o1} ${s1} ;
|
||||
sf write ${a_uImage1} $offset 0x400 ;
|
||||
|
||||
if itest.s x7D == "x${imx_cpu}"; then
|
||||
sf write ${a_qspi1} ${qspi_offset} 0x200
|
||||
fi
|
||||
|
||||
echo "verifying" ;
|
||||
if sf read ${a_uImage2} $offset $filesize ; then
|
||||
else
|
||||
echo "Error re-reading EEPROM" ;
|
||||
exit
|
||||
fi
|
||||
if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
|
||||
else
|
||||
echo "Read verification error" ;
|
||||
exit
|
||||
fi
|
||||
|
||||
if itest.s x7D == "x${imx_cpu}"; then
|
||||
if sf read ${a_qspi2} ${qspi_offset} 0x200 ; then
|
||||
else
|
||||
echo "Error re-reading qspi" ;
|
||||
exit
|
||||
fi
|
||||
if cmp.b ${a_qspi1} ${a_qspi2} 0x200 ; then
|
||||
else
|
||||
echo "qspi parameter block verification error" ;
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${next}" ; then
|
||||
if ${fs}load ${devtype} ${devnum}:1 ${a_script} ${next} ; then
|
||||
source ${a_script}
|
||||
else
|
||||
echo "${next} not found on ${devtype} ${devnum}"
|
||||
fi
|
||||
fi
|
||||
|
||||
while echo "---- U-Boot upgraded. reset" ; do
|
||||
sleep 120
|
||||
done
|
||||
@@ -14,8 +14,8 @@
|
||||
# cgpt does not create protective MBR, and the kernel refuses to read
|
||||
# GPT unless there's some kind of MBR in sector 0. So we need parted
|
||||
# to write that single sector before doing anything with the GPT.
|
||||
cgpt=$HOST_DIR/usr/bin/cgpt
|
||||
parted=$HOST_DIR/usr/sbin/parted
|
||||
cgpt=$HOST_DIR/bin/cgpt
|
||||
parted=$HOST_DIR/sbin/parted
|
||||
kernel=$BINARIES_DIR/uImage.kpart
|
||||
rootfs=$BINARIES_DIR/rootfs.ext2
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ you will probably want the rootfs to occupy the whole remaining space.
|
||||
|
||||
cgpt may be used to check current layout:
|
||||
|
||||
output/host/usr/bin/cgpt show $SD
|
||||
output/host/bin/cgpt show $SD
|
||||
|
||||
All sizes and all offsets are in 512-byte blocks.
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
# The resulting file is called uImage.kpart.
|
||||
|
||||
BOARD_DIR=$(dirname $0)
|
||||
mkimage=$HOST_DIR/usr/bin/mkimage
|
||||
futility=$HOST_DIR/usr/bin/futility
|
||||
devkeys=$HOST_DIR/usr/share/vboot/devkeys
|
||||
mkimage=$HOST_DIR/bin/mkimage
|
||||
futility=$HOST_DIR/bin/futility
|
||||
devkeys=$HOST_DIR/share/vboot/devkeys
|
||||
|
||||
run() { echo "$@"; "$@"; }
|
||||
die() { echo "$@" >&2; exit 1; }
|
||||
|
||||
29
bsp/buildroot/board/ci20/genimage.cfg
Normal file
29
bsp/buildroot/board/ci20/genimage.cfg
Normal file
@@ -0,0 +1,29 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition uboot-spl {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-spl.bin"
|
||||
offset = 512
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.img"
|
||||
offset = 14k
|
||||
}
|
||||
|
||||
partition uboot-env {
|
||||
in-partition-table = "no"
|
||||
image = "uboot-env.bin"
|
||||
offset = 526k
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
offset = 2M
|
||||
size = 60M
|
||||
}
|
||||
}
|
||||
@@ -2,41 +2,45 @@
|
||||
* MIPS Creator CI20 *
|
||||
*********************
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
The 'ci20_defconfig' will create a root filesystem and a kernel image
|
||||
under the 'output/images/' directory. This document will try to explain how
|
||||
to use them in order to run Buildroot in the MIPS Creator CI20 board.
|
||||
|
||||
Assuming you are at the U-Boot prompt of the MIPS Creator CI20, you have to
|
||||
load the generated kernel image by using the 'tftpboot' command. In
|
||||
order to do that, you will need to get the network working. Here you
|
||||
have the instructions to set the ip address, netmask and gateway:
|
||||
How to build it
|
||||
===============
|
||||
|
||||
setenv ipaddr x.x.x.x
|
||||
setenv netmask x.x.x.x
|
||||
setenv gatewayip x.x.x.x
|
||||
Configure Buildroot
|
||||
-------------------
|
||||
|
||||
Now you have to set the ip for the TFTP server you are going to load the
|
||||
kernel image from, and also the name of the kernel image file (we use
|
||||
'uImage' as a filename in this example):
|
||||
$ make ci20_defconfig
|
||||
|
||||
setenv serverip x.x.x.x
|
||||
setenv bootfile uImage
|
||||
Build the rootfs
|
||||
----------------
|
||||
|
||||
And finally load the kernel image:
|
||||
Note: you will need to have access to the network, since Buildroot will
|
||||
download the packages' sources.
|
||||
|
||||
tftpboot
|
||||
You may now build your rootfs with:
|
||||
|
||||
Now you have to extract the generated root filesystem into a USB drive
|
||||
or SD-Card. Here you have the instructions to boot from the two of them.
|
||||
You have to choose the one your prefer:
|
||||
$ make
|
||||
|
||||
From USB
|
||||
setenv bootargs console=ttyS4,115200 console=tty0 mem=256M@0x0
|
||||
mem=768M@0x30000000 root=/dev/sda1
|
||||
(This may take a while, consider getting yourself a coffee ;-) )
|
||||
|
||||
From SD-Card
|
||||
setenv bootargs console=ttyS4,115200 console=tty0 mem=256M@0x0
|
||||
mem=768M@0x30000000 root=/dev/mmcblk0p1
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
And finally run this command to boot the board:
|
||||
bootm
|
||||
Once the build process is finished you will have an image called
|
||||
"sdcard.img" in the output/images/ directory.
|
||||
|
||||
Make sure the SD card is not mounted then copy the bootable "sdcard.img" onto
|
||||
it with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Insert the SDcard into your ci20, and power it up. Your new system
|
||||
should come up now and start a console on the UART HEADER.
|
||||
|
||||
see: https://elinux.org/CI20_Hardware#Dedicated_UART_header
|
||||
|
||||
10
bsp/buildroot/board/ci20/uboot-env.txt
Normal file
10
bsp/buildroot/board/ci20/uboot-env.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
baudrate=115200
|
||||
board_mfr=NP
|
||||
bootargs=console=ttyS4,115200 console=tty0 mem=256M@0x0 mem=768M@0x30000000 rootwait root=/dev/mmcblk0p1 devtmpfs.mount=1 ip=dhcp
|
||||
bootcmd=run ethargs; ext4load mmc 0:1 0x88000000 /boot/uImage; bootm 0x88000000
|
||||
bootdelay=1
|
||||
ethargs=env set bootargs ${bootargs}
|
||||
loads_echo=1
|
||||
stderr=eserial0,eserial4
|
||||
stdin=eserial0,eserial4
|
||||
stdout=eserial0,eserial4
|
||||
25
bsp/buildroot/board/csky/gx6605s/gdbinit
Normal file
25
bsp/buildroot/board/csky/gx6605s/gdbinit
Normal file
@@ -0,0 +1,25 @@
|
||||
tar jtag jtag://127.0.0.1:1025
|
||||
reset
|
||||
|
||||
# setup CCR (Cache Config Reg)
|
||||
# 0-1:MP,2:IE,3:DE,4:WB,5:RS,6:Z,7:BE
|
||||
set $cr18 = 0x7d
|
||||
|
||||
# vendor custom setup, double cache line & preload
|
||||
set $cr30 = 0xc
|
||||
|
||||
# pin mux for serial8250
|
||||
set *(unsigned int *) 0xa030a14c |= (1 << 22) | (1 << 23)
|
||||
|
||||
# pass devicetree blob
|
||||
# r2 is magic
|
||||
# r3 is address
|
||||
set $r2 = 0x20150401
|
||||
set $r3 = 0x92000000
|
||||
restore gx6605s.dtb binary 0x92000000
|
||||
|
||||
# flush cache
|
||||
set $cr17 = 0x33
|
||||
|
||||
load
|
||||
|
||||
88
bsp/buildroot/board/csky/readme.txt
Normal file
88
bsp/buildroot/board/csky/readme.txt
Normal file
@@ -0,0 +1,88 @@
|
||||
C-SKY Development Kit
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
C-SKY is a CPU Architecture from www.c-sky.com and has it own instruction set.
|
||||
Just like arm and mips in linux/arch, it named as 'csky'.
|
||||
|
||||
gx6605s develop board is made by Hangzhou Nationalchip and C-SKY.
|
||||
|
||||
Hardware Spec:
|
||||
* CPU: ck610 up to 594Mhz
|
||||
* Integrate with 64MB ddr2 in SOC.
|
||||
* Integrate with hardware Jtag.
|
||||
* Integrate with usb-to-serial chip.
|
||||
* USB ehci controller in SOC.
|
||||
* Power Supply: DC 5V from two micro-usb.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot
|
||||
-------------------
|
||||
|
||||
The csky_gx6605s_defconfig configuration is a sample configuration with
|
||||
all that is required to bring the gx6605s Development Board:
|
||||
|
||||
$ make csky_gx6605s_defconfig
|
||||
|
||||
Build everything
|
||||
----------------
|
||||
|
||||
Note: you will need to have access to the network, since Buildroot will
|
||||
download the packages' sources.
|
||||
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should obtain this tree:
|
||||
|
||||
output/images/
|
||||
├── vmlinux
|
||||
├── rootfs.ext2
|
||||
└── <board name>.dtb
|
||||
|
||||
How to run it
|
||||
=============
|
||||
|
||||
Prepare Jtag-Server
|
||||
-------------------
|
||||
|
||||
Download the Jtag-Server here:
|
||||
|
||||
https://github.com/c-sky/tools/raw/master/DebugServerConsole-linux-x86_64-V4.2.00-20161213.tar.gz
|
||||
|
||||
Go to the unpacked directory:
|
||||
|
||||
$./DebugServerConsole -ddc -rstwait 1000 -prereset -port 1025
|
||||
|
||||
Perhaps you need to use "sudo", which need libusb to detect c510:b210
|
||||
|
||||
$ sudo ./DebugServerConsole -ddc -rstwait 1000 -prereset -port 1025
|
||||
|
||||
Prepare USB drive
|
||||
-----------------
|
||||
|
||||
You sould determine which device associated to the usb drive
|
||||
carefully. eg:
|
||||
|
||||
$ cat /proc/partitions
|
||||
8 48 1971712 sdd
|
||||
8 49 976720 sdd1
|
||||
|
||||
$ sudo dd if=rootfs.ext2 of=/dev/sdd1
|
||||
$ sudo sync
|
||||
|
||||
Run
|
||||
---
|
||||
|
||||
Plug the usb drive on gx6605s dev board.
|
||||
|
||||
Setup the Console with the rate 115200/8-N-1.
|
||||
|
||||
$ cd output/images
|
||||
$ ../host/bin/csky-linux-gdb -x ../../board/csky/gx6605s/gdbinit vmlinux
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
#!/bin/sh
|
||||
# post-build.sh for Cubieboard2
|
||||
# 2013, Carlo Caione <carlo.caione@gmail.com>
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
MKIMAGE=$HOST_DIR/usr/bin/mkimage
|
||||
BOOT_CMD=$BOARD_DIR/boot.cmd
|
||||
BOOT_CMD_H=$BINARIES_DIR/boot.scr
|
||||
|
||||
# U-Boot script
|
||||
$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H
|
||||
@@ -1,46 +0,0 @@
|
||||
Buildroot for Embest RIoTboard
|
||||
==============================
|
||||
|
||||
1. Compiling buildroot
|
||||
----------------------
|
||||
|
||||
make riotboard_defconfig
|
||||
make
|
||||
|
||||
2. Installing buildroot
|
||||
-----------------------
|
||||
|
||||
Prepare an SD-card and plug it into your card reader. Write the bootloader to
|
||||
your SD-card:
|
||||
|
||||
sudo dd if=output/images/u-boot.imx of=/dev/sdX bs=1k seek=1
|
||||
|
||||
Create 1 partition on the SD-card using your favourite tool. The
|
||||
partition should be big enough to hold your rootfs, for example
|
||||
128MiB. Here's an example partition layout:
|
||||
|
||||
Device Boot Start End Blocks Id System
|
||||
/dev/sdX1 2048 264191 131072 83 Linux
|
||||
|
||||
Format the SD-card partition with your favourite filesystem:
|
||||
|
||||
sudo mkfs.ext2 /dev/sdX1
|
||||
|
||||
Deploy your rootfs to the SD-card:
|
||||
|
||||
sudo mkdir /mnt/sdcard/
|
||||
sudo mount /dev/sdX1 /mnt/sdcard/
|
||||
sudo tar xf output/images/rootfs.tar -C /mnt/sdcard/
|
||||
sudo umount /dev/sdX1
|
||||
|
||||
3. Running buildroot
|
||||
--------------------
|
||||
|
||||
Position the board so you can read the label "RIoTboard" on the right side of
|
||||
SW1 DIP switches. Configure the SW1 swiches like this:
|
||||
|
||||
10100101 (1 means ON position, 0 means OFF position)
|
||||
|
||||
Now plug your prepared SD-card in slot J6. Connect a serial console (115200, 8,
|
||||
N, 1) to header J18. Connect a 5V/1A power supply to the board and enjoy your
|
||||
new toy.
|
||||
@@ -1,6 +0,0 @@
|
||||
default buildroot
|
||||
|
||||
label buildroot
|
||||
kernel /boot/uImage
|
||||
devicetree /boot/imx6dl-riotboard.dtb
|
||||
append console=ttymxc1,115200 root=/dev/mmcblk0p1 rw
|
||||
38
bsp/buildroot/board/engicam/geam6ul/genimage.cfg
Normal file
38
bsp/buildroot/board/engicam/geam6ul/genimage.cfg
Normal file
@@ -0,0 +1,38 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"uImage",
|
||||
"imx6ul-geam-kit.dtb"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition SPL {
|
||||
in-partition-table = "no"
|
||||
image = "SPL"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 69K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
66
bsp/buildroot/board/engicam/geam6ul/readme.txt
Normal file
66
bsp/buildroot/board/engicam/geam6ul/readme.txt
Normal file
@@ -0,0 +1,66 @@
|
||||
********************************************
|
||||
Buildroot for Engicam GEAM6UL SOM platforms:
|
||||
********************************************
|
||||
|
||||
This file documents the Buildroot support for all Engicam GEAM6UL
|
||||
SOM platform boards.
|
||||
|
||||
GEAM6UL SOM Starter kits:
|
||||
https://www.engicam.com/vis-prod/101115
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the Engicam GEAM6UL SOM:
|
||||
|
||||
- for GEAM6UL SOM:
|
||||
|
||||
make engicam_imx6ul_geam_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find the following files in output/images/:
|
||||
- imx6ul-geam-kit.dtb
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- SPL
|
||||
- u-boot-dtb.img
|
||||
- uImage
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
To determine the device associated to the SD card have a look in the
|
||||
/proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be dumped on a SD card. Launch the following
|
||||
command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
|
||||
sync
|
||||
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/engicam/geam6ul/genimage.cfg
|
||||
|
||||
Boot the GEAM6UL boards with SD boot:
|
||||
====================================
|
||||
|
||||
To boot your newly created system:
|
||||
- insert the SD card in the SD slot of the board;
|
||||
- connect 3-wire RS232 serial port J28 on board, and connect with other
|
||||
serial end or USB cable(if serial-to-usb converter used) using
|
||||
a terminal emulator at 115200 bps, 8n1;
|
||||
- close JM3 for sd boot.
|
||||
- power on the board.
|
||||
|
||||
Enjoy!
|
||||
41
bsp/buildroot/board/engicam/icorem6/genimage.cfg
Normal file
41
bsp/buildroot/board/engicam/icorem6/genimage.cfg
Normal file
@@ -0,0 +1,41 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"uImage",
|
||||
"imx6dl-icore.dtb",
|
||||
"imx6q-icore.dtb",
|
||||
"imx6q-icore-ofcap10.dtb",
|
||||
"imx6q-icore-ofcap12.dtb"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition SPL {
|
||||
in-partition-table = "no"
|
||||
image = "SPL"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 69K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
4
bsp/buildroot/board/engicam/icorem6/linux_qt5.fragment
Normal file
4
bsp/buildroot/board/engicam/icorem6/linux_qt5.fragment
Normal file
@@ -0,0 +1,4 @@
|
||||
# Currently kernel mainline exhibits issues when running cpufreq as ondemand
|
||||
# governor on mx6.
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
93
bsp/buildroot/board/engicam/icorem6/readme.txt
Normal file
93
bsp/buildroot/board/engicam/icorem6/readme.txt
Normal file
@@ -0,0 +1,93 @@
|
||||
*********************************************
|
||||
Buildroot for Engicam i.CoreM6 SOM platforms:
|
||||
*********************************************
|
||||
|
||||
This file documents the Buildroot support for Engicam i.CoreM6
|
||||
platform boards.
|
||||
|
||||
i.CoreM6 Quad/Dual/DualLite/Solo SOM Starter kits:
|
||||
https://www.engicam.com/vis-prod/101120
|
||||
i.CoreM6 Quad/Dual/DualLite/Solo Open Frame 10.1 C.TOUCH kits:
|
||||
https://www.engicam.com/vis-prod/101133
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the Engicam i.CoreM6:
|
||||
|
||||
make engicam_imx6qdl_icore_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find the following files in output/images/:
|
||||
- imx6q-icore.dtb (for i.CoreM6 Quad/Dual)
|
||||
- imx6dl-icore.dtb (for i.CoreM6 DualLite/Solo)
|
||||
- imx6q-icore-ofcap10.dtb (for i.CoreM6 Quad/Dual ofcap 10)
|
||||
- imx6q-icore-ofcap12.dtb (for i.CoreM6 Quad/Dual ofcap 12)
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- SPL
|
||||
- u-boot-dtb.img
|
||||
- uImage
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
To determine the device associated to the SD card have a look in the
|
||||
/proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be dumped on a SD card. Launch the following
|
||||
command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
|
||||
sync
|
||||
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/engicam/icorem6/genimage.cfg
|
||||
|
||||
Boot the i.CoreM6 boards with SD boot:
|
||||
=====================================
|
||||
|
||||
To boot your newly created system:
|
||||
- insert the SD card in the SD slot of the board;
|
||||
- connect 3-wire RS232 serial port J28 on board, and connect with other
|
||||
serial end or USB cable(if serial-to-usb converter used) using
|
||||
a terminal emulator at 115200 bps, 8n1;
|
||||
- close JM3 for sd boot.
|
||||
- power on the board.
|
||||
|
||||
Testing graphics on i.CoreM6:
|
||||
============================
|
||||
|
||||
Build with support for Etnaviv, Qt5 and demo applications:
|
||||
|
||||
make engicam_imx6qdl_icore_qt5_defconfig
|
||||
make
|
||||
|
||||
Running kmscube
|
||||
# kmscube -D /dev/dri/card1
|
||||
|
||||
Running glmark2-es2-drm
|
||||
# glmark2-es2-drm
|
||||
|
||||
Running Qt5 Cinematic Demo:
|
||||
- for i.CoreM6 Starter Kit
|
||||
# export QT_QPA_EGLFS_KMS_CONFIG=/root/imx6qdl-icore.json
|
||||
- for i.CoreM6 ofcap10
|
||||
# export QT_QPA_EGLFS_KMS_CONFIG=/root/imx6qdl-icore-ofcap10.json
|
||||
- for i.CoreM6 ofcap12
|
||||
# export QT_QPA_EGLFS_KMS_CONFIG=/root/imx6qdl-icore-ofcap12.json
|
||||
|
||||
# CinematicExperience-demo
|
||||
|
||||
Enjoy!
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"device": "/dev/dri/card1",
|
||||
"hwcursor": false,
|
||||
"pbuffers": true,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LVDS-1",
|
||||
"mode": "1280x800"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"device": "/dev/dri/card1",
|
||||
"hwcursor": false,
|
||||
"pbuffers": true,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LVDS-1",
|
||||
"mode": "1280x480"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"device": "/dev/dri/card1",
|
||||
"hwcursor": false,
|
||||
"pbuffers": true,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "LVDS-1",
|
||||
"mode": "800x480"
|
||||
}
|
||||
]
|
||||
}
|
||||
39
bsp/buildroot/board/engicam/icorem6_rqs/genimage.cfg
Normal file
39
bsp/buildroot/board/engicam/icorem6_rqs/genimage.cfg
Normal file
@@ -0,0 +1,39 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"uImage",
|
||||
"imx6dl-icore-rqs.dtb",
|
||||
"imx6q-icore-rqs.dtb"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition SPL {
|
||||
in-partition-table = "no"
|
||||
image = "SPL"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 69K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
69
bsp/buildroot/board/engicam/icorem6_rqs/readme.txt
Normal file
69
bsp/buildroot/board/engicam/icorem6_rqs/readme.txt
Normal file
@@ -0,0 +1,69 @@
|
||||
*************************************************
|
||||
Buildroot for Engicam i.CoreM6 RQS SOM platforms:
|
||||
*************************************************
|
||||
|
||||
This file documents the Buildroot support for Engicam i.CoreM6 RQS
|
||||
SOM platform boards.
|
||||
|
||||
i.CoreM6 Quad/Dual/DualLite/Solo RQS SOM Starter kits:
|
||||
https://www.engicam.com/vis-prod/101124
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the Engicam i.CoreM6 RQS:
|
||||
|
||||
- for i.CoreM6 RQS Quad/Dual/DualLite/Solo:
|
||||
|
||||
make engicam_imx6qdl_icore_rqs_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find the following files in output/images/:
|
||||
- for i.CoreM6 Quad/Dual RQS:
|
||||
- imx6q-icore-rqs.dtb
|
||||
- for i.CoreM6 DualLite/Solo RQS:
|
||||
- imx6dl-icore-rqs.dtb
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- SPL
|
||||
- u-boot-dtb.img
|
||||
- uImage
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
To determine the device associated to the SD card have a look in the
|
||||
/proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be dumped on a SD card. Launch the following
|
||||
command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
|
||||
sync
|
||||
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/engicam/icorem6_rqs/genimage.cfg
|
||||
|
||||
Boot the i.CoreM6 RQS boards with SD boot:
|
||||
=========================================
|
||||
|
||||
To boot your newly created system:
|
||||
- insert the SD card in the SD slot of the board;
|
||||
- connect 3-wire RS232 serial port J7 on board, and connect with other
|
||||
serial end or USB cable(if serial-to-usb converter used) using
|
||||
a terminal emulator at 115200 bps, 8n1;
|
||||
- close JM2 for sd boot.
|
||||
- power on the board.
|
||||
|
||||
Enjoy!
|
||||
38
bsp/buildroot/board/engicam/isiot/genimage.cfg
Normal file
38
bsp/buildroot/board/engicam/isiot/genimage.cfg
Normal file
@@ -0,0 +1,38 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"uImage",
|
||||
"imx6ul-isiot-emmc.dtb"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition SPL {
|
||||
in-partition-table = "no"
|
||||
image = "SPL"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 69K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
66
bsp/buildroot/board/engicam/isiot/readme.txt
Normal file
66
bsp/buildroot/board/engicam/isiot/readme.txt
Normal file
@@ -0,0 +1,66 @@
|
||||
********************************************
|
||||
Buildroot for Engicam Is.IoT SOM platforms:
|
||||
********************************************
|
||||
|
||||
This file documents the Buildroot support for all Engicam Is.IoT MX6UL
|
||||
SOM platform boards.
|
||||
|
||||
Is.IoT MX6UL SOM Starter kits:
|
||||
https://www.engicam.com/vis-prod/101122
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the Engicam Is.IoT MX6UL SOM:
|
||||
|
||||
- for Is.IoT MX6UL SOM:
|
||||
|
||||
make engicam_imx6ul_isiot_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find the following files in output/images/:
|
||||
- imx6ul-isiot-emmc.dtb
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- SPL
|
||||
- u-boot-dtb.img
|
||||
- uImage
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
To determine the device associated to the SD card have a look in the
|
||||
/proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be dumped on a SD card. Launch the following
|
||||
command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
|
||||
sync
|
||||
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/engicam/isiot/genimage.cfg
|
||||
|
||||
Boot the Is.IoT MX6UL boards with SD boot:
|
||||
=========================================
|
||||
|
||||
To boot your newly created system:
|
||||
- insert the SD card in the SD slot of the board;
|
||||
- connect 3-wire RS232 serial port J28 on board, and connect with other
|
||||
serial end or USB cable(if serial-to-usb converter used) using
|
||||
a terminal emulator at 115200 bps, 8n1;
|
||||
- close JM3 for sd boot.
|
||||
- power on the board.
|
||||
|
||||
Enjoy!
|
||||
@@ -1,6 +0,0 @@
|
||||
default firefly-rk3288
|
||||
|
||||
label firefly-rk3288
|
||||
kernel /boot/uImage
|
||||
devicetree /boot/rk3288-firefly.dtb
|
||||
append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
|
||||
@@ -1,3 +0,0 @@
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
MKIMAGE=$HOST_DIR/usr/bin/mkimage
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/sd-image.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
|
||||
exit $?
|
||||
@@ -1,40 +0,0 @@
|
||||
Firefly RK3288
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
$ make firefly_rk3288_defconfig
|
||||
|
||||
Then you can edit the build options using
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Compile all and build rootfs image:
|
||||
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should get a tree like this:
|
||||
|
||||
output/images/
|
||||
├── rk3288-firefly.dtb
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4 -> rootfs.ext2
|
||||
├── sdcard.img
|
||||
├── u-boot-dtb.img
|
||||
├── u-boot-spl-dtb.bin
|
||||
├── u-boot-spl-dtb.img
|
||||
└── uImage
|
||||
|
||||
Prepare your SDCard
|
||||
===================
|
||||
|
||||
Buildroot generates a ready-to-use SD card image that you can flash directly to
|
||||
the card. The image will be in output/images/sdcard.img.
|
||||
You can write this image directly to an SD card device (i.e. /dev/xxx):
|
||||
|
||||
$ dd if=output/images/sdcard.img of=/dev/xxx
|
||||
|
||||
Finally, you can insert the SD card to the Firefly RK3288 board and boot it.
|
||||
@@ -1,22 +0,0 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot-spl-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-spl-dtb.img"
|
||||
offset = 32K
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 128K
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
# Minimal SD card image for the Freescale boards Template for SPL Boot
|
||||
#
|
||||
# We mimic the .sdcard Freescale's image format:
|
||||
# * the SD card must have 1 kB free space at the beginning,
|
||||
# * U-Boot is dumped as is,
|
||||
# * a FAT partition at offset 8MB is containing zImage/uImage and DTB files
|
||||
# * a single root filesystem partition is required (ext2, ext3 or ext4)
|
||||
#
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
%FILES%
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition spl {
|
||||
in-partition-table = "no"
|
||||
image = "SPL"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition u-boot-img {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.img"
|
||||
offset = 69K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -28,6 +28,15 @@ linux_image()
|
||||
fi
|
||||
}
|
||||
|
||||
genimage_type()
|
||||
{
|
||||
if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_spl"
|
||||
else
|
||||
echo "genimage.cfg.template"
|
||||
fi
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
local FILES="$(dtb_list) $(linux_image)"
|
||||
@@ -35,7 +44,7 @@ main()
|
||||
local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
sed -e "s/%FILES%/${FILES}/" \
|
||||
board/freescale/common/imx/genimage.cfg.template > ${GENIMAGE_CFG}
|
||||
board/freescale/common/imx/$(genimage_type) > ${GENIMAGE_CFG}
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
# CONFIG_FB_MXS is not set
|
||||
@@ -1,92 +0,0 @@
|
||||
**************************************
|
||||
Freescale i.MX31 PDK development board
|
||||
**************************************
|
||||
|
||||
This file documents the Buildroot support for the Freescale i.MX31 PDK in "3
|
||||
stack" configuration.
|
||||
|
||||
The i.MX31 Product Development Kit (or PDK) is Freescale development board [1]
|
||||
based on the i.MX31 application processor [2].
|
||||
|
||||
For more details on the i.MX31 PDK board, refer to the User's Guide [3].
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for your i.MX31 PDK board:
|
||||
|
||||
make freescale_imx31_3stack_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find in ./output/images/ the following files:
|
||||
- rootfs.cpio
|
||||
- rootfs.cpio.gz
|
||||
- rootfs.tar
|
||||
- zImage
|
||||
|
||||
The generated zImage does include the rootfs.
|
||||
|
||||
Boot the PDK board
|
||||
==================
|
||||
|
||||
The i.MX31 PDK contains a RedBoot bootloader in flash, which can be used to
|
||||
boot the newly created Buildroot images from the network.
|
||||
|
||||
This necessitates to setup a TFTP server first. This setup is explained for
|
||||
example in Freescale i.MX31 PDK 1.5 Linux User's Guide [4].
|
||||
|
||||
Here is a sample RedBoot configuration, for proper network boot of Buildroot on
|
||||
the i.MX31 PDK:
|
||||
|
||||
RedBoot> fconfig -l
|
||||
Run script at boot: true
|
||||
Boot script:
|
||||
.. load -r -b 0x100000 zImage
|
||||
.. exec -c "console=ttymxc0,115200"
|
||||
|
||||
Boot script timeout (1000ms resolution): 2
|
||||
Use BOOTP for network configuration: false
|
||||
Gateway IP address: <your gateway IP address>
|
||||
Local IP address: <your PDK IP address>
|
||||
Local IP address mask: 255.255.255.0
|
||||
Default server IP address: <your TFTP server IP address>
|
||||
Board specifics: 0
|
||||
Console baud rate: 115200
|
||||
Set eth0 network hardware address [MAC]: false
|
||||
GDB connection port: 9000
|
||||
Force console for special debug messages: false
|
||||
Network debug at boot time: false
|
||||
|
||||
Adapt those settings to your network configuration by replacing the appropriate
|
||||
network addresses where necessary.
|
||||
|
||||
You might want to verify that your i.MX31 PDK switches settings are the correct
|
||||
ones for UART, power, boot mode, etc. Here is a reference switches
|
||||
configuration:
|
||||
|
||||
SW4
|
||||
1 2 3 4 5 6 7 8
|
||||
ON off off off off off off ON
|
||||
|
||||
SW5 SW6 SW7 SW8 SW9 SW10
|
||||
0 1 0 0 0 0
|
||||
|
||||
See the i.MX31 PDK Linux Quick Start Guide [5] for more details on the switches
|
||||
settings.
|
||||
|
||||
Connect a serial terminal set to 115200n8 and power on the i.MX31 PDK board.
|
||||
Buildroot will present a login prompt on the serial port.
|
||||
|
||||
Enjoy!
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
[1] http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX31PDK
|
||||
[2] http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX31
|
||||
[3] http://cache.freescale.com/files/32bit/doc/user_guide/pdk15_imx31_Hardware_UG.pdf
|
||||
[4] http://cache.freescale.com/files/32bit/doc/support_info/IMX31_PDK15_LINUXDOCS_BUNDLE.zip, pdk15_imx31__Linux_UG.pdf
|
||||
[5] http://www.freescale.com/files/32bit/doc/quick_ref_guide/PDK14LINUXQUICKSTART.pdf
|
||||
@@ -0,0 +1,5 @@
|
||||
# Currently mx6sabresd exhibits touchscreen issues when running cpufreq as
|
||||
# ondemand governor with a mainline kernel.
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
CONFIG_VIDEO_CODA=m
|
||||
110
bsp/buildroot/board/freescale/imx6-sabresd/readme.txt
Normal file
110
bsp/buildroot/board/freescale/imx6-sabresd/readme.txt
Normal file
@@ -0,0 +1,110 @@
|
||||
*******************************
|
||||
Freescale i.MX6 Sabre SD boards
|
||||
*******************************
|
||||
|
||||
This file documents the Buildroot support for the Freescale i.MX6 Sabre SD
|
||||
boards based on i.MX6Q, i.MX6DL and iMX6QP.
|
||||
|
||||
Thanks to the SPL support in U-Boot it is possible to run a single
|
||||
sdcard.img in all i.MX6 Sabre SD board variants.
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the i.MX6 Sabre SD board:
|
||||
|
||||
make imx6-sabresd_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find the following files in output/images/ :
|
||||
- imx6q-sabresd.dtb
|
||||
- imx6dl-sabresd.dtb
|
||||
- imx6qp-sabresd.dtb
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- u-boot.imx
|
||||
- zImage
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
To determine the device associated to the SD card have a look in the
|
||||
/proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be dumped on a SD card. Launch the following
|
||||
command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
|
||||
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/freescale/common/imx/genimage.cfg.template.
|
||||
|
||||
Boot the i.MX6 Sabre SD board
|
||||
=============================
|
||||
|
||||
To boot your newly created system:
|
||||
- insert the SD card in the SD3 slot of the board (close to the HDMI connector);
|
||||
- put a micro USB cable into the Debug USB Port and connect using a terminal
|
||||
emulator at 115200 bps, 8n1;
|
||||
- power on the board.
|
||||
|
||||
Testing graphics on the i.MX6 Sabre SD board
|
||||
============================================
|
||||
|
||||
The imx6-sabresd_qt5_defconfig allows to quickly test the graphics
|
||||
capabilities of i.MX6 using the opensource Etnaviv graphics stack
|
||||
and kernel mainline.
|
||||
|
||||
In order to build it:
|
||||
|
||||
make imx6-sabresd_qt5_defconfig
|
||||
make
|
||||
|
||||
Then flash the SD card as explained above.
|
||||
|
||||
Running kmscube application:
|
||||
|
||||
# kmscube
|
||||
|
||||
Running Qt5 Cinematic Demo:
|
||||
|
||||
# export QT_QPA_EGLFS_KMS_CONFIG=/root/sabresd.json
|
||||
# /usr/share/Qt5/CinematicExperience/Qt5_CinematicExperience
|
||||
|
||||
Running gl2mark benchmark:
|
||||
|
||||
# glmark2-es2-drm
|
||||
|
||||
Testing video playback on the i.MX6 Sabre SD board
|
||||
==================================================
|
||||
|
||||
As the mx6sabresd has two display outputs (LVDS and HDMI), it is necessary to
|
||||
know what is the connector that corresponds to the HDMI output.
|
||||
|
||||
This information can be found by running:
|
||||
|
||||
# modetest
|
||||
|
||||
And search for the HDMI connector number. In our case it shows up as 37.
|
||||
|
||||
In the mx6sabresd prompt run the following Gstreamer pipeline:
|
||||
|
||||
# gst-launch-1.0 filesrc location=/root/trailer_1080p_h264_mp3.avi ! avidemux ! \
|
||||
h264parse ! v4l2video1dec capture-io-mode=dmabuf ! kmssink connector-id=37 \
|
||||
name=imx-drm sync=0
|
||||
|
||||
(The video used on this example was retrieved from:
|
||||
http://linode.boundarydevices.com/videos/trailer_1080p_h264_mp3.avi)
|
||||
|
||||
Enjoy!
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"device": "/dev/dri/card0",
|
||||
"hwcursor": false,
|
||||
"pbuffers": true,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "HDMI-1",
|
||||
"mode": "off"
|
||||
},
|
||||
{
|
||||
"name": "LVDS-1",
|
||||
"mode": "1024x768"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
*******************************
|
||||
Freescale i.MX6Q Sabre SD board
|
||||
*******************************
|
||||
|
||||
This file documents the Buildroot support for the Freescale i.MX6Q Sabre SD
|
||||
board.
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the i.MX6Q Sabre SD board:
|
||||
|
||||
make imx6q-sabresd_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find the following files in output/images/ :
|
||||
- imx6q-sabresd.dtb
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- u-boot.imx
|
||||
- zImage
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
To determine the device associated to the SD card have a look in the
|
||||
/proc/partitions file:
|
||||
|
||||
cat /proc/partitions
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be dumped on a SD card. Launch the following
|
||||
command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
|
||||
|
||||
*** WARNING! This will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/freescale/common/imx/genimage.cfg.template.
|
||||
|
||||
Boot the i.MX6Q Sabre SD board
|
||||
==============================
|
||||
|
||||
To boot your newly created system:
|
||||
- insert the SD card in the SD3 slot of the board (close to the HDMI connector);
|
||||
- put a micro USB cable into the Debug USB Port and connect using a terminal
|
||||
emulator at 115200 bps, 8n1;
|
||||
- power on the board.
|
||||
|
||||
Enjoy!
|
||||
@@ -0,0 +1,55 @@
|
||||
From 24ba28680abe868e8db3442a9bf523ad3af1febd Mon Sep 17 00:00:00 2001
|
||||
From: Fabio Estevam <fabio.estevam@nxp.com>
|
||||
Date: Fri, 9 Mar 2018 08:25:00 -0300
|
||||
Subject: [PATCH] imximage: Remove failure when no IVT offset is found
|
||||
|
||||
Sometimes imximage throws the following error:
|
||||
|
||||
CFGS board/freescale/vf610twr/imximage.cfg.cfgtmp
|
||||
CFGS board/freescale/vf610twr/imximage.cfg.cfgtmp
|
||||
MKIMAGE u-boot-dtb.imx
|
||||
Error: No BOOT_FROM tag in board/freescale/vf610twr/imximage.cfg.cfgtmp
|
||||
arch/arm/mach-imx/Makefile:100: recipe for target 'u-boot-dtb.imx' failed
|
||||
|
||||
Later on, when running mkimage for the u-boot.imx it will succeed in
|
||||
finding the IVT offset.
|
||||
|
||||
Looks like some race condition happening during parallel build when
|
||||
processing mkimage for u-boot-dtb.imx and u-boot.imx.
|
||||
|
||||
A proper fix still needs to be implemented, but as a workaround let's
|
||||
remove the error when the IVT offset is not found.
|
||||
|
||||
It is useful to have such message, especially during bring-up phase,
|
||||
but the build error that it causes is severe, so better avoid the
|
||||
build error for now.
|
||||
|
||||
The error checking can be re-implemented later when we have a proper
|
||||
fix.
|
||||
|
||||
Reported-by: Breno Lima <breno.lima@nxp.com>
|
||||
Reported-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
|
||||
---
|
||||
tools/imximage.c | 5 -----
|
||||
1 file changed, 5 deletions(-)
|
||||
|
||||
diff --git a/tools/imximage.c b/tools/imximage.c
|
||||
index 0c43196..bef56f8 100644
|
||||
--- a/tools/imximage.c
|
||||
+++ b/tools/imximage.c
|
||||
@@ -765,11 +765,6 @@ static uint32_t parse_cfg_file(struct imx_header *imxhdr, char *name)
|
||||
(*set_dcd_rst)(imxhdr, dcd_len, name, lineno);
|
||||
fclose(fd);
|
||||
|
||||
- /* Exit if there is no BOOT_FROM field specifying the flash_offset */
|
||||
- if (imximage_ivt_offset == FLASH_OFFSET_UNDEFINED) {
|
||||
- fprintf(stderr, "Error: No BOOT_FROM tag in %s\n", name);
|
||||
- exit(EXIT_FAILURE);
|
||||
- }
|
||||
return dcd_len;
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -22,10 +22,10 @@ diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common
|
||||
index 93d4c4b..d2e7efd 100644
|
||||
--- a/include/configs/mx6sabre_common.h
|
||||
+++ b/include/configs/mx6sabre_common.h
|
||||
@@ -106,7 +106,7 @@
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
#define CONFIG_MFG_ENV_SETTINGS \
|
||||
"mfgtool_args=setenv bootargs console=" CONFIG_CONSOLE_DEV ",115200 " \
|
||||
"mfgtool_args=setenv bootargs console=" CONSOLE_DEV ",115200 " \
|
||||
- "rdinit=/linuxrc " \
|
||||
+ "rdinit=/init " \
|
||||
"g_mass_storage.stall=0 g_mass_storage.removable=1 " \
|
||||
|
||||
@@ -18,8 +18,8 @@ Read the SABRE for Automotive Infotainment Quick Start Guide for an
|
||||
introduction to the board:
|
||||
http://cache.freescale.com/files/32bit/doc/user_guide/IMX6SABREINFOQSG.pdf
|
||||
|
||||
Build
|
||||
=====
|
||||
Building with NXP kernel and NXP U-Boot
|
||||
=======================================
|
||||
|
||||
First, configure Buildroot for your SABRE board.
|
||||
For i.MX6Q SABRE SD board:
|
||||
@@ -54,6 +54,27 @@ You will find in ./output/images/ the following files:
|
||||
- u-boot.imx
|
||||
- uImage, or zImage for i.MX6 SoloX
|
||||
|
||||
Building with mainline kernel and mainline U-Boot
|
||||
=================================================
|
||||
|
||||
Mainline U-Boot uses SPL and can support the three
|
||||
variants of mx6sabreauto boards: mx6q, mx6dl and mx6qp.
|
||||
|
||||
First, configure Buildroot for your mx6sabreauto board
|
||||
|
||||
make imx6-sabreauto_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find in output/images/ the following files:
|
||||
- imx6dl-sabresd.dtb, imx6q-sabresd.dtb, imx6q-sabresd.dtb
|
||||
- rootfs.ext2
|
||||
- SPL and u-boot.img
|
||||
- u-boot.imx
|
||||
- zImage
|
||||
|
||||
Create a bootable SD card
|
||||
=========================
|
||||
|
||||
|
||||
14
bsp/buildroot/board/freescale/imx6slevk/readme.txt
Normal file
14
bsp/buildroot/board/freescale/imx6slevk/readme.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
NXP i.MX6SL EVK board
|
||||
---------------------
|
||||
|
||||
To build a minimal support for this board:
|
||||
|
||||
$ make imx6slevk_defconfig
|
||||
$ make
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be flashed into the SD card:
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/<sd-card-device>; sync
|
||||
|
||||
Then insert the SD card into the SD2 slot and boot the board.
|
||||
14
bsp/buildroot/board/freescale/imx6sxsdb/readme.txt
Normal file
14
bsp/buildroot/board/freescale/imx6sxsdb/readme.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
NXP i.MX6SX SDB board
|
||||
---------------------
|
||||
|
||||
To build a minimal support for this board:
|
||||
|
||||
$ make imx6sx-sdb_defconfig
|
||||
$ make
|
||||
|
||||
Buildroot prepares a bootable "sdcard.img" image in the output/images/
|
||||
directory, ready to be flashed into the SD card:
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/<sd-card-device>; sync
|
||||
|
||||
Then insert the SD card into the SD4 boot slot and boot the board.
|
||||
@@ -12,8 +12,18 @@ Build
|
||||
|
||||
First, configure Buildroot for your i.MX6UL EVK board:
|
||||
|
||||
In order to to do so there are two supported options:
|
||||
|
||||
make freescale_imx6ulevk_defconfig
|
||||
|
||||
if you plan to use NXP provided U-Boot and kernel.
|
||||
|
||||
or
|
||||
|
||||
make imx6ulevk_defconfig
|
||||
|
||||
if you plan to use mainline U-Boot and mainline kernel.
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
CONFIG_FSL_EMB_PERFMON=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_SYSCTL_SYSCALL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_PPC_CHRP is not set
|
||||
# CONFIG_PPC_PMAC is not set
|
||||
CONFIG_PPC_83xx=y
|
||||
CONFIG_MPC831x_RDB=y
|
||||
CONFIG_MCU_MPC8349EMITX=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
# CONFIG_PCIEASPM is not set
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_SCSI_MQ_DEFAULT=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_CONSTANTS=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_FSL=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_GIANFAR=y
|
||||
CONFIG_REALTEK_PHY=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MPC=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_FSL_SPI=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_MPC8XXX=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_8xxx_WDT=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_FSL=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_DS1307=y
|
||||
CONFIG_RTC_DRV_GENERIC=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_FSL_DMA=y
|
||||
CONFIG_ASYNC_TX_DMA=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_FANOTIFY=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_SQUASHFS=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_CRYPTO_DEV_TALITOS=y
|
||||
@@ -1,40 +0,0 @@
|
||||
You'll need to program the files created by buildroot into the flash.
|
||||
The fast way is to tftp transfer the files via one of the network interfaces.
|
||||
|
||||
Alternatively you can transfer the files via serial console with an Ymodem
|
||||
file transfer from your terminal program by using a "loady" command
|
||||
from the u-boot prompt instead of the "tftp ..." commands stated below.
|
||||
Beware that serial console file transfers are quite slow!
|
||||
|
||||
1. Program the kernel to NAND flash
|
||||
|
||||
=> tftp $loadaddr uImage
|
||||
=> nand erase 0x100000 0x1e0000
|
||||
=> nand write $loadaddr 0x100000 0x1e0000
|
||||
|
||||
2. Program the DTB to NAND flash
|
||||
|
||||
=> tftp $loadaddr mpc8315erdb.dtb
|
||||
=> nand erase 0x2e0000 0x20000
|
||||
=> nand write $loadaddr 0x2e0000 0x20000
|
||||
|
||||
3. Program the root filesystem to NAND flash
|
||||
|
||||
=> tftp $loadaddr rootfs.jffs2
|
||||
=> nand erase 0x400000 0x1c00000
|
||||
=> nand write $loadaddr 0x400000 $filesize
|
||||
|
||||
4. Booting your new system
|
||||
|
||||
=> setenv nandboot 'setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 console=$consoledev,$baudrate;nand read $fdtaddr 0x2e0000 0x20000;nand read $loadaddr 0x100000 0x1e0000;bootm $loadaddr - $fdtaddr'
|
||||
|
||||
If you want to set this boot option as default:
|
||||
|
||||
=> setenv bootcmd 'run nandboot'
|
||||
=> saveenv
|
||||
|
||||
...or for a single boot:
|
||||
|
||||
=> run nandboot
|
||||
|
||||
You can login with user "root".
|
||||
@@ -1,70 +0,0 @@
|
||||
CONFIG_PPC_85xx=y
|
||||
CONFIG_PHYS_64BIT=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_EXPERT=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_P1010_RDB=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_SWIOTLB=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=12
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_RAPIDIO=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_FTL=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_MTD_NAND_FSL_IFC=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_FSL=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_GIANFAR=y
|
||||
CONFIG_VITESSE_PHY=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=2
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MPC=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_FSL_SPI=y
|
||||
CONFIG_SPI_FSL_ESPI=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_FSL=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_CMOS=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_FSL_DMA=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_SQUASHFS=y
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM=y
|
||||
@@ -1,40 +0,0 @@
|
||||
You'll need to program the files created by buildroot into the flash.
|
||||
The fast way is to tftp transfer the files via one of the network interfaces.
|
||||
|
||||
Alternatively you can transfer the files via serial console with an Ymodem
|
||||
file transfer from your terminal program by using a "loady" command
|
||||
from the u-boot prompt instead of the "tftp ..." commands stated below.
|
||||
Beware that serial console file transfers are quite slow!
|
||||
|
||||
1. Program the DTB to NOR flash
|
||||
|
||||
=> tftp $loadaddr p1010rdb-pa.dtb
|
||||
=> erase 0xee000000 +$filesize
|
||||
=> cp.b $loadaddr 0xee000000 $filesize
|
||||
|
||||
2. Program the kernel to NOR flash
|
||||
|
||||
=> tftp $loadaddr uImage
|
||||
=> erase 0xee080000 +$filesize
|
||||
=> cp.b $loadaddr 0xee080000 $filesize
|
||||
|
||||
3. Program the root filesystem to NOR flash
|
||||
|
||||
=> tftp $loadaddr rootfs.jffs2
|
||||
=> erase 0xee800000 0xeff5ffff
|
||||
=> cp.b $loadaddr 0xee800000 $filesize
|
||||
|
||||
4. Booting your new system
|
||||
|
||||
=> setenv norboot 'setenv bootargs root=/dev/mtdblock2 rootfstype=jffs2 console=$consoledev,$baudrate;bootm 0xee080000 - 0xee000000'
|
||||
|
||||
If you want to set this boot option as default:
|
||||
|
||||
=> setenv bootcmd 'run norboot'
|
||||
=> saveenv
|
||||
|
||||
...or for a single boot:
|
||||
|
||||
=> run norboot
|
||||
|
||||
You can login with user "root".
|
||||
@@ -23,7 +23,7 @@ Update uboot
|
||||
|
||||
- Load u-boot.imx in the WarpBoard by using the imx-usb-loader host utility:
|
||||
|
||||
$ ./output/host/usr/bin/imx_usb -c output/host/etc/imx-loader.d/ output/images/u-boot.imx
|
||||
$ ./output/host/bin/imx_usb -c output/host/etc/imx-loader.d/ output/images/u-boot.imx
|
||||
|
||||
- U-Boot will appear in minicom
|
||||
|
||||
@@ -36,7 +36,7 @@ Update uboot
|
||||
|
||||
- Transfer U-Boot into flash by running this command in host side:
|
||||
|
||||
$ sudo ./output/host/usr/bin/dfu-util -D output/images/u-boot.imx -a boot
|
||||
$ sudo ./output/host/bin/dfu-util -D output/images/u-boot.imx -a boot
|
||||
|
||||
- remove power and put the WarpBoard back into normal boot mode by
|
||||
opening the j2 jumper.
|
||||
|
||||
6
bsp/buildroot/board/friendlyarm/nanopi-a64/boot.cmd
Normal file
6
bsp/buildroot/board/friendlyarm/nanopi-a64/boot.cmd
Normal file
@@ -0,0 +1,6 @@
|
||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
|
||||
fatload mmc 0 $kernel_addr_r Image
|
||||
fatload mmc 0 $fdt_addr_r sun50i-a64-nanopi-a64.dtb
|
||||
|
||||
booti $kernel_addr_r - $fdt_addr_r
|
||||
39
bsp/buildroot/board/friendlyarm/nanopi-a64/genimage.cfg
Normal file
39
bsp/buildroot/board/friendlyarm/nanopi-a64/genimage.cfg
Normal file
@@ -0,0 +1,39 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"sun50i-a64-nanopi-a64.dtb",
|
||||
"boot.scr"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition spl {
|
||||
in-partition-table = "no"
|
||||
image = "sunxi-spl.bin"
|
||||
offset = 8192
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.itb"
|
||||
offset = 40K
|
||||
size = 1M # 1MB - 40K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
37
bsp/buildroot/board/friendlyarm/nanopi-a64/readme.txt
Normal file
37
bsp/buildroot/board/friendlyarm/nanopi-a64/readme.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Nanopi A64. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Nanopi A64 link:
|
||||
http://nanopi.io/nanopi-a64.html
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/FriendlyARM+Nanopi+A64
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make friendlyarm_nanopi_a64_defconfig
|
||||
$ make
|
||||
|
||||
Note: you will need access to the internet to download the required
|
||||
sources.
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
$ sudo sync
|
||||
|
||||
Insert the micro SDcard in your Nanopi A64 and power it up. The console
|
||||
is on the serial line, 115200 8N1.
|
||||
8
bsp/buildroot/board/friendlyarm/nanopi-m1-plus/boot.cmd
Normal file
8
bsp/buildroot/board/friendlyarm/nanopi-m1-plus/boot.cmd
Normal file
@@ -0,0 +1,8 @@
|
||||
setenv fdt_high ffffffff
|
||||
|
||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
|
||||
fatload mmc 0 $kernel_addr_r zImage
|
||||
fatload mmc 0 $fdt_addr_r sun8i-h3-nanopi-m1-plus.dtb
|
||||
|
||||
bootz $kernel_addr_r - $fdt_addr_r
|
||||
35
bsp/buildroot/board/friendlyarm/nanopi-m1-plus/genimage.cfg
Normal file
35
bsp/buildroot/board/friendlyarm/nanopi-m1-plus/genimage.cfg
Normal file
@@ -0,0 +1,35 @@
|
||||
# Minimal SD card image for the NanoPi M1 Plus
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"sun8i-h3-nanopi-m1-plus.dtb",
|
||||
"boot.scr"
|
||||
}
|
||||
}
|
||||
size = 10M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-sunxi-with-spl.bin"
|
||||
offset = 8192
|
||||
size = 1040384 # 1MB - 8192
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,28 +1,41 @@
|
||||
From a08561ffdfb13986e2628296ccfd42f8a273b729 Mon Sep 17 00:00:00 2001
|
||||
From: Lee Jones <lee.jones@linaro.org>
|
||||
Date: Tue, 16 Feb 2016 13:53:47 +0000
|
||||
Subject: [PATCH] ARM: stm32: Supply a DTS file for the STM32F469 Discovery
|
||||
board
|
||||
From 4ec28d4e1040b94c66e97aa77071c9ef3478f022 Mon Sep 17 00:00:00 2001
|
||||
From: Chakra Divi <chakra@openedev.com>
|
||||
Date: Thu, 6 Jul 2017 18:22:35 +0530
|
||||
Subject: [PATCH] ARM: dts: nanopi-m1-plus : add dts to linux 4.11.5
|
||||
|
||||
It's pretty similar to the STM32F429, but there are some
|
||||
subtle changes required to boot successfully.
|
||||
This patch is used to add nanopi-m1-plus dts
|
||||
file in linux source code helps to add nanopi-m1-plus
|
||||
board support in buildroot and is part of the linux
|
||||
main-line ; refer to the below link for info
|
||||
[https://patchwork.kernel.org/patch/9755033]
|
||||
|
||||
Signed-off-by: Lee Jones <lee.jones@linaro.org>
|
||||
[Thomas: remove rdinit= from /chosen/bootargs.]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Signed-off-by: Chakra Divi <chakra@openedev.com>
|
||||
---
|
||||
arch/arm/boot/dts/stm32f469-disco.dts | 75 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 75 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/stm32f469-disco.dts
|
||||
arch/arm/boot/dts/Makefile | 1 +
|
||||
arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts | 64 +++++++++++++++++++++++++
|
||||
2 files changed, 65 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/stm32f469-disco.dts b/arch/arm/boot/dts/stm32f469-disco.dts
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index 0118084..928e5d3 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -867,6 +867,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||||
sun8i-h3-bananapi-m2-plus.dtb \
|
||||
sun8i-h3-beelink-x2.dtb \
|
||||
sun8i-h3-nanopi-m1.dtb \
|
||||
+ sun8i-h3-nanopi-m1-plus.dtb \
|
||||
sun8i-h3-nanopi-neo.dtb \
|
||||
sun8i-h3-orangepi-2.dtb \
|
||||
sun8i-h3-orangepi-lite.dtb \
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
|
||||
new file mode 100644
|
||||
index 0000000..9e73656
|
||||
index 0000000..8ddd1b2
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/stm32f469-disco.dts
|
||||
@@ -0,0 +1,75 @@
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-nanopi-m1-plus.dts
|
||||
@@ -0,0 +1,64 @@
|
||||
+/*
|
||||
+ * Copyright 2016 - Lee Jones <lee.jones@linaro.org>
|
||||
+ * Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
@@ -39,11 +52,6 @@ index 0000000..9e73656
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public
|
||||
+ * License along with this file; if not, write to the Free
|
||||
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
|
||||
+ * MA 02110-1301 USA
|
||||
+ *
|
||||
+ * Or, alternatively,
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
@@ -68,34 +76,28 @@ index 0000000..9e73656
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "stm32f429.dtsi"
|
||||
+#include "sun8i-h3-nanopi.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "STMicroelectronics STM32F469i-DISCO board";
|
||||
+ compatible = "st,stm32f469i-disco", "st,stm32f469";
|
||||
+
|
||||
+ chosen {
|
||||
+ bootargs = "root=/dev/ram";
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ memory {
|
||||
+ reg = <0x00000000 0x800000>;
|
||||
+ };
|
||||
+
|
||||
+ aliases {
|
||||
+ serial0 = &usart3;
|
||||
+ };
|
||||
+ model = "FriendlyArm NanoPi M1 Plus";
|
||||
+ compatible = "friendlyarm,nanopi-m1-plus", "allwinner,sun8i-h3";
|
||||
+};
|
||||
+
|
||||
+&clk_hse {
|
||||
+ clock-frequency = <8000000>;
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usart3 {
|
||||
+&ehci2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.6.4
|
||||
1.7.9.5
|
||||
|
||||
29
bsp/buildroot/board/friendlyarm/nanopi-m1-plus/readme.txt
Normal file
29
bsp/buildroot/board/friendlyarm/nanopi-m1-plus/readme.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
NanoPi M1 Plus
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the NanoPi M1 Plus. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot:
|
||||
|
||||
$ make nanopi_m1_plus_defconfig
|
||||
|
||||
Compile everything and build the SD card image:
|
||||
|
||||
$ make
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
8
bsp/buildroot/board/friendlyarm/nanopi-m1/boot.cmd
Normal file
8
bsp/buildroot/board/friendlyarm/nanopi-m1/boot.cmd
Normal file
@@ -0,0 +1,8 @@
|
||||
setenv fdt_high ffffffff
|
||||
|
||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
|
||||
fatload mmc 0 $kernel_addr_r zImage
|
||||
fatload mmc 0 $fdt_addr_r sun8i-h3-nanopi-m1.dtb
|
||||
|
||||
bootz $kernel_addr_r - $fdt_addr_r
|
||||
36
bsp/buildroot/board/friendlyarm/nanopi-m1/genimage.cfg
Normal file
36
bsp/buildroot/board/friendlyarm/nanopi-m1/genimage.cfg
Normal file
@@ -0,0 +1,36 @@
|
||||
# Minimal SD card image for the NanoPi M1
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"sun8i-h3-nanopi-m1.dtb",
|
||||
"boot.scr"
|
||||
}
|
||||
}
|
||||
size = 10M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-sunxi-with-spl.bin"
|
||||
offset = 8192
|
||||
size = 1040384 # 1MB - 8192
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
29
bsp/buildroot/board/friendlyarm/nanopi-m1/readme.txt
Normal file
29
bsp/buildroot/board/friendlyarm/nanopi-m1/readme.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
NanoPi M1
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the NanoPi M1. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot:
|
||||
|
||||
$ make nanopi_m1_defconfig
|
||||
|
||||
Compile everything and build the SD card image:
|
||||
|
||||
$ make
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
@@ -4,7 +4,7 @@
|
||||
# 2016, "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
BOARD_DIR="$( dirname "${0}" )"
|
||||
MKIMAGE="${HOST_DIR}/usr/bin/mkimage"
|
||||
MKIMAGE="${HOST_DIR}/bin/mkimage"
|
||||
BOOT_CMD="${BOARD_DIR}/boot.cmd"
|
||||
BOOT_CMD_H="${BINARIES_DIR}/boot.scr"
|
||||
|
||||
@@ -2,7 +2,7 @@ Intro
|
||||
=====
|
||||
|
||||
The instructions herein are valid for the FriendlyARM NanoPi NEO,
|
||||
both the 256MiB and 512MiB versions. They should also work the the
|
||||
both the 256MiB and 512MiB versions. They should also work for the
|
||||
NanoPi NEO Air, but this is untested so far.
|
||||
|
||||
The FriendlyARM Nanopi NEO is a 4x4cm² board with an Allwiner H3 SoC:
|
||||
@@ -14,9 +14,8 @@ The FriendlyARM Nanopi NEO is a 4x4cm² board with an Allwiner H3 SoC:
|
||||
- 10/100 ethernet MAC
|
||||
- GPIOs, SPI, I2c...
|
||||
|
||||
Support for the Nanopi NEO in U-Boot and Linux is very recent, so
|
||||
much so that we have to use an -rc tag for U-Boot and a special
|
||||
Linux tree.
|
||||
Support for the Nanopi NEO in U-Boot and Linux is very recent, so only
|
||||
core, basic features are available.
|
||||
|
||||
Unfortunately, support for the ethernet MAC and the USB OTG are not
|
||||
yet upstream, but are being actively worked on.
|
||||
6
bsp/buildroot/board/friendlyarm/nanopi-neo2/boot.cmd
Normal file
6
bsp/buildroot/board/friendlyarm/nanopi-neo2/boot.cmd
Normal file
@@ -0,0 +1,6 @@
|
||||
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
|
||||
fatload mmc 0 $kernel_addr_r Image
|
||||
fatload mmc 0 $fdt_addr_r sun50i-h5-nanopi-neo2.dtb
|
||||
|
||||
booti $kernel_addr_r - $fdt_addr_r
|
||||
39
bsp/buildroot/board/friendlyarm/nanopi-neo2/genimage.cfg
Normal file
39
bsp/buildroot/board/friendlyarm/nanopi-neo2/genimage.cfg
Normal file
@@ -0,0 +1,39 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"sun50i-h5-nanopi-neo2.dtb",
|
||||
"boot.scr"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition spl {
|
||||
in-partition-table = "no"
|
||||
image = "sunxi-spl.bin"
|
||||
offset = 8192
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.itb"
|
||||
offset = 40K
|
||||
size = 1M # 1MB - 40K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
37
bsp/buildroot/board/friendlyarm/nanopi-neo2/readme.txt
Normal file
37
bsp/buildroot/board/friendlyarm/nanopi-neo2/readme.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Nanopi NEO2. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Nanopi NEO2 link:
|
||||
http://nanopi.io/nanopi-neo2.html
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/FriendlyARM+NanoPi+NEO2
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make friendlyarm_nanopi_neo2_defconfig
|
||||
$ make
|
||||
|
||||
Note: you will need access to the internet to download the required
|
||||
sources.
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
$ sudo sync
|
||||
|
||||
Insert the micro SDcard in your Nanopi NEO2 and power it up. The console
|
||||
is on the serial line, 115200 8N1.
|
||||
@@ -1,10 +1,10 @@
|
||||
Run the simulation with GDB for FDPIC:
|
||||
|
||||
./output/host/usr/bin/bfin-buildroot-linux-uclibc-run --env operating --model bf512 output/images/vmlinux
|
||||
./output/host/bin/bfin-buildroot-linux-uclibc-run --env operating --model bf512 output/images/vmlinux
|
||||
|
||||
Run the simulation with GDB for FLAT:
|
||||
|
||||
./output/host/usr/bin/bfin-buildroot-uclinux-uclibc-run --env operating --model bf512 output/images/vmlinux
|
||||
./output/host/bin/bfin-buildroot-uclinux-uclibc-run --env operating --model bf512 output/images/vmlinux
|
||||
|
||||
The login prompt will appear in the terminal that started GDB.
|
||||
|
||||
|
||||
@@ -1,113 +0,0 @@
|
||||
From 8cbabc57257bdbf5f1cf039a265c875da8ddc2e9 Mon Sep 17 00:00:00 2001
|
||||
From: Marcin Niestroj <m.niestroj@grinn-global.com>
|
||||
Date: Fri, 21 Oct 2016 17:07:16 +0200
|
||||
Subject: [PATCH 1/2] ARM: dts: imx6ul: Add DTS for liteSOM module
|
||||
|
||||
This is a SOM (System on Module), so it will be part of another boards.
|
||||
Hence, this is a "dtsi" file that will be included from another device
|
||||
tree files.
|
||||
|
||||
Hardware specification:
|
||||
* Freescale i.MX6UL SoC
|
||||
* up to 512 MB RAM
|
||||
* eMMC on uSDHC2
|
||||
|
||||
Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
|
||||
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
|
||||
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
||||
---
|
||||
arch/arm/boot/dts/imx6ul-litesom.dtsi | 82 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 82 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/imx6ul-litesom.dtsi
|
||||
|
||||
diff --git a/arch/arm/boot/dts/imx6ul-litesom.dtsi b/arch/arm/boot/dts/imx6ul-litesom.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..461292d33417
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/imx6ul-litesom.dtsi
|
||||
@@ -0,0 +1,82 @@
|
||||
+/*
|
||||
+ * Copyright 2016 Grinn
|
||||
+ *
|
||||
+ * Author: Marcin Niestroj <m.niestroj@grinn-global.com>
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
+ *
|
||||
+ * a) This file is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License
|
||||
+ * version 2 as published by the Free Software Foundation.
|
||||
+ *
|
||||
+ * This file is distributed in the hope that it will be useful
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * Or, alternatively
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+#include "imx6ul.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Grinn i.MX6UL liteSOM";
|
||||
+ compatible = "grinn,imx6ul-litesom", "fsl,imx6ul";
|
||||
+
|
||||
+ memory {
|
||||
+ reg = <0x80000000 0x20000000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&iomuxc {
|
||||
+ pinctrl_usdhc2: usdhc2grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x10069
|
||||
+ MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x17059
|
||||
+ MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x17059
|
||||
+ MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x17059
|
||||
+ MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x17059
|
||||
+ MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x17059
|
||||
+ MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x17059
|
||||
+ MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x17059
|
||||
+ MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x17059
|
||||
+ MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x17059
|
||||
+ MX6UL_PAD_NAND_ALE__USDHC2_RESET_B 0x17059
|
||||
+ >;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&usdhc2 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_usdhc2>;
|
||||
+ no-1-8-v;
|
||||
+ non-removable;
|
||||
+ keep-power-in-suspend;
|
||||
+ wakeup-source;
|
||||
+ bus-width = <8>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -1,190 +0,0 @@
|
||||
From 35a8bca870bedebb9d37ad58b905863cba780f9f Mon Sep 17 00:00:00 2001
|
||||
From: Marcin Niestroj <m.niestroj@grinn-global.com>
|
||||
Date: Fri, 21 Oct 2016 17:07:17 +0200
|
||||
Subject: [PATCH 2/2] ARM: dts: imx6ul: Add DTS for liteBoard
|
||||
|
||||
liteBoard is a development board which uses liteSOM as its base.
|
||||
|
||||
Hardware specification:
|
||||
* liteSOM (i.MX6UL, DRAM, eMMC)
|
||||
* Ethernet PHY (id 0)
|
||||
* USB host (usb_otg1)
|
||||
* MicroSD slot (uSDHC1)
|
||||
|
||||
Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
|
||||
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
|
||||
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
|
||||
---
|
||||
arch/arm/boot/dts/Makefile | 1 +
|
||||
arch/arm/boot/dts/imx6ul-liteboard.dts | 147 +++++++++++++++++++++++++++++++++
|
||||
2 files changed, 148 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/imx6ul-liteboard.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index c558ba75cbcc..a587ce231f83 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -420,6 +420,7 @@ dtb-$(CONFIG_SOC_IMX6SX) += \
|
||||
dtb-$(CONFIG_SOC_IMX6UL) += \
|
||||
imx6ul-14x14-evk.dtb \
|
||||
imx6ul-geam-kit.dtb \
|
||||
+ imx6ul-liteboard.dtb \
|
||||
imx6ul-pico-hobbit.dtb \
|
||||
imx6ul-tx6ul-0010.dtb \
|
||||
imx6ul-tx6ul-0011.dtb \
|
||||
diff --git a/arch/arm/boot/dts/imx6ul-liteboard.dts b/arch/arm/boot/dts/imx6ul-liteboard.dts
|
||||
new file mode 100644
|
||||
index 000000000000..6e04cb9202f4
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/imx6ul-liteboard.dts
|
||||
@@ -0,0 +1,147 @@
|
||||
+/*
|
||||
+ * Copyright 2016 Grinn
|
||||
+ *
|
||||
+ * Author: Marcin Niestroj <m.niestroj@grinn-global.com>
|
||||
+ *
|
||||
+ * This file is dual-licensed: you can use it either under the terms
|
||||
+ * of the GPL or the X11 license, at your option. Note that this dual
|
||||
+ * licensing only applies to this file, and not this project as a
|
||||
+ * whole.
|
||||
+ *
|
||||
+ * a) This file is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License
|
||||
+ * version 2 as published by the Free Software Foundation.
|
||||
+ *
|
||||
+ * This file is distributed in the hope that it will be useful
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * Or, alternatively
|
||||
+ *
|
||||
+ * b) Permission is hereby granted, free of charge, to any person
|
||||
+ * obtaining a copy of this software and associated documentation
|
||||
+ * files (the "Software"), to deal in the Software without
|
||||
+ * restriction, including without limitation the rights to use
|
||||
+ * copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
+ * sell copies of the Software, and to permit persons to whom the
|
||||
+ * Software is furnished to do so, subject to the following
|
||||
+ * conditions:
|
||||
+ *
|
||||
+ * The above copyright notice and this permission notice shall be
|
||||
+ * included in all copies or substantial portions of the Software.
|
||||
+ *
|
||||
+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
|
||||
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
|
||||
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
+ * OTHER DEALINGS IN THE SOFTWARE.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "imx6ul-litesom.dtsi"
|
||||
+
|
||||
+/ {
|
||||
+ model = "Grinn i.MX6UL liteBoard";
|
||||
+ compatible = "grinn,imx6ul-liteboard", "grinn,imx6ul-litesom",
|
||||
+ "fsl,imx6ul";
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = &uart1;
|
||||
+ };
|
||||
+
|
||||
+ reg_usb_otg1_vbus: regulator-usb-otg1-vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_usb_otg1_vbus>;
|
||||
+ regulator-name = "usb_otg1_vbus";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ gpio = <&gpio2 8 GPIO_ACTIVE_LOW>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&iomuxc {
|
||||
+ pinctrl_enet1: enet1grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6UL_PAD_GPIO1_IO07__ENET1_MDC 0x1b0b0
|
||||
+ MX6UL_PAD_GPIO1_IO06__ENET1_MDIO 0x1b0b0
|
||||
+ MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x1b0b0
|
||||
+ MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER 0x1b0b0
|
||||
+ MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0
|
||||
+ MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0
|
||||
+ MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x1b0b0
|
||||
+ MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0
|
||||
+ MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0
|
||||
+ MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x4001b031
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_uart1: uart1grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1
|
||||
+ MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usdhc1: usdhc1grp {
|
||||
+ fsl,pins = <
|
||||
+ MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x17059
|
||||
+ MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x17059
|
||||
+ MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x10071
|
||||
+ MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x17059
|
||||
+ MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x17059
|
||||
+ MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x17059
|
||||
+ MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x17059
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
+ pinctrl_usb_otg1_vbus: usb-otg1-vbus {
|
||||
+ fsl,pins = <
|
||||
+ MX6UL_PAD_ENET2_RX_DATA0__GPIO2_IO08 0x79
|
||||
+ >;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&fec1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_enet1>;
|
||||
+ phy-mode = "rmii";
|
||||
+ phy-handle = <ðphy0>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ mdio {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ ethphy0: ethernet-phy@0 {
|
||||
+ reg = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_uart1>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbotg1 {
|
||||
+ vbus-supply = <®_usb_otg1_vbus>;
|
||||
+ dr_mode = "host";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usdhc1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&pinctrl_usdhc1>;
|
||||
+ cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
|
||||
+ no-1-8-v;
|
||||
+ keep-power-in-suspend;
|
||||
+ wakeup-source;
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -28,7 +28,7 @@ CONFIG_EMBEDDED=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_LBDAF is not set
|
||||
CONFIG_LBDAF=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_BSD_DISKLABEL=y
|
||||
# CONFIG_ZONE_DMA is not set
|
||||
|
||||
3
bsp/buildroot/board/lego/ev3/busybox.fragment
Normal file
3
bsp/buildroot/board/lego/ev3/busybox.fragment
Normal file
@@ -0,0 +1,3 @@
|
||||
CONFIG_BEEP=y
|
||||
CONFIG_FEATURE_BEEP_FREQ=440
|
||||
CONFIG_FEATURE_BEEP_LENGTH_MS=250
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user