Commit Graph

44 Commits (master)

Author SHA1 Message Date
Adrian Schmutzler 8126e572dd imx6: use device-tree compatible for board name
In imx6, we currently use the model from DTS to derive a board name
manually in /lib/imx6.sh.

However, if we have individual DTS files anyway, we can exploit
generic 02_sysinfo and use the compatible as board name directly.

While at it, remove the wildcards from /lib/upgrade/platform.sh as
these might make code shorter, but are quite unpleasant when grepping
for a specific device.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
4 years ago
Adrian Schmutzler 48c1fdd046 treewide: drop shebang from non-executable target files
This drops the shebang from all target files for /lib and
/etc/uci-defaults folders, as these are sourced and the shebang
is useless.

While at it, fix the executable flag on a few of these files.

This does not touch ar71xx, as this target is just used for
backporting now and applying cosmetic changes would just complicate
things.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
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
Tim Harvey 86b59d0709 imx6: remove unnecessary wildcard from board name matching
The wildcard used in the network config matching is not necessary
given the board names returned by imx6_board_detect() in lib/imx6.sh.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
4 years ago
Rafał Miłecki a858db3136 treewide: sysupgrade: use $UPGRADE_BACKUP to check for backup
Now that $UPGRADE_BACKUP is set conditionally there is no need to check
the $UPGRADE_OPT_SAVE_CONFIG anymore. All conditions can be simplified.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years ago
Rafał Miłecki 641f6b6c26 treewide: use new procd sysupgrade $UPGRADE_BACKUP variable
It's a variable set by procd that should replace hardcoded
/tmp/sysupgrade.tgz.

This change requires the most recent procd with the commit 0f3c136
("sysupgrade: set UPGRADE_BACKUP env variable").

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years ago
Rafał Miłecki 62dbe361a1 treewide: when copying a backup file always specify dest name
$CONF_TAR shouldn't be assumed to always point to the sysupgrade.tgz.
This change makes code more generic and allows refactoring $CONF_TAR.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years ago
Rafał Miłecki bf39047872 treewide: don't hardcode "sysupgrade.tgz" file name
1) Add BACKUP_FILE and use it when copying an archive to be restored
   after sysupgrade (on the next preinit).
2) Use CONF_TAR for copying backup prepared by the /sbin/sysupgrade

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years ago
Rafał Miłecki 5797fe84a3 treewide: replace remaining (not working now) $SAVE_CONFIG uses
This var has been replaced by the $UPGRADE_OPT_UPGRADE_OPT_SAVE_CONFIG

Fixes: b534ba9611 ("base-files: pass "save_config" option to the "sysupgrade" method")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
5 years ago
Petr Štetiar 0711b515f6 imx6: apalis: add missing jffs2reset to ramfs during sysupgrade
jffs2reset is used to cleanup the rootfs_data overlay, but it's
currently missing in the ramfs during sysupgrade leading to the
following error:

 Switching to ramdisk...
 Performing system upgrade...
 /lib/upgrade/do_stage2: line 27: jffs2reset: not found

Fixes: 2f1a11d008 ("imx6: apalis: fix config survival after sysupgrade -n")
Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years ago
Petr Štetiar 5e9a6d08d2 imx6: apalis: fix sysupgrade paths
We can't use $board_name in sysupgrade paths for kernel and rootfs as we
currently generate one image which could be used on two different base
boards.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
5 years ago
Petr Štetiar 2f1a11d008 imx6: apalis: fix config survival after sysupgrade -n
This patch fixes `sysupgrade -n` when flashed with rootfs of the same
size as currently running, so the rootfs_data wouldn't get destroyed and
thus survive reboot. So let's fix it by always cleaning up the content
of the rootfs_data during sysupgrade.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
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
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
Mathias Kresin 188328111b treewide: move nand_do_upgrade call to platform_do_upgrade
Calling nand_do_upgrade() from platform_pre_upgrade() was deprecated
with 30f61a34b4 ("base-files: always use staged sysupgrade").

Update the platform upgrade code to use platform_do_upgrade() for NAND
images as well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
6 years ago
Mathias Kresin e0b9ec8e96 treewide: drop target board_name functions
They are not used any longer.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years ago
Mathias Kresin f12a32630f treewide: use the generic board_name function
Use the generic function instead ot the target specific ones.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years ago
Mathias Kresin 78cf5eed6e treewide: do board detection during preinit
Do the board detection during preinit to unify it across all targets.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years ago
Mathias Kresin f7eb7f577f imx6: fix DualLite/Solo GW551X board detection
The model name is a different one in the device tree source file.

Signed-off-by: Mathias Kresin <dev@kresin.me>
7 years ago
Tim Harvey 9d91ef52c3 imx6: ventana: add GW553x board identification
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
7 years ago
Tim Harvey 5f458bf7f8 imx6: add support for GW5904
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
7 years ago
Petr Štetiar 5a922e5c41 imx6: inittab: Use login.sh wrapper so we can configure console password
In dc92917 there was introduced login.sh wrapper which allows
configuration of console passwords via UCI system ttylogin config
option.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
8 years ago
Tim Harvey 7419b9497f imx6: override default inittab to add video console tty
Adds the following to the default inittab
tty1::askfirst:/bin/ash --login

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
8 years ago
Jo-Philipp Wich 67e1c87012 all: drop old uci-defaults.sh
Replace former uci-defaults.sh implementation with the uci-defaults-new.sh one
and update all users accordingly.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47867
9 years ago
Jo-Philipp Wich 08848936dd all: remove redundant board.d/00_model files
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47753
9 years ago
Jo-Philipp Wich 7cf1ff8a75 imx6: switch from uci-defaults to board.d
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47738
9 years ago
Luka Perkov 8c65560497 imx6: add Gateworks GW551x support
Upstream patch: e9d6d6b62f306ba83e1441af5daf2809a6167474

Add support for the Gateworks GW5510 board featuring:
 * i.MX6 SoC
 * up to 512MB DDR3
 * up to 2GB NAND flash
 * 1x miniPCIe socket (with USB)
 * HDMI out (micro-HDMI)
 * HDMI in (micro-HDMI) (currently supported by only vendor kernel)
 * TTL level I/O (supported by GW16111 breakout board):
  * I2C
  * 2x UART
  * CAN
  * 2x DIO (GPIO/PWM)
  * USB OTG

Also add support to OpenWrt build system

Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com>

SVN-Revision: 47505
9 years ago
Luka Perkov 9c7336e0f9 imx6: fix platform checking
Fix platform checking when configuring networks and when doing sysupgrade.

Signed-off-by: Pushpal Sidhu <psidhu@gateworks.com>

SVN-Revision: 47168
9 years ago
Rafał Miłecki 39940fac6b imx6: add platform_pre_upgrade for sysupgrade
We're in process of cleaning nand_do_platform_check. Currently is leaves
a special mark in /tmp/sysupgrade-nand-path triggering some diffent code
path in nand_upgrade_stage1. This can be a bit confusing.

The plan is to have the check function only check the image and nothing
else. Then platform code (platform_pre_upgrade) should trigger NAND
specific upgrade path. This is what this patch implements.

This follows ar71xx, lantiq and partially bcm53xx.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 46944
9 years ago
Luka Perkov fa8e8d262e imx6: kernel: add GW5520 support
The GW5520 is a small form-factor single-board computer with the following
features:
 * 70x100mm form-factor
 * IMX6DL 800MHz SoC (IMX6Q optional)
 * 512MB 32bit DDR3 SDRAM (up to 2GB optional)
 * 256MB NAND FLASH (up to 2GB optional)
 * Gateworks System Controller
 * 2x front-panel Intel i210 GbE adapters with passive PoE support
 * 2x MiniPCIe sockets with USB support
 * 2x front-panel USB
 * 1x rear-panel full-size HDMI connector
 * 1x front-panel bi-color user LED
 * 1x front-panel user pushbutton
 * 1x rear-panel barrel jack for power
 * 1x Application connector with:
  * 2x TTL level UARTs
  * 10x TTL level Digital IO

Signed-off-by: Tim Harvey <tharvey@gateworks.com>

SVN-Revision: 42148
10 years ago
Luka Perkov fa0b9bccea imx6: move imx6.sh to /lib/ for consistency
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 41339
10 years ago
John Crispin cf80a59dcc imx6: add sysupgrade support
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41277
10 years ago
John Crispin 1a60486acb imx6: the script populating /tmp/sysinfo/ was in the wrong path
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41276
10 years ago
Florian Fainelli 43c0ad0f00 imx6: fix typo on wandboard detection
Revision r41256 introduced a typo (wandaboard => wandboard), but later
revisions expect to match on "wandboard"

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

SVN-Revision: 41262
10 years ago
John Crispin efcec0faaf imx6: use /lib/imx6.sh inside the uci-defaults script
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41257
10 years ago
John Crispin 2773bdfebf imx6: add a script to detect the board name and populate /tmp/sysinfo
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41256
10 years ago
Luka Perkov f637a1e562 imx6: update board names per device-tree updates
The Gateworks Ventana board names have been adjusted per upstream patches
to include all IMX6 SoC variants.

Signed-off-by: Tim Harvey <tharvey@gateworks.com>

SVN-Revision: 40989
10 years ago
Luka Perkov b8038b78ec imx6: use upstream gateworks board names
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38573
11 years ago
Luka Perkov 88590e4cb7 imx6: minor (cosmetic) changes in uci-defaults
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38421
11 years ago
Luka Perkov 19bd25f4ec imx6: update network defaults for Gateworks Ventana
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 38079
11 years ago
Luka Perkov 7c9b567371 imx6: drop inittab
It's the same as in base-files package.

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

SVN-Revision: 38077
11 years ago
Luka Perkov 02e858d88c imx6: add network defaults for GW5400-A
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 37979
11 years ago
Luka Perkov 75b911ddc1 imx6: switch to askconsole
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 37326
11 years ago
Luka Perkov 4b21af4268 imx6: add new target
SVN-Revision: 36753
11 years ago