Linux Core U-Boot User's Guide
Linux Core U-Boot User's Guide
Linux Core U-Boot User's Guide
Board Wired ethernet USB gadget ethernet DFU NAND SD/eMMC USB Host (mass storage) SPI flash
DRA7xx EVM yes no yes yes yes (both) yes yes (QSPI)
AM43xx GP EVM yes no yes yes yes (both) yes yes (QSPI)
AM43xx ePOS EVM yes no yes N/A yes (both) yes yes (QSPI)
AM43xx EVM-SK yes no yes N/A yes (both) yes yes (QSPI)
We assume that a GCC-based toolchain has already been installed and the serial port for the board has been
configured. We also assume that a Linux Kernel has already been built (or has been provided) as well as an
appropriate filesystem image. Installing and setting up DHCP or TFTP servers is also outside of the scope of this
document, but snippets of information are provided to show how to use a specific feature, when needed.
Linux Core U-Boot User's Guide 2
Finally, please note that not all boards have all of the interfaces documented here.
General Information
Device Trees
A note about device trees. With this LCPD release all boards are required to use a device tree to boot. To facilitate
this in Sitara family devices, within U-Boot we have a command in the environment named findfdt that will set the
fdtfile variable to the name of the device tree to use, as found with the kernel sources. In the Keystone-2 family
devices (K2H/K/E/L/G), it is specified by name_fdt variable for each platform. The device tree is expected to be
loaded from the same media as the kernel, and from the same relative path.
export PATH=$HOME/gcc-linaro-4.9-2015.05-x86_64_arm-linux-gnueabihf/bin:$PATH
$ rm -rf ./am335x_evm
Board SD Boot eMMC Boot NAND Boot UART Boot Ethernet Boot USB Ethernet Boot USB Host Boot
SPI Boot
(XIP)
Then:
Note that not all possible build targets for a given platform are listed here as the community has additional build
targets that are not supported by TI. To find these read the 'boards.cfg' file and look for the build target listed above.
And please note that the main config file will leverage other files under include/configs, as seen by #include
statements.
U-Boot Environment
Please note that on many boards we modify the environment during system start for a variety of variables such as
board_name and if unset, ethaddr. When we restore defaults some variables will become unset, and this can lead to
other things not working such as findfdt that rely on these run-time set variables.
Restoring defaults
It is possible to reset the set of U-Boot environment variables to their defaults and if desired, save them to where the
environment is stored, if applicable. It is also required to restore the default setting when u-boot version changes
from an upgrade or downgrade. To do so, issue the following commands:
Linux Core U-Boot User's Guide 4
Networking Environment
When using a USB-Ethernet dongle a valid MAC address must be set in the environment. To create a valid address
please read this page [20]. Then issue the following command:
You can use the printenv command to see if usbethaddr is already set.
Then start the USB subsystem:
The default behavior of U-Boot is to utilize all information that a DHCP server passes to us when the user issues the
dhcp command. This will include the dhcp parameter next-server which indicates where to fetch files from via
TFTP. There may be times however where the dhcp server on your network provides incorrect information and you
are unable to modify the server. In this case the following steps can be helpful:
=> bdinfo
arch_number = 0x00000000
boot_params = 0x80000100
DRAM bank = 0x00000000
-> start = 0x80000000
-> size = 0x7F000000
baudrate = 115200 bps
TLB addr = 0xFEFF0000
relocaddr = 0xFEF30000
reloc off = 0x7E730000
irq_sp = 0xFCEF8880
sp start = 0xFCEF8870
Early malloc usage: 890 / 2000
After booting, U-Boot relocates itself (along with its various reserved RAM areas) and places itself at end of
available RAM (starting at relocaddr in bdinfo output above). Only the stack is located just before that area.
The address of top of the stack is in sp start in bdinfo output and it grows downwards. Users should reserve
at least about 1MB for stack, so in the example output above, RAM in the range of [0x80000000,
Linux Core U-Boot User's Guide 5
Unselect CONFIG_HUSH_PARSER
menuconfig--->Command Line interface
[*] Support U-boot commands
[ ] Use hush shell
host$ make
• Connect EVM Superspeed port (USB1 port) to PC (Ubuntu) through USB cable.
• From Ubuntu (or the host) PC, fetch and build usbboot application. usbboot pre-built binaries for particular
distributions may be available in processor SDK already. Here are the steps to build usbboot application.
Linux Core U-Boot User's Guide 6
Board make target Supported interfaces ROM vendor-class-identifier value SPL vendor-class-identifier
value
AM335x GP EVM am335x_evm CPSW ethernet DM814x ROM (PG1.0) or AM335x ROM AM335x U-Boot SPL
(PG2.0 and later)
AM335x GP EVM am335x_evm SPL and U-Boot via USB AM335x ROM AM335x U-Boot SPL
(PG2.0 and later) RNDIS
AM335x GP EVM am335x_evm SPL via UART, U-Boot via N/A AM335x U-Boot SPL
(PG1.0) USB RNDIS
AM43xx EVM am43xx_evm CPSW ethernet AM43xx ROM AM43xx U-Boot SPL
AM43xx EVM (PG1.2 am43xx_evm SPL and U-Boot via USB AM43xx ROM AM43xx U-Boot SPL
and later) RNDIS
If using ISC dhcpd an example host entry would look like this:
host am335x_evm {
hardware ethernet de:ad:be:ee:ee:ef;
# Check for PG1.0, typically CPSW
if substring (option vendor-class-identifier, 0, 10) = "DM814x ROM" {
Linux Core U-Boot User's Guide 7
filename "u-boot-spl.bin";
# Check for PG2.0, CPSW or USB RNDIS
} elsif substring (option vendor-class-identifier, 0, 10) = "AM335x ROM" {
filename "u-boot-spl.bin";
} elsif substring (option vendor-class-identifier, 0, 17) = "AM335x U-Boot SPL" {
filename "u-boot.img";
} else {
filename "zImage-am335x-evm.bin";
}
}
Note that in a factory type setting, the substring tests can be done inside of the subnet declaration to set the default
filename value for the subnet, and overriden (if needed) in a host entry.
If you have removed NetworkManager from your system (which is not the default in most distributions) you need to
configure your /etc/network/interfaces file thusly:
allow-hotplug usb0
iface usb0 inet static
address 192.168.1.1
netmask 255.255.255.0
post-up service isc-dhcp-server reload
If you are using NetworkManager you need to create two files. First, as root create
/etc/NetworkManager/system-connections/AM335x USB RNDIS (and use \ to escape the space) with the following
content:
[802-3-ethernet]
duplex=full
mac-address=AA:BB:CC:11:22:33
[connection]
id=AM335X USB RNDIS
uuid=INSERT THE CONTENTS OF 'uuidgen' HERE
type=802-3-ethernet
[ipv6]
method=ignore
[ipv4]
method=manual
addresses1=192.168.1.1;16;
#!/bin/sh
IF=$1
STATUS=$2
A walk through of these steps can be seen at Ubuntu 12.04 Set Up to Network Boot an AM335x Based Platform.
Multiple Interfaces
On some boards, for example when we have both a wired interface and USB RNDIS gadget ethernet, it can be
desirable to change from the default U-Boot behavior of cycling over each interface it knows to telling U-Boot to use
a single interface. For example, on start you may see lines like:
And ensure that a DHCP server is configured to serve addresses for the network you are connected to.
=> mii modify 0x3 0x9 0x0 0x300 /* Disable Gigabit advertising */
=> mii modify 0x3 0x0 0x0 0x1000 /* Disable Auto Negotiation */
=> mii modify 0x3 0x0 0x1000 0x1000 /* Enable Auto Negotiation */
Linux Core U-Boot User's Guide 9
Using NAND
This section documents how to write files to the NAND device and use it to load and then boot the Linux Kernel
using a root filesystem also found on NAND.
mtdparts
Note: In later sections the <partition name> symbol should be replaced with the partition name seen when executing
the mtdparts command.
Erasing Partition
nand erase.part <partition name>
Writing to Partition
When writing to NAND partition the file to be written must have previously been copied to memory.
The symbol <ddr address> refers to the location in memory that a file was read into DDR memory. The symbol <file
size> represents the amount of bytes (in hex) of the file to write into the NAND partition. Note: When reading a file
into DDR, U-boot by default sets the value of environment variable "filesize" to the number of bytes (in hex) that
was read via the last read/load command.
As an example below shows the process of writing a kernel (zImage) into the NAND's kernel partition. The zImage
to be written is loaded from the SD card's rootfs (2nd) partition. Loading zImage from MMC to DDR memory
Linux Core U-Boot User's Guide 10
Now that zImage is loaded into memory time to write it into the NAND partition
The symbol <ddr address> should be replaced with the location in DDR that you want the contents of the NAND
partition to be copied to. The symbol <partition name> contains the NAND partition name you want to read from.
U-Boot # mtdparts
This means that you can tell dfu-util to write anything to any of:
• NAND.SPL
• NAND.SPL.backup1
• NAND.SPL.backup2
• NAND.SPL.backup3
• NAND.u-boot
• NAND.kernel
• NAND.file-system
Linux Core U-Boot User's Guide 11
Before writing you must erase at least the area to be written to. Then to start DFU on the target on the first NAND
device:
NAND Boot
If you want to load and run U-Boot from NAND the first step is insuring that the appropriate U-boot files are loaded
in the correct partition. For AM335x, AM437x, DRA7x devices this means writing the file MLO to the NAND's SPL
partition. For OMAP-L138 device, write the .ais image to the NAND's partition. For all devices this requires writing
u-boot.img to the NAND's U-Boot partition.
Note: The NAND partition of OMAP-L138 is different from other devices, please use the following commands to
program the NAND
Once the file(s) have been written to NAND the board should then be powered off. Next evm's boot switches need to
be configured for NAND booting. To understand the appropriate boot switches settings please see the evm's
hardware setup guide.
In the above example bootargs, "rootfs" stands for the value specified by in the "vol_name" parameter defined in the
ubinize.cfg file. In ubi.mtd "NAND.file-system" and "2048" represents the name of the partition that contains the
ubifs and page size. Rootfstype simply tells the kernel what type of file system to use.
By default for our evms properly loading, setting bootargs and booting the kernel is handled by running "run
nandboot" in U-boot. Information on creating a UBIFS can be found here.
Linux Core U-Boot User's Guide 12
$ uuidgen
...first uuid...
$ uuidgen
...second uuid...
dfu_alt_info=boot part 0 1;rootfs part 0 2;MLO fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1"
This means that you can tell dfu-util to write anything to any of:
• boot
• rootfs
• MLO
• u-boot.img
• uEnv.txt
And that the MLO, u-boot.img and uEnv.txt files are to be written to a FAT filesystem.
To start DFU on the target on the first MMC device:
On boards like AM57x GP EVM or BeagleBoard x15, where the second USB instance is used as USB client, the dfu
command becomes:
On the host PC to overwrite the current boot partition contents with a new created on the host FAT filesystem image:
From
#define BOOT_DEVICE_MMC1 0x05
#define BOOT_DEVICE_MMC2 0x06
#define BOOT_DEVICE_MMC2_2 0x07
To
#define BOOT_DEVICE_MMC1 0x05
#define BOOT_DEVICE_MMC2 0x07
#define BOOT_DEVICE_MMC2_2 0x06
Next add the boot partition to the list of boot devices. Modify u-boot/arch/arm/mach-omap2/omap5/boot.c and
change.
From
static u32 boot_devices[] = {
#if defined(CONFIG_DRA7XX)
BOOT_DEVICE_MMC2,
BOOT_DEVICE_NAND,
To
static u32 boot_devices[] = {
#if defined(CONFIG_DRA7XX)
BOOT_DEVICE_MMC2_2,
BOOT_DEVICE_MMC2,
BOOT_DEVICE_NAND,
CONFIG_SYS_EXTRA_OPTIONS="EMMC_BOOT"
Then use the following commands to make the boot partition read-write and write MLO and u-boot.img to the boot
partition.
On K2H/K/E/L EVMs, the USB drivers in Kernel needs to be built-in (default modules). The configuration changes
are:
CONFIG_USB=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_STORAGE=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_HOST=y
CONFIG_USB_DWC3_KEYSTONE=y
CONFIG_EXTCON=y
CONFIG_EXTCON_USB_GPIO=y
CONFIG_SCSI_MOD=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
The USB should have boot partition of FAT32 format, and rootfs partition of EXT4 format. The boot partition must
contain the following images:
keystone-<platform>-evm.dtb
skern-<platform>.bin
k2-fw-initrd.cpio.gz
zImage
The rootfs partition contains the filesystem from ProcSDK release package.
# mkdir /mnt/temp
# mount -t ext4 /dev/sdb2 /mnt/temp
# cd /mnt/temp
# tar xvf <Linux_Proc_Sdk_Install_DIR>/filesyste/tisdk-server-rootfs-image-k2hk-evm.tar.xz
# cd /mnt
# umount temp
setenv init_fw_rd_usb 'fatload usb 0:1 ${rdaddr} ${name_fw_rd}; setenv filesize <hex_len>; run set_rd_spec'
saveenv
boot
Note: : <hex_len> must be at least the hex size of the k2-fw-initrd.cpio.gz file size.
Linux Core U-Boot User's Guide 16
If kernel is not build with CONFIG_CMDLINE to set correct bootargs, then add the needed bootargs in
chosen node in DTB file, using fdtput host utility. For example, for DRA74x EVM:
# fdtput -v -t s arch/arm/boot/dts/dra7-evm.dtb "/chosen" bootargs "console=ttyO0,115200n8 root=<rootfs>"
MLO, u-boot.img (optional), DTB, uImage are all stored on the same medium, either the SD or the eMMC.
There are two ways to store the binaries in the SD (resp. eMMC):
To flash binaries to SD or eMMC, you can use DFU. For SD boot, from u-boot prompt
Note: On boards like AM57x GP EVM or BeagleBoard x15, where the second USB instance is used as USB client,
replace "dfu 0 mmc X" with "dfu 1 mmc X"
On the host side: binaries in FAT:
raw binaries:
If the binaries are files in a fat partition, you need to specify their name if they differ from the default values
("uImage" and "args"). Note that DFU uses the names "spl-os-image" and "spl-os-args", so this step is required in the
case of DFU. From u-boot prompt
Set the board boot from SD (or eMMC respectively) and reset the EVM. The SPL directly boots the kernel image
from SD (or eMMC).
Using SPI
This section documents how to write files to the SPI device and use it to load and then boot the Linux Kernel using a
root filesystem also found on SPI. At this time, no special builds of U-Boot are required to perform these operations
on the supported hardware. The table below however, lists builds that will also use the SPI flash for the environment
instead of the default, which typically is NAND in AM57x and DRA7x EVMs, but in Keystone-2 EVMs, it is only
NOR. Finally, for simplicity we assume the files are being loaded from an SD card. Using the network interface (if
applicable) is documented above.
Using QSPI
QSPI is a serial peripheral interface like SPI the major difference being the support for Quad read, uses 4 data lines
for read compared to 2 lines used by the traditional SPI. This section documents how to write files to the QSPI
device and use it to load and then boot the Linux Kernel using a root filesystem also found on QSPI. At this time, no
special builds of U-Boot are required to perform these operations on the supported hardware. For simplicity we
assume the files are being loaded from an SD card. Using the network interface (if applicable) is documented above.
DRA7xx support
Memory Layout of QSPI Flash
+----------------+ 0x00000
| MLO |
| |
+----------------+ 0x040000
| u-boot.img |
| |
+----------------+ 0x140000
| DTB blob |
+----------------+ 0x1c0000
| u-boot env |
+----------------+ 0x1d0000
| u-boot env |
| (backup) |
+----------------+ 0x1e0000
| |
| uImage |
| |
| |
+----------------+ 0x9e0000
| |
| other data |
| |
+----------------+
Linux Core U-Boot User's Guide 19
From u-boot:
From ubuntu PC: Using dfu-util utilities to flash the binares to QSPI flash.
# sudo dfu-util -l
(C) 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
(C) 2010-2011 Tormod Volden (DfuSe support)
This program is Free Software and has ABSOLUTELY NO WARRANTY
dfu-util does currently only support DFU version 1.0
Found DFU: [0451:d022] devnum=0, cfg=1, intf=0, alt=0, name="MLO"
Found DFU: [0451:d022] devnum=0, cfg=1, intf=0, alt=1, name="u-boot.img"
Found DFU: [0451:d022] devnum=0, cfg=1, intf=0, alt=2, name="u-boot-spl-os"
Found DFU: [0451:d022] devnum=0, cfg=1, intf=0, alt=3, name="u-boot-env"
Found DFU: [0451:d022] devnum=0, cfg=1, intf=0, alt=4, name="u-boot-env.backup"
Linux Core U-Boot User's Guide 20
Flash the binaries to the respective regions using alternate interface number (alt=<x>).
U-Boot # sf probe 0
U-Boot # sf read ${loadaddr} 0x1e0000 0x800000
U-Boot # sf read ${fdtaddr} 0x140000 0x80000
U-Boot # setenv bootargs console=${console} root=/dev/mtdblock19 rootfstype=jffs2
U-Boot # bootz ${loadaddr} - ${fdtaddr}
Menuconfig->Bood media
[ ] Support for booting from NAND flash
..
[*] Support for booting from QSPI flash
[ ] Support for booting from SATA
...
MLO, u-boot.img (optional), DTB, uImage are stored in QSPI flash memory. Refer the "Memory Layout" section
for offset details. To flash binaries to QSPI, you can use DFU, for example.
The QSPI boot uses uImage. Build the kernel uImage. You will need to keep the U-Boot tool mkimage in your
$PATH
If kernel is not build with CONFIG_CMDLINE to set correct bootargs, then add the needed bootargs in chosen node
in DTB file, using fdtput host utility. For example, for DRA74x EVM:
# fdtput -v -t s arch/arm/boot/dts/dra7-evm.dtb "/chosen" bootargs "console=ttyO0,115200n8 root=<rootfs>"
Set the board boot from QSPI and reset the EVM. The SPL directly boots the kernel image from QSPI.
Linux Core U-Boot User's Guide 21
AM43xx support
Using QSPI on AM43xx platforms is done as eXecute In Place and U-Boot is directly booted.
Using NOR
This section documents how to write files to the NOR device and use it to load and then boot the Linux Kernel using
a root filesystem also found on NOR. In order for NOR to be visible to U-Boot a special build of U-Boot is required
on the supported hardware. The table below lists builds that see NOR and in some cases also use theit for the
environment instead of the default, which typically is NAND. Finally, for simplicity we assume the files are being
loaded from an SD card. Using the network interface (if applicable) is documented above.
Using UART
This section documents how to use the UART to load files to boot the board into U-Boot. After that the user is
expected to know how they want to continue loading files.
Using SATA
SATA and eSATA devices show up as SCSI devices in U-boot.
scsi part
Device 0: (0:0) Vendor: ATA Prod.: PLEXTOR PX-64M6M Rev: 1.08
Type: Hard Disk
Capacity: 61057.3 MB = 59.6 GB (125045424 x 512)
Device 0 represents the instance of the scsi device. Therefore, in later commands when a "<dev>" parameter is seen
replace it with the appropriate device number.
Viewing Partitions
To view all the partitions found on the SATA device the command "scsi part <dev>" can be used.
Output of this command when ran on AM57x General Purpose EVM can be seen below.
All entries above represent different partitions that exist on the particular scsi device. To reference a particular
partition a user will reference it the part number shown above. In commands shown below <part> should be replaced
with the appropriate partition number seen from this table.
AM335x
All the code below is based on Processor Linux SDK 03.02.00..05.
There is a frame buffer driver for am335x in the drivers/video directory called am3355x-fb.c. It makes calls to
routines in board.c to set up the LCDC and frame buffer. To use it:
Either create a new defconfig in the configs directory or just add SPLASH to CONFIG_SYS_EXTRA_OPTIONS.
In this example the am335x_evm_defconfig is copied into a new one called am335x_evm_splash_defconfig.
CONFIG_TARGET_AM335X_EVM=y
CONFIG_SPL_STACK_R_ADDR=0x82000000
CONFIG_DEFAULT_DEVICE_TREE="am335x-evm"
CONFIG_SPL=y
CONFIG_SPL_STACK_R=y
CONFIG_SYS_EXTRA_OPTIONS="NAND,SPLASH"
CONFIG_HUSH_PARSER=y
CONFIG_AUTOBOOT_KEYED=y
In include/configs/am335x_evm.h, add support for the splash screen, LCDC, and gzipped bitmaps.
#define CONFIG_VIDEO_BMP_GZIP
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (1366*767*4)
#define CONFIG_CMD_UNZIP
#define CONFIG_CMD_BMP
#define CONFIG_BMP_16BPP
#endif
&cmrtc->rtcclkctrl,
&cmper->usb0clkctrl,
&cmper->emiffwclkctrl,
&cmper->emifclkctrl,
&cmper->lcdclkctrl,
&cmper->lcdcclkstctrl,
&cmper->epwmss2clkctrl,
0
In board.c add includes for mmc, fat, lcd, and the frame buffer.
#include <libfdt.h>
#include <fdt_support.h>
Linux Core U-Boot User's Guide 25
#include <mmc.h>
#include <fat.h>
#include <lcd.h>
#include <../../../drivers/video/am335x-fb.h>
This example code is based on the AM335x Starter Kit. A GPIO controls the backlight so use GPIO_TO_PIN to
define the GPIO.
#if !defined(CONFIG_SPL_BUILD)
splash_screen();
/* try reading mac address from efuse */
mac_lo = readl(&cdev->macid0l);
mac_hi = readl(&cdev->macid0h);
The following routines enable the backlight, load the LCD timings (this example is based on Starter Kit), power on
the LCD and enable it, then finally the splash screen code that registers a fat file system on mmc0. The gzipped
bitmap is named splash.bmp.gz and is displayed with bmp_display.
pnltmp.hactive = 480;
pnltmp.vactive = 272;
pnltmp.bpp = 16;
pnltmp.hfp = 8;
pnltmp.hbp = 43;
pnltmp.hsw = 4;
pnltmp.vfp = 4;
pnltmp.vbp = 12;
pnltmp.vsw = 10;
pnltmp.pxl_clk_div = 2;
Linux Core U-Boot User's Guide 26
pnltmp.pol = 0;
pnltmp.pup_delay = 1;
pnltmp.pon_delay = 1;
panel_info.vl_rot = 0;
return 0;
}
vidinfo_t panel_info = {
.vl_col = 480,
.vl_row = 272,
.vl_bpix = 4,
.priv = 0
};
lcd_panel.panel_power_ctrl = &lcdpower;
if (am335xfb_init(&lcd_panel) != 0)
printf("ERROR: failed to initialize video!");
// lcd_set_flush_dcache(1);
}
void lcd_enable(void)
{
lcdbacklight(1);
}
Linux Core U-Boot User's Guide 27
void splash_screen(void)
{
struct mmc *mmc = NULL;
int err;
mmc = find_mmc_device(0);
if (!mmc)
printf("Error finding mmc device\n");
mmc_init(mmc);
err = fat_register_device(&mmc->block_dev,
CONFIG_SYS_MMCSD_FS_BOOT_PARTITION);
if (!err) {
err = file_fat_read("splash.bmp.gz", (void *)0x82000000, 0);
bmp_display(0x82000000, 0, 0);
}
}
#endif
#ifdef CONFIG_AM335X_LCD
static struct module_pin_mux lcd_pin_mux[] = {
{OFFSET(lcd_data0), (MODE(0) | PULLUDDIS)}, /* LCD-Data(0) */
{OFFSET(lcd_data1), (MODE(0) | PULLUDDIS)}, /* LCD-Data(1) */
{OFFSET(lcd_data2), (MODE(0) | PULLUDDIS)}, /* LCD-Data(2) */
{OFFSET(lcd_data3), (MODE(0) | PULLUDDIS)}, /* LCD-Data(3) */
{OFFSET(lcd_data4), (MODE(0) | PULLUDDIS)}, /* LCD-Data(4) */
{OFFSET(lcd_data5), (MODE(0) | PULLUDDIS)}, /* LCD-Data(5) */
{OFFSET(lcd_data6), (MODE(0) | PULLUDDIS)}, /* LCD-Data(6) */
{OFFSET(lcd_data7), (MODE(0) | PULLUDDIS)}, /* LCD-Data(7) */
{OFFSET(lcd_data8), (MODE(0) | PULLUDDIS)}, /* LCD-Data(8) */
{OFFSET(lcd_data9), (MODE(0) | PULLUDDIS)}, /* LCD-Data(9) */
{OFFSET(lcd_data10), (MODE(0) | PULLUDDIS)}, /* LCD-Data(10) */
{OFFSET(lcd_data11), (MODE(0) | PULLUDDIS)}, /* LCD-Data(11) */
{OFFSET(lcd_data12), (MODE(0) | PULLUDDIS)}, /* LCD-Data(12) */
{OFFSET(lcd_data13), (MODE(0) | PULLUDDIS)}, /* LCD-Data(13) */
{OFFSET(lcd_data14), (MODE(0) | PULLUDDIS)}, /* LCD-Data(14) */
{OFFSET(lcd_data15), (MODE(0) | PULLUDDIS)}, /* LCD-Data(15) */
{OFFSET(gpmc_ad8), (MODE(1) | PULLUDDIS)}, /* LCD-Data(16) */
{OFFSET(gpmc_ad9), (MODE(1) | PULLUDDIS)}, /* LCD-Data(17) */
{OFFSET(gpmc_ad10), (MODE(1) | PULLUDDIS)}, /* LCD-Data(18) */
{OFFSET(gpmc_ad11), (MODE(1) | PULLUDDIS)}, /* LCD-Data(19) */
{OFFSET(gpmc_ad12), (MODE(1) | PULLUDDIS)}, /* LCD-Data(20) */
{OFFSET(gpmc_ad13), (MODE(1) | PULLUDDIS)}, /* LCD-Data(21) */
{OFFSET(gpmc_ad14), (MODE(1) | PULLUDDIS)}, /* LCD-Data(22) */
Linux Core U-Boot User's Guide 28
/* backlight */
{OFFSET(mcasp0_ahclkr), (MODE(7) | PULLUDDIS)}, /* mcasp0_gpio */
{-1},
};
#endif
} else if (board_is_evm_sk()) {
/* Starter Kit EVM */
configure_module_pin_mux(i2c1_pin_mux);
configure_module_pin_mux(gpio0_7_pin_mux);
configure_module_pin_mux(rgmii1_pin_mux);
configure_module_pin_mux(mmc0_pin_mux_sk_evm);
#ifdef CONFIG_AM335X_LCD
configure_module_pin_mux(lcd_pin_mux);
#endif
} else if (board_is_bone_lt()) {
Archived
Sitara Linux 07.0X U-boot User's Guide [22]
References
[1] http:/ / www. ti. com/ tool/ tmdxevm3358
[2] http:/ / www. ti. com/ tool/ tmdssk3358
[3] http:/ / www. ti. com/ tool/ tmdsice3359
[4] http:/ / beagleboard. org/ bone
[5] https:/ / beagleboard. org/ black
[6] http:/ / www. ti. com/ tool/ j6evm5777
[7] http:/ / www. ti. com/ tool/ dra72xevm
[8] http:/ / www. ti. com/ product/ DRA718
[9] http:/ / www. ti. com/ tool/ tmdsevm437x
[10] http:/ / www. ti. com/ tool/ tmdxsk437x
[11] http:/ / www. ti. com/ tool/ TMDSIDK437X
[12] http:/ / www. ti. com/ tool/ tmdsevm572x
[13] http:/ / www. ti. com/ tool/ TMDXIDK5728
[14] http:/ / www. ti. com/ tool/ tmdxidk5718
[15] http:/ / www. ti. com/ tool/ EVMK2H
[16] http:/ / www. ti. com/ tool/ xevmk2ex
[17] http:/ / www. ti. com/ tool/ xevmk2lx
[18] http:/ / www. ti. com/ tool/ evmk2g
[19] http:/ / www. ti. com/ tool/ k2gice
[20] http:/ / www. denx. de/ wiki/ view/ DULG/ WhereCanIGetAValidMACAddress
[21] https:/ / en. wikipedia. org/ wiki/ Partition_type#List_of_partition_IDs
Linux Core U-Boot User's Guide 29