u-boot/board/freescale/mx6sabresd
Fabio Estevam 4b6035da48 mx6sabresd: Make Ethernet functional again
Since commit ce412b79e7 ("drivers: net: phy: atheros: add separate
config for AR8031") ethernet does not work on mx6sabresd.

This commit correctly assigns ar8031_config() as the configuration
function for AR8031 in the same way as done in the Linux kernel.

However, on mx6sabresd design we need some additional configuration,
such as enabling the 125 MHz AR8031 output that needs to be done
in the board file.

This also aligns with the same method that the kernel performs
the AR8031 fixup in arch/arm/mach-imx/mach-imx6q.c.

Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
2016-11-06 06:59:27 -05:00
..
Kconfig mx6: remove SYS_SOC from board Kconfig 2015-09-13 10:37:29 +02:00
MAINTAINERS MAINTAINERS/mailmap: Update my email address 2016-01-11 11:22:43 -05:00
Makefile board: arm: convert makefiles to Kbuild style 2013-11-01 11:42:12 -04:00
mx6dlsabresd.cfg imx: s/docs\/README.imximage/doc\/README.imximage/g 2016-10-26 16:53:16 +02:00
mx6q_4x_mt41j128.cfg imx: ddr: Move mx6q_4x_mt41j128.cfg to mx6sabresd board 2014-09-22 16:09:56 +02:00
mx6sabresd.c mx6sabresd: Make Ethernet functional again 2016-11-06 06:59:27 -05:00
README mx6sabresd: Add README file 2016-10-17 09:18:32 +02:00

How to use and build U-Boot on mx6sabresd:
----------------------------------

Currently there are three methods for booting mx6sabresd boards:

1. Booting via Normal U-Boot (u-boot.imx)

2. Booting via SPL (SPL and u-boot.img)

3. Booting via Falcon mode (SPL launches the kernel directly)


1. Booting via Normal U-Boot
----------------------------

$ make mx6qsabresd_defconfig (If you want to build for mx6qsabresd)

or

$ make mx6dlsabresd_defconfig (If you want to build for mx6dlsabresd)

$ make

This will generate the image called u-boot.imx.

- Flash the u-boot.imx binary into the SD card:

$ sudo dd if=u-boot.imx of=/dev/sdb bs=1K seek=1 && sync


2. Booting via SPL
------------------

Other method for building U-Boot on mx6qsabresd and mx6qpsabresd is
through SPL. In order to do so:

$ make mx6sabresd_spl_defconfig
$ make

This will generate the SPL image called SPL and the u-boot.img.

- Flash the SPL image into the SD card:

$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 && sync

- Flash the u-boot.img image into the SD card:

$ sudo dd if=u-boot.img of=/dev/sdbbs=1K seek=69 && sync


3. Booting via Falcon mode
--------------------------

$ make mx6sabresd_spl_defconfig
$ make

This will generate the SPL image called SPL and the u-boot.img.

- Flash the SPL image into the SD card:

$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 oflag=sync status=none && sync

- Flash the u-boot.img image into the SD card:

$ sudo dd if=u-boot.img of=/dev/sdbbs=1K seek=69 oflag=sync status=none && sync

Create a partition for root file system and extract it there:

$ sudo tar xvf rootfs.tar.gz -C /media/root

The SD card must have enough space for raw "args" and "kernel".
To configure Falcon mode for the first time, on U-Boot do the following commands:

- Setup the IP server:

# setenv serverip <server_ip_address>

- Download dtb file:

# dhcp ${fdt_addr} imx6q-sabresd.dtb

- Download kernel image:

# dhcp ${loadaddr} uImage

- Write kernel at 2MB offset:

# mmc write ${loadaddr} 0x1000 0x4000

- Setup kernel bootargs:

# setenv bootargs "console=ttymxc0,115200 root=/dev/mmcblk1p1 rootfstype=ext4 rootwait quiet rw"

- Prepare args:

# spl export fdt ${loadaddr} - ${fdt_addr}

- Write args 1MB data (0x800 sectors) to 1MB offset (0x800 sectors)

# mmc write 18000000 0x800 0x800

- Press KEY_VOL_UP key, power up the board and then SPL binary will
launch the kernel directly.