#@TYPE: Machine
#@NAME: NXP i.MX28 Evaluation Kit
#@SOC: i.MX28
#@DESCRIPTION: Machine configuration for NXP i.MX28 Evaluation Kit
#@MAINTAINER: Otavio Salvador <otavio@ossystems.com.br>

MACHINEOVERRIDES =. "mxs:mx28:"

include conf/machine/include/imx-base.inc
include conf/machine/include/arm/armv5/tune-arm926ejs.inc

# This machine is not supported by u-boot-imx as it is not tested by NXP on this
# board. So we force it to use u-boot-fslc which is based on mainline here.
IMX_DEFAULT_BOOTLOADER = "u-boot-fslc"

UBOOT_MAKE_TARGET = "u-boot.sb"
UBOOT_SUFFIX = "sb"

UBOOT_CONFIG ??= "sd"
UBOOT_CONFIG[sd] = "mx28evk_config,sdcard"
UBOOT_CONFIG[nand] = "mx28evk_nand_config,ubifs"
UBOOT_CONFIG[sd-auart-console] = "mx28evk_auart_console_config,sdcard"

KERNEL_DEVICETREE = "imx28-evk.dtb"

SERIAL_CONSOLES = "115200;ttyAMA0"

## Parameters for NAND IC part-# K9LBG08U0D-PCB0

MKUBIFS_ARGS = "--min-io-size 4096 --leb-size 516096 --max-leb-cnt 8139"
UBINIZE_ARGS = "--min-io-size 4096 --peb-size 524288 --sub-page-size 4096"
MXSBOOT_NAND_ARGS = "-w 4096 -o 218 -e 524288"

## To determine parameters' values, run "ubiattach -m 6 /dev/ubi_ctrl"
## (assuming the rootfs device is /dev/mtd6).  Here's an example:

# # ubiattach -m 6 /dev/ubi_ctrl
# [   28.640396] UBI: attaching mtd6 to ubi0
# [   53.000817] UBI: scanning is finished
# [   53.126052] UBI: attached mtd6 (name "filesystem", size 4079 MiB) to ubi0
# [   53.133109] UBI: PEB size: 524288 bytes (512 KiB), LEB size: 516096 bytes
# [   53.140149] UBI: min./max. I/O unit sizes: 4096/4096, sub-page size 4096
# [   53.146895] UBI: VID header offset: 4096 (aligned 4096), data offset: 8192
# [   53.153931] UBI: good PEBs: 8139, bad PEBs: 20, corrupted PEBs: 0
# [   53.160263] UBI: user volume: 1, internal volumes: 1, max. volumes count: 128
# [   53.167444] UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
# [   53.175872] UBI: available PEBs: 4113, total reserved PEBs: 4026, PEBs reserved for bad PEB handling: 140
# [   53.189399] UBI: background thread "ubi_bgt0d" started, PID 217
# UBI device number 0, total 8139 LEBs (4200505344 bytes, f GiB), available 4113 LEBs (2122702848 bytes, f GiB), LEB size 516096 bytes (f KiB)

# --min-io-size: see "min./max. I/O unit sizes: " in the ubiattach output
# --leb-size: see "LEB size:" in the ubiattach output
# --max-leb-cnt: see "total <n> LEBs" in the ubiattach output, where <n> is the number you want
# --peb-size: see "PEB size:" in the ubiattach output (pick the value in bytes)
# --sub-page-size: see "sub-page size" in the ubiattach output
