9
0
Fork 0

Merge branch 'next'

This commit is contained in:
Sascha Hauer 2012-04-05 11:09:58 +02:00
commit 2a6460cbb6
177 changed files with 5672 additions and 1221 deletions

View File

@ -1000,8 +1000,8 @@ endif # CONFIG_MODULES
# Directories & files removed with 'make clean'
CLEAN_DIRS += $(MODVERDIR)
CLEAN_FILES += barebox System.map include/generated/barebox_default_env.h \
.tmp_version .tmp_barebox* barebox.bin barebox.S \
.tmp_kallsyms* barebox_default_env barebox.ldr Doxyfile.version
.tmp_version .tmp_barebox* barebox.bin barebox.map barebox.S \
.tmp_kallsyms* barebox_default_env* barebox.ldr Doxyfile.version
# Directories & files removed with 'make mrproper'
MRPROPER_DIRS += include/config include2 usr/include

View File

@ -72,6 +72,7 @@ board-$(CONFIG_MACH_AT91SAM9261EK) := at91sam9261ek
board-$(CONFIG_MACH_AT91SAM9263EK) := at91sam9263ek
board-$(CONFIG_MACH_AT91SAM9G10EK) := at91sam9261ek
board-$(CONFIG_MACH_AT91SAM9G20EK) := at91sam9260ek
board-$(CONFIG_MACH_AT91SAM9X5EK) := at91sam9x5ek
board-$(CONFIG_MACH_AT91SAM9M10G45EK) := at91sam9m10g45ek
board-$(CONFIG_MACH_DSS11) := dss11
board-$(CONFIG_MACH_EDB9301) := edb93xx
@ -102,6 +103,7 @@ board-$(CONFIG_MACH_PANDA) := panda
board-$(CONFIG_MACH_PCM049) := pcm049
board-$(CONFIG_MACH_PCA100) := phycard-i.MX27
board-$(CONFIG_MACH_PCAAL1) := phycard-a-l1
board-$(CONFIG_MACH_PCAAXL2) := phycard-a-xl2
board-$(CONFIG_MACH_PCM037) := pcm037
board-$(CONFIG_MACH_PCM038) := pcm038
board-$(CONFIG_MACH_PCM043) := pcm043

View File

@ -0,0 +1,11 @@
#!/bin/sh
if [ $at91_udc0.vbus != 1 ]
then
echo "No USB Device cable plugged, normal boot"
exit
fi
autoboot_timeout=16
echo "enable tty over USB Device, increase the boot delay to ${autoboot_timeout}s"
usbserial

View File

@ -2,7 +2,8 @@
# use 'dhcp' to do dhcp in barebox and in kernel
# use 'none' if you want to skip kernel ip autoconfiguration
ip=dhcp
ip=dhcp-barebox
dhcp_vendor_id=barebox-at91rm9200ek
# or set your networking parameters here
#eth0.ipaddr=a.b.c.d
@ -11,7 +12,7 @@ ip=dhcp
#eth0.serverip=a.b.c.d
# can be either 'nfs', 'tftp' or 'nor'
kernel_loc=tftp
kernel_loc=nfs
# can be either 'net', 'nor' or 'initrd'
rootfs_loc=net
@ -24,7 +25,7 @@ kernelimage=uImage
#kernelimage=Image
#kernelimage=Image.lzo
nor_parts="256k(barebox)ro,64k(bareboxenv),1536k(kernel),-(root)"
nor_parts="256k(barebox)ro,64k(bareboxenv),3M(kernel),-(root)"
rootfs_mtdblock_nor=3
autoboot_timeout=3

View File

@ -47,6 +47,65 @@ static int at91rm9200ek_mem_init(void)
}
mem_initcall(at91rm9200ek_mem_init);
static struct at91_usbh_data ek_usbh_data = {
.ports = 2,
};
#ifdef CONFIG_LED_GPIO
struct gpio_led ek_leds[] = {
{
.gpio = AT91_PIN_PB0,
.active_low = 1,
.led = {
.name = "green",
},
}, {
.gpio = AT91_PIN_PB1,
.active_low = 1,
.led = {
.name = "yellow",
},
}, {
.gpio = AT91_PIN_PB2,
.active_low = 1,
.led = {
.name = "red",
},
},
};
static void ek_device_add_leds(void)
{
int i;
for (i = 0; i < ARRAY_SIZE(ek_leds); i++) {
at91_set_gpio_output(ek_leds[i].gpio, ek_leds[i].active_low);
led_gpio_register(&ek_leds[i]);
}
led_set_trigger(LED_TRIGGER_HEARTBEAT, &ek_leds[1].led);
}
#else
static void ek_device_add_leds(void) {}
#endif
#if defined(CONFIG_USB_GADGET_DRIVER_AT91)
/*
* USB Device port
*/
static struct at91_udc_data __initdata ek_udc_data = {
.vbus_pin = AT91_PIN_PD4,
.pullup_pin = AT91_PIN_PD5,
};
static void ek_add_device_udc(void)
{
at91_add_device_udc(&ek_udc_data);
at91_set_multi_drive(ek_udc_data.pullup_pin, 1); /* pullup_pin is connected to reset */
}
#else
static void ek_add_device_udc(void) {}
#endif
static int at91rm9200ek_devices_init(void)
{
/*
@ -55,9 +114,13 @@ static int at91rm9200ek_devices_init(void)
*/
at91_set_gpio_output(AT91_PIN_PA23, 1);
at91_add_device_eth(&ether_pdata);
at91_add_device_eth(0, &ether_pdata);
add_cfi_flash_device(0, AT91_CHIPSELECT_0, 0, 0);
/* USB Host */
at91_add_device_usbh_ohci(&ek_usbh_data);
ek_device_add_leds();
ek_add_device_udc();
#if defined(CONFIG_DRIVER_CFI) || defined(CONFIG_DRIVER_CFI_OLD)
devfs_add_partition("nor0", 0x00000, 0x40000, PARTITION_FIXED, "self");

View File

@ -2,7 +2,14 @@
# use 'dhcp' to do dhcp in barebox and in kernel
# use 'none' if you want to skip kernel ip autoconfiguration
ip=dhcp
ip=dhcp-barebox
if [ x$armlinux_architecture = x1099 ]
then
dhcp_vendor_id=barebox-at91sam9260ek
else
dhcp_vendor_id=barebox-at91sam9g20ek
fi
# or set your networking parameters here
#eth0.ipaddr=a.b.c.d
@ -19,14 +26,9 @@ rootfs_loc=net
rootfs_type=ubifs
rootfsimage=root.$rootfs_type
# The image type of the kernel. Can be uimage, zimage, raw, or raw_lzo
#kernelimage_type=zimage
#kernelimage=zImage
kernelimage_type=uimage
kernelimage=uImage
#kernelimage_type=raw
#kernelimage=Image
#kernelimage_type=raw_lzo
#kernelimage=Image.lzo
nand_device=atmel_nand

View File

@ -254,7 +254,7 @@ static int at91sam9260ek_devices_init(void)
{
ek_add_device_nand();
at91sam9260ek_phy_reset();
at91_add_device_eth(&macb_pdata);
at91_add_device_eth(0, &macb_pdata);
at91_add_device_usbh_ohci(&ek_usbh_data);
at91_add_device_udc(&ek_udc_data);
ek_usb_add_device_mci();

View File

@ -0,0 +1,51 @@
#!/bin/sh
button_name="dfu_bp"
button_wait=5
product_id=0x1234
vendor_id=0x4321
dfu_config="/dev/nand0.barebox.bb(barebox)sr,/dev/nand0.kernel.bb(kernel)r,/dev/nand0.rootfs.bb(rootfs)r"
if [ $at91_udc0.vbus != 1 ]
then
echo "No USB Device cable plugged, normal boot"
exit
fi
gpio_get_value ${dfu_button}
if [ $? != 0 ]
then
autoboot_timeout=16
echo "enable tty over USB Device, increase the boot delay to ${autoboot_timeout}s"
usbserial
exit
fi
echo "${button_name} pressed detected wait ${button_wait}s"
timeout -s -a ${button_wait}
if [ $at91_udc0.vbus != 1 ]
then
echo "No USB Device cable plugged, normal boot"
exit
fi
gpio_get_value ${dfu_button}
if [ $? != 0 ]
then
echo "${button_name} released, normal boot"
autoboot_timeout=16
echo "enable tty over USB Device, increase the boot delay to ${autoboot_timeout}s"
usbserial
exit
fi
echo ""
echo "Start DFU Mode"
echo ""
led ds7 1
dfu ${dfu_config} -P ${product_id} -V ${vendor_id}
led ds7 0

View File

@ -2,7 +2,14 @@
# use 'dhcp' to do dhcp in barebox and in kernel
# use 'none' if you want to skip kernel ip autoconfiguration
ip=dhcp
ip=dhcp-barebox
if [ x$armlinux_architecture = x848 ]
then
dhcp_vendor_id=barebox-at91sam9261ek
else
dhcp_vendor_id=barebox-at91sam9g10ek
fi
# or set your networking parameters here
#eth0.ipaddr=a.b.c.d
@ -25,13 +32,12 @@ kernelimage=uImage
#kernelimage=Image.lzo
nand_device=atmel_nand
nand_parts="256k(barebox)ro,128k(bareboxenv),1536k(kernel),-(root)"
rootfs_mtdblock_nand=3
nand_parts="128k(at91bootstrap),256k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),4M(kernel),120M(rootfs),-(data)"
rootfs_mtdblock_nand=5
autoboot_timeout=3
bootargs="console=ttyS0,115200"
# set a fancy prompt (if support is compiled in)
PS1="\e[1;32mbarebox@\e[1;31m\h:\w\e[0m "
PS1="\e[1;32mbarebox@\e[1;31m\h:\w\e[0m\n# "

View File

@ -30,6 +30,7 @@
#include <io.h>
#include <asm/hardware.h>
#include <nand.h>
#include <sizes.h>
#include <linux/mtd/nand.h>
#include <mach/at91_pmc.h>
#include <mach/board.h>
@ -38,6 +39,9 @@
#include <mach/at91sam9_smc.h>
#include <mach/sam9_smc.h>
#include <dm9000.h>
#include <gpio_keys.h>
#include <readkey.h>
#include <led.h>
static struct atmel_nand_data nand_pdata = {
.ale = 22,
@ -133,6 +137,103 @@ static void __init ek_add_device_dm9000(void)
static void __init ek_add_device_dm9000(void) {}
#endif /* CONFIG_DRIVER_NET_DM9K */
#if defined(CONFIG_USB_GADGET_DRIVER_AT91)
/*
* USB Device port
*/
static struct at91_udc_data __initdata ek_udc_data = {
.vbus_pin = AT91_PIN_PB29,
.pullup_pin = 0,
};
static void ek_add_device_udc(void)
{
at91_add_device_udc(&ek_udc_data);
}
#else
static void ek_add_device_udc(void) {}
#endif
#ifdef CONFIG_KEYBOARD_GPIO
struct gpio_keys_button keys[] = {
{
.code = KEY_UP,
.gpio = AT91_PIN_PA26,
}, {
.code = KEY_DOWN,
.gpio = AT91_PIN_PA25,
}, {
.code = KEY_ENTER,
.gpio = AT91_PIN_PA24,
},
};
struct gpio_keys_platform_data gk_pdata = {
.buttons = keys,
.nbuttons = ARRAY_SIZE(keys),
};
static void ek_add_device_keyboard_buttons(void)
{
int i;
for (i = 0; i < gk_pdata.nbuttons; i++) {
/* user push button, pull up enabled */
keys[i].active_low = 1;
at91_set_GPIO_periph(keys[i].gpio, keys[i].active_low);
at91_set_deglitch(keys[i].gpio, 1);
}
add_gpio_keys_device(-1, &gk_pdata);
}
#else
static void ek_add_device_keyboard_buttons(void) {}
#endif
static void __init ek_add_device_buttons(void)
{
at91_set_gpio_input(AT91_PIN_PA27, 1);
at91_set_deglitch(AT91_PIN_PA27, 1);
export_env_ull("dfu_button", AT91_PIN_PA27);
ek_add_device_keyboard_buttons();
}
#ifdef CONFIG_LED_GPIO
struct gpio_led ek_leds[] = {
{
.gpio = AT91_PIN_PA23,
.led = {
.name = "ds1",
},
}, {
.gpio = AT91_PIN_PA14,
.active_low = 1,
.led = {
.name = "ds7",
},
}, {
.gpio = AT91_PIN_PA13,
.active_low = 1,
.led = {
.name = "ds8",
},
},
};
static void ek_device_add_leds(void)
{
int i;
for (i = 0; i < ARRAY_SIZE(ek_leds); i++) {
at91_set_gpio_output(ek_leds[i].gpio, ek_leds[i].active_low);
led_gpio_register(&ek_leds[i]);
}
led_set_trigger(LED_TRIGGER_HEARTBEAT, &ek_leds[0].led);
}
#else
static void ek_device_add_leds(void) {}
#endif
static int at91sam9261ek_mem_init(void)
{
at91_add_device_sdram(64 * 1024 * 1024);
@ -146,11 +247,17 @@ static int at91sam9261ek_devices_init(void)
ek_add_device_nand();
ek_add_device_dm9000();
ek_add_device_udc();
ek_add_device_buttons();
ek_device_add_leds();
devfs_add_partition("nand0", 0x00000, 0x40000, PARTITION_FIXED, "self_raw");
devfs_add_partition("nand0", 0x00000, SZ_128K, PARTITION_FIXED, "at91bootstrap_raw");
devfs_add_partition("nand0", SZ_128K, SZ_256K, PARTITION_FIXED, "self_raw");
dev_add_bb_dev("self_raw", "self0");
devfs_add_partition("nand0", 0x40000, 0x20000, PARTITION_FIXED, "env_raw");
devfs_add_partition("nand0", SZ_256K + SZ_128K, SZ_128K, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
devfs_add_partition("nand0", SZ_512K, SZ_128K, PARTITION_FIXED, "env_raw1");
dev_add_bb_dev("env_raw1", "env1");
armlinux_set_bootparams((void *)(AT91_CHIPSELECT_1 + 0x100));
if (machine_is_at91sam9g10ek())

View File

@ -0,0 +1,51 @@
#!/bin/sh
button_name="dfu_bp"
button_wait=5
product_id=0x1234
vendor_id=0x4321
dfu_config="/dev/nand0.barebox.bb(barebox)sr,/dev/nand0.kernel.bb(kernel)r,/dev/nand0.rootfs.bb(rootfs)r"
if [ $at91_udc0.vbus != 1 ]
then
echo "No USB Device cable plugged, normal boot"
exit
fi
gpio_get_value ${dfu_button}
if [ $? != 0 ]
then
autoboot_timeout=16
echo "enable tty over USB Device, increase the boot delay to ${autoboot_timeout}s"
usbserial
exit
fi
echo "${button_name} pressed detected wait ${button_wait}s"
timeout -s -a ${button_wait}
if [ $at91_udc0.vbus != 1 ]
then
echo "No USB Device cable plugged, normal boot"
exit
fi
gpio_get_value ${dfu_button}
if [ $? != 0 ]
then
echo "${button_name} released, normal boot"
autoboot_timeout=16
echo "enable tty over USB Device, increase the boot delay to ${autoboot_timeout}s"
usbserial
exit
fi
echo ""
echo "Start DFU Mode"
echo ""
led ds2 1
dfu ${dfu_config} -P ${product_id} -V ${vendor_id}
led ds2 0

View File

@ -2,7 +2,8 @@
# use 'dhcp' to do dhcp in barebox and in kernel
# use 'none' if you want to skip kernel ip autoconfiguration
ip=dhcp
ip=dhcp-barebox
dhcp_vendor_id=barebox-at91sam9263ek
# or set your networking parameters here
#eth0.ipaddr=a.b.c.d
@ -25,10 +26,10 @@ kernelimage=uImage
#kernelimage=Image.lzo
nand_device=atmel_nand
nand_parts="256k(barebox)ro,128k(bareboxenv),1536k(kernel),-(root)"
rootfs_mtdblock_nand=3
nand_parts="128k(at91bootstrap),256k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),4M(kernel),120M(rootfs),-(data)"
rootfs_mtdblock_nand=5
nor_parts="256k(barebox),64k(bareboxenv),1536k(kernel),-(root)"
nor_parts="256k(barebox),64k(bareboxenv),4M(kernel),-(root)"
autoboot_timeout=3

View File

@ -32,6 +32,7 @@
#include <io.h>
#include <asm/hardware.h>
#include <nand.h>
#include <sizes.h>
#include <linux/mtd/nand.h>
#include <mach/at91_pmc.h>
#include <mach/board.h>
@ -106,6 +107,63 @@ static void ek_add_device_mci(void)
static void ek_add_device_mci(void) {}
#endif
#ifdef CONFIG_LED_GPIO
struct gpio_led ek_leds[] = {
{
.gpio = AT91_PIN_PC29,
.active_low = 1,
.led = {
.name = "ds2",
},
}, {
.gpio = AT91_PIN_PB7,
.led = {
.name = "ds3",
},
},
};
static void ek_device_add_leds(void)
{
int i;
for (i = 0; i < ARRAY_SIZE(ek_leds); i++) {
at91_set_gpio_output(ek_leds[i].gpio, ek_leds[i].active_low);
led_gpio_register(&ek_leds[i]);
}
led_set_trigger(LED_TRIGGER_HEARTBEAT, &ek_leds[1].led);
}
#else
static void ek_device_add_leds(void) {}
#endif
#if defined(CONFIG_USB_GADGET_DRIVER_AT91)
/*
* USB Device port
*/
static struct at91_udc_data __initdata ek_udc_data = {
.vbus_pin = AT91_PIN_PA25,
.pullup_pin = -EINVAL, /* pull-up driven by UDC */
};
static void ek_add_device_udc(void)
{
at91_add_device_udc(&ek_udc_data);
}
#else
static void ek_add_device_udc(void) {}
#endif
static void __init ek_add_device_buttons(void)
{
at91_set_gpio_input(AT91_PIN_PC5, 1);
at91_set_deglitch(AT91_PIN_PC5, 1);
export_env_ull("dfu_button", AT91_PIN_PC5);
at91_set_gpio_input(AT91_PIN_PC4, 1);
at91_set_deglitch(AT91_PIN_PC4, 1);
export_env_ull("right_click", AT91_PIN_PC4);
}
static int at91sam9263ek_mem_init(void)
{
at91_add_device_sdram(64 * 1024 * 1024);
@ -125,19 +183,26 @@ static int at91sam9263ek_devices_init(void)
at91_set_gpio_value(AT91_PIN_PB27, 1); /* 1- enable, 0 - disable */
ek_add_device_nand();
at91_add_device_eth(&macb_pdata);
at91_add_device_eth(0, &macb_pdata);
add_cfi_flash_device(0, AT91_CHIPSELECT_0, 8 * 1024 * 1024, 0);
ek_add_device_mci();
ek_device_add_leds();
ek_add_device_udc();
ek_add_device_buttons();
#if defined(CONFIG_DRIVER_CFI) || defined(CONFIG_DRIVER_CFI_OLD)
devfs_add_partition("nor0", 0x00000, 0x40000, PARTITION_FIXED, "self");
devfs_add_partition("nor0", 0x40000, 0x20000, PARTITION_FIXED, "env0");
#elif defined(CONFIG_NAND_ATMEL)
devfs_add_partition("nand0", 0x00000, 0x80000, PARTITION_FIXED, "self_raw");
dev_add_bb_dev("self_raw", "self0");
devfs_add_partition("nand0", 0x80000, 0x20000, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
#endif
if (IS_ENABLED(CONFIG_DRIVER_CFI) && cdev_by_name("nor0")) {
devfs_add_partition("nor0", 0x00000, 0x40000, PARTITION_FIXED, "self");
devfs_add_partition("nor0", 0x40000, 0x20000, PARTITION_FIXED, "env0");
} else if (IS_ENABLED(CONFIG_NAND_ATMEL)) {
devfs_add_partition("nand0", 0x00000, SZ_128K, PARTITION_FIXED, "at91bootstrap_raw");
dev_add_bb_dev("at91bootstrap_raw", "at91bootstrap");
devfs_add_partition("nand0", SZ_128K, SZ_256K, PARTITION_FIXED, "self_raw");
dev_add_bb_dev("self_raw", "self0");
devfs_add_partition("nand0", SZ_256K + SZ_128K, SZ_128K, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
devfs_add_partition("nand0", SZ_512K, SZ_128K, PARTITION_FIXED, "env_raw1");
dev_add_bb_dev("env_raw1", "env1");
}
armlinux_set_bootparams((void *)(AT91_CHIPSELECT_1 + 0x100));
armlinux_set_architecture(MACH_TYPE_AT91SAM9263EK);

View File

@ -2,7 +2,8 @@
# use 'dhcp' to do dhcp in barebox and in kernel
# use 'none' if you want to skip kernel ip autoconfiguration
ip=dhcp
ip=dhcp-barebox
dhcp_vendor_id=barebox-at91sam9m10g45ek
# or set your networking parameters here
#eth0.ipaddr=a.b.c.d
@ -25,8 +26,8 @@ kernelimage=uImage
#kernelimage=Image.lzo
nand_device=atmel_nand
nand_parts="256k(barebox)ro,64k(bareboxenv),1536k(kernel),-(root)"
rootfs_mtdblock_nand=3
nand_parts="128k(at91bootstrap),256k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),4M(kernel),120M(rootfs),-(data)"
rootfs_mtdblock_nand=5
autoboot_timeout=3

View File

@ -33,6 +33,7 @@
#include <io.h>
#include <asm/hardware.h>
#include <nand.h>
#include <sizes.h>
#include <linux/mtd/nand.h>
#include <mach/at91_pmc.h>
#include <mach/board.h>
@ -127,6 +128,42 @@ static void ek_add_device_mci(void)
static void ek_add_device_mci(void) {}
#endif
#ifdef CONFIG_LED_GPIO
struct gpio_led ek_leds[] = {
{
.gpio = AT91_PIN_PD30,
.led = {
.name = "d8",
},
}, {
.active_low = 1,
.gpio = AT91_PIN_PD0,
.led = {
.name = "d6",
},
}, {
.active_low = 1,
.gpio = AT91_PIN_PD31,
.led = {
.name = "d7",
},
},
};
static void ek_device_add_leds(void)
{
int i;
for (i = 0; i < ARRAY_SIZE(ek_leds); i++) {
at91_set_gpio_output(ek_leds[i].gpio, ek_leds[i].active_low);
led_gpio_register(&ek_leds[i]);
}
led_set_trigger(LED_TRIGGER_HEARTBEAT, &ek_leds[0].led);
}
#else
static void ek_device_add_leds(void) {}
#endif
static int at91sam9m10g45ek_mem_init(void)
{
at91_add_device_sdram(128 * 1024 * 1024);
@ -138,13 +175,18 @@ mem_initcall(at91sam9m10g45ek_mem_init);
static int at91sam9m10g45ek_devices_init(void)
{
ek_add_device_nand();
at91_add_device_eth(&macb_pdata);
at91_add_device_eth(0, &macb_pdata);
ek_add_device_mci();
ek_device_add_leds();
devfs_add_partition("nand0", 0x00000, 0x80000, PARTITION_FIXED, "self_raw");
devfs_add_partition("nand0", 0x00000, SZ_128K, PARTITION_FIXED, "at91bootstrap_raw");
dev_add_bb_dev("at91bootstrap_raw", "at91bootstrap");
devfs_add_partition("nand0", SZ_128K, SZ_256K, PARTITION_FIXED, "self_raw");
dev_add_bb_dev("self_raw", "self0");
devfs_add_partition("nand0", 0x80000, 0x20000, PARTITION_FIXED, "env_raw");
devfs_add_partition("nand0", SZ_256K + SZ_128K, SZ_128K, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
devfs_add_partition("nand0", SZ_512K, SZ_128K, PARTITION_FIXED, "env_raw1");
dev_add_bb_dev("env_raw1", "env1");
armlinux_set_bootparams((void *)(AT91_CHIPSELECT_6 + 0x100));
armlinux_set_architecture(MACH_TYPE_AT91SAM9M10G45EK);

View File

@ -0,0 +1 @@
obj-y += init.o

View File

@ -0,0 +1,6 @@
#ifndef __CONFIG_H
#define __CONFIG_H
#define AT91_MAIN_CLOCK 12000000 /* 12 MHz crystal */
#endif /* __CONFIG_H */

38
arch/arm/boards/at91sam9x5ek/env/config vendored Normal file
View File

@ -0,0 +1,38 @@
#!/bin/sh
# use 'dhcp' to do dhcp in barebox and in kernel
# use 'none' if you want to skip kernel ip autoconfiguration
ip=dhcp-barebox
dhcp_vendor_id=barebox-at91sam9x5ek
# or set your networking parameters here
#eth0.ipaddr=a.b.c.d
#eth0.netmask=a.b.c.d
#eth0.gateway=a.b.c.d
#eth0.serverip=a.b.c.d
# can be either 'nfs', 'tftp', 'nor' or 'nand'
kernel_loc=nfs
# can be either 'net', 'nor', 'nand' or 'initrd'
rootfs_loc=net
# can be either 'jffs2' or 'ubifs'
rootfs_type=ubifs
rootfsimage=root.$rootfs_type
# The image type of the kernel. Can be uimage, zimage, raw, or raw_lzo
kernelimage=zImage
#kernelimage=uImage
#kernelimage=Image
#kernelimage=Image.lzo
nand_device=atmel_nand
nand_parts="256k(at91bootstrap),384k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),1152k(free),6M(kernel),120M(rootfs),-(data)"
rootfs_mtdblock_nand=5
autoboot_timeout=3
bootargs="console=ttyS0,115200"
# set a fancy prompt (if support is compiled in)
PS1="\e[1;32mbarebox@\e[1;31m\h:\w\e[0m\n# "

View File

@ -0,0 +1,167 @@
/*
* Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*/
#include <common.h>
#include <net.h>
#include <init.h>
#include <environment.h>
#include <fec.h>
#include <asm/armlinux.h>
#include <generated/mach-types.h>
#include <partition.h>
#include <fs.h>
#include <fcntl.h>
#include <io.h>
#include <asm/hardware.h>
#include <nand.h>
#include <sizes.h>
#include <linux/mtd/nand.h>
#include <mach/board.h>
#include <mach/at91sam9_smc.h>
#include <mach/sam9_smc.h>
#include <gpio.h>
#include <mach/io.h>
#include <mach/at91_pmc.h>
#include <mach/at91_rstc.h>
#include <gpio_keys.h>
#include <readkey.h>
static struct atmel_nand_data nand_pdata = {
.ale = 21,
.cle = 22,
.det_pin = 0,
.rdy_pin = AT91_PIN_PD5,
.enable_pin = AT91_PIN_PD4,
#if defined(CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16)
.bus_width_16 = 1,
#endif
.on_flash_bbt = 1,
};
static struct sam9_smc_config cm_nand_smc_config = {
.ncs_read_setup = 0,
.nrd_setup = 1,
.ncs_write_setup = 0,
.nwe_setup = 1,
.ncs_read_pulse = 6,
.nrd_pulse = 4,
.ncs_write_pulse = 5,
.nwe_pulse = 3,
.read_cycle = 6,
.write_cycle = 5,
.mode = AT91_SMC_READMODE | AT91_SMC_WRITEMODE | AT91_SMC_EXNWMODE_DISABLE,
.tdf_cycles = 1,
};
static void ek_add_device_nand(void)
{
/* setup bus-width (8 or 16) */
if (nand_pdata.bus_width_16)
cm_nand_smc_config.mode |= AT91_SMC_DBW_16;
else
cm_nand_smc_config.mode |= AT91_SMC_DBW_8;
/* configure chip-select 3 (NAND) */
sam9_smc_configure(3, &cm_nand_smc_config);
at91_add_device_nand(&nand_pdata);
}
static struct at91_ether_platform_data macb_pdata = {
.flags = AT91SAM_ETHER_RMII,
.phy_addr = 0,
};
/*
* USB Host port
*/
static struct at91_usbh_data __initdata ek_usbh_data = {
.ports = 2,
.vbus_pin = {AT91_PIN_PD20, AT91_PIN_PD19},
};
struct gpio_led leds[] = {
{
.gpio = AT91_PIN_PB18,
.active_low = 1,
.led = {
.name = "d1",
},
}, {
.gpio = AT91_PIN_PD21,
.led = {
.name = "d2",
},
},
};
static void __init ek_add_led(void)
{
int i;
for (i = 0; i < ARRAY_SIZE(leds); i++) {
at91_set_gpio_output(leds[i].gpio, leds[i].active_low);
led_gpio_register(&leds[i]);
}
led_set_trigger(LED_TRIGGER_HEARTBEAT, &leds[0].led);
}
static int at91sam9x5ek_mem_init(void)
{
at91_add_device_sdram(128 * 1024 * 1024);
return 0;
}
mem_initcall(at91sam9x5ek_mem_init);
static int at91sam9x5ek_devices_init(void)
{
ek_add_device_nand();
at91_add_device_eth(0, &macb_pdata);
at91_add_device_usbh_ohci(&ek_usbh_data);
ek_add_led();
armlinux_set_bootparams((void *)(AT91_CHIPSELECT_1 + 0x100));
armlinux_set_architecture(CONFIG_MACH_AT91SAM9X5EK);
devfs_add_partition("nand0", 0x00000, SZ_256K, PARTITION_FIXED, "at91bootstrap_raw");
dev_add_bb_dev("at91bootstrap_raw", "at91bootstrap");
devfs_add_partition("nand0", SZ_256K, SZ_256K + SZ_128K, PARTITION_FIXED, "self_raw");
dev_add_bb_dev("self_raw", "self0");
devfs_add_partition("nand0", SZ_512K + SZ_128K, SZ_128K, PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
devfs_add_partition("nand0", SZ_512K + SZ_256K, SZ_128K, PARTITION_FIXED, "env_raw1");
dev_add_bb_dev("env_raw1", "env1");
return 0;
}
device_initcall(at91sam9x5ek_devices_init);
static int at91sam9x5ek_console_init(void)
{
at91_register_uart(0, 0);
at91_register_uart(1, 0);
at91_register_uart(2, 0);
return 0;
}
console_initcall(at91sam9x5ek_console_init);

View File

@ -306,7 +306,8 @@ static int beagle_devices_init(void)
/* WP is made high and WAIT1 active Low */
gpmc_generic_init(0x10);
#endif
gpmc_generic_nand_devices_init(0, 16, OMAP_ECC_HAMMING_CODE_HW_ROMCODE);
gpmc_generic_nand_devices_init(0, 16,
OMAP_ECC_HAMMING_CODE_HW_ROMCODE, &omap3_nand_cfg);
add_generic_device("omap-hsmmc", -1, NULL, OMAP_MMC1_BASE, SZ_4K,
IORESOURCE_MEM, NULL);

View File

@ -131,7 +131,7 @@ static int dss11_devices_init(void)
{
dss11_add_device_nand();
dss11_phy_reset();
at91_add_device_eth(&macb_pdata);
at91_add_device_eth(0, &macb_pdata);
at91_add_device_mci(0, &dss11_mci_data);
at91_add_device_usbh_ohci(&dss11_usbh_data);

View File

@ -28,6 +28,7 @@
#include <environment.h>
#include <mach/imx-regs.h>
#include <asm/armlinux.h>
#include <asm-generic/sections.h>
#include <mach/gpio.h>
#include <io.h>
#include <asm/mmu.h>
@ -48,7 +49,6 @@
#include <mach/devices-imx25.h>
#include <asm/barebox-arm-head.h>
extern unsigned long _stext;
extern void exception_vectors(void);
void __naked __flash_header_start go(void)
@ -83,9 +83,7 @@ struct imx_flash_header __flash_header_section flash_header = {
.dcd_block_len = sizeof(dcd_entry),
};
extern unsigned long __bss_start;
unsigned long __image_len_section barebox_len = 0x40000;
unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE;
static struct fec_platform_data fec_info = {
.xcv_type = RMII,
@ -279,7 +277,7 @@ console_initcall(eukrea_cpuimx25_console_init);
#ifdef CONFIG_NAND_IMX_BOOT
void __bare_init nand_boot(void)
{
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
}
#endif

View File

@ -29,6 +29,7 @@
#include <io.h>
#include <mach/imx-nand.h>
#include <asm/barebox-arm.h>
#include <asm-generic/sections.h>
#include <asm-generic/memory_layout.h>
#include <asm/system.h>
@ -41,7 +42,7 @@ static void __bare_init __naked insdram(void)
r = STACK_BASE + STACK_SIZE - 12;
__asm__ __volatile__("mov sp, %0" : : "r"(r));
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
board_init_lowlevel_return();
}

View File

@ -30,6 +30,7 @@
#include <notifier.h>
#include <mach/gpio.h>
#include <asm/armlinux.h>
#include <asm-generic/sections.h>
#include <generated/mach-types.h>
#include <mach/pmic.h>
#include <partition.h>
@ -184,9 +185,7 @@ static int eukrea_cpuimx27_devices_init(void)
};
/* configure 16 bit nor flash on cs0 */
CS0U = 0x00008F03;
CS0L = 0xA0330D01;
CS0A = 0x002208C0;
imx27_setup_weimcs(0, 0x00008F03, 0xA0330D01, 0x002208C0);
/* initialize gpios */
for (i = 0; i < ARRAY_SIZE(mode); i++)
@ -232,9 +231,7 @@ static int eukrea_cpuimx27_console_init(void)
#endif
/* configure 8 bit UART on cs3 */
FMCR &= ~0x2;
CS3U = 0x0000D603;
CS3L = 0x0D1D0D01;
CS3A = 0x00D20000;
imx27_setup_weimcs(3, 0x0000D603, 0x0D1D0D01, 0x00D20000);
#ifdef CONFIG_DRIVER_SERIAL_NS16550
add_ns16550_device(-1, IMX_CS3_BASE + QUART_OFFSET, 0xf,
IORESOURCE_MEM_16BIT, &quad_uart_serial_plat);
@ -268,7 +265,7 @@ late_initcall(eukrea_cpuimx27_late_init);
#ifdef CONFIG_NAND_IMX_BOOT
void __bare_init nand_boot(void)
{
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
}
#endif

View File

@ -42,4 +42,4 @@ struct imx_flash_header __flash_header_section flash_header = {
.dcd_block_len = sizeof(dcd_entry),
};
unsigned long __image_len_section barebox_len = 0x40000;
unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE;

View File

@ -29,6 +29,7 @@
#include <io.h>
#include <mach/imx-nand.h>
#include <asm/barebox-arm.h>
#include <asm-generic/sections.h>
#include <asm-generic/memory_layout.h>
#include <asm/system.h>
@ -52,7 +53,7 @@ static void __bare_init __naked insdram(void)
r = STACK_BASE + STACK_SIZE - 12;
__asm__ __volatile__("mov sp, %0" : : "r"(r));
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
board_init_lowlevel_return();
}

View File

@ -33,7 +33,6 @@
#include <fcntl.h>
#include <nand.h>
#include <spi/spi.h>
#include <mfd/mc13892.h>
#include <io.h>
#include <asm/mmu.h>
#include <mach/imx-nand.h>

View File

@ -2,8 +2,6 @@
#include <mach/imx-flash-header.h>
#include <asm/barebox-arm-head.h>
extern unsigned long _stext;
void __naked __flash_header_start go(void)
{
barebox_arm_head();
@ -82,4 +80,4 @@ struct imx_flash_header __flash_header_section flash_header = {
.dcd_block_len = sizeof (dcd_entry),
};
unsigned long __image_len_section barebox_len = 0x40000;
unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE;

View File

@ -27,6 +27,7 @@
#include <environment.h>
#include <mach/imx-regs.h>
#include <asm/armlinux.h>
#include <asm-generic/sections.h>
#include <mach/gpio.h>
#include <io.h>
#include <partition.h>
@ -44,7 +45,6 @@
#include <mach/devices-imx25.h>
#include <asm/barebox-arm-head.h>
extern unsigned long _stext;
extern void exception_vectors(void);
void __naked __flash_header_start go(void)
@ -106,9 +106,7 @@ struct imx_flash_header __flash_header_section flash_header = {
.dcd_block_len = sizeof(dcd_entry),
};
extern unsigned long __bss_start;
unsigned long __image_len_section barebox_len = 0x40000;
unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE;
static struct fec_platform_data fec_info = {
.xcv_type = RMII,
@ -298,7 +296,7 @@ console_initcall(imx25_console_init);
#ifdef CONFIG_NAND_IMX_BOOT
void __bare_init nand_boot(void)
{
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
}
#endif

View File

@ -31,6 +31,8 @@
#include <asm/armlinux.h>
#include <asm/mmu.h>
#include <mach/fb.h>
#include <generated/mach-types.h>
#define MX28EVK_FEC_PHY_RESET_GPIO 141
@ -73,6 +75,39 @@ static const uint32_t mx28evk_pads[] = {
PWM3_GPIO | VE_3_3V | GPIO_OUT | GPIO_VALUE(0),
/* MCI write protect 1 = not protected */
SSP1_SCK_GPIO | VE_3_3V | GPIO_IN,
/* lcd */
LCD_WR_RWN_LCD_HSYNC | VE_3_3V | STRENGTH(S8MA),
LCD_RD_E_LCD_VSYNC | VE_3_3V | STRENGTH(S8MA),
LCD_CS_LCD_ENABLE | VE_3_3V | STRENGTH(S8MA),
LCD_RS_LCD_DOTCLK | VE_3_3V | STRENGTH(S8MA),
LCD_D0 | VE_3_3V | STRENGTH(S8MA),
LCD_D1 | VE_3_3V | STRENGTH(S8MA),
LCD_D2 | VE_3_3V | STRENGTH(S8MA),
LCD_D3 | VE_3_3V | STRENGTH(S8MA),
LCD_D4 | VE_3_3V | STRENGTH(S8MA),
LCD_D5 | VE_3_3V | STRENGTH(S8MA),
LCD_D6 | VE_3_3V | STRENGTH(S8MA),
LCD_D7 | VE_3_3V | STRENGTH(S8MA),
LCD_D8 | VE_3_3V | STRENGTH(S8MA),
LCD_D9 | VE_3_3V | STRENGTH(S8MA),
LCD_D10 | VE_3_3V | STRENGTH(S8MA),
LCD_D11 | VE_3_3V | STRENGTH(S8MA),
LCD_D12 | VE_3_3V | STRENGTH(S8MA),
LCD_D13 | VE_3_3V | STRENGTH(S8MA),
LCD_D14 | VE_3_3V | STRENGTH(S8MA),
LCD_D15 | VE_3_3V | STRENGTH(S8MA),
LCD_D16 | VE_3_3V | STRENGTH(S8MA),
LCD_D17 | VE_3_3V | STRENGTH(S8MA),
LCD_D18 | VE_3_3V | STRENGTH(S8MA),
LCD_D19 | VE_3_3V | STRENGTH(S8MA),
LCD_D20 | VE_3_3V | STRENGTH(S8MA),
LCD_D21 | VE_3_3V | STRENGTH(S8MA),
LCD_D22 | VE_3_3V | STRENGTH(S8MA),
LCD_D23 | VE_3_3V | STRENGTH(S8MA),
LCD_RESET_GPIO | VE_3_3V | GPIO_OUT | GPIO_VALUE(0),
/* backlight */
PWM2_GPIO | VE_3_3V | STRENGTH(S4MA) | SE | VE,
};
static struct mxs_mci_platform_data mci_pdata = {
@ -95,6 +130,54 @@ static struct fec_platform_data fec_info = {
.phy_addr = 0,
};
/* LCD */
static struct fb_videomode mx28_evk_vmodes[] = {
{
.name = "43WVF1G-0",
.refresh = 60,
.xres = 800,
.yres = 480,
.pixclock = 29851 /* (33,5 MHz) */,
.left_margin = 89,
.hsync_len = 10,
.right_margin = 164,
.upper_margin = 23,
.vsync_len = 10,
.lower_margin = 10,
.sync = FB_SYNC_DE_HIGH_ACT | FB_SYNC_CLK_INVERT,
.vmode = FB_VMODE_NONINTERLACED,
.flag = 0,
}
};
#define MAX_FB_SIZE SZ_2M
#define GPIO_LCD_RESET 126 /* Reset */
#define GPIO_BACKLIGHT 114 /* Backlight active */
static void mx28_evk_fb_enable(int enable)
{
gpio_direction_output(GPIO_LCD_RESET, enable);
/* Give the display a chance to sync before we enable
* the backlight to avoid flickering
*/
if (enable)
mdelay(200);
gpio_direction_output(GPIO_BACKLIGHT, enable);
}
static struct imx_fb_platformdata mx28_evk_fb_pdata = {
.mode_list = mx28_evk_vmodes,
.mode_cnt = ARRAY_SIZE(mx28_evk_vmodes),
.dotclk_delay = 0, /* no adaption required */
.ld_intf_width = STMLCDIF_24BIT, /* full 24 bit */
.bits_per_pixel = 32,
.fixed_screen = NULL,
.enable = mx28_evk_fb_enable,
};
static int mx28_evk_mem_init(void)
{
arm_add_mem_device("ram0", IMX_MEMORY_BASE, 128 * 1024 * 1024);
@ -122,6 +205,9 @@ static int mx28_evk_devices_init(void)
add_generic_device("mxs_mci", 0, NULL, IMX_SSP0_BASE, 0,
IORESOURCE_MEM, &mci_pdata);
add_generic_device("stmfb", 0, NULL, IMX_FB_BASE, 4096,
IORESOURCE_MEM, &mx28_evk_fb_pdata);
imx_enable_enetclk();
mx28_evk_fec_reset();
add_generic_device("fec_imx", 0, NULL, IMX_FEC0_BASE, 0,

View File

@ -37,6 +37,7 @@
#include <partition.h>
#include <asm/armlinux.h>
#include <asm-generic/sections.h>
#include <io.h>
#include <generated/mach-types.h>
@ -450,6 +451,6 @@ void __bare_init nand_boot(void)
* The driver is able to detect NAND's pagesize by CPU internal
* fuses or external pull ups. But not the blocksize...
*/
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
}
#endif

View File

@ -70,5 +70,5 @@ struct imx_flash_header __flash_header_section flash_header = {
.dcd_block_len = sizeof(dcd_entry),
};
unsigned long __image_len_section barebox_len = 0x40000;
unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE;

View File

@ -30,6 +30,7 @@
#include <fs.h>
#include <fcntl.h>
#include <nand.h>
#include <notifier.h>
#include <spi/spi.h>
#include <mfd/mc13892.h>
#include <io.h>
@ -130,94 +131,91 @@ static void babbage_power_init(void)
}
/* Write needed to Power Gate 2 register */
mc13892_reg_read(mc13892, 34, &val);
mc13892_reg_read(mc13892, MC13892_REG_POWER_MISC, &val);
val &= ~0x10000;
mc13892_reg_write(mc13892, 34, val);
mc13892_reg_write(mc13892, MC13892_REG_POWER_MISC, val);
/* Write needed to update Charger 0 */
mc13892_reg_write(mc13892, 48, 0x0023807F);
mc13892_reg_write(mc13892, MC13892_REG_CHARGE, 0x0023807F);
/* power up the system first */
mc13892_reg_write(mc13892, 34, 0x00200000);
mc13892_reg_write(mc13892, MC13892_REG_POWER_MISC, 0x00200000);
if (imx_silicon_revision() < MX51_CHIP_REV_3_0) {
/* Set core voltage to 1.1V */
mc13892_reg_read(mc13892, 24, &val);
mc13892_reg_read(mc13892, MC13892_REG_SW_0, &val);
val &= ~0x1f;
val |= 0x14;
mc13892_reg_write(mc13892, 24, val);
mc13892_reg_write(mc13892, MC13892_REG_SW_0, val);
/* Setup VCC (SW2) to 1.25 */
mc13892_reg_read(mc13892, 25, &val);
mc13892_reg_read(mc13892, MC13892_REG_SW_1, &val);
val &= ~0x1f;
val |= 0x1a;
mc13892_reg_write(mc13892, 25, val);
mc13892_reg_write(mc13892, MC13892_REG_SW_1, val);
/* Setup 1V2_DIG1 (SW3) to 1.25 */
mc13892_reg_read(mc13892, 26, &val);
mc13892_reg_read(mc13892, MC13892_REG_SW_2, &val);
val &= ~0x1f;
val |= 0x1a;
mc13892_reg_write(mc13892, 26, val);
udelay(50);
/* Raise the core frequency to 800MHz */
writel(0x0, MX51_CCM_BASE_ADDR + MX51_CCM_CACRR);
mc13892_reg_write(mc13892, MC13892_REG_SW_2, val);
} else {
/* Setup VCC (SW2) to 1.225 */
mc13892_reg_read(mc13892, 25, &val);
mc13892_reg_read(mc13892, MC13892_REG_SW_1, &val);
val &= ~0x1f;
val |= 0x19;
mc13892_reg_write(mc13892, 25, val);
mc13892_reg_write(mc13892, MC13892_REG_SW_1, val);
/* Setup 1V2_DIG1 (SW3) to 1.2 */
mc13892_reg_read(mc13892, 26, &val);
mc13892_reg_read(mc13892, MC13892_REG_SW_2, &val);
val &= ~0x1f;
val |= 0x18;
mc13892_reg_write(mc13892, 26, val);
mc13892_reg_write(mc13892, MC13892_REG_SW_2, val);
}
if (mc13892_get_revision(mc13892) < MC13892_REVISION_2_0) {
/* Set switchers in PWM mode for Atlas 2.0 and lower */
/* Setup the switcher mode for SW1 & SW2*/
mc13892_reg_read(mc13892, 28, &val);
mc13892_reg_read(mc13892, MC13892_REG_SW_4, &val);
val &= ~0x3c0f;
val |= 0x1405;
mc13892_reg_write(mc13892, 28, val);
mc13892_reg_write(mc13892, MC13892_REG_SW_4, val);
/* Setup the switcher mode for SW3 & SW4 */
mc13892_reg_read(mc13892, 29, &val);
mc13892_reg_read(mc13892, MC13892_REG_SW_5, &val);
val &= ~0xf0f;
val |= 0x505;
mc13892_reg_write(mc13892, 29, val);
mc13892_reg_write(mc13892, MC13892_REG_SW_5, val);
} else {
/* Set switchers in Auto in NORMAL mode & STANDBY mode for Atlas 2.0a */
/* Setup the switcher mode for SW1 & SW2*/
mc13892_reg_read(mc13892, 28, &val);
mc13892_reg_read(mc13892, MC13892_REG_SW_4, &val);
val &= ~0x3c0f;
val |= 0x2008;
mc13892_reg_write(mc13892, 28, val);
mc13892_reg_write(mc13892, MC13892_REG_SW_4, val);
/* Setup the switcher mode for SW3 & SW4 */
mc13892_reg_read(mc13892, 29, &val);
mc13892_reg_read(mc13892, MC13892_REG_SW_5, &val);
val &= ~0xf0f;
val |= 0x808;
mc13892_reg_write(mc13892, 29, val);
mc13892_reg_write(mc13892, MC13892_REG_SW_5, val);
}
/* Set VDIG to 1.65V, VGEN3 to 1.8V, VCAM to 2.5V */
mc13892_reg_read(mc13892, 30, &val);
mc13892_reg_read(mc13892, MC13892_REG_SETTING_0, &val);
val &= ~0x34030;
val |= 0x10020;
mc13892_reg_write(mc13892, 30, val);
mc13892_reg_write(mc13892, MC13892_REG_SETTING_0, val);
/* Set VVIDEO to 2.775V, VAUDIO to 3V, VSD to 3.15V */
mc13892_reg_read(mc13892, 31, &val);
mc13892_reg_read(mc13892, MC13892_REG_SETTING_1, &val);
val &= ~0x1FC;
val |= 0x1F4;
mc13892_reg_write(mc13892, 31, val);
mc13892_reg_write(mc13892, MC13892_REG_SETTING_1, val);
/* Configure VGEN3 and VCAM regulators to use external PNP */
val = 0x208;
mc13892_reg_write(mc13892, 33, val);
mc13892_reg_write(mc13892, MC13892_REG_MODE_1, val);
udelay(200);
#define GPIO_LAN8700_RESET (1 * 32 + 14)
@ -226,7 +224,7 @@ static void babbage_power_init(void)
/* Enable VGEN3, VCAM, VAUDIO, VVIDEO, VSD regulators */
val = 0x49249;
mc13892_reg_write(mc13892, 33, val);
mc13892_reg_write(mc13892, MC13892_REG_MODE_1, val);
udelay(500);
@ -245,6 +243,10 @@ static int f3s_devices_init(void)
babbage_power_init();
console_flush();
imx51_init_lowlevel();
clock_notifier_call_chain();
armlinux_set_bootparams((void *)0x90000100);
armlinux_set_architecture(MACH_TYPE_MX51_BABBAGE);
@ -266,8 +268,6 @@ static int f3s_console_init(void)
{
mxc_iomux_v3_setup_multiple_pads(f3s_pads, ARRAY_SIZE(f3s_pads));
imx51_init_lowlevel();
writel(0, 0x73fa8228);
writel(0, 0x73fa822c);
writel(0, 0x73fa8230);

View File

@ -2,8 +2,6 @@
#include <mach/imx-flash-header.h>
#include <asm/barebox-arm-head.h>
extern unsigned long _stext;
void __naked __flash_header_start go(void)
{
barebox_arm_head();
@ -82,5 +80,5 @@ struct imx_flash_header __flash_header_section flash_header = {
.dcd_block_len = sizeof (dcd_entry),
};
unsigned long __image_len_section barebox_len = 0x40000;
unsigned long __image_len_section barebox_len = DCD_BAREBOX_SIZE;

View File

@ -165,7 +165,7 @@ static struct esdhc_platform_data loco_sd3_data = {
static int loco_devices_init(void)
{
imx51_iim_register_fec_ethaddr();
imx53_iim_register_fec_ethaddr();
imx53_add_fec(&fec_info);
imx53_add_mmc0(&loco_sd1_data);
imx53_add_mmc2(&loco_sd3_data);

View File

@ -90,7 +90,7 @@ struct imx_flash_header_v2 __flash_header_section flash_header = {
.self = APP_DEST + 0x400,
.boot_data.start = APP_DEST,
.boot_data.size = 0x40000,
.boot_data.size = DCD_BAREBOX_SIZE,
.dcd.header.tag = DCD_HEADER_TAG,
.dcd.header.length = cpu_to_be16(sizeof(struct imx_dcd) + sizeof(dcd_entry)),

View File

@ -133,7 +133,7 @@ static struct esdhc_platform_data loco_sd3_data = {
static int smd_devices_init(void)
{
imx51_iim_register_fec_ethaddr();
imx53_iim_register_fec_ethaddr();
imx53_add_fec(&fec_info);
imx53_add_mmc0(&loco_sd1_data);
imx53_add_mmc2(&loco_sd3_data);

View File

@ -90,7 +90,7 @@ struct imx_flash_header_v2 __flash_header_section flash_header = {
.self = APP_DEST + 0x400,
.boot_data.start = APP_DEST,
.boot_data.size = 0x40000,
.boot_data.size = DCD_BAREBOX_SIZE,
.dcd.header.tag = DCD_HEADER_TAG,
.dcd.header.length = cpu_to_be16(sizeof(struct imx_dcd) + sizeof(dcd_entry)),

View File

@ -29,6 +29,7 @@
#include <io.h>
#include <mach/imx-nand.h>
#include <asm/barebox-arm.h>
#include <asm-generic/sections.h>
#include <asm-generic/memory_layout.h>
#include <asm/system.h>
@ -59,7 +60,7 @@ static void __bare_init __naked insdram(void)
r = STACK_BASE + STACK_SIZE - 12;
__asm__ __volatile__("mov sp, %0" : : "r"(r));
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
board_init_lowlevel_return();
}

View File

@ -30,7 +30,7 @@
#include <nand.h>
#include <command.h>
#include <spi/spi.h>
#include <usb/isp1504.h>
#include <usb/ulpi.h>
#include <io.h>
#include <asm/mmu.h>
@ -133,7 +133,7 @@ static void neso_usbh_init(void)
gpio_set_value(USBH2_PHY_CS_GPIO, 0);
mdelay(10);
isp1504_set_vbus_power((void *)(IMX_OTG_BASE + 0x570), 1);
ulpi_setup((void *)(IMX_OTG_BASE + 0x570), 1);
}
#endif

View File

@ -30,6 +30,7 @@
#include <mach/imx-nand.h>
#include <asm/barebox-arm.h>
#include <asm/system.h>
#include <asm-generic/sections.h>
#include <asm-generic/memory_layout.h>
#ifdef CONFIG_NAND_IMX_BOOT
@ -43,7 +44,7 @@ static void __bare_init __naked insdram(void)
r = STACK_BASE + STACK_SIZE - 12;
__asm__ __volatile__("mov sp, %0" : : "r"(r));
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
board_init_lowlevel_return();
}

View File

@ -27,6 +27,7 @@
#include <environment.h>
#include <mach/imx-regs.h>
#include <asm/armlinux.h>
#include <asm-generic/sections.h>
#include <io.h>
#include <mach/gpio.h>
#include <partition.h>
@ -203,7 +204,7 @@ console_initcall(mx21ads_console_init);
void __bare_init nand_boot(void)
{
PCCR0 |= PCCR0_NFC_EN;
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
}
#endif

View File

@ -42,15 +42,11 @@ static struct fec_platform_data fec_info = {
static int imx27ads_timing_init(void)
{
/* configure cpld on cs4 */
CS4U = 0x0000DCF6;
CS4L = 0x444A4541;
CS4A = 0x44443302;
imx27_setup_weimcs(4, 0x0000DCF6, 0x444A4541, 0x44443302);
/* configure synchronous mode for
* 16 bit nor flash on cs0 */
CS0U = 0x0000CC03;
CS0L = 0xa0330D01;
CS0A = 0x00220800;
imx27_setup_weimcs(0, 0x0000CC03, 0xa0330D01, 0x00220800);
writew(0x00f0, 0xc0000000);
writew(0x00aa, 0xc0000aaa);
@ -59,9 +55,7 @@ static int imx27ads_timing_init(void)
writew(0x66ca, 0xc0000aaa);
writew(0x00f0, 0xc0000000);
CS0U = 0x23524E80;
CS0L = 0x10000D03;
CS0A = 0x00720900;
imx27_setup_weimcs(0, 0x23524E80, 0x10000D03, 0x00720900);
/* Select FEC data through data path */
writew(0x0020, IMX_CS4_BASE + 0x10);

View File

@ -27,6 +27,7 @@
#include <environment.h>
#include <mach/imx-regs.h>
#include <asm/armlinux.h>
#include <asm-generic/sections.h>
#include <mach/gpio.h>
#include <io.h>
#include <partition.h>
@ -167,7 +168,7 @@ console_initcall(tx25_console_init);
#ifdef CONFIG_NAND_IMX_BOOT
void __bare_init nand_boot(void)
{
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
}
#endif

View File

@ -28,6 +28,7 @@
#include <mach/imx-nand.h>
#include <asm/barebox-arm.h>
#include <asm/system.h>
#include <asm-generic/sections.h>
#include <asm-generic/memory_layout.h>
#ifdef CONFIG_NAND_IMX_BOOT
@ -39,7 +40,7 @@ static void __bare_init __naked insdram(void)
r = STACK_BASE + STACK_SIZE - 12;
__asm__ __volatile__("mov sp, %0" : : "r"(r));
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
board_init_lowlevel_return();
}

View File

@ -60,7 +60,7 @@ static int mmccpu_devices_init(void)
at91_set_gpio_output(AT91_PIN_PB27, 1);
at91_set_gpio_value(AT91_PIN_PB27, 1); /* 1- enable, 0 - disable */
at91_add_device_eth(&macb_pdata);
at91_add_device_eth(0, &macb_pdata);
add_cfi_flash_device(0, AT91_CHIPSELECT_0, 0, 0);
devfs_add_partition("nor0", 0x00000, 256 * 1024, PARTITION_FIXED, "self0");

View File

@ -44,37 +44,6 @@ static const struct ddr_regs ddr_regs_400_mhz_2cs = {
.mr2 = 0x4
};
#define I2C_SLAVE 0x12
static int noinline scale_vcores(void)
{
unsigned int rev = omap4_revision();
/* For VC bypass only VCOREx_CGF_FORCE is necessary and
* VCOREx_CFG_VOLTAGE changes can be discarded
*/
writel(0, OMAP44XX_PRM_VC_CFG_I2C_MODE);
writel(0x6026, OMAP44XX_PRM_VC_CFG_I2C_CLK);
/* set VCORE1 force VSEL */
omap4_power_i2c_send((0x3A55 << 8) | I2C_SLAVE);
/* FIXME: set VCORE2 force VSEL, Check the reset value */
omap4_power_i2c_send((0x295B << 8) | I2C_SLAVE);
/* set VCORE3 force VSEL */
switch (rev) {
case OMAP4430_ES2_0:
omap4_power_i2c_send((0x2961 << 8) | I2C_SLAVE);
break;
case OMAP4430_ES2_1:
omap4_power_i2c_send((0x2A61 << 8) | I2C_SLAVE);
break;
}
return 0;
}
static void noinline panda_init_lowlevel(void)
{
struct dpll_param core = OMAP4_CORE_DPLL_PARAM_38M4_DDR400;
@ -101,7 +70,7 @@ static void noinline panda_init_lowlevel(void)
omap4_ddr_init(&ddr_regs_400_mhz_2cs, &core);
/* Set VCORE1 = 1.3 V, VCORE2 = VCORE3 = 1.21V */
scale_vcores();
omap4_scale_vcores();
board_init_lowlevel_return();
}

View File

@ -238,20 +238,11 @@ static const struct pad_conf_entry wkup_padconf_array[] = {
{ PAD0_FREF_CLK4_OUT, M3 /* gpio_wk8 */ },
};
static void do_set_mux(u32 base, struct pad_conf_entry const *array, int size)
{
int i;
struct pad_conf_entry *pad = (struct pad_conf_entry *) array;
for (i = 0; i < size; i++, pad++)
writew(pad->val, base + pad->offset);
}
void set_muxconf_regs(void)
{
do_set_mux(OMAP44XX_CONTROL_PADCONF_CORE, core_padconf_array,
omap4_do_set_mux(OMAP44XX_CONTROL_PADCONF_CORE, core_padconf_array,
ARRAY_SIZE(core_padconf_array));
do_set_mux(OMAP44XX_CONTROL_PADCONF_WKUP, wkup_padconf_array,
omap4_do_set_mux(OMAP44XX_CONTROL_PADCONF_WKUP, wkup_padconf_array,
ARRAY_SIZE(wkup_padconf_array));
}

View File

@ -27,10 +27,11 @@
#include <driver.h>
#include <fs.h>
#include <environment.h>
#include <usb/isp1504.h>
#include <usb/ulpi.h>
#include <mach/imx-regs.h>
#include <mach/iomux-mx31.h>
#include <asm/armlinux.h>
#include <asm-generic/sections.h>
#include <mach/gpio.h>
#include <io.h>
#include <asm/mmu.h>
@ -92,7 +93,7 @@ static void pcm037_usb_init(void)
imx_iomux_mode(MX31_PIN_USBOTG_STP__USBOTG_STP);
mdelay(50);
isp1504_set_vbus_power((void *)(IMX_OTG_BASE + 0x170), 1);
ulpi_setup((void *)(IMX_OTG_BASE + 0x170), 1);
/* Host 2 */
tmp = readl(IOMUXC_BASE + 0x8);
@ -137,7 +138,7 @@ static void pcm037_usb_init(void)
writel(tmp, IMX_OTG_BASE + 0x584);
mdelay(50);
isp1504_set_vbus_power((void *)(IMX_OTG_BASE + 0x570), 1);
ulpi_setup((void *)(IMX_OTG_BASE + 0x570), 1);
/* Set to Host mode */
tmp = readl(IMX_OTG_BASE + 0x1a8);
@ -245,6 +246,6 @@ console_initcall(imx31_console_init);
#ifdef CONFIG_NAND_IMX_BOOT
void __bare_init nand_boot(void)
{
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
}
#endif

View File

@ -30,6 +30,7 @@
#include <asm/barebox-arm.h>
#include <asm/system.h>
#include <asm-generic/memory_layout.h>
#include <asm-generic/sections.h>
#include "pll.h"
@ -44,7 +45,7 @@ static void __bare_init __naked insdram(void)
r = STACK_BASE + STACK_SIZE - 12;
__asm__ __volatile__("mov sp, %0" : : "r"(r));
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
board_init_lowlevel_return();
}

View File

@ -41,7 +41,7 @@
#include <mach/imxfb.h>
#include <asm/mmu.h>
#include <i2c/i2c.h>
#include <usb/isp1504.h>
#include <usb/ulpi.h>
#include <mach/spi.h>
#include <mach/iomux-mx27.h>
#include <mach/devices-imx27.h>
@ -127,7 +127,7 @@ static void pcm038_usbh_init(void)
mdelay(10);
isp1504_set_vbus_power((void *)(IMX_OTG_BASE + 0x570), 1);
ulpi_setup((void *)(IMX_OTG_BASE + 0x570), 1);
}
#endif
@ -224,19 +224,13 @@ static int pcm038_devices_init(void)
};
/* configure 16 bit nor flash on cs0 */
CS0U = 0x22C2CF00;
CS0L = 0x75000D01;
CS0A = 0x00000900;
imx27_setup_weimcs(0, 0x22C2CF00, 0x75000D01, 0x00000900);
/* configure SRAM on cs1 */
CS1U = 0x0000d843;
CS1L = 0x22252521;
CS1A = 0x22220a00;
imx27_setup_weimcs(1, 0x0000d843, 0x22252521, 0x22220a00);
/* configure SJA1000 on cs4 */
CS4U = 0x0000DCF6;
CS4L = 0x444A0301;
CS4A = 0x44443302;
imx27_setup_weimcs(4, 0x0000DCF6, 0x444A0301, 0x44443302);
/* initizalize gpios */
for (i = 0; i < ARRAY_SIZE(mode); i++)

View File

@ -29,6 +29,7 @@
#include <io.h>
#include <mach/imx-nand.h>
#include <asm/barebox-arm.h>
#include <asm-generic/sections.h>
#include <asm-generic/memory_layout.h>
#include <asm/system.h>
@ -57,7 +58,7 @@ static void __bare_init __naked insdram(void)
r = STACK_BASE + STACK_SIZE - 12;
__asm__ __volatile__("mov sp, %0" : : "r"(r));
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
board_init_lowlevel_return();
}

View File

@ -68,12 +68,12 @@ mem_initcall(pcm049_mem_init);
static struct gpmc_config net_cfg = {
.cfg = {
0x00001000, /* CONF1 */
0x001e1e01, /* CONF2 */
0x00080300, /* CONF3 */
0x1c091c09, /* CONF4 */
0x04181f1f, /* CONF5 */
0x00000FCF, /* CONF6 */
0xc1001000, /* CONF1 */
0x00070700, /* CONF2 */
0x00000000, /* CONF3 */
0x07000700, /* CONF4 */
0x09060909, /* CONF5 */
0x000003c2, /* CONF6 */
},
.base = 0x2C000000,
.size = GPMC_SIZE_16M,
@ -106,7 +106,8 @@ static int pcm049_devices_init(void)
pcm049_network_init();
gpmc_generic_nand_devices_init(0, 8, OMAP_ECC_BCH8_CODE_HW);
gpmc_generic_nand_devices_init(0, 8,
OMAP_ECC_BCH8_CODE_HW, &omap4_nand_cfg);
#ifdef CONFIG_PARTITION
devfs_add_partition("nand0", 0x00000, SZ_128K, PARTITION_FIXED, "xload_raw");

View File

@ -30,54 +30,22 @@
void set_muxconf_regs(void);
/* Erstmal 200Mhz... */
static const struct ddr_regs ddr_regs_mt42L64M64_3_200_mhz = {
.tim1 = 0x0aa8d4e3,
.tim2 = 0x202e0b92,
.tim3 = 0x009da2b3,
.phy_ctrl_1 = 0x849FF404, /* mostly from elpida */
.ref_ctrl = 0x0000030c, /* from elpida 200MHz! */
.config_init = 0x80000eb1,
.config_final = 0x80000eb1,
.zq_config = 0x500b3215, /* mostly from elpida */
.mr1 = 0x23, /* from elpida 200MHz! */
.mr2 = 0x1 /* from elpida 200MHz! */
static const struct ddr_regs ddr_regs_mt42L64M64_25_400_mhz = {
.tim1 = 0x0EEB0662,
.tim2 = 0x20370DD2,
.tim3 = 0x00BFC33F,
.phy_ctrl_1 = 0x849FF408,
.ref_ctrl = 0x00000618,
.config_init = 0x80001AB1,
.config_final = 0x80001AB1,
.zq_config = 0xd0093215,
.mr1 = 0x83,
.mr2 = 0x4
};
#define I2C_SLAVE 0x12
static int noinline scale_vcores(void)
{
unsigned int rev = omap4_revision();
/* For VC bypass only VCOREx_CGF_FORCE is necessary and
* VCOREx_CFG_VOLTAGE changes can be discarded
*/
writel(0, OMAP44XX_PRM_VC_CFG_I2C_MODE);
writel(0x6026, OMAP44XX_PRM_VC_CFG_I2C_CLK);
/* set VCORE1 force VSEL */
omap4_power_i2c_send((0x3A55 << 8) | I2C_SLAVE);
/* FIXME: set VCORE2 force VSEL, Check the reset value */
omap4_power_i2c_send((0x295B << 8) | I2C_SLAVE);
/* set VCORE3 force VSEL */
switch (rev) {
case OMAP4430_ES2_0:
omap4_power_i2c_send((0x2961 << 8) | I2C_SLAVE);
break;
case OMAP4430_ES2_1:
omap4_power_i2c_send((0x2A61 << 8) | I2C_SLAVE);
break;
}
return 0;
}
static void noinline pcm049_init_lowlevel(void)
{
struct dpll_param core = OMAP4_CORE_DPLL_PARAM_19M2_DDR200;
struct dpll_param core = OMAP4_CORE_DPLL_PARAM_19M2_DDR400;
struct dpll_param mpu = OMAP4_MPU_DPLL_PARAM_19M2_MPU1000;
struct dpll_param iva = OMAP4_IVA_DPLL_PARAM_19M2;
struct dpll_param per = OMAP4_PER_DPLL_PARAM_19M2;
@ -86,10 +54,10 @@ static void noinline pcm049_init_lowlevel(void)
set_muxconf_regs();
omap4_ddr_init(&ddr_regs_mt42L64M64_3_200_mhz, &core);
omap4_ddr_init(&ddr_regs_mt42L64M64_25_400_mhz, &core);
/* Set VCORE1 = 1.3 V, VCORE2 = VCORE3 = 1.21V */
scale_vcores();
omap4_scale_vcores();
writel(CM_SYS_CLKSEL_19M2, CM_SYS_CLKSEL);

View File

@ -49,27 +49,27 @@ static const struct pad_conf_entry core_padconf_array[] = {
{C2C_DATA13, (IDIS | PTU | EN | M0)}, /* gpmc_nsc5 */
{C2C_DATA14, (SAFE_MODE)}, /* nc */
{C2C_DATA15, (SAFE_MODE)}, /* nc */
{HDMI_HPD, (M0)}, /* hdmi_hpd */
{HDMI_CEC, (DIS | IEN | M3)}, /* gpio_64 */
{HDMI_DDC_SCL, (PTU | M0)}, /* hdmi_ddc_scl */
{HDMI_DDC_SDA, (PTU | IEN | M0)}, /* hdmi_ddc_sda */
{CSI21_DX0, (IEN | M0)}, /* csi21_dx0 */
{CSI21_DY0, (IEN | M0)}, /* csi21_dy0 */
{CSI21_DX1, (IEN | M0)}, /* csi21_dx1 */
{CSI21_DY1, (IEN | M0)}, /* csi21_dy1 */
{CSI21_DX2, (IEN | M0)}, /* csi21_dx2 */
{CSI21_DY2, (IEN | M0)}, /* csi21_dy2 */
{CSI21_DX3, (PTD | M7)}, /* csi21_dx3 */
{CSI21_DY3, (PTD | M7)}, /* csi21_dy3 */
{CSI21_DX4, (PTD | OFF_EN | OFF_PD | OFF_IN | M7)}, /* csi21_dx4 */
{CSI21_DY4, (PTD | OFF_EN | OFF_PD | OFF_IN | M7)}, /* csi21_dy4 */
{CSI22_DX0, (IEN | M0)}, /* csi22_dx0 */
{CSI22_DY0, (IEN | M0)}, /* csi22_dy0 */
{CSI22_DX1, (IEN | M0)}, /* csi22_dx1 */
{CSI22_DY1, (IEN | M0)}, /* csi22_dy1 */
{CAM_SHUTTER, (OFF_EN | OFF_PD | OFF_OUT_PTD | M0)}, /* cam_shutter */
{CAM_STROBE, (OFF_EN | OFF_PD | OFF_OUT_PTD | M0)}, /* cam_strobe */
{CAM_GLOBALRESET, (PTD | OFF_EN | OFF_PD | OFF_OUT_PTD | M3)}, /* gpio_83 */
{HDMI_HPD, (SAFE_MODE)}, /* unused */
{HDMI_CEC, (SAFE_MODE)}, /* unused */
{HDMI_DDC_SCL, (SAFE_MODE)}, /* unused */
{HDMI_DDC_SDA, (SAFE_MODE)}, /* unused */
{CSI21_DX0, (SAFE_MODE)}, /* unused */
{CSI21_DY0, (SAFE_MODE)}, /* unused */
{CSI21_DX1, (SAFE_MODE)}, /* unused */
{CSI21_DY1, (SAFE_MODE)}, /* unused */
{CSI21_DX2, (SAFE_MODE)}, /* unused */
{CSI21_DY2, (SAFE_MODE)}, /* unused */
{CSI21_DX3, (SAFE_MODE)}, /* unused */
{CSI21_DY3, (SAFE_MODE)}, /* unused */
{CSI21_DX4, (SAFE_MODE)}, /* unused */
{CSI21_DY4, (SAFE_MODE)}, /* unused */
{CSI22_DX0, (SAFE_MODE)}, /* unused */
{CSI22_DY0, (SAFE_MODE)}, /* unused */
{CSI22_DX1, (SAFE_MODE)}, /* unused */
{CSI22_DY1, (SAFE_MODE)}, /* unused */
{CAM_SHUTTER, (SAFE_MODE)}, /* unused */
{CAM_STROBE, (SAFE_MODE)}, /* unused */
{CAM_GLOBALRESET, (SAFE_MODE)}, /* unused */
{USBB1_ULPITLL_CLK, (PTD | IEN | OFF_EN | OFF_PD | OFF_IN | M4)},/* usbb1_ulpiphy_clk */
{USBB1_ULPITLL_STP, (OFF_EN | OFF_OUT_PTD | M4)}, /* usbb1_ulpiphy_stp */
{USBB1_ULPITLL_DIR, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dir */
@ -82,57 +82,57 @@ static const struct pad_conf_entry core_padconf_array[] = {
{USBB1_ULPITLL_DAT5, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dat5 */
{USBB1_ULPITLL_DAT6, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dat6 */
{USBB1_ULPITLL_DAT7, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dat7 */
{USBB1_HSIC_DATA, (DIS | IEN | M3)}, /* gpio_96 */
{USBB1_HSIC_STROBE, (DIS | IEN | M3)}, /* gpio_97 */
{USBC1_ICUSB_DP, (IEN | M0)}, /* usbc1_icusb_dp */
{USBC1_ICUSB_DM, (IEN | M0)}, /* usbc1_icusb_dm */
{USBB1_HSIC_DATA, (SAFE_MODE)}, /* nc */
{USBB1_HSIC_STROBE, (SAFE_MODE)}, /* nc */
{USBC1_ICUSB_DP, (SAFE_MODE)}, /* unused */
{USBC1_ICUSB_DM, (SAFE_MODE)}, /* unused */
{SDMMC1_CLK, (PTU | OFF_EN | OFF_OUT_PTD | M0)}, /* sdmmc1_clk */
{SDMMC1_CMD, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_cmd */
{SDMMC1_DAT0, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_dat0 */
{SDMMC1_DAT1, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_dat1 */
{SDMMC1_DAT2, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_dat2 */
{SDMMC1_DAT3, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_dat3 */
{SDMMC1_DAT4, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_dat4 */
{SDMMC1_DAT5, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_dat5 */
{SDMMC1_DAT6, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_dat6 */
{SDMMC1_DAT7, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_dat7 */
{ABE_MCBSP2_CLKX, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* abe_mcbsp2_clkx */
{ABE_MCBSP2_DR, (IEN | OFF_EN | OFF_OUT_PTD | M0)}, /* abe_mcbsp2_dr */
{ABE_MCBSP2_DX, (OFF_EN | OFF_OUT_PTD | M0)}, /* abe_mcbsp2_dx */
{ABE_MCBSP2_FSX, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* abe_mcbsp2_fsx */
{ABE_MCBSP1_CLKX, (DIS | IEN | M3)}, /* gpio_114 */
{ABE_MCBSP1_DR, (DIS | IEN | M3)}, /* gpio_115 */
{ABE_MCBSP1_DX, (DIS | IEN | M3)}, /* gpio_116 */
{ABE_MCBSP1_FSX, (DIS | IEN | M2)}, /* abe_mcasp_amutein */
{ABE_PDM_UL_DATA, (IEN | OFF_EN | OFF_OUT_PTD | M1)}, /* abe_mcbsp3_dr */
{ABE_PDM_DL_DATA, (OFF_EN | OFF_OUT_PTD | M1)}, /* abe_mcbsp3_dx */
{ABE_PDM_FRAME, (IEN | OFF_EN | OFF_PD | OFF_IN | M1)}, /* abe_mcbsp3_clkx */
{ABE_PDM_LB_CLK, (IEN | OFF_EN | OFF_PD | OFF_IN | M1)}, /* abe_mcbsp3_fsx */
{ABE_CLKS, (DIS | IEN | M3)}, /* gpio_118 */
{SDMMC1_DAT4, (SAFE_MODE)}, /* unused */
{SDMMC1_DAT5, (SAFE_MODE)}, /* unused */
{SDMMC1_DAT6, (SAFE_MODE)}, /* unused */
{SDMMC1_DAT7, (SAFE_MODE)}, /* unused */
{ABE_MCBSP2_CLKX, (SAFE_MODE)}, /* unused */
{ABE_MCBSP2_DR, (SAFE_MODE)}, /* unused */
{ABE_MCBSP2_DX, (SAFE_MODE)}, /* unused */
{ABE_MCBSP2_FSX, (SAFE_MODE)}, /* unused */
{ABE_MCBSP1_CLKX, (SAFE_MODE)}, /* unused */
{ABE_MCBSP1_DR, (SAFE_MODE)}, /* unused */
{ABE_MCBSP1_DX, (SAFE_MODE)}, /* unused */
{ABE_MCBSP1_FSX, (SAFE_MODE)}, /* unused */
{ABE_PDM_UL_DATA, (SAFE_MODE)}, /* unused */
{ABE_PDM_DL_DATA, (SAFE_MODE)}, /* unused */
{ABE_PDM_FRAME, (SAFE_MODE)}, /* unused */
{ABE_PDM_LB_CLK, (SAFE_MODE)}, /* unused */
{ABE_CLKS, (SAFE_MODE)}, /* unused */
{ABE_DMIC_CLK1, (SAFE_MODE)}, /* nc */
{ABE_DMIC_DIN1, (SAFE_MODE)}, /* nc */
{ABE_DMIC_DIN2, (SAFE_MODE)}, /* nc */
{ABE_DMIC_DIN3, (SAFE_MODE)}, /* nc */
{UART2_CTS, (PTU | IEN | M0)}, /* uart2_cts */
{UART2_RTS, (M0)}, /* uart2_rts */
{UART2_RX, (PTU | IEN | M0)}, /* uart2_rx */
{UART2_TX, (M0)}, /* uart2_tx */
{HDQ_SIO, (M0)}, /* hdq_sio */
{ABE_DMIC_DIN1, (SAFE_MODE)}, /* unused */
{ABE_DMIC_DIN2, (DIS | IEN | M3)}, /* gpio_121 */
{ABE_DMIC_DIN3, (SAFE_MODE)}, /* unused */
{UART2_CTS, (SAFE_MODE)}, /* unused */
{UART2_RTS, (SAFE_MODE)}, /* unused */
{UART2_RX, (SAFE_MODE)}, /* unused */
{UART2_TX, (SAFE_MODE)}, /* unused */
{HDQ_SIO, (SAFE_MODE)}, /* unused */
{I2C1_SCL, (PTU | IEN | M0)}, /* i2c1_scl */
{I2C1_SDA, (PTU | IEN | M0)}, /* i2c1_sda */
{I2C2_SCL, (PTU | IEN | M1)}, /* uart1_rx */
{I2C2_SDA, (M1)}, /* uart1_tx */
{I2C2_SCL, (SAFE_MODE)}, /* unused */
{I2C2_SDA, (SAFE_MODE)}, /* unused */
{I2C3_SCL, (PTU | IEN | M0)}, /* i2c3_scl */
{I2C3_SDA, (PTU | IEN | M0)}, /* i2c3_sda */
{I2C4_SCL, (PTU | IEN | M0)}, /* i2c4_scl */
{I2C4_SDA, (PTU | IEN | M0)}, /* i2c4_sda */
{MCSPI1_CLK, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* mcspi1_clk */
{MCSPI1_SOMI, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* mcspi1_somi */
{MCSPI1_SIMO, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* mcspi1_simo */
{MCSPI1_CS0, (PTD | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* mcspi1_cs0 */
{MCSPI1_CS1, (PTD | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* mcspi1_cs1 */
{MCSPI1_CS2, (PTD | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* mcspi1_cs2 */
{MCSPI1_CS3, (PTD | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* mcspi1_cs3 */
{MCSPI1_CLK, (SAFE_MODE)}, /* unused */
{MCSPI1_SOMI, (SAFE_MODE)}, /* unused */
{MCSPI1_SIMO, (SAFE_MODE)}, /* unused */
{MCSPI1_CS0, (SAFE_MODE)}, /* unused */
{MCSPI1_CS1, (SAFE_MODE)}, /* unused */
{MCSPI1_CS2, (SAFE_MODE)}, /* unused */
{MCSPI1_CS3, (SAFE_MODE)}, /* unused */
{UART3_CTS_RCTX, (PTU | IEN | M0)}, /* uart3_tx */
{UART3_RTS_SD, (M0)}, /* uart3_rts_sd */
{UART3_RX_IRRX, (IEN | M0)}, /* uart3_rx */
@ -147,82 +147,82 @@ static const struct pad_conf_entry core_padconf_array[] = {
{MCSPI4_SIMO, (PTU | IEN | M3)}, /* gpio_152 */
{MCSPI4_SOMI, (PTU | IEN | M3)}, /* gpio_153 */
{MCSPI4_CS0, (SAFE_MODE)}, /* nc */
{UART4_RX, (IEN | M0)}, /* uart4_rx */
{UART4_TX, (M0)}, /* uart4_tx */
{USBB2_ULPITLL_CLK, (IEN | M3)}, /* gpio_157 */
{USBB2_ULPITLL_STP, (IEN | M5)}, /* dispc2_data23 */
{USBB2_ULPITLL_DIR, (IEN | M5)}, /* dispc2_data22 */
{USBB2_ULPITLL_NXT, (IEN | M5)}, /* dispc2_data21 */
{USBB2_ULPITLL_DAT0, (IEN | M5)}, /* dispc2_data20 */
{USBB2_ULPITLL_DAT1, (IEN | M5)}, /* dispc2_data19 */
{USBB2_ULPITLL_DAT2, (IEN | M5)}, /* dispc2_data18 */
{USBB2_ULPITLL_DAT3, (IEN | M5)}, /* dispc2_data15 */
{USBB2_ULPITLL_DAT4, (IEN | M5)}, /* dispc2_data14 */
{USBB2_ULPITLL_DAT5, (IEN | M5)}, /* dispc2_data13 */
{USBB2_ULPITLL_DAT6, (IEN | M5)}, /* dispc2_data12 */
{USBB2_ULPITLL_DAT7, (IEN | M5)}, /* dispc2_data11 */
{UART4_RX, (SAFE_MODE)}, /* unused */
{UART4_TX, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_CLK, (SAFE_MODE)}, /* nc */
{USBB2_ULPITLL_STP, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DIR, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_NXT, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT0, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT1, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT2, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT3, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT4, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT5, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT6, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT7, (SAFE_MODE)}, /* unused */
{USBB2_HSIC_DATA, (SAFE_MODE)}, /* nc */
{USBB2_HSIC_STROBE, (SAFE_MODE)}, /* nc */
{UNIPRO_TX0, (OFF_EN | OFF_PD | OFF_IN | M1)}, /* kpd_col0 */
{UNIPRO_TY0, (OFF_EN | OFF_PD | OFF_IN | M1)}, /* kpd_col1 */
{UNIPRO_TX1, (OFF_EN | OFF_PD | OFF_IN | M1)}, /* kpd_col2 */
{UNIPRO_TY1, (OFF_EN | OFF_PD | OFF_IN | M1)}, /* kpd_col3 */
{UNIPRO_TX2, (OFF_EN | OFF_PD | OFF_IN | M1)}, /* kpd_col4 */
{UNIPRO_TY2, (SAFE_MODE)}, /* nc */
{UNIPRO_RX0, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)}, /* kpd_row0 */
{UNIPRO_RY0, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)}, /* kpd_row1 */
{UNIPRO_RX1, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)}, /* kpd_row2 */
{UNIPRO_RY1, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)}, /* kpd_row3 */
{UNIPRO_RX2, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M1)}, /* kpd_row4 */
{UNIPRO_RY2, (DIS | IEN | M3)}, /* gpio_3 */
{UNIPRO_TX0, (SAFE_MODE)}, /* unused */
{UNIPRO_TY0, (SAFE_MODE)}, /* unused */
{UNIPRO_TX1, (SAFE_MODE)}, /* unused */
{UNIPRO_TY1, (SAFE_MODE)}, /* unused */
{UNIPRO_TX2, (SAFE_MODE)}, /* unused */
{UNIPRO_TY2, (SAFE_MODE)}, /* unused */
{UNIPRO_RX0, (SAFE_MODE)}, /* unused */
{UNIPRO_RY0, (SAFE_MODE)}, /* unused */
{UNIPRO_RX1, (SAFE_MODE)}, /* unused */
{UNIPRO_RY1, (SAFE_MODE)}, /* unused */
{UNIPRO_RX2, (SAFE_MODE)}, /* unused */
{UNIPRO_RY2, (SAFE_MODE)}, /* unused */
{USBA0_OTG_CE, (PTD | OFF_EN | OFF_PD | OFF_OUT_PTD | M0)}, /* usba0_otg_ce */
{USBA0_OTG_DP, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* usba0_otg_dp */
{USBA0_OTG_DM, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* usba0_otg_dm */
{FREF_CLK1_OUT, (SAFE_MODE)}, /* nc */
{FREF_CLK2_OUT, (SAFE_MODE)}, /* nc */
{SYS_NIRQ1, (PTU | IEN | M0)}, /* sys_nirq1 */
{SYS_NIRQ2, (DIS | IEN | M3)}, /* gpio_183 */
{SYS_BOOT0, (PTU | IEN | M3)}, /* gpio_184 */
{SYS_BOOT1, (M3)}, /* gpio_185 */
{SYS_BOOT2, (PTD | IEN | M3)}, /* gpio_186 */
{SYS_BOOT3, (M3)}, /* gpio_187 */
{SYS_BOOT4, (M3)}, /* gpio_188 */
{SYS_BOOT5, (PTD | IEN | M3)}, /* gpio_189 */
{SYS_NIRQ2, (M0)}, /* sys_boot0 */
{SYS_BOOT0, (M0)}, /* sys_boot */
{SYS_BOOT1, (M0)}, /* sys_boot */
{SYS_BOOT2, (M0)}, /* sys_boot */
{SYS_BOOT3, (M0)}, /* sys_boot */
{SYS_BOOT4, (M0)}, /* sys_boot */
{SYS_BOOT5, (M0)}, /* sys_boot */
{DPM_EMU0, (IEN | M0)}, /* dpm_emu0 */
{DPM_EMU1, (IEN | M0)}, /* dpm_emu1 */
{DPM_EMU2, (SAFE_MODE)}, /* nc */
{DPM_EMU3, (SAFE_MODE)}, /* nc */
{DPM_EMU4, (SAFE_MODE)}, /* nc */
{DPM_EMU5, (SAFE_MODE)}, /* nc */
{DPM_EMU6, (SAFE_MODE)}, /* nc */
{DPM_EMU7, (SAFE_MODE)}, /* nc */
{DPM_EMU8, (SAFE_MODE)}, /* nc */
{DPM_EMU9, (SAFE_MODE)}, /* nc */
{DPM_EMU10, (SAFE_MODE)}, /* nc */
{DPM_EMU11, (SAFE_MODE)}, /* nc */
{DPM_EMU12, (SAFE_MODE)}, /* nc */
{DPM_EMU13, (SAFE_MODE)}, /* nc */
{DPM_EMU14, (SAFE_MODE)}, /* nc */
{DPM_EMU15, (DIS | M3)}, /* gpio_26 */
{DPM_EMU16, (M1)}, /* dmtimer8_pwm_evt */
{DPM_EMU17, (M1)}, /* dmtimer9_pwm_evt */
{DPM_EMU18, (IEN | M3)}, /* gpio_190 */
{DPM_EMU19, (IEN | M3)}, /* gpio_191 */
{DPM_EMU2, (SAFE_MODE)}, /* unused */
{DPM_EMU3, (SAFE_MODE)}, /* unused */
{DPM_EMU4, (SAFE_MODE)}, /* unused */
{DPM_EMU5, (SAFE_MODE)}, /* unused */
{DPM_EMU6, (SAFE_MODE)}, /* unused */
{DPM_EMU7, (SAFE_MODE)}, /* unused */
{DPM_EMU8, (SAFE_MODE)}, /* unused */
{DPM_EMU9, (SAFE_MODE)}, /* unused */
{DPM_EMU10, (SAFE_MODE)}, /* unused */
{DPM_EMU11, (SAFE_MODE)}, /* unused */
{DPM_EMU12, (SAFE_MODE)}, /* unused */
{DPM_EMU13, (SAFE_MODE)}, /* unused */
{DPM_EMU14, (SAFE_MODE)}, /* unused */
{DPM_EMU15, (SAFE_MODE)}, /* unused */
{DPM_EMU16, (SAFE_MODE)}, /* unused */
{DPM_EMU17, (SAFE_MODE)}, /* unused */
{DPM_EMU18, (SAFE_MODE)}, /* unused */
{DPM_EMU19, (SAFE_MODE)}, /* unused */
};
static const struct pad_conf_entry wkup_padconf_array[] = {
{PAD0_SIM_IO, (IEN | M3)}, /* gpio_wk0 */
{PAD1_SIM_CLK, (IEN | M3)}, /* gpio_wk1 */
{PAD0_SIM_RESET, (IEN | M3)}, /* gpio_wk2 */
{PAD1_SIM_CD, (SAFE_MODE)}, /* should be gpio_wk3 but muxed with gpio_3*/
{PAD0_SIM_PWRCTRL, (IEN | M3)}, /* gpio_wk4 */
{PAD0_SIM_IO, (SAFE_MODE)}, /* nc */
{PAD1_SIM_CLK, (SAFE_MODE)}, /* nc */
{PAD0_SIM_RESET, (SAFE_MODE)}, /* nc */
{PAD1_SIM_CD, (SAFE_MODE)}, /* nc */
{PAD0_SIM_PWRCTRL, (SAFE_MODE)}, /* nc */
{PAD1_SR_SCL, (PTU | IEN | M0)}, /* sr_scl */
{PAD0_SR_SDA, (PTU | IEN | M0)}, /* sr_sda */
{PAD1_FREF_XTAL_IN, (M0)}, /* # */
{PAD0_FREF_SLICER_IN, (SAFE_MODE)}, /* nc */
{PAD1_FREF_CLK_IOREQ, (SAFE_MODE)}, /* nc */
{PAD1_FREF_CLK_IOREQ, (SAFE_MODE)}, /* nc */
{PAD0_FREF_CLK0_OUT, (M2)}, /* sys_drm_msecure */
{PAD1_FREF_CLK3_REQ, (SAFE_MODE)}, /* nc */
{PAD1_FREF_CLK3_REQ, (IEN | M3)}, /* gpio_wk30 */
{PAD0_FREF_CLK3_OUT, (M0)}, /* fref_clk3_out */
{PAD1_FREF_CLK4_REQ, (M0)}, /* fref_clk4_req */
{PAD0_FREF_CLK4_OUT, (M0)}, /* fref_clk4_out */
@ -231,24 +231,15 @@ static const struct pad_conf_entry wkup_padconf_array[] = {
{PAD1_SYS_NRESWARM, (M0)}, /* sys_nreswarm */
{PAD0_SYS_PWR_REQ, (PTU | M0)}, /* sys_pwr_req */
{PAD1_SYS_PWRON_RESET, (M0)}, /* sys_pwron_reset_out */
{PAD0_SYS_BOOT6, (IEN | M3)}, /* gpio_wk9 */
{PAD1_SYS_BOOT7, (IEN | M3)}, /* gpio_wk10 */
{PAD0_SYS_BOOT6, (M0)}, /* sys_boot6 */
{PAD1_SYS_BOOT7, (M0)}, /* sys_boot7 */
};
static void do_set_mux(u32 base, struct pad_conf_entry const *array, int size)
{
int i;
struct pad_conf_entry *pad = (struct pad_conf_entry *) array;
for (i = 0; i < size; i++, pad++)
writew(pad->val, base + pad->offset);
}
void set_muxconf_regs(void)
{
do_set_mux(OMAP44XX_CONTROL_PADCONF_CORE, core_padconf_array,
omap4_do_set_mux(OMAP44XX_CONTROL_PADCONF_CORE, core_padconf_array,
ARRAY_SIZE(core_padconf_array));
do_set_mux(OMAP44XX_CONTROL_PADCONF_WKUP, wkup_padconf_array,
omap4_do_set_mux(OMAP44XX_CONTROL_PADCONF_WKUP, wkup_padconf_array,
ARRAY_SIZE(wkup_padconf_array));
}

View File

@ -332,7 +332,7 @@ static int pcaal1_late_init(void)
{
struct device_d *nand;
gpmc_generic_nand_devices_init(0, 16, OMAP_ECC_SOFT);
gpmc_generic_nand_devices_init(0, 16, OMAP_ECC_SOFT, &omap3_nand_cfg);
nand = get_device_by_name("nand0");

View File

@ -0,0 +1,20 @@
# (C) Copyright 2012 Jan Weitzel <j.weitzel@phytec.de>
#
# See file CREDITS for list of people who contributed to this
# project.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307 USA
obj-y += pca-a-xl2.o mux.o lowlevel.o

View File

@ -0,0 +1 @@
/* nothing */

View File

@ -0,0 +1,31 @@
echo "copying barebox to nand..."
mci0.probe=1
mkdir mnt
mount /dev/disk0.0 fat /mnt
if [ $? != 0 ]; then
echo "failed to mount mmc card"
exit 1
fi
if [ ! -f /mnt/mlo-nand.bin ]; then
echo "mlo-nand.bin not found on mmc card"
exit 1
fi
if [ ! -f /mnt/barebox.bin ]; then
echo "barebox.bin not found on mmc card"
fi
gpmc_nand0.eccmode=bch8_hw_romcode
erase /dev/nand0.xload.bb
cp /mnt/mlo-nand.bin /dev/nand0.xload.bb
gpmc_nand0.eccmode=bch8_hw
erase /dev/nand0.barebox.bb
cp /mnt/barebox.bin /dev/nand0.barebox.bb
echo "success"

View File

@ -0,0 +1,47 @@
#!/bin/sh
machine=pcaaxl2
user=
# use 'dhcp' to do dhcp in barebox and in kernel
# use 'none' if you want to skip kernel ip autoconfiguration
ip=dhcp
# or set your networking parameters here
#eth0.ipaddr=a.b.c.d
#eth0.netmask=a.b.c.d
#eth0.gateway=a.b.c.d
#eth0.serverip=a.b.c.d
# can be either 'nfs', 'tftp', 'nor' or 'nand'
kernel_loc=tftp
# can be either 'net', 'nor', 'nand' or 'initrd'
rootfs_loc=net
# can be either 'jffs2' or 'ubifs'
rootfs_type=ubifs
rootfsimage=root-${machine}.$rootfs_type
kernelimage=zImage-$machine
#kernelimage=uImage-$machine
#kernelimage=Image-$machine
#kernelimage=Image-${machine}.lzo
if [ -n $user ]; then
kernelimage="$user"-"$kernelimage"
nfsroot="$eth0.serverip:/home/$user/nfsroot/$machine"
rootfsimage="$user"-"$rootfsimage"
else
nfsroot="$eth0.serverip:/path/to/nfs/root"
fi
autoboot_timeout=3
bootargs="console=ttyO2,115200"
nand_parts="128k(xload)ro,256k(barebox),128k(bareboxenv),4M(kernel),-(root)"
rootfs_mtdblock_nand=4
# set a fancy prompt (if support is compiled in)
PS1="\e[1;32mbarebox@\e[1;31m\h:\w\e[0m "

View File

@ -0,0 +1,94 @@
/*
* (C) Copyright 2004-2009
* Texas Instruments, <www.ti.com>
* Richard Woodruff <r-woodruff2@ti.com>
*
* See file CREDITS for list of people who contributed to this
* project.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
#include <common.h>
#include <io.h>
#include <mach/omap4-mux.h>
#include <mach/omap4-silicon.h>
#include <mach/omap4-clock.h>
#include <mach/syslib.h>
#include <asm/barebox-arm.h>
void set_muxconf_regs(void);
static const struct ddr_regs ddr_regs_mt42L64M64_25_400_mhz = {
.tim1 = 0x0EEB0662,
.tim2 = 0x20370DD2,
.tim3 = 0x00BFC33F,
.phy_ctrl_1 = 0x849FF408,
.ref_ctrl = 0x00000618,
.config_init = 0x80001AB1,
.config_final = 0x80001AB1,
.zq_config = 0xd0093215,
.mr1 = 0x83,
.mr2 = 0x4
};
static noinline void pcaaxl2_init_lowlevel(void)
{
struct dpll_param core = OMAP4_CORE_DPLL_PARAM_19M2_DDR400;
struct dpll_param mpu = OMAP4_MPU_DPLL_PARAM_19M2_MPU1000;
struct dpll_param iva = OMAP4_IVA_DPLL_PARAM_19M2;
struct dpll_param per = OMAP4_PER_DPLL_PARAM_19M2;
struct dpll_param abe = OMAP4_ABE_DPLL_PARAM_19M2;
struct dpll_param usb = OMAP4_USB_DPLL_PARAM_19M2;
set_muxconf_regs();
omap4_ddr_init(&ddr_regs_mt42L64M64_25_400_mhz, &core);
/* Set VCORE1 = 1.3 V, VCORE2 = VCORE3 = 1.21V */
omap4_scale_vcores();
writel(CM_SYS_CLKSEL_19M2, CM_SYS_CLKSEL);
/* Configure all DPLL's at 100% OPP */
omap4_configure_mpu_dpll(&mpu);
omap4_configure_iva_dpll(&iva);
omap4_configure_per_dpll(&per);
omap4_configure_abe_dpll(&abe);
omap4_configure_usb_dpll(&usb);
/* Enable all clocks */
omap4_enable_all_clocks();
sr32(0x4A30a31C, 8, 1, 0x1); /* enable software ioreq */
sr32(0x4A30a31C, 1, 2, 0x0); /* set for sys_clk (19.2MHz) */
sr32(0x4A30a31C, 16, 4, 0x0); /* set divisor to 1 */
sr32(0x4A30a110, 0, 1, 0x1); /* set the clock source to active */
sr32(0x4A30a110, 2, 2, 0x3); /* enable clocks */
board_init_lowlevel_return();
}
void board_init_lowlevel(void)
{
u32 r;
if (get_pc() > 0x80000000)
return;
r = 0x4030d000;
__asm__ __volatile__("mov sp, %0" : : "r"(r));
pcaaxl2_init_lowlevel();
}

View File

@ -0,0 +1,245 @@
#include <common.h>
#include <init.h>
#include <io.h>
#include <mach/omap4-silicon.h>
#include <mach/omap4-mux.h>
static const struct pad_conf_entry core_padconf_array[] = {
{GPMC_AD0, (IEN | PTD | DIS | M0)}, /* gpmc_ad0 */
{GPMC_AD1, (IEN | PTD | DIS | M0)}, /* gpmc_ad1 */
{GPMC_AD2, (IEN | PTD | DIS | M0)}, /* gpmc_ad2 */
{GPMC_AD3, (IEN | PTD | DIS | M0)}, /* gpmc_ad3 */
{GPMC_AD4, (IEN | PTD | DIS | M0)}, /* gpmc_ad4 */
{GPMC_AD5, (IEN | PTD | DIS | M0)}, /* gpmc_ad5 */
{GPMC_AD6, (IEN | PTD | DIS | M0)}, /* gpmc_ad6 */
{GPMC_AD7, (IEN | PTD | DIS | M0)}, /* gpmc_ad7 */
{GPMC_AD8, (IEN | PTD | DIS | M0)}, /* gpmc_ad8 */
{GPMC_AD9, (IEN | PTD | DIS | M0)}, /* gpmc_ad9 */
{GPMC_AD10, (IEN | PTD | DIS | M0)}, /* gpmc_ad10 */
{GPMC_AD11, (IEN | PTD | DIS | M0)}, /* gpmc_ad11 */
{GPMC_AD12, (IEN | PTD | DIS | M0)}, /* gpmc_ad12 */
{GPMC_AD13, (IEN | PTD | DIS | M0)}, /* gpmc_ad13 */
{GPMC_AD14, (IEN | PTD | DIS | M0)}, /* gpmc_ad14 */
{GPMC_AD15, (IEN | PTD | DIS | M0)}, /* gpmc_ad15 */
{GPMC_A16, (IEN | PTD | DIS | M0)}, /* gpmc_a16 */
{GPMC_A17, (SAFE_MODE)}, /* nc */
{GPMC_A18, (SAFE_MODE)}, /* nc */
{GPMC_A19, (SAFE_MODE)}, /* nc */
{GPMC_A20, (SAFE_MODE)}, /* nc */
{GPMC_A21, (SAFE_MODE)}, /* nc */
{GPMC_A22, (SAFE_MODE)}, /* nc */
{GPMC_A23, (SAFE_MODE)}, /* nc */
{GPMC_A24, (SAFE_MODE)}, /* nc */
{GPMC_A25, (SAFE_MODE)}, /* nc */
{GPMC_NCS0, (IDIS | PTU | EN | M0)}, /* gpmc_nsc0 */
{GPMC_NCS1, (IDIS | PTU | EN | M0)}, /* gpmc_nsc1 */
{GPMC_NCS2, (SAFE_MODE)}, /* nc */
{GPMC_NCS3, (SAFE_MODE)}, /* nc */
{GPMC_NWP, (IEN | PTD | DIS | M0)}, /* gpmc_nwp */
{GPMC_CLK, (PTU | IEN | M3)}, /* gpio_55 */
{GPMC_NADV_ALE, (IDIS | PTD | DIS | M0)}, /* gpmc_ndav_ale */
{GPMC_NOE, (IDIS | PTD | DIS | M0)}, /* gpmc_noe */
{GPMC_NWE, (IDIS | PTD | DIS | M0)}, /* gpmc_nwe */
{GPMC_NBE0_CLE, (IDIS | PTD | DIS | M0)}, /* gpmc_nbe0_cle */
{GPMC_NBE1, (SAFE_MODE)}, /* nc */
{GPMC_WAIT0, (IEN | PTU | EN | M0)}, /* gpmc_wait0 */
{GPMC_WAIT1, (IEN | PTU | EN | M0)}, /* gpmc_wait1 */
{C2C_DATA11, (SAFE_MODE)}, /* nc */
{C2C_DATA12, (SAFE_MODE)}, /* nc */
{C2C_DATA13, (IDIS | PTU | EN | M0)}, /* gpmc_nsc5 */
{C2C_DATA14, (SAFE_MODE)}, /* nc */
{C2C_DATA15, (SAFE_MODE)}, /* nc */
{HDMI_HPD, (SAFE_MODE)}, /* nc */
{HDMI_CEC, (SAFE_MODE)}, /* nc */
{HDMI_DDC_SCL, (SAFE_MODE)}, /* nc */
{HDMI_DDC_SDA, (SAFE_MODE)}, /* nc */
{CSI21_DX0, (SAFE_MODE)}, /* nc */
{CSI21_DY0, (SAFE_MODE)}, /* nc */
{CSI21_DX1, (SAFE_MODE)}, /* nc */
{CSI21_DY1, (SAFE_MODE)}, /* nc */
{CSI21_DX2, (SAFE_MODE)}, /* nc */
{CSI21_DY2, (SAFE_MODE)}, /* nc */
{CSI21_DX3, (SAFE_MODE)}, /* nc */
{CSI21_DY3, (SAFE_MODE)}, /* nc */
{CSI21_DX4, (SAFE_MODE)}, /* nc */
{CSI21_DY4, (SAFE_MODE)}, /* nc */
{CSI22_DX0, (SAFE_MODE)}, /* nc */
{CSI22_DY0, (SAFE_MODE)}, /* nc */
{CSI22_DX1, (SAFE_MODE)}, /* nc */
{CSI22_DY1, (SAFE_MODE)}, /* nc */
{CAM_SHUTTER, (SAFE_MODE)}, /* unused */
{CAM_STROBE, (SAFE_MODE)}, /* unused */
{CAM_GLOBALRESET, (SAFE_MODE)}, /* unused */
{USBB1_ULPITLL_CLK, (PTD | IEN | OFF_EN | OFF_PD | OFF_IN | M4)},/* usbb1_ulpiphy_clk */
{USBB1_ULPITLL_STP, (OFF_EN | OFF_OUT_PTD | M4)}, /* usbb1_ulpiphy_stp */
{USBB1_ULPITLL_DIR, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dir */
{USBB1_ULPITLL_NXT, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_nxt */
{USBB1_ULPITLL_DAT0, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dat0 */
{USBB1_ULPITLL_DAT1, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dat1 */
{USBB1_ULPITLL_DAT2, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dat2 */
{USBB1_ULPITLL_DAT3, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dat3 */
{USBB1_ULPITLL_DAT4, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dat4 */
{USBB1_ULPITLL_DAT5, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dat5 */
{USBB1_ULPITLL_DAT6, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dat6 */
{USBB1_ULPITLL_DAT7, (IEN | OFF_EN | OFF_PD | OFF_IN | M4)}, /* usbb1_ulpiphy_dat7 */
{USBB1_HSIC_DATA, (SAFE_MODE)}, /* nc */
{USBB1_HSIC_STROBE, (SAFE_MODE)}, /* nc */
{USBC1_ICUSB_DP, (SAFE_MODE)}, /* nc */
{USBC1_ICUSB_DM, (SAFE_MODE)}, /* nc */
{SDMMC1_CLK, (PTU | OFF_EN | OFF_OUT_PTD | M0)}, /* sdmmc1_clk */
{SDMMC1_CMD, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_cmd */
{SDMMC1_DAT0, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_dat0 */
{SDMMC1_DAT1, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_dat1 */
{SDMMC1_DAT2, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_dat2 */
{SDMMC1_DAT3, (PTU | IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* sdmmc1_dat3 */
{SDMMC1_DAT4, (SAFE_MODE)}, /* nc */
{SDMMC1_DAT5, (SAFE_MODE)}, /* nc */
{SDMMC1_DAT6, (SAFE_MODE)}, /* nc */
{SDMMC1_DAT7, (SAFE_MODE)}, /* nc */
{ABE_MCBSP2_CLKX, (SAFE_MODE)}, /* nc */
{ABE_MCBSP2_DR, (SAFE_MODE)}, /* nc */
{ABE_MCBSP2_DX, (SAFE_MODE)}, /* nc */
{ABE_MCBSP2_FSX, (SAFE_MODE)}, /* nc */
{ABE_MCBSP1_CLKX, (SAFE_MODE)}, /* unused */
{ABE_MCBSP1_DR, (SAFE_MODE)}, /* unused */
{ABE_MCBSP1_DX, (SAFE_MODE)}, /* unused */
{ABE_MCBSP1_FSX, (SAFE_MODE)}, /* nc */
{ABE_PDM_UL_DATA, (SAFE_MODE)}, /* unused */
{ABE_PDM_DL_DATA, (SAFE_MODE)}, /* unused */
{ABE_PDM_FRAME, (SAFE_MODE)}, /* unused */
{ABE_PDM_LB_CLK, (SAFE_MODE)}, /* unused */
{ABE_CLKS, (SAFE_MODE)}, /* unused */
{ABE_DMIC_CLK1, (SAFE_MODE)}, /* nc */
{ABE_DMIC_DIN1, (SAFE_MODE)}, /* unused */
{ABE_DMIC_DIN2, (SAFE_MODE)}, /* nc */
{ABE_DMIC_DIN3, (SAFE_MODE)}, /* unused */
{UART2_CTS, (SAFE_MODE)}, /* nc */
{UART2_RTS, (SAFE_MODE)}, /* nc */
{UART2_RX, (SAFE_MODE)}, /* nc */
{UART2_TX, (SAFE_MODE)}, /* nc */
{HDQ_SIO, (SAFE_MODE)}, /* unused */
{I2C1_SCL, (PTU | IEN | M0)}, /* i2c1_scl */
{I2C1_SDA, (PTU | IEN | M0)}, /* i2c1_sda */
{I2C2_SCL, (SAFE_MODE)}, /* unused */
{I2C2_SDA, (SAFE_MODE)}, /* unused */
{I2C3_SCL, (PTU | IEN | M0)}, /* i2c3_scl */
{I2C3_SDA, (PTU | IEN | M0)}, /* i2c3_sda */
{I2C4_SCL, (SAFE_MODE)}, /* nc */
{I2C4_SDA, (SAFE_MODE)}, /* nc */
{MCSPI1_CLK, (SAFE_MODE)}, /* unused */
{MCSPI1_SOMI, (SAFE_MODE)}, /* unused */
{MCSPI1_SIMO, (SAFE_MODE)}, /* unused */
{MCSPI1_CS0, (SAFE_MODE)}, /* unused */
{MCSPI1_CS1, (SAFE_MODE)}, /* unused */
{MCSPI1_CS2, (SAFE_MODE)}, /* nc */
{MCSPI1_CS3, (SAFE_MODE)}, /* nc */
{UART3_CTS_RCTX, (PTU | IEN | M0)}, /* uart3_tx */
{UART3_RTS_SD, (M0)}, /* uart3_rts_sd */
{UART3_RX_IRRX, (IEN | M0)}, /* uart3_rx */
{UART3_TX_IRTX, (M0)}, /* uart3_tx */
{SDMMC5_CLK, (PTU | IEN | M3)}, /* goio_145 */
{SDMMC5_CMD, (PTU | IEN | M3)}, /* goio_146 */
{SDMMC5_DAT0, (SAFE_MODE)}, /* nc */
{SDMMC5_DAT1, (SAFE_MODE)}, /* nc */
{SDMMC5_DAT2, (SAFE_MODE)}, /* nc */
{SDMMC5_DAT3, (SAFE_MODE)}, /* nc */
{MCSPI4_CLK, (PTU | IEN | M3)}, /* gpio_151 */
{MCSPI4_SIMO, (PTU | IEN | M3)}, /* gpio_152 */
{MCSPI4_SOMI, (PTU | IEN | M3)}, /* gpio_153 */
{MCSPI4_CS0, (SAFE_MODE)}, /* nc */
{UART4_RX, (SAFE_MODE)}, /* nc */
{UART4_TX, (SAFE_MODE)}, /* nc */
{USBB2_ULPITLL_CLK, (SAFE_MODE)}, /* nc */
{USBB2_ULPITLL_STP, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DIR, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_NXT, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT0, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT1, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT2, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT3, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT4, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT5, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT6, (SAFE_MODE)}, /* unused */
{USBB2_ULPITLL_DAT7, (SAFE_MODE)}, /* unused */
{USBB2_HSIC_DATA, (SAFE_MODE)}, /* unused */
{USBB2_HSIC_STROBE, (SAFE_MODE)}, /* nc */
{UNIPRO_TX0, (SAFE_MODE)}, /* nc */
{UNIPRO_TY0, (SAFE_MODE)}, /* nc */
{UNIPRO_TX1, (SAFE_MODE)}, /* nc */
{UNIPRO_TY1, (SAFE_MODE)}, /* nc */
{UNIPRO_TX2, (SAFE_MODE)}, /* unused */
{UNIPRO_TY2, (SAFE_MODE)}, /* unused */
{UNIPRO_RX0, (SAFE_MODE)}, /* unused */
{UNIPRO_RY0, (SAFE_MODE)}, /* unused */
{UNIPRO_RX1, (SAFE_MODE)}, /* unused */
{UNIPRO_RY1, (SAFE_MODE)}, /* unused */
{UNIPRO_RX2, (SAFE_MODE)}, /* unused */
{UNIPRO_RY2, (SAFE_MODE)}, /* unused */
{USBA0_OTG_CE, (PTD | OFF_EN | OFF_PD | OFF_OUT_PTD | M0)}, /* usba0_otg_ce */
{USBA0_OTG_DP, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* usba0_otg_dp */
{USBA0_OTG_DM, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)}, /* usba0_otg_dm */
{FREF_CLK1_OUT, (SAFE_MODE)}, /* nc */
{FREF_CLK2_OUT, (SAFE_MODE)}, /* nc */
{SYS_NIRQ1, (PTU | IEN | M0)}, /* sys_nirq1 */
{SYS_NIRQ2, (SAFE_MODE)}, /* nc */
{SYS_BOOT0, (M0)}, /* sys_boot */
{SYS_BOOT1, (M0)}, /* sys_boot */
{SYS_BOOT2, (M0)}, /* sys_boot */
{SYS_BOOT3, (M0)}, /* sys_boot */
{SYS_BOOT4, (M0)}, /* sys_boot */
{SYS_BOOT5, (M0)}, /* sys_boot */
{DPM_EMU0, (IEN | M0)}, /* dpm_emu0 */
{DPM_EMU1, (IEN | M0)}, /* dpm_emu1 */
{DPM_EMU2, (SAFE_MODE)}, /* unused */
{DPM_EMU3, (SAFE_MODE)}, /* unused */
{DPM_EMU4, (SAFE_MODE)}, /* unused */
{DPM_EMU5, (SAFE_MODE)}, /* unused */
{DPM_EMU6, (SAFE_MODE)}, /* unused */
{DPM_EMU7, (SAFE_MODE)}, /* unused */
{DPM_EMU8, (SAFE_MODE)}, /* unused */
{DPM_EMU9, (SAFE_MODE)}, /* unused */
{DPM_EMU10, (SAFE_MODE)}, /* unused */
{DPM_EMU11, (SAFE_MODE)}, /* unused */
{DPM_EMU12, (SAFE_MODE)}, /* unused */
{DPM_EMU13, (SAFE_MODE)}, /* unused */
{DPM_EMU14, (SAFE_MODE)}, /* unused */
{DPM_EMU15, (SAFE_MODE)}, /* unused */
{DPM_EMU16, (SAFE_MODE)}, /* unused */
{DPM_EMU17, (SAFE_MODE)}, /* unused */
{DPM_EMU18, (SAFE_MODE)}, /* unused */
{DPM_EMU19, (SAFE_MODE)}, /* unused */
};
static const struct pad_conf_entry wkup_padconf_array[] = {
{PAD0_SIM_IO, (SAFE_MODE)}, /* tbd */
{PAD1_SIM_CLK, (SAFE_MODE)}, /* nc */
{PAD0_SIM_RESET, (SAFE_MODE)}, /* nc */
{PAD1_SIM_CD, (SAFE_MODE)}, /* nc */
{PAD0_SIM_PWRCTRL, (SAFE_MODE)}, /* nc */
{PAD1_SR_SCL, (PTU | IEN | M0)}, /* sr_scl */
{PAD0_SR_SDA, (PTU | IEN | M0)}, /* sr_sda */
{PAD1_FREF_XTAL_IN, (M0)}, /* # */
{PAD0_FREF_SLICER_IN, (SAFE_MODE)}, /* nc */
{PAD1_FREF_CLK_IOREQ, (SAFE_MODE)}, /* nc */
{PAD0_FREF_CLK0_OUT, (M2)}, /* sys_drm_msecure */
{PAD1_FREF_CLK3_REQ, (SAFE_MODE)}, /* nc */
{PAD0_FREF_CLK3_OUT, (M0)}, /* fref_clk3_out */
{PAD1_FREF_CLK4_REQ, (IEN | M3)}, /* gpio_wk7 */
{PAD0_FREF_CLK4_OUT, (M0)}, /* fref_clk4_out */
{PAD1_SYS_32K, (IEN | M0)}, /* sys_32k */
{PAD0_SYS_NRESPWRON, (M0)}, /* sys_nrespwron */
{PAD1_SYS_NRESWARM, (M0)}, /* sys_nreswarm */
{PAD0_SYS_PWR_REQ, (PTU | M0)}, /* sys_pwr_req */
{PAD1_SYS_PWRON_RESET, (M0)}, /* sys_pwron_reset_out */
{PAD0_SYS_BOOT6, (M0)}, /* sys_boot6 */
{PAD1_SYS_BOOT7, (M0)}, /* sys_boot7 */
};
void set_muxconf_regs(void)
{
omap4_do_set_mux(OMAP44XX_CONTROL_PADCONF_CORE, core_padconf_array,
ARRAY_SIZE(core_padconf_array));
omap4_do_set_mux(OMAP44XX_CONTROL_PADCONF_WKUP, wkup_padconf_array,
ARRAY_SIZE(wkup_padconf_array));
}

View File

@ -0,0 +1,147 @@
/*
* Copyright (C) 2011 Sascha Hauer, Pengutronix
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*/
#include <common.h>
#include <console.h>
#include <init.h>
#include <driver.h>
#include <io.h>
#include <ns16550.h>
#include <asm/armlinux.h>
#include <generated/mach-types.h>
#include <mach/silicon.h>
#include <mach/sdrc.h>
#include <mach/sys_info.h>
#include <mach/syslib.h>
#include <mach/control.h>
#include <linux/err.h>
#include <sizes.h>
#include <partition.h>
#include <nand.h>
#include <asm/mmu.h>
#include <mach/gpio.h>
#include <mach/gpmc.h>
#include <mach/gpmc_nand.h>
#include <mach/xload.h>
#include <mach/omap_hsmmc.h>
#include <i2c/i2c.h>
static struct NS16550_plat serial_plat = {
.clock = 48000000, /* 48MHz (APLL96/2) */
.shift = 2,
};
static int pcaaxl2_console_init(void)
{
/* Register the serial port */
add_ns16550_device(-1, OMAP44XX_UART3_BASE, 1024,
IORESOURCE_MEM_8BIT, &serial_plat);
return 0;
}
console_initcall(pcaaxl2_console_init);
static int pcaaxl2_mem_init(void)
{
arm_add_mem_device("ram0", 0x80000000, SZ_512M);
add_mem_device("sram0", 0x40300000, 48 * 1024,
IORESOURCE_MEM_WRITEABLE);
return 0;
}
mem_initcall(pcaaxl2_mem_init);
static struct gpmc_config net_cfg = {
.cfg = {
0x00001000, /* CONF1 */
0x00080800, /* CONF2 */
0x00000000, /* CONF3 */
0x08000800, /* CONF4 */
0x000a0a0a, /* CONF5 */
0x000003c2, /* CONF6 */
},
.base = 0x2C000000,
.size = GPMC_SIZE_16M,
};
static void pcaaxl2_network_init(void)
{
gpmc_cs_config(5, &net_cfg);
add_ks8851_device(-1, net_cfg.base, net_cfg.base + 2,
IORESOURCE_MEM_16BIT, NULL);
}
static struct i2c_board_info i2c_devices[] = {
{
I2C_BOARD_INFO("twlcore", 0x48),
},
};
static struct omap_hsmmc_platform_data mmc_device = {
.f_max = 26000000,
};
#define OMAP4_CONTROL_PBIASLITE 0x4A100600
#define OMAP4_MMC1_PBIASLITE_VMODE (1<<21)
#define OMAP4_MMC1_PBIASLITE_PWRDNZ (1<<22)
#define OMAP4_MMC1_PWRDNZ (1<<26)
static int pcaaxl2_devices_init(void)
{
u32 value;
i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices));
add_generic_device("i2c-omap", -1, NULL, 0x48070000, 0x1000,
IORESOURCE_MEM, NULL);
value = readl(OMAP4_CONTROL_PBIASLITE);
value &= ~OMAP4_MMC1_PBIASLITE_VMODE;
value |= (OMAP4_MMC1_PBIASLITE_PWRDNZ | OMAP4_MMC1_PWRDNZ);
writel(value, OMAP4_CONTROL_PBIASLITE);
add_generic_device("omap-hsmmc", -1, NULL, 0x4809C100, SZ_4K,
IORESOURCE_MEM, &mmc_device);
gpmc_generic_init(0x10);
pcaaxl2_network_init();
gpmc_generic_nand_devices_init(0, 16,
OMAP_ECC_BCH8_CODE_HW, &omap4_nand_cfg);
#ifdef CONFIG_PARTITION
devfs_add_partition("nand0", 0x00000, SZ_128K,
PARTITION_FIXED, "xload_raw");
dev_add_bb_dev("xload_raw", "xload");
devfs_add_partition("nand0", SZ_128K, SZ_256K,
PARTITION_FIXED, "self_raw");
dev_add_bb_dev("self_raw", "self0");
devfs_add_partition("nand0", SZ_128K + SZ_256K, SZ_128K,
PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
#endif
armlinux_set_bootparams((void *)0x80000100);
armlinux_set_architecture(MACH_TYPE_PCAAXL2);
return 0;
}
device_initcall(pcaaxl2_devices_init);

View File

@ -26,6 +26,7 @@
#include <fec.h>
#include <mach/gpio.h>
#include <asm/armlinux.h>
#include <asm-generic/sections.h>
#include <generated/mach-types.h>
#include <partition.h>
#include <fs.h>
@ -38,7 +39,7 @@
#include <mach/imxfb.h>
#include <gpio.h>
#include <asm/mmu.h>
#include <usb/isp1504.h>
#include <usb/ulpi.h>
#include <mach/iomux-mx27.h>
#include <mach/devices-imx27.h>
@ -139,9 +140,9 @@ static void pca100_usb_register(void)
mdelay(10);
isp1504_set_vbus_power((void *)(IMX_OTG_BASE + 0x170), 1);
ulpi_setup((void *)(IMX_OTG_BASE + 0x170), 1);
add_generic_usb_ehci_device(-1, IMX_OTG_BASE, NULL);
isp1504_set_vbus_power((void *)(IMX_OTG_BASE + 0x570), 1);
ulpi_setup((void *)(IMX_OTG_BASE + 0x570), 1);
add_generic_usb_ehci_device(-1, IMX_OTG_BASE + 0x400, NULL);
}
#endif
@ -292,7 +293,7 @@ static int pca100_devices_init(void)
imx27_add_nand(&nand_info);
imx27_add_fec(&fec_info);
imx27_add_mmc0(NULL);
imx27_add_mmc1(NULL);
imx27_add_fb(&pca100_fb_data);
PCCR1 |= PCCR1_PERCLK2_EN;
@ -327,7 +328,7 @@ console_initcall(pca100_console_init);
#ifdef CONFIG_NAND_IMX_BOOT
void __bare_init nand_boot(void)
{
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024);
imx_nand_load_image((void *)TEXT_BASE, barebox_image_size);
}
#endif

View File

@ -108,7 +108,7 @@ static int pm9263_devices_init(void)
at91_set_gpio_value(AT91_PIN_PB27, 1); /* 1- enable, 0 - disable */
pm_add_device_nand();
at91_add_device_eth(&macb_pdata);
at91_add_device_eth(0, &macb_pdata);
add_cfi_flash_device(0, AT91_CHIPSELECT_0, 4 * 1024 * 1024, 0);
devfs_add_partition("nor0", 0x00000, 0x40000, PARTITION_FIXED, "self0");

View File

@ -11,9 +11,9 @@ ip=dhcp
#eth0.serverip=a.b.c.d
# can be either 'nfs', 'tftp' or 'nand'
kernel_loc=tftp
kernel_loc=nand
# can be either 'net', 'nand' or 'initrd'
rootfs_loc=net
rootfs_loc=nand
# can be either 'jffs2' or 'ubifs'
rootfs_type=ubifs
@ -25,8 +25,8 @@ kernelimage=uImage
#kernelimage=Image.lzo
nand_device=atmel_nand
nand_parts="256k(barebox)ro,64k(bareboxenv),1536k(kernel),-(root)"
rootfs_mtdblock_nand=3
nand_parts="128k(bootstrap)ro,256k(barebox)ro,1664k(bareboxenv),3M(kernel),-(root)"
rootfs_mtdblock_nand=4
autoboot_timeout=3

View File

@ -77,11 +77,54 @@ static void pm_add_device_nand(void)
at91_add_device_nand(&nand_pdata);
}
#if defined(CONFIG_MCI_ATMEL)
static struct atmel_mci_platform_data __initdata mci_data = {
.bus_width = 4,
.wp_pin = 0,
.detect_pin = AT91_PIN_PD6,
};
static void pm9g45_add_device_mci(void)
{
at91_add_device_mci(0, &mci_data);
}
#else
static void pm9g45_add_device_mci(void) {}
#endif
/*
* USB OHCI Host port
*/
#ifdef CONFIG_USB_OHCI_AT91
static struct at91_usbh_data __initdata usbh_data = {
.ports = 2,
.vbus_pin = { AT91_PIN_PD0, 0x0 },
};
static void __init pm9g45_add_device_usbh(void)
{
at91_add_device_usbh_ohci(&usbh_data);
}
#else
static void __init pm9g45_add_device_usbh(void) {}
#endif
static struct at91_ether_platform_data macb_pdata = {
.flags = AT91SAM_ETHER_RMII,
.phy_addr = 0,
};
static void pm9g45_phy_init(void)
{
/*
* PD2 enables the 50MHz oscillator for Ethernet PHY
* 1 - enable
* 0 - disable
*/
at91_set_gpio_output(AT91_PIN_PD2, 1);
at91_set_gpio_value(AT91_PIN_PD2, 1);
}
static int pm9g45_mem_init(void)
{
at91_add_device_sdram(128 * 1024 * 1024);
@ -93,7 +136,10 @@ mem_initcall(pm9g45_mem_init);
static int pm9g45_devices_init(void)
{
pm_add_device_nand();
at91_add_device_eth(&macb_pdata);
pm9g45_add_device_mci();
pm9g45_phy_init();
at91_add_device_eth(0, &macb_pdata);
pm9g45_add_device_usbh();
devfs_add_partition("nand0", 0x00000, 0x80000, PARTITION_FIXED, "self_raw");
dev_add_bb_dev("self_raw", "self0");

View File

@ -2,7 +2,7 @@
# use 'dhcp' to do dhcp in barebox and in kernel
# use 'none' if you want to skip kernel ip autoconfiguration
ip=none
ip=dhcp-barebox
# or set your networking parameters here
#eth0.ipaddr=a.b.c.d

View File

@ -156,7 +156,7 @@ static void tny_a9260_phy_reset(void)
static void __init ek_add_device_macb(void)
{
tny_a9260_phy_reset();
at91_add_device_eth(&macb_pdata);
at91_add_device_eth(0, &macb_pdata);
}
#else
static void __init ek_add_device_macb(void) {}

View File

@ -240,7 +240,7 @@ static int tqma53_devices_init(void)
mdelay(1);
gpio_set_value(GPIO_FEC_NRESET, 1);
imx51_iim_register_fec_ethaddr();
imx53_iim_register_fec_ethaddr();
imx53_add_fec(&fec_info);
imx53_add_mmc1(&tqma53_sd2_data);
imx53_add_mmc2(&tqma53_sd3_data);

View File

@ -97,7 +97,7 @@ struct imx_flash_header_v2 __flash_header_section flash_header = {
.self = APP_DEST + 0x400,
.boot_data.start = APP_DEST,
.boot_data.size = 0x40000,
.boot_data.size = DCD_BAREBOX_SIZE,
.dcd.header.tag = DCD_HEADER_TAG,
.dcd.header.length = cpu_to_be16(sizeof(struct imx_dcd) + sizeof(dcd_entry)),

View File

@ -2,7 +2,8 @@
# use 'dhcp' to do dhcp in barebox and in kernel
# use 'none' if you want to skip kernel ip autoconfiguration
ip=dhcp
ip=dhcp-barebox
dhcp_vendor_id=barebox-at91sam9x5ek
# or set your networking parameters here
#eth0.ipaddr=a.b.c.d

View File

@ -320,7 +320,7 @@ static int usb_a9260_devices_init(void)
{
usb_a9260_add_device_nand();
usb_a9260_phy_reset();
at91_add_device_eth(&macb_pdata);
at91_add_device_eth(0, &macb_pdata);
usb_a9260_add_device_mci();
at91_add_device_usbh_ohci(&ek_usbh_data);
ek_add_device_udc();

View File

@ -1,4 +1,8 @@
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_MMU=y
CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
CONFIG_EXPERIMENTAL=y
CONFIG_MALLOC_TLSF=y
CONFIG_PROMPT="9200-EK:"
CONFIG_LONGHELP=y
CONFIG_GLOB=y
@ -6,13 +10,13 @@ CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_MENU=y
CONFIG_PARTITION=y
# CONFIG_CONSOLE_ACTIVATE_FIRST is not set
CONFIG_CONSOLE_ACTIVATE_ALL=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/at91rm9200ek/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
@ -28,20 +32,35 @@ CONFIG_CMD_FLASH=y
CONFIG_CMD_BOOTM_ZLIB=y
CONFIG_CMD_BOOTM_BZLIB=y
CONFIG_CMD_BOOTM_SHOW_TYPE=y
CONFIG_CMD_BOOTM_INITRD=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_UNCOMPRESS=y
CONFIG_CMD_LED=y
CONFIG_CMD_LED_TRIGGER=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
CONFIG_NET_NFS=y
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
CONFIG_NET_TFTP_PUSH=y
CONFIG_NET_NETCONSOLE=y
CONFIG_NET_RESOLV=y
CONFIG_DRIVER_NET_AT91_ETHER=y
# CONFIG_SPI is not set
CONFIG_DRIVER_CFI=y
# CONFIG_DRIVER_CFI_INTEL is not set
# CONFIG_DRIVER_CFI_BANK_WIDTH_1 is not set
# CONFIG_DRIVER_CFI_BANK_WIDTH_4 is not set
CONFIG_CFI_BUFFER_WRITE=y
CONFIG_MTD=y
CONFIG_UBI=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_SERIAL=y
CONFIG_LED=y
CONFIG_LED_GPIO=y
CONFIG_LED_TRIGGERS=y
CONFIG_FS_CRAMFS=y
CONFIG_SHA1=y
CONFIG_SHA256=y

View File

@ -2,6 +2,8 @@ CONFIG_ARCH_AT91SAM9260=y
CONFIG_AEABI=y
# CONFIG_CMD_ARM_CPUINFO is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_MMU=y
CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
CONFIG_EXPERIMENTAL=y
CONFIG_PROMPT="9260-EK:"
CONFIG_LONGHELP=y
@ -17,7 +19,6 @@ CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/at91sam9260ek/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y

View File

@ -1,5 +1,11 @@
CONFIG_ARCH_AT91SAM9261=y
CONFIG_AEABI=y
# CONFIG_CMD_ARM_CPUINFO is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_MMU=y
CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
CONFIG_EXPERIMENTAL=y
CONFIG_MALLOC_TLSF=y
CONFIG_PROMPT="9261-EK:"
CONFIG_LONGHELP=y
CONFIG_GLOB=y
@ -7,13 +13,13 @@ CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_MENU=y
CONFIG_PARTITION=y
# CONFIG_CONSOLE_ACTIVATE_FIRST is not set
CONFIG_CONSOLE_ACTIVATE_ALL=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/at91sam9261ek/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
@ -25,15 +31,17 @@ CONFIG_CMD_LOADB=y
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_MTEST=y
CONFIG_CMD_FLASH=y
CONFIG_CMD_BOOTM_ZLIB=y
CONFIG_CMD_BOOTM_BZLIB=y
CONFIG_CMD_BOOTM_SHOW_TYPE=y
CONFIG_CMD_BOOTM_INITRD=y
CONFIG_CMD_UIMAGE=y
# CONFIG_CMD_BOOTU is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_UNCOMPRESS=y
CONFIG_CMD_LED=y
CONFIG_CMD_LED_TRIGGER=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
CONFIG_NET_NFS=y
@ -44,6 +52,17 @@ CONFIG_NET_RESOLV=y
CONFIG_DRIVER_NET_DM9K=y
# CONFIG_SPI is not set
CONFIG_MTD=y
# CONFIG_MTD_OOB_DEVICE is not set
CONFIG_NAND=y
# CONFIG_NAND_ECC_HW is not set
# CONFIG_NAND_ECC_HW_SYNDROME is not set
# CONFIG_NAND_ECC_HW_NONE is not set
CONFIG_NAND_ATMEL=y
CONFIG_UBI=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DFU=y
CONFIG_USB_GADGET_SERIAL=y
CONFIG_LED=y
CONFIG_LED_GPIO=y
CONFIG_LED_TRIGGERS=y
CONFIG_KEYBOARD_GPIO=y

View File

@ -1,32 +1,43 @@
CONFIG_ARCH_AT91SAM9263=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_MMU=y
CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
CONFIG_EXPERIMENTAL=y
CONFIG_MALLOC_TLSF=y
CONFIG_PROMPT="9263-EK:"
CONFIG_LONGHELP=y
CONFIG_GLOB=y
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_PARTITION=y
# CONFIG_CONSOLE_ACTIVATE_FIRST is not set
CONFIG_CONSOLE_ACTIVATE_ALL=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/at91sam9263ek/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
CONFIG_CMD_LOADB=y
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_MTEST=y
CONFIG_CMD_FLASH=y
CONFIG_CMD_BOOTM_ZLIB=y
CONFIG_CMD_BOOTM_BZLIB=y
CONFIG_CMD_BOOTM_SHOW_TYPE=y
CONFIG_CMD_BOOTM_INITRD=y
CONFIG_CMD_BOOTM_OFTREE=y
CONFIG_CMD_BOOTM_OFTREE_UIMAGE=y
CONFIG_CMD_UIMAGE=y
# CONFIG_CMD_BOOTU is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_OFTREE=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_LED=y
CONFIG_CMD_LED_TRIGGER=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
CONFIG_NET_NFS=y
@ -35,13 +46,23 @@ CONFIG_NET_TFTP=y
CONFIG_DRIVER_NET_MACB=y
# CONFIG_SPI is not set
CONFIG_DRIVER_CFI=y
CONFIG_CFI_BUFFER_WRITE=y
# CONFIG_DRIVER_CFI_INTEL is not set
CONFIG_MTD=y
# CONFIG_MTD_OOB_DEVICE is not set
CONFIG_NAND=y
# CONFIG_NAND_ECC_HW is not set
# CONFIG_NAND_ECC_HW_SYNDROME is not set
# CONFIG_NAND_ECC_HW_NONE is not set
CONFIG_NAND_ATMEL=y
CONFIG_UBI=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DFU=y
CONFIG_USB_GADGET_SERIAL=y
CONFIG_MCI=y
CONFIG_MCI_ATMEL=y
CONFIG_LED=y
CONFIG_LED_GPIO=y
CONFIG_LED_TRIGGERS=y
CONFIG_FS_FAT=y
CONFIG_FS_FAT_WRITE=y
CONFIG_FS_FAT_LFN=y

View File

@ -1,41 +1,68 @@
CONFIG_ARCH_AT91SAM9G10=y
CONFIG_AEABI=y
# CONFIG_CMD_ARM_CPUINFO is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_MMU=y
CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
CONFIG_EXPERIMENTAL=y
CONFIG_MALLOC_TLSF=y
CONFIG_PROMPT="9G10-EK:"
CONFIG_LONGHELP=y
CONFIG_GLOB=y
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_PARTITION=y
CONFIG_MENU=y
# CONFIG_CONSOLE_ACTIVATE_FIRST is not set
CONFIG_CONSOLE_ACTIVATE_ALL=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/at91sam9261ek/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
CONFIG_CMD_MENU=y
CONFIG_CMD_MENU_MANAGEMENT=y
CONFIG_CMD_PASSWD=y
CONFIG_CMD_ECHO_E=y
CONFIG_CMD_LOADB=y
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_CRC=y
CONFIG_CMD_MTEST=y
CONFIG_CMD_FLASH=y
CONFIG_CMD_BOOTM_ZLIB=y
CONFIG_CMD_BOOTM_BZLIB=y
CONFIG_CMD_BOOTM_SHOW_TYPE=y
CONFIG_CMD_BOOTM_INITRD=y
CONFIG_CMD_UIMAGE=y
# CONFIG_CMD_BOOTU is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_UNCOMPRESS=y
CONFIG_CMD_LED=y
CONFIG_CMD_LED_TRIGGER=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
CONFIG_NET_NFS=y
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
CONFIG_NET_TFTP_PUSH=y
CONFIG_NET_RESOLV=y
CONFIG_DRIVER_NET_DM9K=y
# CONFIG_SPI is not set
CONFIG_MTD=y
# CONFIG_MTD_OOB_DEVICE is not set
CONFIG_NAND=y
# CONFIG_NAND_ECC_HW is not set
# CONFIG_NAND_ECC_HW_SYNDROME is not set
# CONFIG_NAND_ECC_HW_NONE is not set
CONFIG_NAND_ATMEL=y
CONFIG_UBI=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DFU=y
CONFIG_USB_GADGET_SERIAL=y
CONFIG_LED=y
CONFIG_LED_GPIO=y
CONFIG_LED_TRIGGERS=y
CONFIG_KEYBOARD_GPIO=y

View File

@ -3,6 +3,8 @@ CONFIG_AT91_HAVE_2MMC=y
CONFIG_AEABI=y
# CONFIG_CMD_ARM_CPUINFO is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_MMU=y
CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
CONFIG_EXPERIMENTAL=y
CONFIG_PROMPT="9G20-EK:"
CONFIG_LONGHELP=y
@ -18,7 +20,6 @@ CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/at91sam9260ek/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y

View File

@ -1,22 +1,25 @@
CONFIG_ARCH_AT91SAM9G45=y
CONFIG_MACH_AT91SAM9M10G45EK=y
CONFIG_AEABI=y
# CONFIG_CMD_ARM_CPUINFO is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_MMU=y
CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
CONFIG_MALLOC_TLSF=y
CONFIG_PROMPT="9M10G45-EK:"
CONFIG_LONGHELP=y
CONFIG_GLOB=y
CONFIG_PROMPT_HUSH_PS2="y"
CONFIG_PROMPT_HUSH_PS2=">"
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_MENU=y
CONFIG_PASSWD_SUM_SHA1=y
CONFIG_PARTITION=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/at91sam9m10g45ek/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
@ -29,15 +32,23 @@ CONFIG_CMD_MEMINFO=y
CONFIG_CMD_MTEST=y
CONFIG_CMD_MTEST_ALTERNATIVE=y
CONFIG_CMD_FLASH=y
CONFIG_CMD_BOOTM_ZLIB=y
CONFIG_CMD_BOOTM_BZLIB=y
CONFIG_CMD_BOOTM_SHOW_TYPE=y
CONFIG_CMD_BOOTM_VERBOSE=y
CONFIG_CMD_BOOTM_INITRD=y
CONFIG_CMD_BOOTM_OFTREE=y
CONFIG_CMD_BOOTM_OFTREE_UIMAGE=y
CONFIG_CMD_UIMAGE=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_OFTREE=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_MAGICVAR=y
CONFIG_CMD_MAGICVAR_HELP=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_UNCOMPRESS=y
CONFIG_CMD_LED=y
CONFIG_CMD_LED_TRIGGER=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
CONFIG_NET_NFS=y
@ -48,14 +59,19 @@ CONFIG_NET_NETCONSOLE=y
CONFIG_NET_RESOLV=y
CONFIG_DRIVER_NET_MACB=y
# CONFIG_SPI is not set
CONFIG_DRIVER_CFI=y
CONFIG_CFI_BUFFER_WRITE=y
CONFIG_MTD=y
CONFIG_NAND=y
# CONFIG_NAND_ECC_HW is not set
# CONFIG_NAND_ECC_HW_SYNDROME is not set
# CONFIG_NAND_ECC_HW_NONE is not set
CONFIG_NAND_ATMEL=y
CONFIG_UBI=y
CONFIG_MCI=y
CONFIG_MCI_WRITE=y
CONFIG_MCI_STARTUP=y
CONFIG_MCI_ATMEL=y
CONFIG_LED=y
CONFIG_LED_GPIO=y
CONFIG_LED_TRIGGERS=y
CONFIG_FS_FAT=y
CONFIG_FS_FAT_WRITE=y
CONFIG_FS_FAT_LFN=y

View File

@ -0,0 +1,69 @@
CONFIG_ARCH_AT91SAM9X5=y
CONFIG_AEABI=y
# CONFIG_CMD_ARM_CPUINFO is not set
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
CONFIG_EXPERIMENTAL=y
CONFIG_MALLOC_TLSF=y
CONFIG_PROMPT="9G20-EK:"
CONFIG_LONGHELP=y
CONFIG_GLOB=y
CONFIG_PROMPT_HUSH_PS2="y"
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
# CONFIG_CONSOLE_ACTIVATE_FIRST is not set
CONFIG_CONSOLE_ACTIVATE_ALL=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/at91sam9x5ek/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
CONFIG_CMD_ECHO_E=y
CONFIG_CMD_LOADB=y
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_MTEST=y
CONFIG_CMD_MTEST_ALTERNATIVE=y
CONFIG_CMD_FLASH=y
CONFIG_CMD_BOOTM_SHOW_TYPE=y
CONFIG_CMD_BOOTM_INITRD=y
CONFIG_CMD_BOOTM_OFTREE=y
CONFIG_CMD_BOOTM_OFTREE_UIMAGE=y
CONFIG_CMD_UIMAGE=y
# CONFIG_CMD_BOOTU is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_OFTREE=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_LED=y
CONFIG_CMD_LED_TRIGGER=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
CONFIG_NET_NFS=y
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
CONFIG_NET_NETCONSOLE=y
CONFIG_DRIVER_NET_MACB=y
# CONFIG_SPI is not set
CONFIG_MTD=y
CONFIG_NAND=y
# CONFIG_NAND_ECC_HW is not set
# CONFIG_NAND_ECC_HW_SYNDROME is not set
# CONFIG_NAND_ECC_HW_NONE is not set
CONFIG_NAND_ATMEL=y
CONFIG_UBI=y
CONFIG_DISK=y
CONFIG_DISK_WRITE=y
CONFIG_LED=y
CONFIG_LED_GPIO=y
CONFIG_LED_TRIGGERS=y
CONFIG_KEYBOARD_GPIO=y
CONFIG_FS_FAT=y
CONFIG_FS_FAT_WRITE=y
CONFIG_FS_FAT_LFN=y
CONFIG_ZLIB=y

View File

@ -18,7 +18,7 @@ CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_MENU=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/guf-cupid/env"
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/guf-cupid/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y

View File

@ -11,7 +11,7 @@ CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/eukrea_cpuimx51/env"
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/eukrea_cpuimx51/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y

View File

@ -16,7 +16,7 @@ CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/freescale-mx51-pdk/env/"
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/freescale-mx51-pdk/env/"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y

View File

@ -16,7 +16,7 @@ CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/freescale-mx53-loco/env/"
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/freescale-mx53-loco/env/"
CONFIG_DEBUG_INFO=y
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y

View File

@ -17,7 +17,7 @@ CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/freescale-mx53-smd/env/"
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/freescale-mx53-smd/env/"
CONFIG_DEBUG_INFO=y
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y

View File

@ -33,6 +33,7 @@ CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_BMP=y
CONFIG_CMD_GPIO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
@ -41,6 +42,8 @@ CONFIG_NET_TFTP=y
CONFIG_NET_RESOLV=y
CONFIG_DRIVER_NET_FEC_IMX=y
# CONFIG_SPI is not set
CONFIG_VIDEO=y
CONFIG_DRIVER_VIDEO_STM=y
CONFIG_MCI=y
CONFIG_MCI_STARTUP=y
CONFIG_MCI_MXS=y

View File

@ -68,7 +68,7 @@ CONFIG_NAND_IMX=y
CONFIG_UBI=y
CONFIG_USB=y
CONFIG_USB_EHCI=y
CONFIG_USB_ISP1504=y
CONFIG_USB_ULPI=y
CONFIG_VIDEO=y
CONFIG_DRIVER_VIDEO_IMX=y
CONFIG_IMXFB_DRIVER_VIDEO_IMX_OVERLAY=y

View File

@ -11,7 +11,7 @@ CONFIG_MENU=y
CONFIG_PASSWD_SUM_SHA1=y
CONFIG_PARTITION=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/nhk8815/env"
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/nhk8815/env"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y

View File

@ -65,6 +65,6 @@ CONFIG_NAND_IMX=y
CONFIG_UBI=y
CONFIG_USB=y
CONFIG_USB_EHCI=y
CONFIG_USB_ISP1504=y
CONFIG_USB_ULPI=y
CONFIG_ZLIB=y
CONFIG_LZO_DECOMPRESS=y

View File

@ -70,7 +70,7 @@ CONFIG_NAND_IMX=y
CONFIG_UBI=y
CONFIG_USB=y
CONFIG_USB_EHCI=y
CONFIG_USB_ISP1504=y
CONFIG_USB_ULPI=y
CONFIG_VIDEO=y
CONFIG_DRIVER_VIDEO_IMX=y
CONFIG_IMXFB_DRIVER_VIDEO_IMX_OVERLAY=y

View File

@ -3,6 +3,7 @@ CONFIG_ARCH_OMAP4=y
CONFIG_OMAP_BUILD_IFT=y
CONFIG_MACH_PCM049=y
CONFIG_AEABI=y
CONFIG_THUMB2_BAREBOX=y
# CONFIG_CMD_ARM_CPUINFO is not set
# CONFIG_ARM_EXCEPTIONS is not set
CONFIG_MMU=y

View File

@ -63,7 +63,7 @@ CONFIG_PARTITION=y
CONFIG_PARTITION_DISK=y
CONFIG_PARTITION_DISK_DOS=y
CONFIG_DEFAULT_ENVIRONMENT=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv ./arch/arm/boards/phycard-a-l1/env"
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/phycard-a-l1/env"
CONFIG_COMMAND_SUPPORT=y
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y

View File

@ -0,0 +1,56 @@
CONFIG_ARCH_OMAP=y
CONFIG_ARCH_OMAP4=y
CONFIG_MACH_PCAAXL2=y
CONFIG_AEABI=y
CONFIG_ARM_UNWIND=y
CONFIG_MMU=y
CONFIG_TEXT_BASE=0x8f000000
CONFIG_MALLOC_SIZE=0x2000000
CONFIG_KALLSYMS=y
CONFIG_PROMPT="barebox> "
CONFIG_LONGHELP=y
CONFIG_GLOB=y
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_HUSH_GETOPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
# CONFIG_TIMESTAMP is not set
CONFIG_PARTITION=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/phycard-a-xl2/env/"
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
CONFIG_CMD_ECHO_E=y
CONFIG_CMD_LOADB=y
CONFIG_CMD_FLASH=y
# CONFIG_CMD_BOOTM is not set
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_UNLZO=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
CONFIG_NET_NFS=y
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
CONFIG_NET_TFTP_PUSH=y
CONFIG_DRIVER_SERIAL_NS16550=y
CONFIG_DRIVER_SERIAL_NS16550_OMAP_EXTENSIONS=y
CONFIG_DRIVER_NET_KS8851_MLL=y
# CONFIG_SPI is not set
CONFIG_MTD=y
CONFIG_NAND=y
CONFIG_NAND_OMAP_GPMC=y
CONFIG_UBI=y
CONFIG_MCI=y
CONFIG_MCI_OMAP_HSMMC=y
CONFIG_FS_FAT=y
CONFIG_FS_FAT_WRITE=y
CONFIG_FS_FAT_LFN=y

View File

@ -0,0 +1,41 @@
CONFIG_ARCH_OMAP=y
CONFIG_ARCH_OMAP4=y
CONFIG_OMAP_BUILD_IFT=y
CONFIG_MACH_PCAAXL2=y
CONFIG_AEABI=y
CONFIG_THUMB2_BAREBOX=y
# CONFIG_CMD_ARM_CPUINFO is not set
# CONFIG_ARM_EXCEPTIONS is not set
CONFIG_MMU=y
CONFIG_TEXT_BASE=0x40300000
CONFIG_MEMORY_LAYOUT_FIXED=y
CONFIG_STACK_BASE=0x8f000000
CONFIG_MALLOC_BASE=0x84000000
CONFIG_MALLOC_SIZE=0x2000000
CONFIG_MALLOC_DUMMY=y
CONFIG_PROMPT="barebox> "
CONFIG_SHELL_NONE=y
# CONFIG_ERRNO_MESSAGES is not set
# CONFIG_TIMESTAMP is not set
# CONFIG_CONSOLE_FULL is not set
# CONFIG_DEFAULT_ENVIRONMENT is not set
CONFIG_DRIVER_SERIAL_NS16550=y
CONFIG_DRIVER_SERIAL_NS16550_OMAP_EXTENSIONS=y
# CONFIG_SPI is not set
CONFIG_MTD=y
# CONFIG_MTD_WRITE is not set
# CONFIG_MTD_OOB_DEVICE is not set
CONFIG_NAND=y
# CONFIG_NAND_ECC_SOFT is not set
# CONFIG_NAND_ECC_HW_SYNDROME is not set
# CONFIG_NAND_ECC_HW_NONE is not set
# CONFIG_NAND_INFO is not set
# CONFIG_NAND_BBT is not set
CONFIG_NAND_OMAP_GPMC=y
CONFIG_MCI=y
CONFIG_MCI_STARTUP=y
# CONFIG_MCI_WRITE is not set
CONFIG_MCI_OMAP_HSMMC=y
# CONFIG_FS_RAMFS is not set
# CONFIG_FS_DEVFS is not set
CONFIG_FS_FAT=y

View File

@ -1,55 +1,46 @@
CONFIG_ARCH_AT91SAM9G45=y
CONFIG_MACH_PM9G45=y
CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y
CONFIG_PROMPT="pm9g45:"
CONFIG_AEABI=y
CONFIG_LONGHELP=y
CONFIG_GLOB=y
CONFIG_PROMPT_HUSH_PS2="y"
CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_MENU=y
CONFIG_PASSWD_SUM_SHA1=y
CONFIG_PARTITION=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/pm9g45/env"
CONFIG_POLLER=y
CONFIG_ENABLE_DEVICE_NOISE=y
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_LOADENV=y
CONFIG_CMD_EXPORT=y
CONFIG_CMD_PRINTENV=y
CONFIG_CMD_READLINE=y
CONFIG_CMD_MENU=y
CONFIG_CMD_MENU_MANAGEMENT=y
CONFIG_CMD_PASSWD=y
CONFIG_CMD_ECHO_E=y
CONFIG_CMD_LOADB=y
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_MTEST=y
CONFIG_CMD_MTEST_ALTERNATIVE=y
CONFIG_CMD_FLASH=y
CONFIG_CMD_BOOTM_ZLIB=y
CONFIG_CMD_BOOTM_BZLIB=y
CONFIG_CMD_BOOTM_SHOW_TYPE=y
CONFIG_CMD_BOOTM_VERBOSE=y
CONFIG_CMD_UIMAGE=y
CONFIG_CMD_RESET=y
CONFIG_CMD_GO=y
CONFIG_CMD_TIMEOUT=y
CONFIG_CMD_PARTITION=y
CONFIG_CMD_GPIO=y
CONFIG_CMD_UNCOMPRESS=y
CONFIG_NET=y
CONFIG_NET_DHCP=y
CONFIG_NET_NFS=y
CONFIG_NET_PING=y
CONFIG_NET_TFTP=y
CONFIG_NET_TFTP_PUSH=y
CONFIG_NET_NETCONSOLE=y
CONFIG_NET_RESOLV=y
CONFIG_DRIVER_NET_MACB=y
# CONFIG_SPI is not set
CONFIG_DRIVER_CFI=y
CONFIG_CFI_BUFFER_WRITE=y
CONFIG_DRIVER_SPI_ATMEL=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_SST25L=y
CONFIG_MTD=y
CONFIG_NAND=y
CONFIG_NAND_ATMEL=y
CONFIG_UBI=y
CONFIG_DISK_ATA=y
CONFIG_USB=y
CONFIG_USB_OHCI=y
CONFIG_USB_OHCI_AT91=y
CONFIG_USB_STORAGE=y
CONFIG_MCI=y
CONFIG_MCI_ATMEL=y
CONFIG_EEPROM_AT25=y
CONFIG_FS_FAT=y
CONFIG_FS_FAT_WRITE=y
CONFIG_FS_FAT_LFN=y

View File

@ -16,7 +16,7 @@ CONFIG_HUSH_FANCY_PROMPT=y
CONFIG_CMDLINE_EDITING=y
CONFIG_AUTO_COMPLETE=y
CONFIG_DEFAULT_ENVIRONMENT_GENERIC=y
CONFIG_DEFAULT_ENVIRONMENT_PATH="defaultenv arch/arm/boards/tqma53/env/"
CONFIG_DEFAULT_ENVIRONMENT_PATH="arch/arm/boards/tqma53/env/"
CONFIG_DEBUG_INFO=y
CONFIG_CMD_EDIT=y
CONFIG_CMD_SLEEP=y

View File

@ -105,5 +105,5 @@ SECTIONS
.bss : { *(.bss*) }
__bss_stop = .;
_end = .;
_barebox_image_size = __bss_start - _text;
_barebox_image_size = __bss_start - TEXT_BASE;
}

View File

@ -13,6 +13,7 @@ config BOARDINFO
default "Atmel at91sam9g10-ek" if MACH_AT91SAM9G10EK
default "Atmel at91sam9g20-ek" if MACH_AT91SAM9G20EK
default "Atmel at91sam9m10g45-ek" if MACH_AT91SAM9M10G45EK
default "Atmel at91sam9x5-ek" if MACH_AT91SAM9X5EK
default "Bucyrus MMC-CPU" if MACH_MMCCPU
default "Calao USB-A9260" if MACH_USB_A9260
default "Calao USB-A9263" if MACH_USB_A9263
@ -81,6 +82,12 @@ config ARCH_AT91SAM9G45
select HAS_MACB
select AT91SAM9G45_RESET
config ARCH_AT91SAM9X5
bool "AT91SAM9X5"
select CPU_ARM926T
select HAS_MACB
select AT91SAM9G45_RESET
endchoice
config ARCH_BAREBOX_MAX_BARE_INIT_SIZE
@ -91,6 +98,7 @@ config ARCH_BAREBOX_MAX_BARE_INIT_SIZE
default 0x4000 if ARCH_AT91SAM9G20
default 0x3000 if ARCH_AT91SAM9G10
default 0xF000 if ARCH_AT91SAM9G45
default 0x6000 if ARCH_AT91SAM9X5
default 0xffffffff
config SUPPORT_CALAO_DAB_MMX
@ -294,6 +302,23 @@ endif
# ----------------------------------------------------------
if ARCH_AT91SAM9X5
choice
prompt "AT91SAM9x5 Series Board Type"
config MACH_AT91SAM9X5EK
bool "Atmel AT91SAM9x5 Series Evaluation Kit"
help
Select this if you re using Atmel's AT91SAM9x5-EK Evaluation Kit.
Supported chips are sam9g15, sam9g25, sam9x25, sam9g35 and sam9x35.
endchoice
endif
# ----------------------------------------------------------
comment "AT91 Board Options"
config MTD_NAND_ATMEL_BUSWIDTH_16

View File

@ -15,3 +15,4 @@ obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_d
obj-$(CONFIG_ARCH_AT91SAM9G10) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o sam9_smc.o
obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o
obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45.o at91sam926x_time.o at91sam9g45_devices.o sam9_smc.o
obj-$(CONFIG_ARCH_AT91SAM9X5) += at91sam9x5.o at91sam926x_time.o at91sam9x5_devices.o sam9_smc.o

Some files were not shown because too many files have changed in this diff Show More