Project

General

Profile

3.14testing

Branched from git://git.ti.com/sitara-linux/sitara-linux.git , Branch: sitara-ti-linux-3.14.y

Adds support for the Critical Link MitySOM-335x module and dev kit.

The device tree is hardcoded to support modules with 512MB of RAM. Search for "512" in am335x-mitysom.dts to find the line that needs to be changed if you don't have 512MB of RAM on your module.

Supported interfaces using the MitySOM-335x dev kit

  • Ethernet (Micrel PHY)
  • MMC0
  • Console
  • RS-485 (UART3/UART4, Expansion 0/1)
  • CAN0/CAN1

Booting over the network and from the SD card is supported. U-boot does not have to be changed from the latest Critical Link version https://support.criticallink.com/redmine/projects/armc8-platforms/wiki/Das_U-Boot_Port

Build instructions

On a Linux install or Virtual Machine, install version 8.0 of the TI LINUXEZSDK-AM335X: http://www.ti.com/tool/linuxezsdk-sitara

NOTE: After EZSDK release 8.0, TI has renamed their SDKs from EZSDK to Processor SDK. They also decided to reset their numbering scheme to 1.0. Their latest processor SDK should work with this example and is available here: http://www.ti.com/tool/PROCESSOR-SDK-AM335X

$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm distclean
$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm mitysom-335x-devkit_defconfig
$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm zImage modules
$ make INSTALL_MOD_PATH=/path/to/root_filesystem ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install
$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm am335x-mitysom.dtb

The device tree file will be located at arch/arm/boot/dts/am335x-mitysom.dtb

Useful U-Boot boot commands (loading Device tree, kernel, and filesystem over the network):
(you will need to set $serverip to the IP address of the EZSDK machine)

dhcp
rootpath=/opt/ti-sdk-am335x-evm-08.00.00.00/targetNFS
run net_args
tftp 0x88000000 am335x-mitysom.dtb
tftp 0x82000000 zImage
setenv fdt_high 0xFFFFFFFF
bootz 0x82000000 - 0x88000000

(you can run mmc_args instead of net_args for booting from SD card)

Booting from SD Card

If you already have an SD card from the Critical Link Dev Kit, there are two main partitions on the card: boot and rootfs. You will need to copy files to these partitions in order to boot the 3.14 kernel:

  • zImage: copy to the Boot partition.
    $ sudo cp arch/arm/boot/zImage /path/to/mounted/sdcard/boot
    
  • Device tree file: copy to the Boot partition:
    $ sudo cp arch/arm/config/am335x-mitysom.dtb /path/to/mounted/sdcard/boot
    
  • Rootfs: copy to the rootfs partition on the sdcard. The EVM root filesystem can be found in /opt/ti-sdk-am335x-evm-08.00.00.00/filesystem. PLEASE type carefully so you do not delete important system files.
    $ cd /path/to/mounted/sdcard/rootfs
    $ sudo rm -rf /path/to/mounted/sdcard/rootfs/* 
    $ sudo tar zxvf tisdk-rootfs-image-am335x-evm.tar.gz
    
  • Kernel modules: copy to the root filesystem.
    $ sudo cp -R path/to/installed/modules/lib/modules/3.14*  /path/to/mounted/sdcard/rootfs/lib/modules/
    

Once the files have been copied to your SD card, please use these commands in U-Boot to boot the 3.14 kernel:

U-Boot# mmcinfo
U-Boot# fatload mmc 0 0x82000000 zImage            
reading zImage
4284120 bytes read in 477 ms (8.6 MiB/s)
U-Boot# fatload mmc 0 0x80F80000 am335x-mitysom.dtb
reading am335x-mitysom.dtb
37893 bytes read in 10 ms (3.6 MiB/s)
U-Boot# run mmc_args
U-Boot# bootz 0x82000000 - 0x80F80000     

You can save the current U-Boot environment to NAND using the saveenv command. In addition, once you have commands you want to use to boot (and you're typing them in manually), you can save those commands to the bootcmd variable which U-Boot runs by default:

  • U-Boot# setenv bootcmd "mmcinfo; fatload mmc 0 0x82000000 zImage; fatload mmc 0 0x80F80000 am335x-mitysom.dtb; run mmc_args; bootz 0x82000000 - 0x80F80000"
  • U-Boot# saveenv

This will save this config to the NAND and it should run on the next boot if you do not interrupt U-Boot.

Problems

TBD

Go to top
Add picture from clipboard (Maximum size: 1 GB)