Commit graph

49 commits

Author SHA1 Message Date
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>
2018-08-25 15:40:23 +02:00
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>
2018-02-10 21:02:53 +01:00
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>
2017-12-12 18:47:26 +01:00
Tim Harvey
5f458bf7f8 imx6: add support for GW5904
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2017-03-12 15:06:51 +01:00
Tim Harvey
028350907e imx6: add missing dtb for imx6dl-gw553x
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
2017-03-12 15:06:51 +01:00
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>
2017-01-10 12:10:20 +01:00
Felix Fietkau
7f0796d874 imx6: remove kmod-thermal-imx, it is already enabled in the kernel config
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-10 12:10:20 +01:00
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>
2017-01-10 12:10:20 +01:00
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>
2017-01-09 16:29:45 +01:00
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>
2016-09-12 18:21:52 +02:00
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>
2016-09-04 08:56:05 +02:00
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>
2016-09-08 15:28:39 +02:00
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>
2016-09-04 13:36:10 +02:00
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>
2016-08-31 13:57:05 +02:00
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>
2016-08-20 20:23:32 +02:00
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>
2016-07-31 19:35:05 +02:00
Felix Fietkau
468a9b7a77 imx6: use ubinize-image.sh to fix build with per-device rootfs
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-31 19:35:05 +02:00
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>
2016-07-15 14:14:11 +02:00
Felix Fietkau
de165b66be imx6: fix redundant PROFILES overrides in image makefile
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:19 +02:00
Felix Fietkau
7e7a31e682 imx6: fix build breakage introduced in 9e41c3f54e
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:19 +02:00
Felix Fietkau
61d82e7b02 imx6: fix image makefile indentation for Device/ sections
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:19 +02:00
John Crispin
9e41c3f54e imx6: move profile definitions to the image/Makefile
Signed-off-by: John Crispin <john@phrozen.org>
2016-05-23 11:03:23 +02:00
John Crispin
fa69553900 branding: add LEDE branding
Signed-off-by: John Crispin <blogic@openwrt.org>
2016-03-24 22:40:13 +01:00
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
2016-04-19 13:46:33 +00:00
John Crispin
f07a57c0e8 imx6: image: Add missing kernel prefix
Signed-off-by: Petr Štetiar <ynezz@true.cz>

SVN-Revision: 48909
2016-03-04 08:33:20 +00:00
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
2015-12-29 23:40:41 +00:00
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
2015-11-18 21:35:24 +00:00
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
2015-10-31 09:28:25 +00:00
Felix Fietkau
e09d32dd96 imx6: image: Refactor sanitize_profile_name using PROFILE_SANITIZED variable
Signed-off-by: Petr Štetiar <ynezz@true.cz>

SVN-Revision: 47308
2015-10-31 09:27:49 +00:00
John Crispin
5f51cfcf55 imx6: make the default config bootable on ventana
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 43369
2014-11-24 19:12:19 +00:00
Luka Perkov
9ccacbaa40 imx6: fix image build for Generic profile.
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>

SVN-Revision: 42455
2014-09-09 21:15:49 +00:00
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
2014-08-08 13:38:25 +00:00
John Crispin
7d8f187201 target/linux/*/image/Makefile: use new dts path variable
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41791
2014-07-21 18:42:06 +00:00
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
2014-07-10 22:02:24 +00:00
Luka Perkov
c108ddb209 imx6: merge all gateworks boards into one profile
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38858
2013-11-18 22:23:42 +00:00
Luka Perkov
f552d290c6 imx6: add support for more then one nand type per profile
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38857
2013-11-18 22:23:40 +00:00
Luka Perkov
59d58990fb imx6: minor image cleanup
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38628
2013-10-31 11:44:27 +00:00
Luka Perkov
37c040f41a imx6: use more descriptive function name
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38521
2013-10-23 22:55:00 +00:00
Luka Perkov
de7c615cfe imx6: use more common name for ubi(fs) images
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38520
2013-10-23 22:54:59 +00:00
Luka Perkov
2f4ae98018 imx6: add support for building uImage
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38518
2013-10-23 22:16:12 +00:00
Luka Perkov
a0c9c711cd imx6: fix symlink of dtb files
Signed-off-by: Tim Harvey <tharvey@gateworks.com>

SVN-Revision: 38510
2013-10-23 20:21:27 +00:00
Luka Perkov
38aefbfa8d imx6: make symlinks for dtb's
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38496
2013-10-22 17:13:18 +00:00
Luka Perkov
ee5b7c2859 imx6: reorganize build system
Changes include:

 * switching to profiles
 * adding ubifs support
 * building image for GW54XX board

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

SVN-Revision: 38441
2013-10-18 00:02:45 +00:00
Luka Perkov
416d58a3d6 imx6: fix file names when building images
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38434
2013-10-17 11:54:52 +00:00
Luka Perkov
acdb0ac35c build: move mkits.sh script to more common place
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38430
2013-10-16 10:29:50 +00:00
Luka Perkov
af6eb6cc8c imx6: add support for gw5400-a
Signed-off-by: Tim Harvey <tharvey@gateworks.com>

SVN-Revision: 37363
2013-07-15 23:18:39 +00:00
Luka Perkov
6ef9d30da7 imx6: use $PATH to locate dtc binary
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 37362
2013-07-15 23:18:37 +00:00
Florian Fainelli
6a4f2922f6 targets: prepare for supporting normal and initramfs images
In order to support both normal images and initramfs, ensure that each
target sets KERNELNAME properly so that the generic kernel building code
can copy the corresponding files over $(KDIR) with the appropriate
extension. Update the various paths to the kernel and wrapper images
from $(LINUX_DIR)/arch/$(ARCH)/boot/$(foo) to $(KDIR)/$(foo).

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 37049
2013-06-27 19:58:31 +00:00
Luka Perkov
4b21af4268 imx6: add new target
SVN-Revision: 36753
2013-05-29 01:27:29 +00:00