Bump buildroot to 2019.02
This commit is contained in:
@@ -6,11 +6,11 @@ image efi-part.vfat {
|
||||
file EFI {
|
||||
image = "efi-part/EFI"
|
||||
}
|
||||
file bzImage {
|
||||
image = "bzImage"
|
||||
file Image {
|
||||
image = "Image"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image disk.img {
|
||||
@@ -27,5 +27,4 @@ image disk.img {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
|
||||
}
|
||||
6
bsp/buildroot/board/aarch64-efi/grub.cfg
Normal file
6
bsp/buildroot/board/aarch64-efi/grub.cfg
Normal file
@@ -0,0 +1,6 @@
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /Image root=/dev/vda2 rootwait console=ttyAMA0
|
||||
}
|
||||
5
bsp/buildroot/board/aarch64-efi/post-image.sh
Executable file
5
bsp/buildroot/board/aarch64-efi/post-image.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
|
||||
34
bsp/buildroot/board/aarch64-efi/readme.txt
Normal file
34
bsp/buildroot/board/aarch64-efi/readme.txt
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
The aarch64_efi_defconfig allows to build a minimal Linux system that
|
||||
can boot on all AArch64 servers providing an EFI firmware and ACPI.
|
||||
|
||||
Building and booting
|
||||
====================
|
||||
|
||||
$ make aarch64_efi_defconfig
|
||||
$ make
|
||||
|
||||
The file output/images/disk.img is a complete disk image that can be
|
||||
booted, it includes the grub2 bootloader, Linux kernel and root
|
||||
filesystem.
|
||||
|
||||
Testing under Qemu
|
||||
==================
|
||||
|
||||
This image can also be tested using Qemu:
|
||||
|
||||
qemu-system-aarch64 \
|
||||
-M virt \
|
||||
-cpu cortex-a57 \
|
||||
-m 512 \
|
||||
-nographic \
|
||||
-bios </path/to/QEMU_EFI.fd> \
|
||||
-drive file=output/images/disk.img,if=none,format=raw,id=hd0 \
|
||||
-device virtio-blk-device,drive=hd0 \
|
||||
-netdev user,id=eth0 \
|
||||
-device virtio-net-device,netdev=eth0
|
||||
|
||||
Note that </path/to/QEMU_EFI.fd> needs to point to a valid aarch64 UEFI
|
||||
firmware image for qemu.
|
||||
It may be provided by your distribution as a edk2-aarch64 or AAVMF
|
||||
package, in path such as /usr/share/edk2/aarch64/QEMU_EFI.fd .
|
||||
4
bsp/buildroot/board/amarula/a64-relic/extlinux.conf
Normal file
4
bsp/buildroot/board/amarula/a64-relic/extlinux.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
label linux-4.17.0-rc3
|
||||
kernel /Image
|
||||
devicetree /sun50i-a64-amarula-relic.dtb
|
||||
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk1p4 rootwait
|
||||
10
bsp/buildroot/board/amarula/a64-relic/genimage.cfg
Normal file
10
bsp/buildroot/board/amarula/a64-relic/genimage.cfg
Normal file
@@ -0,0 +1,10 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"sun50i-a64-amarula-relic.dtb",
|
||||
"extlinux"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
4
bsp/buildroot/board/amarula/a64-relic/post-build.sh
Executable file
4
bsp/buildroot/board/amarula/a64-relic/post-build.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
|
||||
90
bsp/buildroot/board/amarula/a64-relic/readme.txt
Normal file
90
bsp/buildroot/board/amarula/a64-relic/readme.txt
Normal file
@@ -0,0 +1,90 @@
|
||||
Amarula A64 Relic
|
||||
================
|
||||
|
||||
Amarula A64-Relic is an Allwinner A64 based IoT device, which supports:
|
||||
- Allwinner A64 Cortex-A53
|
||||
- Mali-400MP2 GPU
|
||||
- AXP803 PMIC
|
||||
- 1GB DDR3 RAM
|
||||
- 8GB eMMC
|
||||
- AP6330 Wifi/BLE
|
||||
- MIPI-DSI
|
||||
- CSI: OV5640 sensor
|
||||
- USB OTG
|
||||
- 12V DC power supply
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Amarual+A64-Relic
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
$ make amarula_a64_relic_defconfig
|
||||
|
||||
$ make
|
||||
|
||||
build files at output/images/:
|
||||
- sunxi-spl.bin
|
||||
- u-boot.itb
|
||||
- Image
|
||||
- sun50i-a64-amarula-relic.dtb
|
||||
- boot.vfat
|
||||
- rootfs.ext4
|
||||
|
||||
Write eMMC
|
||||
=========
|
||||
|
||||
The board comes with an operating system preloaded on the eMMC.
|
||||
To replace it with the Buildroot-built system, take the following
|
||||
steps
|
||||
|
||||
1. Connect the board UART with host and open minicom(ttyUSBx/115200N8)
|
||||
|
||||
2. Supply 12V DC for power-on the board.
|
||||
|
||||
3. Interrupt U-Boot by pressing enter
|
||||
|
||||
4. Create GPT partitions
|
||||
=> mmc dev 1
|
||||
=> gpt write mmc 1 $partitions
|
||||
|
||||
5. Connect the board USB-OTG with USB slot on the host.
|
||||
|
||||
6. Initiate fastboot
|
||||
=> fastboot 0
|
||||
|
||||
7. Write images from host onto eMMC using fastboot
|
||||
$ cd output/images
|
||||
$ sudo fastboot -i 0x1f3a flash loader1 sunxi-spl.bin
|
||||
$ sudo fastboot -i 0x1f3a flash loader2 u-boot.itb
|
||||
$ sudo fastboot -i 0x1f3a flash esp boot.vfat
|
||||
$ sudo fastboot -i 0x1f3a flash system rootfs.ext4
|
||||
|
||||
Update eMMC during Development
|
||||
==============================
|
||||
|
||||
During development, reflashing the entire filesystem image at every
|
||||
change is time consuming. A useful alternative is to directly access
|
||||
over USB the filesystem stored on the eMMC, using the USB Mass Storage
|
||||
capability of U-Boot. To achieve this:
|
||||
|
||||
1. Build U-Boot by enabling UMS
|
||||
$ make uboot-menuconfig
|
||||
(select CONFIG_CMD_USB_MASS_STORAGE=y)
|
||||
|
||||
2. Follow all 6 steps from 'Write eMMC' and mount eMMC on host
|
||||
=> mmc dev 1
|
||||
=> ums 0 mmc 1
|
||||
|
||||
WiFi
|
||||
====
|
||||
|
||||
# wpa_passphrase ACCESSPOINTNAME >> /etc/wpa_supplicant.conf
|
||||
(type password and enter)
|
||||
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
|
||||
# udhcpc -i wlan0
|
||||
# ping google.com
|
||||
|
||||
--
|
||||
Jagan Teki <jagan@amarulasolutions.com>
|
||||
29-Jun-2018
|
||||
@@ -0,0 +1,83 @@
|
||||
#AP6330_NVRAM_V1.0_20121130
|
||||
#Sample variables file for BCM94330 SD FC AGB board
|
||||
manfid=0x2d0
|
||||
prodid=0x0547
|
||||
vendid=0x14e4
|
||||
devid=0x4360
|
||||
boardtype=0x05e1
|
||||
boardrev=0x1202
|
||||
boardflags=0x0080200
|
||||
nocrc=1
|
||||
xtalfreq=26000
|
||||
boardnum=22
|
||||
macaddr=00:90:4c:c5:12:38
|
||||
ag0=254
|
||||
aa2g=1
|
||||
ccode=ALL
|
||||
pa0itssit=0x20
|
||||
pa0b0=5587
|
||||
pa0b1=-633
|
||||
pa0b2=-158
|
||||
rssismf2g=0xa
|
||||
rssismc2g=0x3
|
||||
rssisav2g=0x7
|
||||
#rssi params for 5GHz
|
||||
rssismf5g=0x4
|
||||
rssismc5g=0x3
|
||||
rssisav5g=0x7
|
||||
#PA parameters for lower a-band
|
||||
pa1lob0=4748
|
||||
pa1lob1=-566
|
||||
pa1lob2=-180
|
||||
#PA parameters for midband
|
||||
pa1b0=4762
|
||||
pa1b1=-593
|
||||
pa1b2=-172
|
||||
#PA parameters for high band
|
||||
#pa1hib0=4596
|
||||
pa1hib0=4666
|
||||
pa1hib1=-619
|
||||
pa1hib2=-163
|
||||
rxpo5g=0
|
||||
maxp2ga0=74
|
||||
maxp5ga0=66
|
||||
maxp5gla0=66
|
||||
maxp5gha0=66
|
||||
# 2.4G Tx Power offsets
|
||||
cck2gpo=0x2222
|
||||
ofdm2gpo=0x44444444
|
||||
mcs2gpo0=0x6666
|
||||
mcs2gpo1=0x6666
|
||||
# 5G Tx Power offsets
|
||||
ofdm5gpo=0x44444444
|
||||
ofdm5glpo=0x44444444
|
||||
ofdm5ghpo=0x44444444
|
||||
mcs5gpo0=0x6666
|
||||
mcs5gpo1=0x6666
|
||||
mcs5glpo0=0x6666
|
||||
mcs5glpo1=0x6666
|
||||
mcs5ghpo0=0x6666
|
||||
mcs5ghpo1=0x6666
|
||||
sromrev=3
|
||||
il0macaddr=00:90:4c:c5:12:38
|
||||
wl0id=0x431b
|
||||
cckPwrOffset=4
|
||||
swctrlmap_2g=0x44844484,0x42824282,0x40804484,0x18282,0x1ff
|
||||
triso5g=0
|
||||
swctrlmap_5g=0x00100010,0x20202020,0x20202020,0x14202,0x0f0
|
||||
rfreg033=0x19
|
||||
rfreg033_cck=0x1f
|
||||
dacrate2g=160
|
||||
dacrate5g=160
|
||||
txalpfbyp2g=1
|
||||
bphyscale=17
|
||||
cckPwrIdxCorr=-15
|
||||
pacalidx2g=50
|
||||
#pacalidx5g=20
|
||||
noise_cal_ref_2g=53
|
||||
noise_cal_po_2g=0
|
||||
noise_cal_ref_5g=52
|
||||
noise_cal_po_5g=5,0,0
|
||||
# 4330 OOB parameter: High level trigger
|
||||
muxenab=0x10
|
||||
|
||||
4
bsp/buildroot/board/amarula/vyasa/extlinux.conf
Normal file
4
bsp/buildroot/board/amarula/vyasa/extlinux.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
label Vyasa linux-next
|
||||
kernel /boot/uImage
|
||||
devicetree /boot/rk3288-vyasa.dtb
|
||||
append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
|
||||
22
bsp/buildroot/board/amarula/vyasa/genimage.cfg
Normal file
22
bsp/buildroot/board/amarula/vyasa/genimage.cfg
Normal file
@@ -0,0 +1,22 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot-tpl-spl-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-tpl-spl-dtb.img"
|
||||
offset = 32K
|
||||
}
|
||||
|
||||
partition u-boot-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.img"
|
||||
offset = 8M
|
||||
size = 30M # falcon mode: args @ 16M args, uImage @ 17M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
3
bsp/buildroot/board/amarula/vyasa/linux_gmac.fragment
Normal file
3
bsp/buildroot/board/amarula/vyasa/linux_gmac.fragment
Normal file
@@ -0,0 +1,3 @@
|
||||
# Currently mainline kernel exhibits issues when running rockchip gmac
|
||||
# on the board, so enable it as loadable module and insert it later
|
||||
CONFIG_DWMAC_ROCKCHIP=m
|
||||
9
bsp/buildroot/board/amarula/vyasa/post-build.sh
Executable file
9
bsp/buildroot/board/amarula/vyasa/post-build.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
MKIMAGE=$HOST_DIR/bin/mkimage
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img
|
||||
cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl-dtb.bin > $BINARIES_DIR/u-boot-tpl-spl-dtb.img
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
|
||||
31
bsp/buildroot/board/amarula/vyasa/readme.txt
Normal file
31
bsp/buildroot/board/amarula/vyasa/readme.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
Vyasa RK3288
|
||||
============
|
||||
|
||||
Vyasa is RK3288 based Single board computer with fully supported opensource software.
|
||||
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Vyasa+RK3288
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
$ make amarula_vyasa_rk3288_defconfig
|
||||
|
||||
Then you can edit the build options using
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Compile all and build rootfs image:
|
||||
|
||||
$ make
|
||||
|
||||
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):
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/xxx
|
||||
$ sudo sync
|
||||
|
||||
Finally, you can insert the SD card to the Vyasa RK3288 board, close J4 and boot it.
|
||||
6
bsp/buildroot/board/arcturus/aarch64-ucls1012a/post-image.sh
Executable file
6
bsp/buildroot/board/arcturus/aarch64-ucls1012a/post-image.sh
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
MKIMAGE=${HOST_DIR}/usr/bin/mkimage
|
||||
MKIMAGE_IN=${BINARIES_DIR}/br2-ucls1012a.its
|
||||
MKIMAGE_OUT=${BINARIES_DIR}/part0-000000.itb
|
||||
${MKIMAGE} -f ${MKIMAGE_IN} ${MKIMAGE_OUT}
|
||||
74
bsp/buildroot/board/arcturus/aarch64-ucls1012a/readme.txt
Normal file
74
bsp/buildroot/board/arcturus/aarch64-ucls1012a/readme.txt
Normal file
@@ -0,0 +1,74 @@
|
||||
Arcturus uCLS1012A SoM
|
||||
======================
|
||||
|
||||
This tutorial describes how to use the predefined Buildroot
|
||||
configuration for the Arcturus uCLS101A SoM platform.
|
||||
|
||||
Additional information about the uCLS1012A System on Module can be found at
|
||||
https://www.arcturusnetworks.com/products/ucls1012a
|
||||
and product support for registered users at
|
||||
https://www.arcturusnetworks.com/support
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
Return to the top directory <buildrootdir> and execute the following commands.
|
||||
|
||||
make arcturus_ucls1012a_defconfig
|
||||
make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should obtain this tree:
|
||||
|
||||
output/images/
|
||||
+-- arc-ucls1012a.dtb
|
||||
+-- Image
|
||||
+-- part0-000000.itb
|
||||
+-- rootfs.cpio
|
||||
+-- rootfs.cpio.gz
|
||||
+-- rootfs.tar
|
||||
+-- u-boot.bin
|
||||
+-- ucls1012a.its
|
||||
|
||||
Flashing
|
||||
--------
|
||||
|
||||
You'll need to program the image created by buildroot into the SPI NOR flash.
|
||||
|
||||
1. Reboot your module and via the serial console press <escape> to enter the B$
|
||||
u-boot shell.
|
||||
From the shell you will need to update four environment variables replacing the
|
||||
IPv4 IP Address with ones that will work with your network and tftp server.
|
||||
|
||||
B$ setenv ipaddr 192.168.1.81
|
||||
B$ setenv serverip 192.168.1.80
|
||||
B$ setenv gatewayip 192.168.1.1
|
||||
B$ setenv netmask 255.255.255.0
|
||||
B$ saveenv
|
||||
|
||||
2. Enable tftp server to serve the <buildrootdir>/output/images/ folder.
|
||||
|
||||
3. Program the new U-Boot binary (optional)
|
||||
If you don't feel confident upgrading your bootloader then don't do it,
|
||||
it's unnecessary most of the time.
|
||||
|
||||
B$ tftp u-boot.bin
|
||||
B$ run program_uboot
|
||||
|
||||
4. Program the ITB image (includes Kernel, DTB and Ramdisk)
|
||||
|
||||
B$ tftp part0-000000.itb
|
||||
B$ run iprogram
|
||||
|
||||
5. Booting your new system
|
||||
|
||||
Reboot your system by reset command
|
||||
B$ reset
|
||||
|
||||
or
|
||||
|
||||
B$ run bootcmd
|
||||
|
||||
Good Luck !
|
||||
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
case "$1" in
|
||||
start)
|
||||
modprobe pfe
|
||||
;;
|
||||
stop)
|
||||
;;
|
||||
restart|reload)
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}"
|
||||
exit 1
|
||||
esac
|
||||
4
bsp/buildroot/board/asus/tinker/extlinux.conf
Normal file
4
bsp/buildroot/board/asus/tinker/extlinux.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
label Tinker linux-next
|
||||
kernel /boot/uImage
|
||||
devicetree /boot/rk3288-tinker.dtb
|
||||
append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait
|
||||
15
bsp/buildroot/board/asus/tinker/genimage.cfg
Normal file
15
bsp/buildroot/board/asus/tinker/genimage.cfg
Normal file
@@ -0,0 +1,15 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot-spl-dtb {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-spl-dtb.img"
|
||||
offset = 32K
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
9
bsp/buildroot/board/asus/tinker/post-build.sh
Executable file
9
bsp/buildroot/board/asus/tinker/post-build.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
MKIMAGE=$HOST_DIR/bin/mkimage
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img
|
||||
cat $BINARIES_DIR/u-boot-dtb.bin >> $BINARIES_DIR/u-boot-spl-dtb.img
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
|
||||
37
bsp/buildroot/board/asus/tinker/readme.txt
Normal file
37
bsp/buildroot/board/asus/tinker/readme.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
Tinker RK3288
|
||||
=============
|
||||
|
||||
Tinker Board is a Single Board Computer (SBC) in an ultra-small form
|
||||
factor that offers class-leading performance while leveraging outstanding
|
||||
mechanical compatibility.
|
||||
|
||||
Tinker link:
|
||||
https://www.asus.com/in/Single-Board-Computer/Tinker-Board/
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Tinker+RK3288
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
$ make asus_tinker_rk3288_defconfig
|
||||
|
||||
Then you can edit the build options using
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Compile all and build rootfs image:
|
||||
|
||||
$ make
|
||||
|
||||
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):
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/xxx
|
||||
$ sudo sync
|
||||
|
||||
Finally, you can insert the SD card to the Tinker RK3288 board and boot it.
|
||||
@@ -4,6 +4,10 @@ BUILDIR=$1
|
||||
TTY=$2
|
||||
BOARD=$3
|
||||
|
||||
family_at91sam9260ek="at91sam9260ek"
|
||||
mach_at91sam9260ek="at91sam9260-ek"
|
||||
dtb_at91sam9260ek="at91sam9260ek.dtb"
|
||||
|
||||
family_at91sam9g45m10ek="at91sam9m10g45ek"
|
||||
mach_at91sam9g45m10ek="at91sam9m10-g45-ek"
|
||||
dtb_at91sam9g45m10ek="at91sam9m10g45ek.dtb"
|
||||
@@ -16,6 +20,10 @@ family_at91sam9g15ek="at91sam9x5ek"
|
||||
mach_at91sam9g15ek="at91sam9g15-ek"
|
||||
dtb_at91sam9g15ek="at91sam9g15ek.dtb"
|
||||
|
||||
family_at91sam9g20ek="at91sam9g20ek"
|
||||
mach_at91sam9g20ek="at91sam9g20-ek"
|
||||
dtb_at91sam9g20ek="at91sam9g20ek.dtb"
|
||||
|
||||
family_at91sam9g25ek="at91sam9x5ek"
|
||||
mach_at91sam9g25ek="at91sam9g25-ek"
|
||||
dtb_at91sam9g25ek="at91sam9g25ek.dtb"
|
||||
@@ -90,9 +98,11 @@ Usage:
|
||||
$0 <builddir_path> <interface> <board>
|
||||
|
||||
Available boards:
|
||||
at91sam9260ek
|
||||
at91sam9g45m10ek
|
||||
at91sam9rlek
|
||||
at91sam9g15ek
|
||||
at91sam9g20ek
|
||||
at91sam9g25ek
|
||||
at91sam9x25ek
|
||||
at91sam9g35ek
|
||||
|
||||
7
bsp/buildroot/board/bananapi/bananapi-m2-ultra/boot.cmd
Normal file
7
bsp/buildroot/board/bananapi/bananapi-m2-ultra/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 sun8i-r40-bananapi-m2-ultra.dtb
|
||||
|
||||
bootz $kernel_addr_r - $fdt_addr_r
|
||||
33
bsp/buildroot/board/bananapi/bananapi-m2-ultra/genimage.cfg
Normal file
33
bsp/buildroot/board/bananapi/bananapi-m2-ultra/genimage.cfg
Normal file
@@ -0,0 +1,33 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"sun8i-r40-bananapi-m2-ultra.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"
|
||||
}
|
||||
}
|
||||
35
bsp/buildroot/board/bananapi/bananapi-m2-ultra/readme.txt
Normal file
35
bsp/buildroot/board/bananapi/bananapi-m2-ultra/readme.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Bananapi M2 ULtra. With the current
|
||||
configuration it will bring-up the board, and allow access through the
|
||||
serial console.
|
||||
|
||||
Bananapi M2 Ultra link:
|
||||
http://www.banana-pi.org/m2u.html
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make bananapi_m2_ultra_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 M2 Ultra and power it up. The console
|
||||
is on the serial line, 115200 8N1.
|
||||
@@ -1,4 +1,8 @@
|
||||
bootpart=0:1
|
||||
devtype=mmc
|
||||
bootdir=
|
||||
bootargs=console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
|
||||
uenvcmd=run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr};
|
||||
bootfile=zImage
|
||||
bootpartition=mmcblk0p2
|
||||
set_mmc1=if test $board_name = A33515BB; then setenv bootpartition mmcblk1p2; fi
|
||||
set_bootargs=setenv bootargs console=ttyO0,115200n8 root=/dev/${bootpartition} rw rootfstype=ext4 rootwait
|
||||
uenvcmd=run set_mmc1; run set_bootargs;run loadimage;run loadfdt;printenv bootargs;bootz ${loadaddr} - ${fdtaddr}
|
||||
|
||||
@@ -1,131 +0,0 @@
|
||||
setenv bootargs ''
|
||||
|
||||
if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then
|
||||
a_script=0x80800000
|
||||
a_zImage=0x80800000
|
||||
a_fdt=0x83000000
|
||||
m4=''
|
||||
if itest.s "x1" == "x$m4enabled" ; then
|
||||
run m4boot;
|
||||
m4='-m4';
|
||||
fi
|
||||
else
|
||||
a_script=0x10800000
|
||||
a_zImage=0x10800000
|
||||
a_fdt=0x13000000
|
||||
fi
|
||||
|
||||
setenv initrd_high 0xffffffff
|
||||
if itest.s "x" == "x${dtbname}" ; then
|
||||
if itest.s x6SOLO == "x${cpu}" ; then
|
||||
dtbname=imx6dl-${board}.dtb;
|
||||
elif itest.s x6DL == "x${cpu}" ; then
|
||||
dtbname=imx6dl-${board}.dtb;
|
||||
elif itest.s x6QP == "x${cpu}" ; then
|
||||
dtbname=imx6qp-${board}.dtb;
|
||||
elif itest.s x6SX == "x${cpu}" ; then
|
||||
dtbname=imx6sx-${board}${m4}.dtb;
|
||||
elif itest.s x7D == "x${cpu}" ; then
|
||||
dtbname=imx7d-${board}${m4}.dtb;
|
||||
else
|
||||
dtbname=imx6q-${board}.dtb;
|
||||
fi
|
||||
fi
|
||||
|
||||
if load ${dtype} ${disk}:1 ${a_script} uEnv.txt ; then
|
||||
env import -t ${a_script} ${filesize}
|
||||
fi
|
||||
|
||||
if itest.s x == x${bootdir} ; then
|
||||
bootdir=/boot/
|
||||
fi
|
||||
|
||||
if itest.s x${bootpart} == x ; then
|
||||
bootpart=1
|
||||
fi
|
||||
|
||||
if load ${dtype} ${disk}:${bootpart} ${a_fdt} ${bootdir}${dtbname} ; then
|
||||
fdt addr ${a_fdt}
|
||||
setenv fdt_high 0xffffffff
|
||||
else
|
||||
echo "!!!! Error loading ${bootdir}${dtbname}";
|
||||
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_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
|
||||
|
||||
setenv bootargs "${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc"
|
||||
|
||||
if test "sata" = "${dtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ;
|
||||
elif test "usb" = "${dtype}" ; then
|
||||
setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ;
|
||||
else
|
||||
setenv bootargs "${bootargs} root=/dev/mmcblk${disk}p${bootpart}"
|
||||
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${show_fdt}" ; then
|
||||
fdt print /
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${show_env}" ; then
|
||||
printenv
|
||||
fi
|
||||
|
||||
if load ${dtype} ${disk}:${bootpart} ${a_zImage} ${bootdir}/zImage ; then
|
||||
bootz ${a_zImage} - ${a_fdt}
|
||||
fi
|
||||
echo "Error loading kernel image"
|
||||
@@ -1,69 +0,0 @@
|
||||
if itest.s a$uboot_defconfig == a; then
|
||||
echo "Please set uboot_defconfig to the appropriate value"
|
||||
exit
|
||||
fi
|
||||
|
||||
offset=0x400
|
||||
a_uImage1=0x12000000
|
||||
a_uImage2=0x12400000
|
||||
|
||||
if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then
|
||||
a_uImage1=0x82000000
|
||||
a_uImage2=0x82400000
|
||||
fi
|
||||
|
||||
setenv stdout serial,vga
|
||||
echo "check U-Boot" ;
|
||||
|
||||
if load ${dtype} ${disk}:1 ${a_uImage1} u-boot.$uboot_defconfig ; then
|
||||
else
|
||||
echo "No U-Boot image found on SD card" ;
|
||||
exit
|
||||
fi
|
||||
echo "read $filesize bytes from SD card" ;
|
||||
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 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" ;
|
||||
exit
|
||||
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 0xC0000 ;
|
||||
|
||||
# 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 ;
|
||||
|
||||
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
|
||||
while echo "---- U-Boot upgraded. reset" ; do
|
||||
sleep 120
|
||||
done
|
||||
@@ -2,6 +2,8 @@ setenv bootargs ''
|
||||
|
||||
setenv initrd_high 0xffffffff
|
||||
m4=''
|
||||
kernelimage=zImage
|
||||
bootcommand=bootz
|
||||
a_base=0x10000000
|
||||
if itest.s x51 == "x${imx_cpu}" ; then
|
||||
a_base=0x90000000
|
||||
@@ -9,10 +11,14 @@ 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
|
||||
elif itest.s x8MQ == "x${imx_cpu}"; then
|
||||
a_base=0x40000000
|
||||
kernelimage=Image
|
||||
bootcommand=booti
|
||||
fi
|
||||
if itest.s "x1" == "x${m4enabled}" ; then
|
||||
run m4boot;
|
||||
m4='-m4';
|
||||
fi
|
||||
|
||||
setexpr a_script ${a_base} + 0x00800000
|
||||
@@ -39,10 +45,12 @@ if itest.s "x" == "x${fdt_file}" ; then
|
||||
fdt_file=imx6sx-${board}${m4}.dtb;
|
||||
elif itest.s x7D == "x${imx_cpu}" ; then
|
||||
fdt_file=imx7d-${board}${m4}.dtb;
|
||||
elif itest.s x8MQ == "x${imx_cpu}" ; then
|
||||
fdt_file=imx8mq-${board}${m4}.dtb;
|
||||
elif itest.s x51 == "x${imx_cpu}" ; then
|
||||
fdt_file=imx51-${board}${m4}.dtb;
|
||||
fdt_file=imx51-${board}.dtb;
|
||||
elif itest.s x53 == "x${imx_cpu}" ; then
|
||||
fdt_file=imx53-${board}${m4}.dtb;
|
||||
fdt_file=imx53-${board}.dtb;
|
||||
else
|
||||
fdt_file=imx6q-${board}.dtb;
|
||||
fi
|
||||
@@ -66,16 +74,12 @@ else
|
||||
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";
|
||||
@@ -87,25 +91,18 @@ 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 "!!!!!!!!!!!!!!!!"
|
||||
if itest.s "x" != "x${cmd_mipi}" ; then
|
||||
run cmd_mipi
|
||||
fi
|
||||
|
||||
if test "sata" = "${devtype}" ; then
|
||||
@@ -126,7 +123,6 @@ 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
|
||||
@@ -149,7 +145,7 @@ 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}
|
||||
if load ${devtype} ${devnum}:${distro_bootpart} ${a_zImage} ${prefix}${kernelimage} ; then
|
||||
${bootcommand} ${a_zImage} - ${a_fdt}
|
||||
fi
|
||||
echo "Error loading kernel image"
|
||||
|
||||
@@ -6,20 +6,24 @@
|
||||
#
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
UBOOT_DEFCONFIG="$(grep BR2_TARGET_UBOOT_BOARD_DEFCONFIG ${BR2_CONFIG} | sed 's/.*\"\(.*\)\"/\1/')"
|
||||
|
||||
if grep -Eq "^BR2_aarch64=y$" ${BR2_CONFIG}; then
|
||||
MKIMAGE_ARCH=arm64
|
||||
UBOOT_BINARY=imx8-boot-sd.bin
|
||||
else
|
||||
MKIMAGE_ARCH=arm
|
||||
UBOOT_BINARY=u-boot.imx
|
||||
fi
|
||||
|
||||
# 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
|
||||
$HOST_DIR/bin/mkimage -A $MKIMAGE_ARCH -O linux -T script -C none -a 0 -e 0 \
|
||||
-n "boot script" -d $BOARD_DIR/boot.cmd $TARGET_DIR/boot/boot.scr
|
||||
|
||||
# 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/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
|
||||
if [ -e $BINARIES_DIR/$UBOOT_BINARY ]; then
|
||||
install -D -m 0644 $BINARIES_DIR/$UBOOT_BINARY \
|
||||
$TARGET_DIR/u-boot.$UBOOT_DEFCONFIG
|
||||
$HOST_DIR/bin/mkimage -A $MKIMAGE_ARCH -O linux -T script -C none -a 0 -e 0 \
|
||||
-n "upgrade script" -d $BOARD_DIR/upgrade.cmd $TARGET_DIR/upgrade.scr
|
||||
fi
|
||||
|
||||
@@ -7,6 +7,7 @@ offset=0x400
|
||||
erase_size=0xC0000
|
||||
qspi_offset=0x0
|
||||
a_base=0x12000000
|
||||
block_size=0x200
|
||||
|
||||
if itest.s x51 == "x${imx_cpu}"; then
|
||||
a_base=0x92000000
|
||||
@@ -14,6 +15,9 @@ 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
|
||||
elif itest.s x8MQ == "x${imx_cpu}"; then
|
||||
a_base=0x42000000
|
||||
offset=0x8400
|
||||
fi
|
||||
|
||||
qspi_match=1
|
||||
@@ -25,6 +29,54 @@ setexpr a_script ${a_base}
|
||||
|
||||
setenv stdout serial,vga
|
||||
|
||||
if itest.s "x${sfname}" == "x" ; then
|
||||
# U-Boot resides in (e)MMC
|
||||
if itest.s "x${env_dev}" == "x" || itest.s "x${env_part}" == "x"; then
|
||||
echo "Please set env_dev/part to the appropriate values"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Load bootloader binary for this board
|
||||
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_uImage1} u-boot.$uboot_defconfig ; then
|
||||
else
|
||||
echo "File u-boot.$uboot_defconfig not found on SD card" ;
|
||||
exit
|
||||
fi
|
||||
|
||||
# Compute block count for filesize and offset
|
||||
setexpr cntoffset ${offset} / ${block_size}
|
||||
setexpr cntfile ${filesize} / ${block_size}
|
||||
# Add 1 in case the $filesize is not a multiple of $block_size
|
||||
setexpr cntfile ${cntfile} + 1
|
||||
|
||||
# Select media partition (if different from main partition)
|
||||
mmc dev ${env_dev} ${env_part}
|
||||
|
||||
# Read and compare current U-Boot
|
||||
mmc read ${a_uImage2} ${cntoffset} ${cntfile}
|
||||
if cmp.b ${a_uImage1} ${a_uImage2} ${filesize} ; then
|
||||
echo "------- U-Boot versions match" ;
|
||||
exit ;
|
||||
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
|
||||
mmc write ${a_uImage1} ${cntoffset} ${cntfile}
|
||||
|
||||
# Make sure to boot from the proper partition
|
||||
if itest ${env_part} != 0 ; then
|
||||
mmc partconf ${env_dev} 1 ${env_part} 0
|
||||
fi
|
||||
|
||||
# Switch back to main eMMC partition (to avoid confusion)
|
||||
mmc dev ${env_dev}
|
||||
|
||||
else
|
||||
# U-Boot resides in NOR flash
|
||||
if sf probe || sf probe || sf probe 1 27000000 || sf probe 1 27000000 ; then
|
||||
echo "probed SPI ROM" ;
|
||||
else
|
||||
@@ -32,9 +84,13 @@ else
|
||||
exit
|
||||
fi
|
||||
|
||||
if itest.s "x${sfname}" == "xat45db041d" ; then
|
||||
erase_size=0x7e000
|
||||
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
|
||||
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_qspi1} qspi-${sfname}.${uboot_defconfig} ; then
|
||||
else
|
||||
echo "parameter file qspi-${sfname}.${uboot_defconfig} not found on SD card"
|
||||
exit
|
||||
@@ -63,7 +119,7 @@ fi
|
||||
|
||||
echo "check U-Boot" ;
|
||||
|
||||
if ${fs}load ${devtype} ${devnum}:1 ${a_uImage1} u-boot.$uboot_defconfig ; then
|
||||
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_uImage1} u-boot.$uboot_defconfig ; then
|
||||
else
|
||||
echo "File u-boot.$uboot_defconfig not found on SD card" ;
|
||||
exit
|
||||
@@ -80,7 +136,7 @@ if cmp.b ${a_uImage1} ${a_uImage2} $filesize ; then
|
||||
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
|
||||
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then
|
||||
source ${a_script}
|
||||
else
|
||||
echo "${next} not found on SD card"
|
||||
@@ -142,13 +198,14 @@ if itest.s x7D == "x${imx_cpu}"; then
|
||||
fi
|
||||
|
||||
if itest.s "x" != "x${next}" ; then
|
||||
if ${fs}load ${devtype} ${devnum}:1 ${a_script} ${next} ; then
|
||||
if ${fs}load ${devtype} ${devnum}:${distro_bootpart} ${a_script} ${next} ; then
|
||||
source ${a_script}
|
||||
else
|
||||
echo "${next} not found on ${devtype} ${devnum}"
|
||||
echo "${next} not found on ${devtype} ${devnum}:${distro_bootpart}"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
while echo "---- U-Boot upgraded. reset" ; do
|
||||
while echo "---- U-Boot upgraded. Please reset the board" ; do
|
||||
sleep 120
|
||||
done
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
From b3a1e97498e7987073775d49a703932c20f2df1d Mon Sep 17 00:00:00 2001
|
||||
From: Ezequiel Garcia <ezequiel@collabora.com>
|
||||
Date: Mon, 12 Nov 2018 14:04:46 -0300
|
||||
Subject: [PATCH] mips: Remove default endiannes
|
||||
|
||||
Currently, trying to build ci20_mmc fails on little-endian
|
||||
toolchains. The problem seems to be that some targets don't
|
||||
have CONFIG_SYS_LITTLE_ENDIAN properly set, and therefore
|
||||
the default -EB switch is selected.
|
||||
|
||||
Let's get rid of the default switch entirely, and fix this problem.
|
||||
While this may be a hack, it is a quick solution until
|
||||
U-Boot gets CI20 proper support.
|
||||
|
||||
make ARCH=mips CROSS_COMPILE=mips-linux-gnu- ci20_mmc
|
||||
Configuring for ci20_mmc - Board: ci20, Options: SPL_MMC_SUPPORT,ENV_IS_IN_MMC
|
||||
make
|
||||
make[1]: Entering directory '/home/zeta/repos/u-boot-ci20'
|
||||
Generating include/autoconf.mk
|
||||
Generating include/autoconf.mk.dep
|
||||
mips-linux-gnu-gcc: error: may not use both -EB and -EL
|
||||
mips-linux-gnu-gcc: error: may not use both -EB and -EL
|
||||
Generating include/spl-autoconf.mk
|
||||
mips-linux-gnu-gcc: error: may not use both -EB and -EL
|
||||
Generating include/tpl-autoconf.mk
|
||||
mips-linux-gnu-gcc: error: may not use both -EB and -EL
|
||||
mips-linux-gnu-gcc -DDO_DEPS_ONLY \
|
||||
-g -Os -ffunction-sections -fdata-sections -D__KERNEL__ -I/home/zeta/repos/u-boot-ci20/include -fno-builtin -ffreestanding -nostdinc -isystem /home/zeta/repos/buildroot/mips/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/5.3.0/include -pipe -DCONFIG_MIPS -D__MIPS__ -G 0 -EB -msoft-float -fpic -mabicalls -march=mips32 -mabi=32 -DCONFIG_32BIT -mno-branch-likely -Wall -Wstrict-prototypes \
|
||||
-o lib/asm-offsets.s lib/asm-offsets.c -c -S
|
||||
if [ -f arch/mips/cpu/xburst/jz4780/asm-offsets.c ];then \
|
||||
mips-linux-gnu-gcc -DDO_DEPS_ONLY \
|
||||
-g -Os -ffunction-sections -fdata-sections -D__KERNEL__ -I/home/zeta/repos/u-boot-ci20/include -fno-builtin -ffreestanding -nostdinc -isystem /home/zeta/repos/buildroot/mips/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/5.3.0/include -pipe -DCONFIG_MIPS -D__MIPS__ -G 0 -EB -msoft-float -fpic -mabicalls -march=mips32 -mabi=32 -DCONFIG_32BIT -mno-branch-likely -Wall -Wstrict-prototypes \
|
||||
-o arch/mips/cpu/xburst/jz4780/asm-offsets.s arch/mips/cpu/xburst/jz4780/asm-offsets.c -c -S; \
|
||||
else \
|
||||
touch arch/mips/cpu/xburst/jz4780/asm-offsets.s; \
|
||||
fi
|
||||
mips-linux-gnu-gcc: error: may not use both -EB and -EL
|
||||
make[1]: *** [Makefile:747: lib/asm-offsets.s] Error 1
|
||||
make[1]: *** Waiting for unfinished jobs....
|
||||
make[1]: Leaving directory '/home/zeta/repos/u-boot-ci20'
|
||||
make: *** [.boards.depend:463: ci20_mmc] Error 2
|
||||
|
||||
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
|
||||
---
|
||||
https://github.com/MIPS/CI20_u-boot/pull/19
|
||||
|
||||
arch/mips/config.mk | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/arch/mips/config.mk b/arch/mips/config.mk
|
||||
index c89279025507..43560abbc0e1 100644
|
||||
--- a/arch/mips/config.mk
|
||||
+++ b/arch/mips/config.mk
|
||||
@@ -20,9 +20,6 @@ ifdef CONFIG_SYS_BIG_ENDIAN
|
||||
ENDIANNESS := -EB
|
||||
endif
|
||||
|
||||
-# Default to EB if no endianess is configured
|
||||
-ENDIANNESS ?= -EB
|
||||
-
|
||||
PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__
|
||||
|
||||
#
|
||||
--
|
||||
2.19.1
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 7e3f2c482bc16537a093e87a27f0d465804a88e4 Mon Sep 17 00:00:00 2001
|
||||
From: Julien Olivain <juju@cotds.org>
|
||||
Date: Tue, 11 Dec 2018 23:04:46 +0100
|
||||
Subject: [PATCH] csky: update cmdline for serial console and rootfs on sda1
|
||||
|
||||
Signed-off-by: Julien Olivain <juju@cotds.org>
|
||||
---
|
||||
arch/csky/boot/dts/gx6605s.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/csky/boot/dts/gx6605s.dts b/arch/csky/boot/dts/gx6605s.dts
|
||||
index ce56106af967..f5d60b21e6f9 100644
|
||||
--- a/arch/csky/boot/dts/gx6605s.dts
|
||||
+++ b/arch/csky/boot/dts/gx6605s.dts
|
||||
@@ -155,6 +155,6 @@
|
||||
};
|
||||
|
||||
chosen {
|
||||
- bootargs = "console=tty0 init=/sbin/init root=/dev/sda2 rw rootwait";
|
||||
+ bootargs = "console=ttyS0,115200 init=/sbin/init root=/dev/sda1 rw rootwait";
|
||||
};
|
||||
};
|
||||
--
|
||||
2.19.2
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
OUTPUT_DIR="${O}/images"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
cp board/digilent/zybo/uEnv.txt ${BINARIES_DIR}
|
||||
cp board/digilent/zybo/system.bit ${BINARIES_DIR}
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
@@ -1,76 +0,0 @@
|
||||
Digilent Zybo
|
||||
=============
|
||||
|
||||
This is the Buildroot board support for the Digilent Zybo. The Zybo is
|
||||
a development board based on the Xilinx Zynq-7000 based All-Programmable
|
||||
System-On-Chip.
|
||||
|
||||
Zybo information including schematics, reference designs, and manuals are
|
||||
available from http://store.digilentinc.com/zybo-zynq-7000-arm-fpga-soc-trainer-board/ .
|
||||
|
||||
If you want a custom FPGA bitstream to be loaded by U-Boot, copy it as
|
||||
system.bit in board/digilent/zybo/.
|
||||
|
||||
Steps to create a working system for Zybo:
|
||||
|
||||
1) make zynq_zybo_defconfig
|
||||
2) make
|
||||
3) write your SD Card with the sdcard.img file using dd by doing
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
4) insert the SD Card and power up your Zybo
|
||||
5) Expect serial console on the second USB serial port exposed by the board
|
||||
|
||||
The expected output:
|
||||
|
||||
U-Boot SPL 2016.05 (May 20 2016 - 16:16:24)
|
||||
mmc boot
|
||||
Trying to boot from MMC1
|
||||
reading system.dtb
|
||||
spl_load_image_fat_os: error reading image system.dtb, err - -1
|
||||
reading u-boot-dtb.img
|
||||
reading u-boot-dtb.img
|
||||
|
||||
|
||||
U-Boot 2016.05 (May 20 2016 - 16:16:24 +0200)
|
||||
|
||||
Model: Zynq ZYBO Development Board
|
||||
Board: Xilinx Zynq
|
||||
I2C: ready
|
||||
DRAM: ECC disabled 512 MiB
|
||||
MMC: sdhci@e0100000: 0
|
||||
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB
|
||||
In: serial@e0001000
|
||||
Out: serial@e0001000
|
||||
Err: serial@e0001000
|
||||
Model: Zynq ZYBO Development Board
|
||||
Board: Xilinx Zynq
|
||||
Net: ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
|
||||
I2C EEPROM MAC address read failed
|
||||
|
||||
Warning: ethernet@e000b000 (eth0) using random MAC address - 56:64:dd:a7:6d:94
|
||||
eth0: ethernet@e000b000
|
||||
...
|
||||
|
||||
Resulting system
|
||||
----------------
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
The first partition is a FAT32 partition created at the beginning of the SD Card
|
||||
that contains the following files :
|
||||
/BOOT.BIN
|
||||
/zynq-zybo.dtb
|
||||
/uEnv.txt
|
||||
/system.bit
|
||||
/uImage
|
||||
/u-boot-dtb.img
|
||||
|
||||
The second partition is an ext4 partition that contains the root filesystem.
|
||||
|
||||
You can alter the booting procedure by modifying the uEnv.txt file
|
||||
in first partition of the SD card. It is a plain text file in format
|
||||
<key>=<value> one per line:
|
||||
|
||||
kernel_image=myimage
|
||||
modeboot=myboot
|
||||
myboot=...
|
||||
@@ -1,5 +0,0 @@
|
||||
bootargs=root=/dev/mmcblk0p2 rootwait rw rootfstype=ext4
|
||||
fpga_image=system.bit
|
||||
fpgaboot=if fatload mmc 0 0x1000000 ${fpga_image}; then echo Booting FPGA from ${fpga_image}; fpga info 0 && fpga loadb 0 0x1000000 $filesize; else echo FPGA image ${fpga_image} was not found, skipping...; fi;
|
||||
kernel_image=uImage
|
||||
sdboot=echo Booting from SD...; run fpgaboot; fatload mmc 0 0x1000000 ${kernel_image} && fatload mmc 0 0x2000000 zynq-zybo.dtb && bootm 0x1000000 - 0x2000000
|
||||
17
bsp/buildroot/board/embest/riotboard/genimage.cfg
Normal file
17
bsp/buildroot/board/embest/riotboard/genimage.cfg
Normal file
@@ -0,0 +1,17 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.imx"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
offset = 1M
|
||||
size = 60M
|
||||
}
|
||||
}
|
||||
38
bsp/buildroot/board/embest/riotboard/readme.txt
Normal file
38
bsp/buildroot/board/embest/riotboard/readme.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
Buildroot for Embest RIoTboard
|
||||
==============================
|
||||
|
||||
This is a small development board, based on Freescale IMX6 Solo SoC
|
||||
(single core ARM Cortex-A9).
|
||||
|
||||
More details about the board can be found at:
|
||||
|
||||
http://www.embest-tech.com/riotboard
|
||||
|
||||
1. Compiling buildroot
|
||||
----------------------
|
||||
|
||||
$ make riotboard_defconfig
|
||||
$ make
|
||||
|
||||
2. Installing buildroot
|
||||
-----------------------
|
||||
|
||||
Prepare an SD-card and plug it into your card reader. Always double
|
||||
check the block device before writing to it, as writing to the wrong
|
||||
block device can cause irrecoverable data loss. Now you can write the
|
||||
image to your SD-card:
|
||||
|
||||
sudo dd if=output/images/sdcard.img of=/dev/<sdcard-block-device> bs=1M
|
||||
|
||||
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:
|
||||
|
||||
1 0 1 0 0 1 0 1
|
||||
ON OFF ON OFF OFF ON OFF ON
|
||||
|
||||
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.
|
||||
@@ -0,0 +1,6 @@
|
||||
default buildroot
|
||||
|
||||
label buildroot
|
||||
kernel /boot/zImage
|
||||
devicetree /boot/imx6dl-riotboard.dtb
|
||||
append console=ttymxc1,115200 root=/dev/mmcblk1p1 rw
|
||||
@@ -22,7 +22,7 @@ image sdcard.img {
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.imx"
|
||||
image = "%UBOOTBIN%"
|
||||
offset = 1024
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
# Minimal SD card image for the Freescale iMX8 boards
|
||||
#
|
||||
# We mimic the .sdcard Freescale's image format:
|
||||
# * the SD card must have 33 kB free space at the beginning,
|
||||
# * U-Boot is integrated into imx8-boot-sd.bin and is dumped as is,
|
||||
# * a FAT partition at offset 8MB is containing Image and DTB files
|
||||
# * a single root filesystem partition is required (ext2, ext3 or ext4)
|
||||
#
|
||||
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
%FILES%
|
||||
}
|
||||
}
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition imx-boot {
|
||||
in-partition-table = "no"
|
||||
image = "imx8-boot-sd.bin"
|
||||
offset = 33K
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 8M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
20
bsp/buildroot/board/freescale/common/imx/imx8-bootloader-prepare.sh
Executable file
20
bsp/buildroot/board/freescale/common/imx/imx8-bootloader-prepare.sh
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
main ()
|
||||
{
|
||||
UBOOT_DTB=$2
|
||||
if [ ! -e "$UBOOT_DTB" ]; then
|
||||
echo "ERROR: couldn't find dtb: $UBOOT_DTB"
|
||||
exit 1
|
||||
fi
|
||||
cat ${BINARIES_DIR}/u-boot-spl.bin ${BINARIES_DIR}/lpddr4_pmu_train_fw.bin > ${BINARIES_DIR}/u-boot-spl-ddr.bin
|
||||
BL31=${BINARIES_DIR}/bl31.bin BL33=${BINARIES_DIR}/u-boot.bin ${HOST_DIR}/bin/mkimage_fit_atf.sh ${UBOOT_DTB} > ${BINARIES_DIR}/u-boot.its
|
||||
${HOST_DIR}/bin/mkimage -E -p 0x3000 -f ${BINARIES_DIR}/u-boot.its ${BINARIES_DIR}/u-boot.itb
|
||||
rm -f ${BINARIES_DIR}/u-boot.its
|
||||
|
||||
${HOST_DIR}/bin/mkimage_imx8 -fit -signed_hdmi ${BINARIES_DIR}/signed_hdmi_imx8m.bin -loader ${BINARIES_DIR}/u-boot-spl-ddr.bin 0x7E1000 -second_loader ${BINARIES_DIR}/u-boot.itb 0x40200000 0x60000 -out ${BINARIES_DIR}/imx8-boot-sd.bin
|
||||
|
||||
exit $?
|
||||
}
|
||||
|
||||
main $@
|
||||
@@ -7,10 +7,10 @@
|
||||
#
|
||||
dtb_list()
|
||||
{
|
||||
local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
|
||||
local DTB_LIST="$(sed -n 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([\/a-z0-9 \-]*\)"$/\1/p' ${BR2_CONFIG})"
|
||||
|
||||
for dt in $DTB_LIST; do
|
||||
echo -n "\"$dt.dtb\", "
|
||||
echo -n "\"`basename $dt`.dtb\", "
|
||||
done
|
||||
}
|
||||
|
||||
@@ -23,6 +23,8 @@ linux_image()
|
||||
{
|
||||
if grep -Eq "^BR2_LINUX_KERNEL_UIMAGE=y$" ${BR2_CONFIG}; then
|
||||
echo "\"uImage\""
|
||||
elif grep -Eq "^BR2_LINUX_KERNEL_IMAGE=y$" ${BR2_CONFIG}; then
|
||||
echo "\"Image\""
|
||||
else
|
||||
echo "\"zImage\""
|
||||
fi
|
||||
@@ -30,20 +32,33 @@ linux_image()
|
||||
|
||||
genimage_type()
|
||||
{
|
||||
if grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
|
||||
if grep -Eq "^BR2_PACKAGE_FREESCALE_IMX_PLATFORM_IMX8M=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_imx8"
|
||||
elif grep -Eq "^BR2_TARGET_UBOOT_SPL=y$" ${BR2_CONFIG}; then
|
||||
echo "genimage.cfg.template_spl"
|
||||
else
|
||||
echo "genimage.cfg.template"
|
||||
fi
|
||||
}
|
||||
|
||||
uboot_image()
|
||||
{
|
||||
if grep -Eq "^BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y$" ${BR2_CONFIG}; then
|
||||
echo "u-boot-dtb.imx"
|
||||
elif grep -Eq "^BR2_TARGET_UBOOT_FORMAT_IMX=y$" ${BR2_CONFIG}; then
|
||||
echo "u-boot.imx"
|
||||
fi
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
local FILES="$(dtb_list) $(linux_image)"
|
||||
local UBOOTBIN="$(uboot_image)"
|
||||
local GENIMAGE_CFG="$(mktemp --suffix genimage.cfg)"
|
||||
local GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
sed -e "s/%FILES%/${FILES}/" \
|
||||
-e "s/%UBOOTBIN%/${UBOOTBIN}/" \
|
||||
board/freescale/common/imx/$(genimage_type) > ${GENIMAGE_CFG}
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
From 27a2cd6a1980adf3002412678c8fdec6528dc47d Mon Sep 17 00:00:00 2001
|
||||
From: Trent Piepho <tpiepho@impinj.com>
|
||||
Date: Fri, 6 Apr 2018 17:11:27 -0700
|
||||
Subject: [PATCH] imx: Create distinct pre-processed mkimage config files
|
||||
|
||||
Each imx image is created by a separate sub-make and during this process
|
||||
the mkimage config file is run though cpp.
|
||||
|
||||
The cpp output is to the same file no matter what imx image is being
|
||||
created.
|
||||
|
||||
This means if two imx images are generated in parallel they will attempt
|
||||
to independently produce the same pre-processed mkimage config file at
|
||||
the same time.
|
||||
|
||||
Avoid the problem by making the pre-processed config file name unique
|
||||
based on the imx image it will be used in. This way each image will
|
||||
create a unique config file and they won't clobber each other when run
|
||||
in parallel.
|
||||
|
||||
This should fixed the build bug referenced in b5b0e4e3 ("imximage:
|
||||
Remove failure when no IVT offset is found").
|
||||
|
||||
Cc: Breno Lima <breno.lima@nxp.com>
|
||||
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Cc: Fabio Estevam <fabio.estevam@nxp.com>
|
||||
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
|
||||
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
|
||||
[fabio: Adapted to imx_v2017.03_4.9.11_1.0.0_ga]
|
||||
Signed-off-by: Fabio Estevam <festevam@gmail.com>
|
||||
---
|
||||
arch/arm/imx-common/Makefile | 15 ++++++++-------
|
||||
1 file changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile
|
||||
index d862258..f1bae8d 100644
|
||||
--- a/arch/arm/imx-common/Makefile
|
||||
+++ b/arch/arm/imx-common/Makefile
|
||||
@@ -69,9 +69,11 @@ endif
|
||||
quiet_cmd_cpp_cfg = CFGS $@
|
||||
cmd_cpp_cfg = $(CPP) $(cpp_flags) -x c -o $@ $<
|
||||
|
||||
-IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%).cfgtmp
|
||||
+# mkimage source config file
|
||||
+IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%)
|
||||
|
||||
-$(IMX_CONFIG): %.cfgtmp: % FORCE
|
||||
+# How to create a cpp processed config file, they all use the same source
|
||||
+%.cfgout: $(IMX_CONFIG) FORCE
|
||||
$(Q)mkdir -p $(dir $@)
|
||||
$(call if_changed_dep,cpp_cfg)
|
||||
|
||||
@@ -79,7 +81,7 @@ MKIMAGEFLAGS_u-boot.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imxim
|
||||
-e $(CONFIG_SYS_TEXT_BASE)
|
||||
u-boot.imx: MKIMAGEOUTPUT = u-boot.imx.log
|
||||
|
||||
-u-boot.imx: u-boot.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||
+u-boot.imx: u-boot.bin u-boot.cfgout $(PLUGIN).bin FORCE
|
||||
$(call if_changed,mkimage)
|
||||
|
||||
ifeq ($(CONFIG_OF_SEPARATE),y)
|
||||
@@ -87,16 +89,15 @@ MKIMAGEFLAGS_u-boot-dtb.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T i
|
||||
-e $(CONFIG_SYS_TEXT_BASE)
|
||||
u-boot-dtb.imx: MKIMAGEOUTPUT = u-boot-dtb.imx.log
|
||||
|
||||
-u-boot-dtb.imx: u-boot-dtb.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||
+u-boot-dtb.imx: u-boot-dtb.bin u-boot-dtb.cfgout $(PLUGIN).bin FORCE
|
||||
$(call if_changed,mkimage)
|
||||
endif
|
||||
|
||||
MKIMAGEFLAGS_SPL = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imximage \
|
||||
-e $(CONFIG_SPL_TEXT_BASE)
|
||||
-
|
||||
SPL: MKIMAGEOUTPUT = SPL.log
|
||||
|
||||
-SPL: spl/u-boot-spl.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||
+SPL: spl/u-boot-spl.bin spl/u-boot-spl.cfgout $(PLUGIN).bin FORCE
|
||||
$(call if_changed,mkimage)
|
||||
|
||||
MKIMAGEFLAGS_u-boot.uim = -A arm -O U-Boot -a $(CONFIG_SYS_TEXT_BASE) \
|
||||
@@ -124,4 +125,4 @@ cmd_u-boot-nand-spl_imx = (printf '\000\000\000\000\106\103\102\040\001' && \
|
||||
spl/u-boot-nand-spl.imx: SPL FORCE
|
||||
$(call if_changed,u-boot-nand-spl_imx)
|
||||
|
||||
-targets += $(addprefix ../../../,$(IMX_CONFIG) SPL u-boot.uim spl/u-boot-nand-spl.imx)
|
||||
+targets += $(addprefix ../../../,SPL spl/u-boot-spl.cfgout u-boot-dtb.cfgout u-boot.cfgout u-boot.uim spl/u-boot-nand-spl.imx)
|
||||
--
|
||||
2.7.4
|
||||
|
||||
80
bsp/buildroot/board/freescale/imx8mqevk/readme.txt
Normal file
80
bsp/buildroot/board/freescale/imx8mqevk/readme.txt
Normal file
@@ -0,0 +1,80 @@
|
||||
***************************
|
||||
Freescale i.MX8MQ EVK board
|
||||
***************************
|
||||
|
||||
This file documents the Buildroot support for the Freescale i.MX8MQ
|
||||
EVK board.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, configure Buildroot for the i.MX8MQ EVK board:
|
||||
|
||||
make freescale_imx8mqevk_defconfig
|
||||
|
||||
Build all components:
|
||||
|
||||
make
|
||||
|
||||
You will find in output/images/ the following files:
|
||||
- bl31.bin
|
||||
- boot.vfat
|
||||
- fsl-imx8mq-evk.dtb
|
||||
- Image
|
||||
- imx8-boot-sd.bin
|
||||
- lpddr4_pmu_train_fw.bin
|
||||
- rootfs.ext2
|
||||
- rootfs.ext4
|
||||
- rootfs.tar
|
||||
- sdcard.img
|
||||
- signed_hdmi_imx8m.bin
|
||||
- u-boot.bin
|
||||
- u-boot.imx
|
||||
- u-boot-nodtb.bin
|
||||
- u-boot-spl-ddr.bin
|
||||
|
||||
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_imx8.
|
||||
|
||||
Boot the i.MX8MQ EVK board
|
||||
==========================
|
||||
|
||||
To boot your newly created system:
|
||||
- insert the SD card in the SD slot of the board;
|
||||
- Configure the switches as follows:
|
||||
SW801: ON ON OFF OFF
|
||||
SW802: ON OFF
|
||||
- put a micro USB cable into the Debug USB Port and connect using a terminal
|
||||
emulator at 115200 bps, 8n1;
|
||||
- power on the board.
|
||||
|
||||
Enable HDMI output
|
||||
==================
|
||||
|
||||
To enable HDMI output at boot you must provide the video kernel boot
|
||||
argument. To set the video boot argument from U-Boot run after
|
||||
stopping in U-Boot prompt:
|
||||
|
||||
setenv mmcargs 'setenv bootargs console=${console} root=${mmcroot} video=HDMI-A-1:1920x1080-32@60'
|
||||
saveenv
|
||||
reset
|
||||
|
||||
Change screen resolution to suit your connected display.
|
||||
|
||||
Enjoy!
|
||||
25
bsp/buildroot/board/freescale/p1025twr/readme.txt
Normal file
25
bsp/buildroot/board/freescale/p1025twr/readme.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
The bootloader is no longer buildable in the latest Freescale/NXP tree or
|
||||
upstream. As such, retrieve the "Image: SDK V1.2 e500v2 Binary ISO" from
|
||||
NXP downloads and follow the release notes for reflashing.
|
||||
|
||||
For programming the kernel and rootfs created by buildroot into the flash.
|
||||
The fast way is to tftp transfer the files via one of the network interfaces.
|
||||
Make sure your devkit has ipaddr and serverip defined to reach your tftp
|
||||
server.
|
||||
|
||||
(Assuming the default u-boot env from NXP)
|
||||
1. Program the DTB to NOR flash
|
||||
|
||||
=> setenv dtbfile p1025twr.dtb
|
||||
=> run dtbflash
|
||||
|
||||
2. Program the kernel and rootfs to NOR flash (reusing orignal rootfs
|
||||
NOR location, as the kernel location is to small)
|
||||
|
||||
=> tftpboot $loadaddr uImage; protect off 0xeeb80000 +$filesize; erase 0xeeb80000 +$filesize; cp.b $loadaddr 0xeeb80000 $filesize; protect on 0xeeb80000 +$filesize; cmp.b $loadaddr 0xefa80000 $filesize
|
||||
|
||||
3. Booting your new system
|
||||
|
||||
=> bootm 0xeeb80000 - 0xefe80000
|
||||
|
||||
You can login with user "root".
|
||||
24
bsp/buildroot/board/freescale/t1040d4rdb/readme.txt
Normal file
24
bsp/buildroot/board/freescale/t1040d4rdb/readme.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
For the bootloader, NXP has stablized at SDK2.0 (final release). It is
|
||||
suggested to download the prebuilt from NXP downloads and follow the
|
||||
release notes for reflashing.
|
||||
|
||||
To program the kernel and rootfs created by buildroot into the flash. The
|
||||
fast way is to tftp transfer the files via one of the network interfaces.
|
||||
Make sure your devkit has ipaddr and serverip defined to reach your tftp
|
||||
server.
|
||||
|
||||
(Assuming the default u-boot env from NXP)
|
||||
1. Program the DTB to NOR flash
|
||||
|
||||
=> tftpboot $loadaddr t1040d4rdb.dtb; protect off 0xe8800000 +$filesize; erase 0xe8800000 +$filesize; cp.b $loadaddr 0xe8800000 $filesize; protect on 0xe8800000 +$filesize; cmp.b $loadaddr 0xe8800000 $filesize
|
||||
|
||||
2. Program the kernel and rootfs to NOR flash
|
||||
|
||||
=> tftpboot $loadaddr uImage; protect off 0xe8020000 +$filesize; erase 0xe8020000 +$filesize; cp.b $loadaddr 0xe8020000 $filesize; protect on 0xe8020000 +$filesize; cmp.b $loadaddr 0xe8020000 $filesize
|
||||
=> tftpboot $loadaddr rootfs.cpio.uboot; protect off 0xe9300000 +$filesize; erase 0xe9300000 +$filesize; cp.b $loadaddr 0xe9300000 $filesize; protect on 0xe9300000 +$filesize; cmp.b $loadaddr 0xe9300000 $filesize
|
||||
|
||||
3. Booting your new system
|
||||
|
||||
=> boot
|
||||
|
||||
You can login with user "root".
|
||||
@@ -1,87 +0,0 @@
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_RD_GZIP is not set
|
||||
# CONFIG_RD_BZIP2 is not set
|
||||
# CONFIG_RD_LZMA is not set
|
||||
# CONFIG_RD_XZ is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
# CONFIG_RD_LZ4 is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
# CONFIG_UID16 is not set
|
||||
# CONFIG_SGETMASK_SYSCALL is not set
|
||||
# CONFIG_SYSFS_SYSCALL is not set
|
||||
# CONFIG_KALLSYMS is not set
|
||||
# CONFIG_BUG is not set
|
||||
# CONFIG_BASE_FULL is not set
|
||||
# CONFIG_ADVISE_SYSCALLS is not set
|
||||
# CONFIG_MEMBARRIER is not set
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
# CONFIG_SLUB_DEBUG is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_MODULES=y
|
||||
# CONFIG_BLOCK is not set
|
||||
CONFIG_BF512=y
|
||||
# CONFIG_SET_GENERIC_CLOCKEVENTS is not set
|
||||
# CONFIG_I_ENTRY_L1 is not set
|
||||
# CONFIG_EXCPT_IRQ_SYSC_L1 is not set
|
||||
# CONFIG_DO_IRQ_L1 is not set
|
||||
# CONFIG_CORE_TIMER_IRQ_L1 is not set
|
||||
# CONFIG_IDLE_L1 is not set
|
||||
# CONFIG_SCHEDULE_L1 is not set
|
||||
# CONFIG_ARITHMETIC_OPS_L1 is not set
|
||||
# CONFIG_ACCESS_OK_L1 is not set
|
||||
# CONFIG_MEMSET_L1 is not set
|
||||
# CONFIG_MEMCPY_L1 is not set
|
||||
# CONFIG_STRCMP_L1 is not set
|
||||
# CONFIG_STRNCMP_L1 is not set
|
||||
# CONFIG_STRCPY_L1 is not set
|
||||
# CONFIG_STRNCPY_L1 is not set
|
||||
# CONFIG_SYS_BFIN_SPINLOCK_L1 is not set
|
||||
# CONFIG_CACHELINE_ALIGNED_L1 is not set
|
||||
# CONFIG_DCACHE_FLUSH_L1 is not set
|
||||
# CONFIG_APP_STACK_L1 is not set
|
||||
# CONFIG_BFIN_INS_LOWOVERHEAD is not set
|
||||
# CONFIG_BFIN_ICACHE is not set
|
||||
# CONFIG_BFIN_DCACHE is not set
|
||||
# CONFIG_C_AMCKEN is not set
|
||||
CONFIG_BINFMT_ELF_FDPIC=y
|
||||
CONFIG_BINFMT_FLAT=y
|
||||
# CONFIG_COREDUMP is not set
|
||||
# CONFIG_SUSPEND is not set
|
||||
# CONFIG_UEVENT_HELPER is not set
|
||||
# CONFIG_STANDALONE is not set
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_ALLOW_DEV_COREDUMP is not set
|
||||
# CONFIG_INPUT is not set
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_VT is not set
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_SERIAL_BFIN=y
|
||||
CONFIG_SERIAL_BFIN_CONSOLE=y
|
||||
CONFIG_SERIAL_BFIN_UART0=y
|
||||
CONFIG_SERIAL_BFIN_UART1=y
|
||||
# CONFIG_BFIN_OTP is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
# CONFIG_MANDATORY_FILE_LOCKING is not set
|
||||
# CONFIG_DNOTIFY is not set
|
||||
# CONFIG_MISC_FILESYSTEMS is not set
|
||||
CONFIG_NLS=y
|
||||
CONFIG_NLS_DEFAULT="utf-8"
|
||||
CONFIG_PRINTK_TIME=y
|
||||
# CONFIG_ENABLE_WARN_DEPRECATED is not set
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
# CONFIG_FTRACE is not set
|
||||
# CONFIG_DEBUG_VERBOSE is not set
|
||||
# CONFIG_DEBUG_HUNT_FOR_ZERO is not set
|
||||
# CONFIG_DEBUG_BFIN_HWTRACE_ON is not set
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_ACCESS_CHECK is not set
|
||||
# CONFIG_CRC32 is not set
|
||||
@@ -1,11 +0,0 @@
|
||||
Run the simulation with GDB for FDPIC:
|
||||
|
||||
./output/host/bin/bfin-buildroot-linux-uclibc-run --env operating --model bf512 output/images/vmlinux
|
||||
|
||||
Run the simulation with GDB for FLAT:
|
||||
|
||||
./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.
|
||||
|
||||
Tested with GDB 7.9
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/sh
|
||||
# no simulated network devices at the moment
|
||||
rm -f ${TARGET_DIR}/etc/init.d/S40network
|
||||
rm -rf ${TARGET_DIR}/etc/network/
|
||||
38
bsp/buildroot/board/hardkernel/odroidxu4/boot.ini
Normal file
38
bsp/buildroot/board/hardkernel/odroidxu4/boot.ini
Normal file
@@ -0,0 +1,38 @@
|
||||
ODROIDXU-UBOOT-CONFIG
|
||||
|
||||
# U-Boot Parameters
|
||||
setenv initrd_high "0xffffffff"
|
||||
setenv fdt_high "0xffffffff"
|
||||
|
||||
setenv macaddr "00:1e:06:61:7a:39"
|
||||
setenv bootrootfs "console=tty1 root=/dev/mmcblk1p2 rootwait rw fsck.repair=yes net.ifnames=0"
|
||||
setenv bootcmd "load mmc 0:1 0x40008000 zImage; load mmc 0:1 0x44000000 exynos5422-odroidxu4.dtb; bootz 0x40008000 - 0x44000000"
|
||||
setenv vout "hdmi"
|
||||
setenv governor "performance"
|
||||
setenv HPD "true"
|
||||
|
||||
# TMDS data amplitude control.
|
||||
setenv hdmi_tx_amp_lvl "31"
|
||||
|
||||
# TMDS data amplitude fine control for each channel.
|
||||
setenv hdmi_tx_lvl_ch0 "3"
|
||||
setenv hdmi_tx_lvl_ch1 "3"
|
||||
setenv hdmi_tx_lvl_ch2 "3"
|
||||
|
||||
# TMDS data pre-emphasis level control.
|
||||
setenv hdmi_tx_emp_lvl "6"
|
||||
|
||||
# TMDS clock amplitude control.
|
||||
setenv hdmi_clk_amp_lvl "31"
|
||||
|
||||
# TMDS data source termination resistor control.
|
||||
setenv hdmi_tx_res "0"
|
||||
|
||||
setenv hdmi_phy_control "hdmi_tx_amp_lvl=${hdmi_tx_amp_lvl} hdmi_tx_lvl_ch0=${hdmi_tx_lvl_ch0} hdmi_tx_lvl_ch1=${hdmi_tx_lvl_ch1} hdmi_tx_lvl_ch2=${hdmi_tx_lvl_ch2} hdmi_tx_emp_lvl=${hdmi_tx_emp_lvl} hdmi_clk_amp_lvl=${hdmi_clk_amp_lvl} hdmi_tx_res=${hdmi_tx_res} HPD=${HPD} vout=${vout}"
|
||||
|
||||
# final boot args
|
||||
setenv bootargs "${bootrootfs} ${videoconfig} smsc95xx.macaddr=${macaddr} governor=${governor} ${hdmi_phy_control}"
|
||||
|
||||
# Boot the board
|
||||
boot
|
||||
|
||||
54
bsp/buildroot/board/hardkernel/odroidxu4/genimage.cfg
Normal file
54
bsp/buildroot/board/hardkernel/odroidxu4/genimage.cfg
Normal file
@@ -0,0 +1,54 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"boot.ini",
|
||||
"zImage",
|
||||
"exynos5422-odroidxu4.dtb"
|
||||
}
|
||||
}
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition bl1 {
|
||||
in-partition-table = "no"
|
||||
image = "bl1.bin.hardkernel"
|
||||
offset = 512
|
||||
size = 15360
|
||||
}
|
||||
|
||||
partition bl2 {
|
||||
in-partition-table = "no"
|
||||
image = "bl2.bin.hardkernel.720k_uboot"
|
||||
offset = 15872
|
||||
size = 16384
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-dtb.bin"
|
||||
offset = 32256
|
||||
size = 720k
|
||||
}
|
||||
|
||||
partition tzsw {
|
||||
in-partition-table = "no"
|
||||
image = "tzsw.bin.hardkernel"
|
||||
offset = 769536
|
||||
size = 256k
|
||||
}
|
||||
|
||||
partition vfat {
|
||||
partition-type = 0xC
|
||||
image = "boot.vfat"
|
||||
offset = 2097152
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
24
bsp/buildroot/board/hardkernel/odroidxu4/post-image.sh
Executable file
24
bsp/buildroot/board/hardkernel/odroidxu4/post-image.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
|
||||
cp ${BOARD_DIR}/boot.ini ${BINARIES_DIR}/
|
||||
|
||||
# The bl1.bin.hardkernel file provided by the uboot hardkernel repository is overwritten
|
||||
# by the bl2.bin.hardkernel in the sd_fusing.sh script because it is too big.
|
||||
# In order to implement this in genimage, we need to truncate the bl1.bin file
|
||||
# so that it does not exceed the available place.
|
||||
# An issue has been filled about this: https://github.com/hardkernel/u-boot/issues/45
|
||||
truncate -s 15360 ${BINARIES_DIR}/bl1.bin.hardkernel
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
|
||||
37
bsp/buildroot/board/hardkernel/odroidxu4/readme.txt
Normal file
37
bsp/buildroot/board/hardkernel/odroidxu4/readme.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
Odroid XU-4 board with Samsung Exynos 5422 SoC
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
$ make odroidxu4_defconfig
|
||||
|
||||
Then you can edit the build options using
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Compile all and build rootfs image:
|
||||
|
||||
$ make
|
||||
|
||||
Note: you will need to have access to the network, since Buildroot will
|
||||
download the packages' sources.
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should obtain all output files in output/images/
|
||||
|
||||
|
||||
How to write the SD card or eMMC
|
||||
================================
|
||||
|
||||
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 or eMMC with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Insert the SDcard into your ODROID-XU4, and power it up. Your new system
|
||||
should come up now.
|
||||
|
||||
@@ -16,10 +16,15 @@ image flash.bin {
|
||||
flashtype = "nor-16M-256"
|
||||
partition uboot {
|
||||
image = "u-boot.bin"
|
||||
size = 320K
|
||||
size = 256K
|
||||
}
|
||||
partition dtb {
|
||||
image = "da850-lego-ev3.dtb"
|
||||
size = 64K
|
||||
offset = 0x40000
|
||||
}
|
||||
partition uimage {
|
||||
image = "uImage.da850-lego-ev3"
|
||||
image = "uImage"
|
||||
size = 4M
|
||||
offset = 0x50000
|
||||
}
|
||||
@@ -35,7 +40,10 @@ image flash.bin {
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
file uImage {
|
||||
image = "uImage.da850-lego-ev3"
|
||||
image = "uImage"
|
||||
}
|
||||
file da850-lego-ev3.dtb {
|
||||
image = "da850-lego-ev3.dtb"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
CONFIG_ARM_APPENDED_DTB=n
|
||||
CONFIG_ARCH_DAVINCI_DM644x=n
|
||||
CONFIG_ARCH_DAVINCI_DM355=n
|
||||
CONFIG_ARCH_DAVINCI_DM646x=n
|
||||
@@ -60,3 +61,8 @@ CONFIG_DRM_DUMB_VGA_DAC=n
|
||||
CONFIG_DRM_TINYDRM=y
|
||||
CONFIG_TINYDRM_ST7586=y
|
||||
CONFIG_FB_DA8XX=n
|
||||
CONFIG_COMMON_CLK_PWM=y
|
||||
CONFIG_BT=y
|
||||
CONFIG_BT_HS=n
|
||||
CONFIG_BT_LE=n
|
||||
CONFIG_RFKILL=y
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
From cdd8d11858fa34f6e813fae46b5556e9fb3570dc Mon Sep 17 00:00:00 2001
|
||||
From: David Lechner <david@lechnology.com>
|
||||
Date: Sun, 19 Nov 2017 19:54:32 -0600
|
||||
Subject: [PATCH] configs: legoev3: increase flash image sizes
|
||||
|
||||
This increases the kernel image to 4M and the rootfs image to 10M.
|
||||
|
||||
It is getting hard to get a kernel image to fit in 3M and the rootfs image
|
||||
size now matches the filesyssize variable.
|
||||
|
||||
Signed-off-by: David Lechner <david@lechnology.com>
|
||||
---
|
||||
include/configs/legoev3.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/configs/legoev3.h b/include/configs/legoev3.h
|
||||
index 79fa3c4..2eeaf85 100644
|
||||
--- a/include/configs/legoev3.h
|
||||
+++ b/include/configs/legoev3.h
|
||||
@@ -204,7 +204,7 @@
|
||||
"mmcargs=setenv bootargs mem=${memsize} console=${console} root=/dev/mmcblk0p2 rw rootwait lpj=747520\0" \
|
||||
"mmcboot=bootm ${loadaddr}\0" \
|
||||
"flashargs=setenv bootargs mem=${memsize} initrd=${filesysaddr},${filesyssize} root=/dev/ram0 rw rootfstype=squashfs console=${console} lpj=747520\0" \
|
||||
- "flashboot=sf probe 0; sf read ${loadaddr} 0x50000 0x300000; sf read ${filesysaddr} 0x350000 0x960000; bootm ${loadaddr}\0" \
|
||||
+ "flashboot=sf probe 0; sf read ${loadaddr} 0x50000 0x400000; sf read ${filesysaddr} 0x450000 0xA00000; bootm ${loadaddr}\0" \
|
||||
"loadimage=fatload mmc 0 ${loadaddr} uImage\0" \
|
||||
"loadbootscr=fatload mmc 0 ${bootscraddr} boot.scr\0" \
|
||||
"bootscript=source ${bootscraddr}\0" \
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -70,6 +70,13 @@ official Lego Mindstorms EV3 programming software firmware update tool to load
|
||||
the image. To use sdcard.img, use a disk writing tool such as Etcher or dd to
|
||||
write the image to the µSD card.
|
||||
|
||||
NOTE: The sdcard.img created by lego_ev3_defconfig won't boot if the official
|
||||
LEGO firmware is installed on the EV3 (it has an old version of U-Boot that
|
||||
doesn't know about device tree). You must either set the kernel configuration
|
||||
option to append the device tree to the kernel or you can create a boot.scr
|
||||
that chainloads a newer U-Boot or you can install a newer U-Boot in the flash
|
||||
memory (just flashing u-boot.bin is enough).
|
||||
|
||||
Finish
|
||||
======
|
||||
|
||||
@@ -80,3 +87,13 @@ See:
|
||||
- http://botbench.com/blog/2013/08/05/mindsensors-ev3-usb-console-adapter/
|
||||
|
||||
The serial port config to use is 115200/8-N-1.
|
||||
|
||||
Bluetooth
|
||||
=========
|
||||
|
||||
To enable Bluetooth:
|
||||
|
||||
# modprobe hci_uart
|
||||
# /usr/libexec/bluetooth/bluetoothd &
|
||||
# bluetoothctl
|
||||
[bluetooth]# power on
|
||||
|
||||
1
bsp/buildroot/board/olimex/a10_olinuxino/boot.cmd
Symbolic link
1
bsp/buildroot/board/olimex/a10_olinuxino/boot.cmd
Symbolic link
@@ -0,0 +1 @@
|
||||
../a20_olinuxino/boot.cmd
|
||||
1
bsp/buildroot/board/olimex/a10_olinuxino/genimage.cfg
Symbolic link
1
bsp/buildroot/board/olimex/a10_olinuxino/genimage.cfg
Symbolic link
@@ -0,0 +1 @@
|
||||
../a20_olinuxino/genimage.cfg
|
||||
1
bsp/buildroot/board/olimex/a10_olinuxino/post-build.sh
Symbolic link
1
bsp/buildroot/board/olimex/a10_olinuxino/post-build.sh
Symbolic link
@@ -0,0 +1 @@
|
||||
../a20_olinuxino/post-build.sh
|
||||
57
bsp/buildroot/board/olimex/a10_olinuxino/readme.txt
Normal file
57
bsp/buildroot/board/olimex/a10_olinuxino/readme.txt
Normal file
@@ -0,0 +1,57 @@
|
||||
A10-OLinuXino-LIME
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
These are open hardware boards, all based on the Allwinner A10 SoC.
|
||||
|
||||
for more details about the boards see the following pages:
|
||||
- https://www.olimex.com/Products/OLinuXino/open-source-hardware
|
||||
- https://www.olimex.com/Products/OLinuXino/A10/A10-OLinuXino-LIME/
|
||||
|
||||
The following defconfigs are available:
|
||||
- olimex_a10_olinuxino_lime_defconfig
|
||||
for the A10-OLinuXino-LIME board using mainline kernel
|
||||
|
||||
(see http://linux-sunxi.org/Linux_Kernel for more details)
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Configure Buildroot:
|
||||
|
||||
$ make <board>_defconfig
|
||||
|
||||
Compile everything and build the rootfs image:
|
||||
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
-------------------
|
||||
|
||||
After building, you should get a tree like this:
|
||||
|
||||
output/images/
|
||||
+-- boot.scr
|
||||
+-- rootfs.ext2
|
||||
+-- rootfs.ext4 -> rootfs.ext2
|
||||
+-- sdcard.img
|
||||
+-- sun4i-a10-olinuxino-lime.dtb (lime, mainline)
|
||||
+-- u-boot.bin
|
||||
+-- u-boot-sunxi-with-spl.bin
|
||||
`-- zImage
|
||||
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
The sdcard.img file is a complete bootable image ready to be written
|
||||
on the boot medium. To install it, simply copy the image to a uSD
|
||||
card:
|
||||
|
||||
# dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Where 'sdX' is the device node of the uSD.
|
||||
|
||||
Eject the SD card, insert it in the A10-OLinuXino board, and power it up.
|
||||
|
||||
@@ -16,7 +16,7 @@ The following defconfigs are available:
|
||||
for the A20-OLinuXino-MICRO board using mainline kernel
|
||||
- olimex_a20_olinuxino_lime_defconfig
|
||||
for the A20-OLinuXino-LIME board using mainline kernel
|
||||
- olimex_a20_olinuxino_lime_mali_defconfig
|
||||
- olimex_a20_olinuxino_lime_legacy_defconfig
|
||||
for the A20-OLinuXino-LIME board using legacy linux-sunxi kernel
|
||||
- olimex_a20_olinuxino_lime2_defconfig
|
||||
for the A20-OLinuXino-LIME2 board using mainline kernel
|
||||
@@ -51,7 +51,7 @@ After building, you should get a tree like this:
|
||||
output/images/
|
||||
+-- rootfs.ext2
|
||||
+-- rootfs.ext4 -> rootfs.ext2
|
||||
+-- script.bin (lime_mali)
|
||||
+-- script.bin (lime_legacy)
|
||||
+-- sdcard.img
|
||||
+-- sun7i-a20-olinuxino-lime.dtb (lime, mainline)
|
||||
+-- sun7i-a20-olinuxino-lime2.dtb (lime2, mainline)
|
||||
|
||||
@@ -6,3 +6,10 @@ CONFIG_CFG80211_WEXT=y
|
||||
|
||||
# wireless drivers
|
||||
CONFIG_WLAN=y
|
||||
|
||||
# hdmi
|
||||
CONFIG_DRM_SUN8I_DW_HDMI=y
|
||||
CONFIG_SUN8I_DE2_CCU=y
|
||||
|
||||
# analog audio
|
||||
CONFIG_SND_SUN8I_CODEC_ANALOG=y
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
label linux
|
||||
kernel /Image
|
||||
devicetree /sun50i-h6-orangepi-lite2.dtb
|
||||
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
33
bsp/buildroot/board/orangepi/orangepi-lite2/genimage.cfg
Normal file
33
bsp/buildroot/board/orangepi/orangepi-lite2/genimage.cfg
Normal file
@@ -0,0 +1,33 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"sun50i-h6-orangepi-lite2.dtb",
|
||||
"extlinux"
|
||||
}
|
||||
}
|
||||
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"
|
||||
}
|
||||
}
|
||||
4
bsp/buildroot/board/orangepi/orangepi-lite2/post-build.sh
Executable file
4
bsp/buildroot/board/orangepi/orangepi-lite2/post-build.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
|
||||
44
bsp/buildroot/board/orangepi/orangepi-lite2/readme.txt
Normal file
44
bsp/buildroot/board/orangepi/orangepi-lite2/readme.txt
Normal file
@@ -0,0 +1,44 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Orangepi Lite2. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Orangepi Lite2 link:
|
||||
http://www.orangepi.org/Orange%20Pi%20Lite%202/
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+Lite2
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make orangepi_lite2_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 Orangepi Lite2 and power it up. The console
|
||||
is on the serial line, 115200 8N1.
|
||||
|
||||
WiFi
|
||||
====
|
||||
|
||||
# wpa_passphrase ACCESSPOINTNAME >> /etc/wpa_supplicant.conf
|
||||
(type password and enter)
|
||||
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
|
||||
# udhcpc -i wlan0
|
||||
# ping google.com
|
||||
@@ -0,0 +1,82 @@
|
||||
#AP6255_NVRAM_V1.0_29052015
|
||||
|
||||
NVRAMRev=$Rev: 498373 $
|
||||
sromrev=11
|
||||
vendid=0x14e4
|
||||
devid=0x43ab
|
||||
manfid=0x2d0
|
||||
prodid=0x06e4
|
||||
macaddr=00:90:4c:c5:12:38
|
||||
nocrc=1
|
||||
boardtype=0x6e4
|
||||
boardrev=0x1304
|
||||
xtalfreq=37400
|
||||
#boardflags: 5GHz eTR switch by default
|
||||
#2.4GHz eTR switch by default
|
||||
#bit1 for btcoex
|
||||
boardflags=0x00080201
|
||||
boardflags2=0x40000000
|
||||
boardflags3=0x48200100
|
||||
rxgains2gelnagaina0=0
|
||||
rxgains2gtrisoa0=0
|
||||
rxgains2gtrelnabypa0=0
|
||||
rxgains5gelnagaina0=0
|
||||
rxgains5gtrisoa0=0
|
||||
rxgains5gtrelnabypa0=0
|
||||
rxchain=1
|
||||
txchain=1
|
||||
aa2g=1
|
||||
aa5g=1
|
||||
tssipos5g=1
|
||||
tssipos2g=1
|
||||
femctrl=0
|
||||
AvVmid_c0=0,157,1,126,1,126,1,126,1,126
|
||||
pa2ga0=-112,6296,-662
|
||||
pa2ga1=-165,3699,-515
|
||||
pa5ga0=-143,6016,-683,-141,6013,-678,-137,5988,-670,-136,5982,-670
|
||||
pa5ga1=-161,3544,-499,-166,3543,-497,-169,3569,-497,-171,3598,-498
|
||||
itrsw=1
|
||||
pdoffset2g40ma0=10
|
||||
pdoffset40ma0=0xaaaa
|
||||
pdoffset80ma0=0xaaaa
|
||||
extpagain5g=2
|
||||
extpagain2g=2
|
||||
tworangetssi2g=1
|
||||
tworangetssi5g=1
|
||||
# LTECX flags
|
||||
# WCI2
|
||||
ltecxmux=0
|
||||
ltecxpadnum=0x0504
|
||||
ltecxfnsel=0x22
|
||||
ltecxgcigpio=0x32
|
||||
|
||||
maxp2ga0=64
|
||||
ofdmlrbw202gpo=0x0033
|
||||
dot11agofdmhrbw202gpo=0x1553
|
||||
mcsbw202gpo=0x99355533
|
||||
|
||||
maxp5ga0=80,82,76,77
|
||||
|
||||
mcsbw205glpo=0x99755000
|
||||
mcsbw205gmpo=0x9df55000
|
||||
mcsbw205ghpo=0x99855000
|
||||
|
||||
mcsbw405glpo=0xb8555000
|
||||
mcsbw405gmpo=0xed955000
|
||||
mcsbw405ghpo=0xd9755000
|
||||
|
||||
mcsbw805glpo=0xc8555000
|
||||
mcsbw805gmpo=0xe9555000
|
||||
mcsbw805ghpo=0xd9555000
|
||||
|
||||
swctrlmap_2g=0x00040004,0x00020002,0x00040004,0x010a02,0x1ff
|
||||
swctrlmap_5g=0x00100010,0x00200020,0x00100010,0x010a02,0x2f4
|
||||
swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000
|
||||
swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000
|
||||
|
||||
vcodivmode=1
|
||||
deadman_to=481500000
|
||||
ed_thresh2g=-54
|
||||
ed_thresh5g=-54
|
||||
|
||||
muxenab=0x10
|
||||
@@ -0,0 +1,4 @@
|
||||
label linux
|
||||
kernel /Image
|
||||
devicetree /sun50i-h6-orangepi-one-plus.dtb
|
||||
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
33
bsp/buildroot/board/orangepi/orangepi-one-plus/genimage.cfg
Normal file
33
bsp/buildroot/board/orangepi/orangepi-one-plus/genimage.cfg
Normal file
@@ -0,0 +1,33 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"sun50i-h6-orangepi-one-plus.dtb",
|
||||
"extlinux"
|
||||
}
|
||||
}
|
||||
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"
|
||||
}
|
||||
}
|
||||
4
bsp/buildroot/board/orangepi/orangepi-one-plus/post-build.sh
Executable file
4
bsp/buildroot/board/orangepi/orangepi-one-plus/post-build.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
|
||||
37
bsp/buildroot/board/orangepi/orangepi-one-plus/readme.txt
Normal file
37
bsp/buildroot/board/orangepi/orangepi-one-plus/readme.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Orangepi One Plus. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Orangepi One Plus link:
|
||||
http://www.orangepi.org/OrangePiOneplus/
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+One+Plus
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make orangepi_one_plus_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 Orangepi One Plus and power it up. The console
|
||||
is on the serial line, 115200 8N1.
|
||||
5
bsp/buildroot/board/orangepi/orangepi-pc/linux.fragment
Normal file
5
bsp/buildroot/board/orangepi/orangepi-pc/linux.fragment
Normal file
@@ -0,0 +1,5 @@
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
|
||||
CONFIG_REGULATOR_SY8106A=y
|
||||
CONFIG_DRM_SUN8I_DW_HDMI=y
|
||||
CONFIG_SUN8I_DE2_CCU=y
|
||||
CONFIG_SND_SUN8I_CODEC_ANALOG=y
|
||||
@@ -0,0 +1,10 @@
|
||||
# wireless core
|
||||
CONFIG_WIRELESS=y
|
||||
CONFIG_CFG80211=y
|
||||
CONFIG_MAC80211=y
|
||||
CONFIG_CFG80211_WEXT=y
|
||||
|
||||
# wireless drivers
|
||||
CONFIG_WLAN=y
|
||||
CONFIG_WLAN_VENDOR_BROADCOM=y
|
||||
CONFIG_BRCMFMAC=m
|
||||
@@ -1,30 +0,0 @@
|
||||
From f88e9301948173dd35afad4a6939092c7f269aed Mon Sep 17 00:00:00 2001
|
||||
From: Sergey Matyukevich <geomatsi@gmail.com>
|
||||
Date: Fri, 3 Nov 2017 22:58:54 +0300
|
||||
Subject: [PATCH] arm64: dts: orange-pi-zero-plus2: fix sdcard detect
|
||||
|
||||
The sdcard detect pin on orange-pi-zero-plus2 is pulled up.
|
||||
Fix cd-gpio description to enable sdcard detect.
|
||||
|
||||
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
|
||||
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
|
||||
index b6b7a56..a42fd79 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus2.dts
|
||||
@@ -71,7 +71,7 @@
|
||||
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
- cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
#AP6212_NVRAM_V1.0_20140603
|
||||
# 2.4 GHz, 20 MHz BW mode
|
||||
|
||||
# The following parameter values are just placeholders, need to be updated.
|
||||
manfid=0x2d0
|
||||
prodid=0x0726
|
||||
vendid=0x14e4
|
||||
devid=0x43e2
|
||||
boardtype=0x0726
|
||||
boardrev=0x1101
|
||||
boardnum=22
|
||||
macaddr=00:90:4c:c5:12:38
|
||||
sromrev=11
|
||||
boardflags=0x00404201
|
||||
xtalfreq=26000
|
||||
nocrc=1
|
||||
ag0=255
|
||||
aa2g=1
|
||||
ccode=ALL
|
||||
|
||||
pa0itssit=0x20
|
||||
extpagain2g=0
|
||||
|
||||
#PA parameters for 2.4GHz, measured at CHIP OUTPUT
|
||||
pa2ga0=-168,7161,-820
|
||||
AvVmid_c0=0x0,0xc8
|
||||
cckpwroffset0=5
|
||||
|
||||
# PPR params
|
||||
maxp2ga0=90
|
||||
txpwrbckof=6
|
||||
cckbw202gpo=0x5555
|
||||
legofdmbw202gpo=0x77777777
|
||||
mcsbw202gpo=0xaaaaaaaa
|
||||
|
||||
# OFDM IIR :
|
||||
ofdmdigfilttype=7
|
||||
# PAPD mode:
|
||||
papdmode=2
|
||||
|
||||
il0macaddr=00:90:4c:c5:12:38
|
||||
wl0id=0x431b
|
||||
|
||||
#OOB parameters
|
||||
hostwake=0x40
|
||||
hostrdy=0x41
|
||||
usbrdy=0x03
|
||||
usbrdydelay=100
|
||||
deadman_to=0xffffffff
|
||||
# muxenab: 0x1 for UART enable, 0x10 for Host awake
|
||||
muxenab=0x10
|
||||
# CLDO PWM voltage settings - 0x4 - 1.1 volt
|
||||
#cldo_pwm=0x4
|
||||
|
||||
@@ -15,3 +15,6 @@ CONFIG_CFG80211_WEXT=y
|
||||
|
||||
# wireless drivers
|
||||
CONFIG_WLAN=y
|
||||
|
||||
# ondemand cpufreq governor
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
|
||||
|
||||
0
bsp/buildroot/board/pc/grub-efi.cfg
Executable file → Normal file
0
bsp/buildroot/board/pc/grub-efi.cfg
Executable file → Normal file
@@ -82,3 +82,4 @@ CONFIG_EXT4_FS=y
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_SQUASHFS=y
|
||||
CONFIG_UNWINDER_FRAME_POINTER=y
|
||||
|
||||
10
bsp/buildroot/board/pc/post-build.sh
Executable file
10
bsp/buildroot/board/pc/post-build.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
BOARD_DIR=$(dirname "$0")
|
||||
|
||||
cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg"
|
||||
|
||||
# Copy grub 1st stage to binaries, required for genimage
|
||||
cp -f "$HOST_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR"
|
||||
62
bsp/buildroot/board/pc/post-image-efi-gpt.sh
Executable file
62
bsp/buildroot/board/pc/post-image-efi-gpt.sh
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cd ${BINARIES_DIR}
|
||||
|
||||
# GPT partition type UUIDs
|
||||
esp_type=c12a7328-f81f-11d2-ba4b-00a0c93ec93b
|
||||
linux_type=44479540-f297-41b2-9af7-d131d5f0458a
|
||||
|
||||
# Partition UUIDs
|
||||
efi_part_uuid=$(uuidgen)
|
||||
root_part_uuid=$(uuidgen)
|
||||
|
||||
# Boot partition offset and size, in 512-byte sectors
|
||||
efi_part_start=64
|
||||
efi_part_size=32768
|
||||
|
||||
# Rootfs partition offset and size, in 512-byte sectors
|
||||
root_part_start=$(( efi_part_start + efi_part_size ))
|
||||
root_part_size=$(( $(stat -c %s rootfs.ext2) / 512 ))
|
||||
|
||||
first_lba=34
|
||||
last_lba=$(( root_part_start + root_part_size ))
|
||||
|
||||
# Disk image size in 512-byte sectors
|
||||
image_size=$(( last_lba + first_lba ))
|
||||
|
||||
cat > efi-part/EFI/BOOT/grub.cfg <<EOF
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /bzImage root=PARTUUID=$root_part_uuid rootwait console=tty1
|
||||
}
|
||||
EOF
|
||||
|
||||
# Create EFI system partition
|
||||
rm -f efi-part.vfat
|
||||
dd if=/dev/zero of=efi-part.vfat bs=512 count=0 seek=$efi_part_size
|
||||
mkdosfs efi-part.vfat
|
||||
mcopy -bsp -i efi-part.vfat efi-part/startup.nsh ::startup.nsh
|
||||
mcopy -bsp -i efi-part.vfat efi-part/EFI ::EFI
|
||||
mcopy -bsp -i efi-part.vfat bzImage ::bzImage
|
||||
|
||||
rm -f disk.img
|
||||
dd if=/dev/zero of=disk.img bs=512 count=0 seek=$image_size
|
||||
|
||||
sfdisk disk.img <<EOF
|
||||
label: gpt
|
||||
label-id: $(uuidgen)
|
||||
device: /dev/foobar0
|
||||
unit: sectors
|
||||
first-lba: $first_lba
|
||||
last-lba: $last_lba
|
||||
|
||||
/dev/foobar0p1 : start=$efi_part_start, size=$efi_part_size, type=$esp_type, uuid=$efi_part_uuid, name="efi-part.vfat"
|
||||
/dev/foobar0p2 : start=$root_part_start, size=$root_part_size, type=$linux_type, uuid=$root_part_uuid, name="rootfs.ext2"
|
||||
EOF
|
||||
|
||||
dd if=efi-part.vfat of=disk.img bs=512 count=$efi_part_size seek=$efi_part_start conv=notrunc
|
||||
dd if=rootfs.ext2 of=disk.img bs=512 count=$root_part_size seek=$root_part_start conv=notrunc
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
# Detect boot strategy, EFI or BIOS
|
||||
if [ -f ${BINARIES_DIR}/efi-part/startup.nsh ]; then
|
||||
cp -f ${BOARD_DIR}/grub-efi.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
|
||||
else
|
||||
cp -f ${BOARD_DIR}/grub-bios.cfg ${TARGET_DIR}/boot/grub/grub.cfg
|
||||
# Copy grub 1st stage to binaries, required for genimage
|
||||
cp -f ${HOST_DIR}/lib/grub/i386-pc/boot.img ${BINARIES_DIR}
|
||||
fi
|
||||
|
||||
exit $?
|
||||
@@ -9,7 +9,7 @@ Bare PC sample config
|
||||
|
||||
$ make pc_x86_64_bios_defconfig
|
||||
|
||||
Or for EFI:
|
||||
For EFI-based boot strategy on a GPT-partitioned disk:
|
||||
|
||||
$ make pc_x86_64_efi_defconfig
|
||||
|
||||
|
||||
4
bsp/buildroot/board/pine64/rock64/extlinux.conf
Normal file
4
bsp/buildroot/board/pine64/rock64/extlinux.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
label rock64-buildroot
|
||||
kernel /boot/Image
|
||||
devicetree /boot/rk3328-rock64.dtb
|
||||
append console=ttyS2,1500000n8 root=/dev/mmcblk0p1 ro rootwait
|
||||
23
bsp/buildroot/board/pine64/rock64/genimage.cfg
Normal file
23
bsp/buildroot/board/pine64/rock64/genimage.cfg
Normal file
@@ -0,0 +1,23 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition uboot-spl {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-tpl-spl.img"
|
||||
offset = 32768 # 512 * 0x40 from start of sd card
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.itb"
|
||||
offset = 262144 # 512 * 0x200 from start of sd card
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
bootable = "yes"
|
||||
image = "rootfs.ext2"
|
||||
size = 500M
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
From 211bf049084e6e374dac253138fa813682910146 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20=C5=81yszczek?= <michal.lyszczek@bofc.pl>
|
||||
Date: Tue, 5 Feb 2019 22:08:54 +0100
|
||||
Subject: [PATCH] Makefile: rk3328 needs itb image to boot properly
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Michał Łyszczek <michal.lyszczek@bofc.pl>
|
||||
---
|
||||
Makefile | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 8086f3c93e..a6425b5b03 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -799,6 +799,11 @@ ifneq ($(BUILD_ROM),)
|
||||
ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
|
||||
endif
|
||||
|
||||
+# rk3328 needs itb image to boot properly
|
||||
+ifeq ($(CONFIG_ROCKCHIP_RK3328),y)
|
||||
+ALL-y += u-boot.itb
|
||||
+endif
|
||||
+
|
||||
# enable combined SPL/u-boot/dtb rules for tegra
|
||||
ifeq ($(CONFIG_TEGRA)$(CONFIG_SPL),yy)
|
||||
ALL-y += u-boot-tegra.bin u-boot-nodtb-tegra.bin
|
||||
--
|
||||
2.18.1
|
||||
|
||||
9
bsp/buildroot/board/pine64/rock64/post-build.sh
Executable file
9
bsp/buildroot/board/pine64/rock64/post-build.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
MKIMAGE=$HOST_DIR/bin/mkimage
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
$MKIMAGE -n rk3328 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img
|
||||
cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl.bin > $BINARIES_DIR/u-boot-tpl-spl.img
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
|
||||
95
bsp/buildroot/board/pine64/rock64/readme.txt
Normal file
95
bsp/buildroot/board/pine64/rock64/readme.txt
Normal file
@@ -0,0 +1,95 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Rock64. With this default configuration you
|
||||
can log in into board via uart and look around.
|
||||
|
||||
Board homepage: https://www.pine64.org/?page_id=7147
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, load rock64 config for buildroot
|
||||
|
||||
$ make rock64_defconfig
|
||||
|
||||
Optionally make changes to buildroot config (to install more programs)
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
And then build everything
|
||||
|
||||
$ make
|
||||
|
||||
When completed, following files will be generated in output/images directory:
|
||||
|
||||
.
|
||||
├── Image
|
||||
├── bl31.bin
|
||||
├── bl31.elf
|
||||
├── rk3328-rock64.dtb
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4 -> rootfs.ext2
|
||||
├── rootfs.tar
|
||||
├── sdcard.img
|
||||
├── u-boot-spl.bin
|
||||
├── u-boot-tpl-spl.img
|
||||
├── u-boot-tpl.bin
|
||||
├── u-boot-tpl.img
|
||||
├── u-boot.bin
|
||||
└── u-boot.itb
|
||||
|
||||
Creating bootable SD card
|
||||
=========================
|
||||
|
||||
!!! THIS COMMAND MAY WIPE YOUR DISK!
|
||||
!!! MAKE SURE YOU PASSED CORRECT DEVICE!
|
||||
!!! OR IT THIS WILL WIPE YOUR DISK!
|
||||
|
||||
Simply invoke (as root)
|
||||
|
||||
# dd if=output/images/sdcard.img of=/dev/sdX && sync
|
||||
|
||||
Where X is your SD card device (not partition), of= argument may also be
|
||||
/dev/mmcblk0 if you are using built-in sd card reader.
|
||||
|
||||
Runtime
|
||||
=======
|
||||
|
||||
Login
|
||||
-----
|
||||
|
||||
By default, buildroot has no password, just type 'root' as login user, and
|
||||
you will be logged in.
|
||||
|
||||
Serial console
|
||||
--------------
|
||||
|
||||
Serial console needs to be connected to pins (into 40pin rpi compatible part)
|
||||
|
||||
pin 6: gnd
|
||||
pin 8: tx
|
||||
pin 10: rx
|
||||
|
||||
Pin numbers are printed on board.
|
||||
|
||||
Uart configuration is not standard. Rock64 uses 1500000 (1,5M) baudrate
|
||||
with standard 8n1.
|
||||
|
||||
Ethernet
|
||||
--------
|
||||
|
||||
To enable ethernet you need to load modules for it:
|
||||
|
||||
# modprobe stmmac
|
||||
# modprobe dwmac-rk
|
||||
|
||||
and since by default there is no dhcp installed, you need to configure ip
|
||||
address, remember to change address to fit your network.
|
||||
|
||||
# ifconfig eth0 up
|
||||
# ip addr add 10.1.1.180/24 dev eth0
|
||||
# ping 10.1.1.1
|
||||
PING 10.1.1.1 (10.1.1.1): 56 data bytes
|
||||
64 bytes from 10.1.1.1: seq=0 ttl=64 time=0.695 ms
|
||||
@@ -1,6 +1,5 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_FHANDLE=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_TASKSTATS=y
|
||||
@@ -10,7 +9,6 @@ CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_BLK_DEV_BSGLIB=y
|
||||
CONFIG_ARCH_VEXPRESS=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_COMPAT=y
|
||||
@@ -1,7 +1,7 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-aarch64 -M virt -cpu cortex-a57 -nographic -smp 1 -kernel output/images/Image -append "root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0
|
||||
qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -smp 1 -kernel output/images/Image -append "root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
|
||||
Tested with QEMU 2.9.0
|
||||
Tested with QEMU 2.12.0
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
# CONFIG_MMU is not set
|
||||
CONFIG_ARCH_VERSATILE=y
|
||||
CONFIG_ARM_SINGLE_ARCH_VERSATILE=y
|
||||
CONFIG_SET_MEM_PARAM=y
|
||||
CONFIG_DRAM_BASE=0x00000000
|
||||
CONFIG_DRAM_SIZE=0x08000000
|
||||
CONFIG_ARCH_VERSATILE_PB=y
|
||||
CONFIG_MACH_VERSATILE_AB=y
|
||||
# CONFIG_MACH_VERSATILE_DT is not set
|
||||
CONFIG_MACH_VERSATILE_DT=y
|
||||
CONFIG_BINFMT_FLAT=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_MODULES=y
|
||||
@@ -1,30 +1,113 @@
|
||||
From b7c1666813424d329868335c8faf8886b0f85b6c Mon Sep 17 00:00:00 2001
|
||||
From: Greg Ungerer <gerg@linux-m68k.org>
|
||||
Date: Thu, 11 Aug 2016 21:33:11 +1000
|
||||
Subject: [PATCH] arm: fix versatile platform to work in no-MMU mode
|
||||
From 4ac4324dcdaf237aa34545b3795acb2e5c42d10e Mon Sep 17 00:00:00 2001
|
||||
From: Waldemar Brodkorb <wbx@openadk.org>
|
||||
Date: Fri, 1 Feb 2019 11:36:20 +0100
|
||||
Subject: [PATCH] arm-versatile-nommu: Linux patch
|
||||
|
||||
If CONFIG_MMU is disabled then do not carry out the virtual memory address
|
||||
translation for IO devices.
|
||||
Originally made by Waldemar Brodkorb <wbx@openadk.org> from LKML.
|
||||
|
||||
With this fix in place we can run the ARM Versatile board (including its
|
||||
qemu emulation) as a no-MMU Linux system.
|
||||
Signed-Off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
[Gerome: reformated as a Git patch]
|
||||
Signed-off-by: Gerome Burlats <gerome.burlats@smile.fr>
|
||||
[Romain: fix Waldemar's authorship in Git patch]
|
||||
Signed-off-by: Romain Naour <romain.naour@smile.fr>
|
||||
---
|
||||
arch/arm/Kconfig | 11 +++++++++++
|
||||
arch/arm/Kconfig.debug | 3 ++-
|
||||
arch/arm/include/asm/mach/map.h | 1 +
|
||||
arch/arm/mach-versatile/Kconfig | 5 +++--
|
||||
arch/arm/mach-versatile/Makefile.boot | 3 +++
|
||||
arch/arm/mach-versatile/versatile_dt.c | 4 ++++
|
||||
6 files changed, 24 insertions(+), 3 deletions(-)
|
||||
create mode 100644 arch/arm/mach-versatile/Makefile.boot
|
||||
|
||||
Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
|
||||
diff -Nur linux-4.4.17.orig/arch/arm/mach-versatile/include/mach/hardware.h linux-4.4.17/arch/arm/mach-versatile/include/mach/hardware.h
|
||||
--- linux-4.4.17.orig/arch/arm/mach-versatile/include/mach/hardware.h 2016-08-10 11:49:43.000000000 +0200
|
||||
+++ linux-4.4.17/arch/arm/mach-versatile/include/mach/hardware.h 2016-08-25 23:19:03.691716292 +0200
|
||||
@@ -30,8 +30,12 @@
|
||||
#define VERSATILE_PCI_VIRT_BASE (void __iomem *)0xe8000000ul
|
||||
#define VERSATILE_PCI_CFG_VIRT_BASE (void __iomem *)0xe9000000ul
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index e8cd55a5b04c..fc2dbff70394 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -353,6 +353,17 @@ config ARM_SINGLE_ARMV7M
|
||||
select SPARSE_IRQ
|
||||
select USE_OF
|
||||
|
||||
+config ARM_SINGLE_ARCH_VERSATILE
|
||||
+ bool "ARM Ltd. Versatile family"
|
||||
+ depends on !MMU
|
||||
+ select AUTO_ZRELADDR
|
||||
+ select CLKSRC_OF
|
||||
+ select COMMON_CLK
|
||||
+ select GENERIC_CLOCKEVENTS
|
||||
+ select GPIOLIB
|
||||
+ select SPARSE_IRQ
|
||||
+ select USE_OF
|
||||
+
|
||||
config ARCH_EBSA110
|
||||
bool "EBSA-110"
|
||||
select ARCH_USES_GETTIMEOFFSET
|
||||
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
|
||||
index f6fcb8a79889..92fc637d3db8 100644
|
||||
--- a/arch/arm/Kconfig.debug
|
||||
+++ b/arch/arm/Kconfig.debug
|
||||
@@ -1843,7 +1843,8 @@ config DEBUG_UNCOMPRESS
|
||||
config UNCOMPRESS_INCLUDE
|
||||
string
|
||||
default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
|
||||
- PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
|
||||
+ PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \
|
||||
+ ARM_SINGLE_ARCH_VERSATILE
|
||||
default "mach/uncompress.h"
|
||||
|
||||
config EARLY_PRINTK
|
||||
diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h
|
||||
index 9b7c328fb207..b1fe9c8b5c3e 100644
|
||||
--- a/arch/arm/include/asm/mach/map.h
|
||||
+++ b/arch/arm/include/asm/mach/map.h
|
||||
@@ -62,6 +62,7 @@ extern int ioremap_page(unsigned long virt, unsigned long phys,
|
||||
#else
|
||||
#define iotable_init(map,num) do { } while (0)
|
||||
#define vm_reserve_area_early(a,s,c) do { } while (0)
|
||||
+#define debug_ll_io_init() do { } while (0)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
|
||||
index f5c275434d6c..06ad999d5978 100644
|
||||
--- a/arch/arm/mach-versatile/Kconfig
|
||||
+++ b/arch/arm/mach-versatile/Kconfig
|
||||
@@ -1,7 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
config ARCH_VERSATILE
|
||||
- bool "ARM Ltd. Versatile family"
|
||||
- depends on ARCH_MULTI_V5
|
||||
+ bool "ARM Ltd. Versatile family" if ARCH_MULTI_V5
|
||||
+ depends on ARCH_MULTI_V5 || ARM_SINGLE_ARCH_VERSATILE
|
||||
+ default y if ARM_SINGLE_ARCH_VERSATILE
|
||||
select ARM_AMBA
|
||||
select ARM_TIMER_SP804
|
||||
select ARM_VIC
|
||||
diff --git a/arch/arm/mach-versatile/Makefile.boot b/arch/arm/mach-versatile/Makefile.boot
|
||||
new file mode 100644
|
||||
index 000000000000..eacfc3f5c33e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-versatile/Makefile.boot
|
||||
@@ -0,0 +1,3 @@
|
||||
+# Empty file waiting for deletion once Makefile.boot isn't needed any more.
|
||||
+# Patch waits for application at
|
||||
+# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 .
|
||||
diff --git a/arch/arm/mach-versatile/versatile_dt.c b/arch/arm/mach-versatile/versatile_dt.c
|
||||
index 3c8d39c12909..8cfa05a37295 100644
|
||||
--- a/arch/arm/mach-versatile/versatile_dt.c
|
||||
+++ b/arch/arm/mach-versatile/versatile_dt.c
|
||||
@@ -37,7 +37,11 @@
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
+#ifdef CONFIG_MMU
|
||||
/* macro to get at MMIO space when running virtually */
|
||||
+#ifdef CONFIG_MMU
|
||||
#define IO_ADDRESS(x) (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + 0xf0000000)
|
||||
+#else
|
||||
+#define IO_ADDRESS(x) (x)
|
||||
+#endif
|
||||
|
||||
#define __io_address(n) ((void __iomem __force *)IO_ADDRESS(n))
|
||||
|
||||
/*
|
||||
--
|
||||
2.14.5
|
||||
|
||||
|
||||
@@ -4,9 +4,9 @@ Run the emulation with:
|
||||
|
||||
Or for the noMMU emulation:
|
||||
|
||||
qemu-system-arm -M versatilepb -kernel output/images/zImage -append "console=ttyAMA0,115200" -serial stdio -net user -net nic,model=smc91c111
|
||||
qemu-system-arm -M versatilepb -kernel output/images/zImage -dtb output/images/versatile-pb.dtb -append "console=ttyAMA0,115200" -serial stdio -net user -net nic,model=smc91c111
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu. The
|
||||
graphical window is the framebuffer.
|
||||
|
||||
Tested with QEMU 2.9.0
|
||||
Tested with QEMU 2.12.0
|
||||
|
||||
@@ -8,4 +8,4 @@ graphical window is the framebuffer.
|
||||
If you want to emulate more cores change "-smp 1" to "-smp 2" for
|
||||
dual-core or even "smp -4" for a quad-core configuration.
|
||||
|
||||
Tested with QEMU 2.9.0
|
||||
Tested with QEMU 2.12.0
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user