We so far had two variables IMG_PREFIX and IMAGE_PREFIX with
different content. Since these names are obviously quite
confusing, this patch renames the latter to DEVICE_IMG_PREFIX,
as it's a device-dependent variable, while IMG_PREFIX is only
(sub)target-dependent.
For consistency, also rename IMAGE_NAME to DEVICE_IMG_NAME, as
that's a device-dependent variable as well.
Cc: Paul Spooren <mail@aparcar.org>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
IMAGE_NAME is set twice for ventana, and the second value
actually matches the default in image.mk. Remove both.
Fixes: ded905ce43 ("imx6: extend cubox support to hummingboard,
add support for building full images")
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The variables KERNEL_INITRAMFS_PREFIX and KERNEL_PREFIX are already
defined in include/image.mk and don't have to be redefined in the
target Makefiles.
Signed-off-by: Paul Spooren <mail@aparcar.org>
[also cover imx6]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This reverts commit 4968fc8fb1 as the bump
to v2021.01 needs swig on the host for pylibfdt which is needed by dtoc
tool to generate .h/.c files from DTBs in SPL for mx6cuboxi_config.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Upstream in commit 8b9c0cb46471 ("apalis_imx6: boot env configuration
updates") removed emmc legacy wrappers, but so far didn't included any
replacements. Fix it by simply defining the missing variables and UUID
gathering directly into the boot script.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Specifying root filesystem by device is non-deterministic for several
reasons:
- USB device unmeration order is not garunteeed for USB storage devs
- MMC devs ordering is determined by the instance of the MMC host
controller including non-storage SDIO devices which can throw off
numbering depending on kernel versions.
It is recommended to use partition UUID
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
This patch adds support for GW5907/GW5910/GW5912/GW5913 IMX6 based boards
from the Gateworks Ventana Family[A]:
- backport upstream dt patches from 5.6 to 4.19 and 5.4
- add dtb's to ventana images
- add board-name and network config
A. https://www.gateworks.com/products/imx6-single-board-computer-gateworks-ventana-family
Flashing instructions for Ventana boards:
Using pre-flashed bootloader:
- Use appropriate ubi image depending on board NAND to flash via bootloader:
openwrt-imx6-ventana-squashfs-nand.ubi - 2KiB page size
openwrt-imx6-ventana-large-squashfs-nand.ubi - 4KiB page size
http://trac.gateworks.com/wiki/linux/ubi
Using Gateworks JTAG dongle:
- Use Gateworks mkimage_jtag script to create a JTAG image comprised of
pre-built bootloader and ubi image:
http://trac.gateworks.com/wiki/jtag_instructions
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
I've added `set_blkcnt` environment variable which is needed for every
`mmc write` command as we need to always specify size in block count.
That `set_blkcnt` variable was previously present in the U-Boot's
default environment, but that needed patching U-Boot every time, so that
patch was dropped with 2020.01 version bump.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
U-Boot 2020.01 has changed names for same variables, adjust the
bootscript accordingly. Added boot_file variable as the default value is
zImage.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This patch adds support for the following computer on modules (CoM) from
Toradex[A]:
Apalis iMX6 Quad 2GB IT - i.MX 6Quad 800MHz, 2GB DDR3, 4GB eMMC
-40° to +85° C Temp
Apalis iMX6 Quad 1GB - i.MX 6Quad 1GHz, 1GB DDR3, 4GB eMMC
0° to +70° C Temp
Apalis iMX6 Dual 1GB IT - i.MX 6Dual 800MHz, 1GB DDR3, 4GB eMMC
-40° to +85° C Temp
Apalis iMX6 Dual 512MB - i.MX 6Dual 1GHz, 512MB DDR3, 4GB eMMC
0° to +70° C Temp
I've developed and tested it on Quad 2GB IT v1.1A and Dual 512MB v1.1A
CoMs, using Ixora[B] carrier board v1.0A, but it should hopefuly work on
Eval[C] board as well.
A. https://www.toradex.com/computer-on-modules/apalis-arm-family/nxp-freescale-imx-6
B. https://www.toradex.com/products/carrier-board/ixora-carrier-board
C. https://www.toradex.com/products/carrier-board/apalis-evaluation-board
Flashing/recovery instructions:
1. Download and compile imx_loader for OpenWrt from
https://github.com/ynezz/imx_loader
2. Enter recovery mode as desribed in
https://developer.toradex.com/knowledge-base/imx-recovery-mode
3. Connect board via USB to the host computer, check that it's connected
by lsusb:
15a2:0054 Freescale Semiconductor, Inc. i.MX 6Dual/6Quad SystemOnChip
in RecoveryMode
4. Copy following OpenWrt images to imx_loader directory:
SPL
u-boot.img
u-boot-with-spl.imx
openwrt-imx6-apalis-recovery.scr
openwrt-imx6-apalis-squashfs.combined.bin
5. Run imx_usb in imx_loader directory
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This is probably theoretical problem as the Ventana is defined first in
the image Makefile, but once the position of the definition would change
in the future (alphabetical sorting?) it would get bootscript from the
previous board which would have BOOT_SCRIPT set.
Cc: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
- Specifications -
CuBox i1:
- SoC: i.MX6 Solo
- Cores: 1
- Memory Size: 512MB
- GPU: GC880
- Wifi/Bluetooth: Optional
- USB 2.0 ports: 2
- Ethernet: 10/100/1000 Mbps
CuBox i2 | i2eX:
- SoC: i.MX6 Dual Lite
- Cores: 2
- Memory Size: 1GB
- GPU: GC2000
- Wifi/Bluetooth: Optional
- USB 2.0 ports: 2
- Ethernet: 10/100/1000 Mbps
CuBox i4Pro | i4x4:
- SoC: i.MX6 Quad
- Cores: 4
- Memory Size: 2/4 GB
- GPU: GC2000
- Wifi/Bluetooth: Build In
- USB 2.0 ports: 2
- Ethernet: 10/100/1000 Mbps
Built-in u-boot requires SPL (secondary program loader) to be present on the SD-card regardless of the image type which will be loaded.
SPL is generated by the u-boot-mx6cuboxi package which is preselected by the target device and can be found in bin/u-boot-mx6cuboxi directory.
Flashing the SPL:
dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=4
dd if=bin/targets/imx6/generic/u-boot-mx6cuboxi/SPL of=/dev/mmcblk0 bs=1K seek=1
Preparing the firmware on the SD-card:
(echo o; echo n; echo p; echo 1; echo ''; echo ''; echo w) | fdisk /dev/mmcblk0
mkfs.ext4 /dev/mmcblk0p1
mount /dev/mmcblk0p1 /mnt
tar -xzf bin/targets/imx6/generic/openwrt-imx6-device-cubox-i-rootfs.tar.gz -C /mnt/
mkdir -p /mnt/boot
cp bin/targets/imx6/generic/{*-uImage,*.dtb,*.scr} /mnt/boot/
Generated u-boot.img needs to be placed on the first partition:
cp bin/targets/imx6/generic/u-boot-mx6cuboxi/u-boot.img /mnt/
To boot from the SD card:
Boot script which sets mmc/dtb parameters and boots the board is automatically sourced.
If this does not work for any reason:
mmc dev 0; load mmc 0:1 $scriptaddr boot/boot.scr; source $scriptaddr
Currently imx6dl-cubox-i.dtb (Dual Lite) and imx6q-cubox-i.dtb (Quad) device trees are available.
Tested on i4Pro, MMC, USB (+ HiD), HDMI and ethernet ports are working.
Wireless and bluetooth are broken ATM. According to SolidRun forums, BCM4329/BCM4330 firmware is used which works fine on older kernels.
Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr>
Use "$(DTS_DIR)", defined at include/image.mk, instead of
"$(LINUX_DIR)/arch/$(LINUX_KARCH)/boot/dts" in order to generalize and
allow a better Device/* device-tree parameterization (i.e. DEVICE_DTS_DIR
and DTS_DIR).
Signed-off-by: Adrià Llaudet <adria.llaudet@gmail.com>
This will avoid some conflicts when doing a git rebase or merge,
specially when adding support to a new device.
Signed-off-by: Luis Araneda <luaraneda@gmail.com>
[drop brcm47xx changes which rename the images]
Signed-off-by: Mathias Kresin <dev@kresin.me>
If a 'fixfdt' uboot script exists, execute it prior to bootm to allow
easy bootloader env based fdt fixups and tweaks
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Only add them where they are actually required.
Should help with compatibility issues with stock U-Boot images that
access UBI
Signed-off-by: Felix Fietkau <nbd@nbd.name>
The Gateworks Ventana GW553x is a single-board computer based on the NXP
IMX6 SoC with the following features:
* IMX6 DualLite Soc (supports IMX6S,IMX6DL,IMX6Q)
* small form factor (35x70mm)
* 512MB DDR3 DRAM (2x32bit) (options up to 2GB)
* 256MB NAND flash (4GB option)
* Gateworks System Controller:
- hardware watchdog
- hardware monitor
- pushbutton controller
- EEPROM storage
- power control
* JTAG programmable
* 1x miniPCI socket (with PCIe, USB, SIM)
* 1x microSD socket
* 1x SIM socket
* Inertial Module (LSM9DS1 9DOF: 3x acc, 3x rate, 3x mag)
* analog CVBS video in
* GPS (optional uBlox EVA-M8M)
* Application headers:
- 2x TTL UART (TX/RX)
- 4x TTL GPIO (3x configurable as PWM)
- 3x CVBS Analog video input (1x decoder with 3x selectable inputs)
* Front panel connectors:
* micro-HDMI audio/video out
- 1x user programmable LED
- 1x configurable user pushbutton
- 1x USB OTG
See http://www.gateworks.com for more info
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Point to correct devices when booting from msata or MMC
Changes fetched from Gateworks git
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
[Jo-Philipp Wich: rebased to apply against current LEDE version]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The image builder does not bundle sub-directories within $(KERNEL_BUILD_DIR),
therfore the intermediate "ventana-uImage.boot" directory is not shipped,
leading to failures with "make image" later on.
To circumvent the issue, store the intermediate boot files as tar archive
instead of putting them into a directory to ensure that they end up in the
final image builder tarball. Fixes FS#102
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Fix ubifs mkfs options
Use standard Build/* commands instead of doing everything in the hackish
ubi-boot-overlay template
Fix bootfs.tar.gz build error
Signed-off-by: Felix Fietkau <nbd@nbd.name>
It is used by a core build template, so the variable should be
initialized and added to DEVICE_VARS in the core.
Same for DEVICE_DTS_DIR
Signed-off-by: Felix Fietkau <nbd@nbd.name>
In order to create a bootable block storage device, both bootfs and rootfs
tarballs are required. However, our current scheme does not export a bootfs
tarball so add the packaging of it here.
Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com>
SVN-Revision: 49196
Change the name of the .ubi produced to strip out the word 'factory'. This is
mainly due to the fact that there is no difference between the Ventana 'factory'
image vs the standard image.
Name changes from:
openwrt-imx6-ventana-squashfs.nand-factory_<size>.ubi to
openwrt-imx6-ventana-squashfs-nand_<size>.ubi
Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com>
SVN-Revision: 48016
Removed video related kernel params that are only appropriate for the
Freescale downstream vendor kernel and not appriate for mainline linux.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 47532
Replace the ventana ubi images from a single rootfs volume containing the
rootfs as well as kernel+dtbs in the boot/ subdir to a multi-volume ubi
containing kernel+dtbs+bootscript in 'root' ubifs volume, rootfs in 'rootfs'
squasfs volume, and rootfs_data an empty ubifs volume.
At the same time move ventana image creation over to using the new
TARGET_DEVICE syntax as a cleanup.
Additionally removed FIT image creation as it is recommended that this be
done manually to produce signed FIT images if needed.
Note that a bootscript is needed for Ventana to change its default mtdparts
to rename the 2nd partition from 'rootfs' to 'ubi'. This is because there
are patches in OpenWrt kernels that try to auto-attach and auto-mount and these
get in the way if the mtd partition is named 'rootfs'.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 47508
It was wrong anyway, missing file sort order parameter which was fixed
in base month ago.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
SVN-Revision: 47312