Commit Graph

64 Commits (440d5996efa8baa84b3d276f058a28f1e840e538)

Author SHA1 Message Date
Tim Harvey 0562037c3b imx6: image: increase max ubifs file-system size
The latest 2GiB NAND flash parts used by Gateworks ventana are 2K page-size.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
4 years ago
Tim Harvey ff6b092121 imx6: bootscript: use partition UUID for rootfs if possible
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>
4 years ago
Tim Harvey 3666c67a54 imx6: add support for GW5907/GW5910/GW5912/GW5913
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>
4 years ago
Petr Štetiar 156bf9980e imx6: apalis: move set_blkcnt variable into recovery script
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>
4 years ago
Petr Štetiar 26760c5e0d imx6: apalis: fix variables in bootscript
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>
4 years ago
Yousong Zhou c163604b7f imx6: install-dtb as separate IMAGE
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
5 years ago
Moritz Warning c546855188
imx6: split up DEVICE_TITLE
DEVICE_TITLE is split up into DEVICE_VENDOR, DEVICE_MODEL and DEVICE_VARIANT

Signed-off-by: Moritz Warning <moritzwarning@web.de>
5 years ago
Petr Štetiar d23222a96c imx6: Add support for Toradex Apalis family of CoMs
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>
5 years ago
Petr Štetiar dc1a73984e imx6: image: Split imx6-sdcard image for reusability
I'm going to reuse the imx6-sdcard image commands for building of Apalis
eMMC images.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years ago
Petr Štetiar 82b34c1f60 imx6: image: ventana: Add missing BOOT_SCRIPT variable
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>
6 years ago
Felix Fietkau 36c6ba3735 imx6: use BUILD_DEVICES in uboot-imx6 for mx6cuboxi
Fixes build with the default profile

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years ago
Felix Fietkau ded905ce43 imx6: extend cubox support to hummingboard, add support for building full images
Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years ago
Vladimir Vid 6cda4f6861 imx6: Initial support for SolidRun CuBox-i devices based on i.MX6 processors (i1, i2, i2eX, and i4Pro).
- 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>
6 years ago
Adrià Llaudet 90ceb0aeb1 imx6: use DTS_DIR at image build code
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>
6 years ago
Luis Araneda 575178e462 treewide: add only one device when appending to TARGET_DEVICES
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>
7 years ago
Tim Harvey 5f458bf7f8 imx6: add support for GW5904
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
7 years ago
Tim Harvey 35d761c0c5 imx6: added fixfdt to bootscript
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>
7 years ago
Tim Harvey 028350907e imx6: add missing dtb for imx6dl-gw553x
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
7 years ago
Felix Fietkau 7450698957 imx6: enable the chipidea usb driver in the kernel config instead of packaging it
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 7f0796d874 imx6: remove kmod-thermal-imx, it is already enabled in the kernel config
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 348fedc1a6 imx6: build support for the ventana ethernet expansion board into the kernel instead of packaging it
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 1c6b1ab01d imx6: fix image boot ubifs compression option
--force-compr was added by the xz compression patch, which is gone now.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau d27bce8d28 build: drop UBI EOF marker from images by default
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>
8 years ago
Mathias Kresin e7ec7a08aa image: use k as unit suffix for blocksize
Use k as unit suffix for kilobyte to have a the same unit regardless of
the used filesystem.

Signed-off-by: Mathias Kresin <dev@kresin.me>
8 years ago
Tim Harvey a2386c384d imx6: image: remove pca955x/ds1672/at24 from Ventana kernel modules
These need to be static in the kernel for Ventana

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years ago
Tim Harvey 3314bcf715 imx6: add GW553x support
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>
8 years ago
Felix Fietkau d3730c9aca imx6: disable EOF markers on UBI
The boot loader does not recognize them and might mess up the volume

Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Koen Vandeputte dc765f64c5 imx6: Fix pointing to msata/mmc bootdevs
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>
8 years ago
Jo-Philipp Wich 35be928466 imx6: fix generating bootfs in imagebuilder (FS#102)
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>
8 years ago
Felix Fietkau 5d9a4c210d imx6: clean up / fix ventana image build code
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>
8 years ago
Felix Fietkau 468a9b7a77 imx6: use ubinize-image.sh to fix build with per-device rootfs
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 8e2764ce9b image.mk: clean up redundant code related to DEVICE_DTS
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>
8 years ago
Felix Fietkau de165b66be imx6: fix redundant PROFILES overrides in image makefile
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 7e7a31e682 imx6: fix build breakage introduced in 9e41c3f54e
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
Felix Fietkau 61d82e7b02 imx6: fix image makefile indentation for Device/ sections
Signed-off-by: Felix Fietkau <nbd@nbd.name>
8 years ago
John Crispin 9e41c3f54e imx6: move profile definitions to the image/Makefile
Signed-off-by: John Crispin <john@phrozen.org>
8 years ago
John Crispin fa69553900 branding: add LEDE branding
Signed-off-by: John Crispin <blogic@openwrt.org>
8 years ago
Luka Perkov d1005862c2 imx6: images: add bootfs.tar.gz build artifact
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
8 years ago
John Crispin f07a57c0e8 imx6: image: Add missing kernel prefix
Signed-off-by: Petr Štetiar <ynezz@true.cz>

SVN-Revision: 48909
8 years ago
Luka Perkov 903e09e233 imx6: images: ventana: change name of ubi output
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
9 years ago
Luka Perkov 8d8ef5288c imx6: ventana: remove invalid video options from bootscript
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
9 years ago
Luka Perkov 03401fed5e imx6: convert ventana images to squashfs+ubifs overlay
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
9 years ago
Felix Fietkau f5683a0a86 imx6: image: Remove custom mkfs targz override as base should be fine now
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
9 years ago
Felix Fietkau e09d32dd96 imx6: image: Refactor sanitize_profile_name using PROFILE_SANITIZED variable
Signed-off-by: Petr Štetiar <ynezz@true.cz>

SVN-Revision: 47308
9 years ago
John Crispin 5f51cfcf55 imx6: make the default config bootable on ventana
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43369
10 years ago
Luka Perkov 9ccacbaa40 imx6: fix image build for Generic profile.
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>

SVN-Revision: 42455
10 years ago
Luka Perkov 2b6d364a2d imx6: drop ventana kernel/rootfs hack
In r41578 this was added in order to make default images bootable for the BB
release. We need more generic approach for this.

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 42071
10 years ago
John Crispin 7d8f187201 target/linux/*/image/Makefile: use new dts path variable
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41791
10 years ago
John Crispin f88fde9689 imx6: put kernel and dtb into rootfs by default
this will make the rc1 images boot with the default config.

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41578
10 years ago
Luka Perkov c108ddb209 imx6: merge all gateworks boards into one profile
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38858
11 years ago