ARM: at91sam9m10g45ek: enable mci0 support
Subsystems (2)
PATCH v2 1/2 ARM: at91sam9m10g45ek: enable mci0 support
Also we enable the mmc command in configuration file.
As both CONFIG_CMD_MMC and CONFIG_CMD_USB use the CONFIG_DOS_PARTITION, so remove the redundant CONFIG_DOS_PARTITION definition.
---
v1 -> v2:
1. refined the comment for the pins.
2. remove detected pin initialization.
3. move the mci initialization code to devices.c
4. remove useless header file: mmc.h
.../cpu/arm926ejs/at91/at91sam9m10g45_devices.c | 17 +++++++++++++++++ board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c | 10 ++++++++++ include/configs/at91sam9m10g45ek.h | 15 ++++++++++++++- 3 files changed, 41 insertions(+), 1 deletion(-)
arch/arm/cpu/arm926ejs/at91/at91sam9m10g45_devices.c +17 -0
@@ -165,3 +165,20 @@ void at91_macb_hw_init(void) #endif }#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 ,0 ,0 );/* MCI0 CLK */ +at91_set_a_periph (AT91_PIO_PORTA ,1 ,0 );/* MCI0 CDA */ +at91_set_a_periph (AT91_PIO_PORTA ,2 ,0 );/* MCI0 DA0 */ +at91_set_a_periph (AT91_PIO_PORTA ,3 ,0 );/* MCI0 DA1 */ +at91_set_a_periph (AT91_PIO_PORTA ,4 ,0 );/* MCI0 DA2 */ +at91_set_a_periph (AT91_PIO_PORTA ,5 ,0 );/* MCI0 DA3 */ + +/* Enable clock */ +writel (1 <<ATMEL_ID_MCI0 , &pmc->pcer); +} +#endif
board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c +10 -0
@@ -16,6 +16,7 @@#include <asm/arch/clk.h> #include <lcd.h> #include <atmel_lcdc.h> +#include <atmel_mci.h> #if defined(CONFIG_RESET_PHY_R ) && defined(CONFIG_MACB )#include <net.h> #endif
@@ -217,6 +218,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_MCI0 ); +} +#endif +int board_early_init_f (void ) {at91_seriald_hw_init ();
include/configs/at91sam9m10g45ek.h +14 -1
@@ -115,6 +115,20 @@#endif +/* MMC */ +#define CONFIG_CMD_MMC + +#ifdef CONFIG_CMD_MMC +#define CONFIG_MMC +#define CONFIG_GENERIC_MMC +#define CONFIG_GENERIC_ATMEL_MCI +#endif + +#if defined(CONFIG_CMD_USB ) || defined(CONFIG_CMD_MMC ) +#define CONFIG_CMD_FAT +#define CONFIG_DOS_PARTITION +#endif +/* Ethernet */ #define CONFIG_MACB #define CONFIG_RMII
@@ -126,7 +140,6 @@#define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_ATMEL #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2 -#define CONFIG_DOS_PARTITION #define CONFIG_USB_STORAGE #define CONFIG_SYS_LOAD_ADDR 0x22000000/* load address */
Signature · 1 line
1.7.9.5
PATCH v2 2/2 ARM: at91sam9m10g45ek: add mmc environment configuration support
In this configuration the environment will save in file: uboot.env of mmc card.
---
v1 -> v2:
1. remove mem=128m and roottype in bootargs.
2. default boot command use zImage instead of uImage.
boards.cfg | 1 + include/configs/at91sam9m10g45ek.h | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+)
boards.cfg +1 -0
@@ -102,6 +102,7 @@ Active arm arm926ejs at91 atmel at91sam9263ek Active arm arm926ejs at91 atmel at91sam9263ek at91sam9263ek_norflash at91sam9263ek:AT91SAM9263,SYS_USE_NORFLASH Stelian Pop <[email protected]> Active arm arm926ejs at91 atmel at91sam9263ek at91sam9263ek_norflash_boot at91sam9263ek:AT91SAM9263,SYS_USE_BOOT_NORFLASH Stelian Pop <[email protected]> Active arm arm926ejs at91 atmel at91sam9m10g45ek at91sam9m10g45ek_nandflash at91sam9m10g45ek:AT91SAM9M10G45,SYS_USE_NANDFLASH Bo Shen<[email protected]> +Active arm arm926ejs at91 atmel at91sam9m10g45ek at91sam9m10g45ek_mmc at91sam9m10g45ek:AT91SAM9M10G45,SYS_USE_MMC Bo Shen<[email protected]> Active arm arm926ejs at91 atmel at91sam9n12ek at91sam9n12ek_mmc at91sam9n12ek:AT91SAM9N12,SYS_USE_MMC Josh Wu <[email protected]> Active arm arm926ejs at91 atmel at91sam9n12ek at91sam9n12ek_nandflash at91sam9n12ek:AT91SAM9N12,SYS_USE_NANDFLASH Josh Wu <[email protected]> Active arm arm926ejs at91 atmel at91sam9n12ek at91sam9n12ek_spiflash at91sam9n12ek:AT91SAM9N12,SYS_USE_SPIFLASH Josh Wu <[email protected]>
include/configs/at91sam9m10g45ek.h +19 -0
@@ -147,6 +147,7 @@#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE#define CONFIG_SYS_MEMTEST_END 0x23e00000 +#ifdef CONFIG_SYS_USE_NANDFLASH /* bootstrap + u-boot + env in nandflash */ #define CONFIG_ENV_IS_IN_NAND #define CONFIG_ENV_OFFSET 0xc0000
@@ -162,6 +163,24 @@"256k(env),256k(env_redundant),256k(spare)," \"512k(dtb),6M(kernel)ro,-(rootfs) " \ "root=/dev/mtdblock7 rw rootfstype=jffs2" +#elif CONFIG_SYS_USE_MMC +/* bootstrap + u-boot + env + linux in mmc */ +#define FAT_ENV_INTERFACE "mmc" +#define FAT_ENV_DEVICE 0 +#define FAT_ENV_PART 1 +#define FAT_ENV_FILE "uboot.env" +#define CONFIG_ENV_IS_IN_FAT +#define CONFIG_FAT_WRITE +#define CONFIG_ENV_SIZE 0x4000 + +#define CONFIG_BOOTARGS "console=ttyS0,115200 " \ + "mtdparts=atmel_nand:" \ + "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ + "root=/dev/mmcblk0p2 rw rootwait" +#define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x71000000 dtb; " \ + "fatload mmc 0:1 0x72000000 zImage; " \ + "bootz 0x72000000 - 0x71000000" +#endif #define CONFIG_BAUDRATE 115200
Signature · 1 line
1.7.9.5
PATCH v2 2/2 ARM: at91sam9m10g45ek: add mmc environment configuration support
Hi Josh,
Quoted 4 lines · Josh Wu
In this configuration the environment will save in file: uboot.env of mmc card.
Signed-off-by Josh Wu <[email protected]>
Quoted 49 lines
---
v1 -> v2:
1. remove mem=128m and roottype in bootargs.
2. default boot command use zImage instead of uImage.boards.cfg | 1 + include/configs/at91sam9m10g45ek.h | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+)boards.cfg +1
-0@@ -102,6 +102,7 @@ Active arm arm926ejs at91 atmel at91sam9263ek Active arm arm926ejs at91 atmel at91sam9263ek at91sam9263ek_norflash at91sam9263ek:AT91SAM9263,SYS_USE_NORFLASH Stelian Pop <[email protected]> Active arm arm926ejs at91 atmel at91sam9263ek at91sam9263ek_norflash_boot at91sam9263ek:AT91SAM9263,SYS_USE_BOOT_NORFLASH Stelian Pop <[email protected]> Active arm arm926ejs at91 atmel at91sam9m10g45ek at91sam9m10g45ek_nandflash at91sam9m10g45ek:AT91SAM9M10G45,SYS_USE_NANDFLASH Bo Shen<[email protected]> +Active arm arm926ejs at91 atmel at91sam9m10g45ek at91sam9m10g45ek_mmc at91sam9m10g45ek:AT91SAM9M10G45,SYS_USE_MMC Bo Shen<[email protected]> Active arm arm926ejs at91 atmel at91sam9n12ek at91sam9n12ek_mmc at91sam9n12ek:AT91SAM9N12,SYS_USE_MMC Josh Wu <[email protected]> Active arm arm926ejs at91 atmel at91sam9n12ek at91sam9n12ek_nandflash at91sam9n12ek:AT91SAM9N12,SYS_USE_NANDFLASH Josh Wu <[email protected]> Active arm arm926ejs at91 atmel at91sam9n12ek at91sam9n12ek_spiflash at91sam9n12ek:AT91SAM9N12,SYS_USE_SPIFLASH Josh Wu <[email protected]>include/configs/at91sam9m10g45ek.h +12
-0@@ -147,6 +147,7 @@#define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE#define CONFIG_SYS_MEMTEST_END 0x23e00000 +#ifdef CONFIG_SYS_USE_NANDFLASH /* bootstrap + u-boot + env in nandflash */ #define CONFIG_ENV_IS_IN_NAND #define CONFIG_ENV_OFFSET 0xc0000@@ -162,6 +163,24 @@"256k(env),256k(env_redundant),256k(spare)," \"512k(dtb),6M(kernel)ro,-(rootfs) " \ "root=/dev/mtdblock7 rw rootfstype=jffs2" +#elif CONFIG_SYS_USE_MMC +/* bootstrap + u-boot + env + linux in mmc */ +#define FAT_ENV_INTERFACE "mmc" +#define FAT_ENV_DEVICE 0 +#define FAT_ENV_PART 1 +#define FAT_ENV_FILE "uboot.env" +#define CONFIG_ENV_IS_IN_FAT +#define CONFIG_FAT_WRITE +#define CONFIG_ENV_SIZE 0x4000 + +#define CONFIG_BOOTARGS "console=ttyS0,115200 " \
include/configs/at91sam9m10g45ek.h line 186
Quoted 10 lines
include/configs/at91sam9m10g45ek.h +7
-0+"mtdparts=atmel_nand:" \ +"8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ + "root=/dev/mmcblk0p2 rw rootwait" +#define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x71000000 dtb; " \ + "fatload mmc 0:1 0x72000000 zImage; " \ + "bootz 0x72000000 - 0x71000000" +#endif #define CONFIG_BAUDRATE 115200
Best Regards,
Bo Shen
PATCH v2 2/2 ARM: at91sam9m10g45ek: add mmc environment configuration support
In reply to Josh WuDear Josh Wu,
Quoted 5 lines · Josh Wu
In this configuration the environment will save in file: uboot.env of mmc card.
Signed-off-by Josh Wu <[email protected]>
Quoted 8 lines
---
v1 -> v2:
1. remove mem=128m and roottype in bootargs.
2. default boot command use zImage instead of uImage.boards.cfg | 1 +
include/configs/at91sam9m10g45ek.h| 19 +++++++++++++++++++2 files changed, 20 insertions(+)
applied to u-boot-atmel/master, thanks!
Best regards,
Andreas Bie?mann
PATCH v2 1/2 ARM: at91sam9m10g45ek: enable mci0 support
In reply to Josh WuHi Josh,
Quoted 6 lines · Josh Wu
Also we enable the mmc command in configuration file.
As both
CONFIG_CMD_MMCandCONFIG_CMD_USBuse theCONFIG_DOS_PARTITION, so remove the redundantCONFIG_DOS_PARTITIONdefinition.Signed-off-by Josh Wu <[email protected]>
Quoted 92 lines
---
v1 -> v2:
1. refined the comment for the pins.
2. remove detected pin initialization.
3. move the mci initialization code todevices.c
4. remove useless header file:mmc.h.../cpu/arm926ejs/at91/at91sam9m10g45_devices.c | 17 +++++++++++++++++ board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c | 10 ++++++++++ include/configs/at91sam9m10g45ek.h | 15 ++++++++++++++- 3 files changed, 41 insertions(+), 1 deletion(-)arch/arm/cpu/arm926ejs/at91/at91sam9m10g45_devices.c +17
-0@@ -165,3 +165,20 @@ void at91_macb_hw_init(void) #endif }#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 ,0 ,0 );/* MCI0 CLK */ +at91_set_a_periph (AT91_PIO_PORTA ,1 ,0 );/* MCI0 CDA */ +at91_set_a_periph (AT91_PIO_PORTA ,2 ,0 );/* MCI0 DA0 */ +at91_set_a_periph (AT91_PIO_PORTA ,3 ,0 );/* MCI0 DA1 */ +at91_set_a_periph (AT91_PIO_PORTA ,4 ,0 );/* MCI0 DA2 */ +at91_set_a_periph (AT91_PIO_PORTA ,5 ,0 );/* MCI0 DA3 */ + +/* Enable clock */ +writel (1 <<ATMEL_ID_MCI0 , &pmc->pcer); +} +#endif board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c +10
-0@@ -16,6 +16,7 @@#include <asm/arch/clk.h> #include <lcd.h> #include <atmel_lcdc.h> +#include <atmel_mci.h> #if defined(CONFIG_RESET_PHY_R ) && defined(CONFIG_MACB )#include <net.h> #endif @@ -217,6 +218,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_MCI0 ); +} +#endif +int board_early_init_f (void ) {at91_seriald_hw_init ();include/configs/at91sam9m10g45ek.h +14
-0@@ -115,6 +115,20 @@#endif +/* MMC */ +#define CONFIG_CMD_MMC + +#ifdef CONFIG_CMD_MMC +#define CONFIG_MMC +#define CONFIG_GENERIC_MMC +#define CONFIG_GENERIC_ATMEL_MCI +#endif + +#if defined(CONFIG_CMD_USB ) || defined(CONFIG_CMD_MMC ) +#define CONFIG_CMD_FAT +#define CONFIG_DOS_PARTITION +#endif +/* Ethernet */ #define CONFIG_MACB #define CONFIG_RMII
include/configs/at91sam9m10g45ek.h line 145
Quoted 7 lines
include/configs/at91sam9m10g45ek.h +0
-1@@ -126,7 +140,6 @@#define CONFIG_USB_EHCI #define CONFIG_USB_EHCI_ATMEL #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 2 -#define CONFIG_DOS_PARTITION #define CONFIG_USB_STORAGE #define CONFIG_SYS_LOAD_ADDR 0x22000000/* load address */
Best Regards,
Bo Shen
PATCH v2 1/2 ARM: at91sam9m10g45ek: enable mci0 support
In reply to Josh WuDear Josh Wu,
Quoted 14 lines · Josh Wu
Also we enable the mmc command in configuration file.
As both
CONFIG_CMD_MMCandCONFIG_CMD_USBuse theCONFIG_DOS_PARTITION, so remove the redundantCONFIG_DOS_PARTITIONdefinition.Signed-off-by Josh Wu <[email protected]>---
v1 -> v2:
1. refined the comment for the pins.
2. remove detected pin initialization.
3. move the mci initialization code todevices.c
4. remove useless header file:mmc.h
Quoted 4 lines
.../cpu/arm926ejs/at91/at91sam9m10g45_devices.c | 17 +++++++++++++++++ board/atmel/at91sam9m10g45ek/at91sam9m10g45ek.c | 10 ++++++++++ include/configs/at91sam9m10g45ek.h | 15 ++++++++++++++- 3 files changed, 41 insertions(+), 1 deletion(-)
applied to u-boot-atmel/master, thanks!
Best regards,
Andreas Bie?mann