[U-Boot] [PATCH v1 4/7] board/ti/am335x: add support for beaglebone NOR Cape

Gupta, Pekon
2014-07-21T10:27:22Z

>From: Tom Rini [mailto:tom.rini at gmail.com] On Behalf Of Rini, Tom
>>On Sat, Jul 05, 2014 at 12:35:14AM +0530, Pekon Gupta wrote:
>
>> This patch updates pin-mux for beaglebone NOR cape [1]
>> This cape has 128Mbits(16MBytes), x16, CFI compatible NOR Flash device.
>>
>> On Beaglebone, GPMC chip-select-0 is shared by both NAND and NOR capes,
>> so only one of them can be enabled at a time from board profile configs.
>>
>> [1] http://elinux.org/Beagleboardtoys:BeagleBone_128Mb_16-Bit_NOR_Module
>[snip]
>> @@ -200,73 +200,46 @@ static struct module_pin_mux nand_pin_mux[] = {
>> {OFFSET(gpmc_be0n_cle), (MODE(0) | PULLDOWN_EN)}, /* BE_CLE */
>> {-1},
>> };
>> -#endif
>> -#if defined(CONFIG_NOR) && !defined(CONFIG_NOR_BOOT)
>> +#elif defined(CONFIG_NOR)
>> static struct module_pin_mux bone_norcape_pin_mux[] = {
>> - {OFFSET(lcd_data0), MODE(1) | PULLUDEN | RXACTIVE}, /* NOR_A0 */
>
>It _looks_ like this is jsut whitespace only. Since that doesn't match
>the rest of the file, please don't do that.
>
Will be fixed in next version of this patch.

>[snip]
>> #endif
>>
>> #if defined(CONFIG_NOR_BOOT)
>> -static struct module_pin_mux norboot_pin_mux[] = {
>> - {OFFSET(lcd_data1), MODE(1) | PULLUDDIS},
>> - {OFFSET(lcd_data2), MODE(1) | PULLUDDIS},
>> - {OFFSET(lcd_data3), MODE(1) | PULLUDDIS},
>> - {OFFSET(lcd_data4), MODE(1) | PULLUDDIS},
>> - {OFFSET(lcd_data5), MODE(1) | PULLUDDIS},
>> - {OFFSET(lcd_data6), MODE(1) | PULLUDDIS},
>> - {OFFSET(lcd_data7), MODE(1) | PULLUDDIS},
>> - {OFFSET(lcd_data8), MODE(1) | PULLUDDIS},
>> - {OFFSET(lcd_data9), MODE(1) | PULLUDDIS},
>> - {-1},
>> -};
>> -
>> void enable_norboot_pin_mux(void)
>> {
>> - configure_module_pin_mux(norboot_pin_mux);
>> + configure_module_pin_mux(bone_norcape_pin_mux);
>
>Did you boot test this? The system requirements here are a bit strict
>and I don't know if we can just do what you're doing here...
>

Yes, this one is also tested on Beaglebone-Black with following change in
boards.cfg to enable NOR on Beaglebone-Black
diff --git a/boards.cfg b/boards.cfg
-Active arm armv7 am33xx ti am335x am335x_boneblack am335x_evm:SERIAL1,CO
+Active arm armv7 am33xx ti am335x am335x_boneblack am335x_evm:SERIAL1,CO

---------------------
U-Boot SPL 2014.07-00012-g0e5512a-dirty (Jul 21 2014 - 15:38:26)
reading u-boot.img
reading u-boot.img

U-Boot 2014.07-00012-g0e5512a-dirty (Jul 21 2014 - 15:38:26)

I2C: ready
DRAM: 512 MiB
Flash: 16 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
Using default environment

Net: <ethaddr> not set. Validating first E-fuse MAC
cpsw, usb_ether
Hit any key to stop autoboot: 1 \b\b\b 0
U-Boot#
U-Boot# flinfo

Bank # 1: CFI conformant flash (16 x 16) Size: 16 MB in 128 Sectors
AMD Standard command set, Manufacturer ID: 0x20, Device ID: 0x227E2100
Advanced Sector Protection (PPB) enabled
Erase timeout: 4096 ms, write timeout: 1 ms
Buffer write timeout: 1 ms, buffer size: 64 bytes

Sector Start Addresses:
08000000 RO 08020000 RO 08040000 RO 08060000 RO 08080000 RO
080A0000 RO 080C0000 RO 080E0000 RO 08100000 RO 08120000 RO
...
08E60000 RO 08E80000 RO 08EA0000 RO 08EC0000 RO 08EE0000 RO
08F00000 RO 08F20000 RO 08F40000 RO 08F60000 RO 08F80000 RO
08FA0000 RO 08FC0000 RO 08FE0000 RO
U-Boot#
---------------------

with regards, pekon