Merge branch 'master' of git://git.denx.de/u-boot-atmel
This commit is contained in:
commit
e6f4042a04
@ -101,3 +101,20 @@ void at91_spi0_hw_init(unsigned long cs_mask)
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_GENERIC_ATMEL_MCI
|
||||
void at91_mci_hw_init(void)
|
||||
{
|
||||
struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC;
|
||||
|
||||
at91_set_a_periph(AT91_PIO_PORTA, 2, 0); /* MCI CLK */
|
||||
at91_set_a_periph(AT91_PIO_PORTA, 1, 0); /* MCI CDA */
|
||||
at91_set_a_periph(AT91_PIO_PORTA, 0, 0); /* MCI DA0 */
|
||||
at91_set_a_periph(AT91_PIO_PORTA, 3, 0); /* MCI DA1 */
|
||||
at91_set_a_periph(AT91_PIO_PORTA, 4, 0); /* MCI DA2 */
|
||||
at91_set_a_periph(AT91_PIO_PORTA, 5, 0); /* MCI DA3 */
|
||||
|
||||
/* Enable clock */
|
||||
writel(1 << ATMEL_ID_MCI, &pmc->pcer);
|
||||
}
|
||||
#endif
|
||||
|
@ -75,6 +75,15 @@ void matrix_init(void)
|
||||
writel(0x00000001, &h32mx->sassr[4]);
|
||||
writel(0x00000001, &h32mx->srtsr[4]);
|
||||
|
||||
/* Configure Programmable Security peripherals on matrix 64 */
|
||||
writel(readl(&h64mx->spselr[0]) | 0x00080000, &h64mx->spselr[0]);
|
||||
writel(readl(&h64mx->spselr[1]) | 0x00180000, &h64mx->spselr[1]);
|
||||
writel(readl(&h64mx->spselr[2]) | 0x00000008, &h64mx->spselr[2]);
|
||||
|
||||
/* Configure Programmable Security peripherals on matrix 32 */
|
||||
writel(readl(&h32mx->spselr[0]) | 0xFFC00000, &h32mx->spselr[0]);
|
||||
writel(readl(&h32mx->spselr[1]) | 0x60E3FFFF, &h32mx->spselr[1]);
|
||||
|
||||
/* Enable the write protect */
|
||||
writel(ATMEL_MATRIX_WPMR_WPKEY | ATMEL_MATRIX_WPMR_WPEN, &h64mx->wpmr);
|
||||
writel(ATMEL_MATRIX_WPMR_WPKEY | ATMEL_MATRIX_WPMR_WPEN, &h32mx->wpmr);
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include <lcd.h>
|
||||
#include <atmel_lcdc.h>
|
||||
#include <atmel_mci.h>
|
||||
#if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
|
||||
#include <net.h>
|
||||
#endif
|
||||
@ -162,6 +163,15 @@ void lcd_show_board_info(void)
|
||||
#endif /* CONFIG_LCD_INFO */
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_GENERIC_ATMEL_MCI
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
at91_mci_hw_init();
|
||||
|
||||
return atmel_mci_init((void *)ATMEL_BASE_MCI);
|
||||
}
|
||||
#endif
|
||||
|
||||
int board_early_init_f(void)
|
||||
{
|
||||
struct at91_pmc *pmc = (struct at91_pmc *)ATMEL_BASE_PMC;
|
||||
|
@ -228,6 +228,9 @@ void sama5d4_xplained_mci1_hw_init(void)
|
||||
|
||||
int board_mmc_init(bd_t *bis)
|
||||
{
|
||||
/* Enable the power supply */
|
||||
at91_set_pio_output(AT91_PIO_PORTE, 4, 0);
|
||||
|
||||
return atmel_mci_init((void *)ATMEL_BASE_MCI1);
|
||||
}
|
||||
#endif /* CONFIG_GENERIC_ATMEL_MCI */
|
||||
|
@ -2,3 +2,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9RL,SYS_USE_DATAFLASH"
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_TARGET_AT91SAM9RLEK=y
|
||||
CONFIG_HUSH_PARSER=y
|
||||
|
4
configs/at91sam9rlek_mmc_defconfig
Normal file
4
configs/at91sam9rlek_mmc_defconfig
Normal file
@ -0,0 +1,4 @@
|
||||
CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9RL,SYS_USE_MMC"
|
||||
CONFIG_ARM=y
|
||||
CONFIG_TARGET_AT91SAM9RLEK=y
|
||||
CONFIG_HUSH_PARSER=y
|
@ -2,3 +2,4 @@ CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9RL,SYS_USE_NANDFLASH"
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARCH_AT91=y
|
||||
CONFIG_TARGET_AT91SAM9RLEK=y
|
||||
CONFIG_HUSH_PARSER=y
|
||||
|
@ -515,7 +515,7 @@ static int macb_phy_init(struct macb_device *macb)
|
||||
lpa);
|
||||
|
||||
ncfgr = macb_readl(macb, NCFGR);
|
||||
ncfgr &= ~(MACB_BIT(SPD) | MACB_BIT(FD));
|
||||
ncfgr &= ~(MACB_BIT(SPD) | MACB_BIT(FD) | GEM_BIT(GBE));
|
||||
if (speed)
|
||||
ncfgr |= MACB_BIT(SPD);
|
||||
if (duplex)
|
||||
|
@ -124,6 +124,17 @@
|
||||
|
||||
#endif
|
||||
|
||||
/* MMC */
|
||||
#define CONFIG_CMD_MMC
|
||||
|
||||
#ifdef CONFIG_CMD_MMC
|
||||
#define CONFIG_MMC
|
||||
#define CONFIG_GENERIC_MMC
|
||||
#define CONFIG_GENERIC_ATMEL_MCI
|
||||
#define CONFIG_CMD_FAT
|
||||
#define CONFIG_DOS_PARTITION
|
||||
#endif
|
||||
|
||||
/* Ethernet - not present */
|
||||
|
||||
/* USB - not supported */
|
||||
@ -147,19 +158,39 @@
|
||||
"mtdparts=atmel_nand:-(root) "\
|
||||
"rw rootfstype=jffs2"
|
||||
|
||||
#else /* CONFIG_SYS_USE_NANDFLASH */
|
||||
#elif CONFIG_SYS_USE_NANDFLASH
|
||||
|
||||
/* bootstrap + u-boot + env + linux in nandflash */
|
||||
#define CONFIG_ENV_IS_IN_NAND 1
|
||||
#define CONFIG_ENV_OFFSET 0x60000
|
||||
#define CONFIG_ENV_OFFSET_REDUND 0x80000
|
||||
#define CONFIG_ENV_OFFSET 0xc0000
|
||||
#define CONFIG_ENV_OFFSET_REDUND 0x100000
|
||||
#define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */
|
||||
#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0xA0000 0x200000; bootm"
|
||||
#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
|
||||
"root=/dev/mtdblock5 " \
|
||||
"mtdparts=atmel_nand:128k(bootstrap)ro,256k(uboot)ro,128k(env1)ro,128k(env2)ro,2M(linux),-(root) " \
|
||||
"rw rootfstype=jffs2"
|
||||
#define CONFIG_BOOTCOMMAND "nand read 0x22000000 0x200000 0x600000; " \
|
||||
"nand read 0x21000000 0x180000 0x80000; " \
|
||||
"bootz 0x22000000 - 0x21000000"
|
||||
#define CONFIG_BOOTARGS \
|
||||
"console=ttyS0,115200 earlyprintk " \
|
||||
"mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro," \
|
||||
"256K(env),256k(evn_redundent),256k(spare)," \
|
||||
"512k(dtb),6M(kernel)ro,-(rootfs) " \
|
||||
"rootfstype=ubifs ubi.mtd=7 root=ubi0:rootfs"
|
||||
|
||||
#else /* CONFIG_SYS_USE_MMC */
|
||||
|
||||
/* bootstrap + u-boot + env + linux in mmc */
|
||||
#define CONFIG_ENV_IS_IN_FAT
|
||||
#define CONFIG_FAT_WRITE
|
||||
#define FAT_ENV_INTERFACE "mmc"
|
||||
#define FAT_ENV_FILE "uboot.env"
|
||||
#define FAT_ENV_DEVICE_AND_PART "0"
|
||||
#define CONFIG_ENV_SIZE 0x4000
|
||||
#define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x21000000 at91sam9rlek.dtb; " \
|
||||
"fatload mmc 0:1 0x22000000 zImage; " \
|
||||
"bootz 0x22000000 - 0x21000000"
|
||||
#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
|
||||
"mtdparts=atmel_nand:" \
|
||||
"8M(bootstrap/uboot/kernel)ro,-(rootfs) " \
|
||||
"root=/dev/mmcblk0p2 rw rootwait"
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_PROMPT "U-Boot> "
|
||||
|
@ -227,7 +227,7 @@
|
||||
#define CONFIG_SYS_MONITOR_LEN (512 << 10)
|
||||
|
||||
#ifdef CONFIG_SYS_USE_MMC
|
||||
#define CONFIG_SPL_LDSCRIPT arch/arm/mach-at91/u-boot-spl.lds
|
||||
#define CONFIG_SPL_LDSCRIPT arch/arm/mach-at91/armv7/u-boot-spl.lds
|
||||
#define CONFIG_SPL_MMC_SUPPORT
|
||||
#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x400
|
||||
#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x200
|
||||
|
@ -274,7 +274,7 @@
|
||||
#define CONFIG_SYS_MONITOR_LEN (512 << 10)
|
||||
|
||||
#ifdef CONFIG_SYS_USE_MMC
|
||||
#define CONFIG_SPL_LDSCRIPT arch/arm/mach-at91/u-boot-spl.lds
|
||||
#define CONFIG_SPL_LDSCRIPT arch/arm/mach-at91/armv7/u-boot-spl.lds
|
||||
#define CONFIG_SPL_MMC_SUPPORT
|
||||
#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x400
|
||||
#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x200
|
||||
|
@ -246,7 +246,7 @@
|
||||
#define CONFIG_SYS_MONITOR_LEN (512 << 10)
|
||||
|
||||
#ifdef CONFIG_SYS_USE_MMC
|
||||
#define CONFIG_SPL_LDSCRIPT arch/arm/cpu/at91-common/u-boot-spl.lds
|
||||
#define CONFIG_SPL_LDSCRIPT arch/arm/mach-at91/armv7/u-boot-spl.lds
|
||||
#define CONFIG_SPL_MMC_SUPPORT
|
||||
#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x400
|
||||
#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x200
|
||||
|
@ -244,7 +244,7 @@
|
||||
#define CONFIG_SYS_MONITOR_LEN (512 << 10)
|
||||
|
||||
#ifdef CONFIG_SYS_USE_MMC
|
||||
#define CONFIG_SPL_LDSCRIPT arch/arm/cpu/at91-common/u-boot-spl.lds
|
||||
#define CONFIG_SPL_LDSCRIPT arch/arm/mach-at91/armv7/u-boot-spl.lds
|
||||
#define CONFIG_SPL_MMC_SUPPORT
|
||||
#define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 0x400
|
||||
#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x200
|
||||
|
Loading…
Reference in New Issue
Block a user