How to disable NAND device in U-Boot?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to disable NAND device in U-Boot?

Jump to solution
4,939 Views
jackblather
Senior Contributor I

I have u-boot running on the VF610TWR board. It boots from the SD Card. I want to disable it looking for the MT29F2G16ABA NAND chip. How does one do that?

I have a new board based on the vf610twr design (SD Card boot), but it doesn't have NAND flash. When I try to boot this new board, I get this from u-boot:

U-Boot 2013.07 (Aug 14 2014 - 07:45:53)

CPU:   Freescale Vybrid 600 family rev1.2 at 396 MHz

Reset cause: POR

Board: TWR-VF65GS10

DRAM:  128 MiB

WARNING: Caches not enabled

NAND:

It *hangs* on the "NAND:" line. Since I don't have flash on this new board, I need to disable searching for it. Boot is from SD Card.

I'm going to try adding this line in the u-boot-2013.07/u-boot-2013.07/board/freescale/vf610twr\imximage.cfg file:

#unset CONFIG_CMD_NAND

but I have a feeling it isn't going to help...

Thanks

Tags (3)
1 Solution
3,348 Views
timesyssupport
Senior Contributor II

Hello Jack,

You will want to modify your U-Boot board configuration header in order to configure out NAND boot support.

For example, if you are configuring U-Boot to build the vf610twr target, the board configuration header is located at include/configs/vf610twr.h in U-Boot source. You will want to comment out or remove line 74:

#define CONFIG_CMD_NAND

Then, you can rebuild (if you are building with Factory, you can run 'make u-boot-restage && make' to rebuild).

Thanks, and let me know if you have any questions.

Timesys Support

View solution in original post

0 Kudos
Reply
13 Replies
3,348 Views
jackblather
Senior Contributor I

I just tried the '#unset CONFIG_CMD_NAND' and U-Boot still looks for NAND. So that #undef does nothing.

0 Kudos
Reply
3,349 Views
timesyssupport
Senior Contributor II

Hello Jack,

You will want to modify your U-Boot board configuration header in order to configure out NAND boot support.

For example, if you are configuring U-Boot to build the vf610twr target, the board configuration header is located at include/configs/vf610twr.h in U-Boot source. You will want to comment out or remove line 74:

#define CONFIG_CMD_NAND

Then, you can rebuild (if you are building with Factory, you can run 'make u-boot-restage && make' to rebuild).

Thanks, and let me know if you have any questions.

Timesys Support

0 Kudos
Reply
3,348 Views
alejandrolozan1
NXP Employee
NXP Employee

Hi,

I found that very helpful. Thank you!

Regards,

Alejandro

3,348 Views
jackblather
Senior Contributor I

So when U-Boot comes up, it says this:

CPU:   Freescale Vybrid 600 family rev1.2 at 396 MHz

I thought the U-boot set the A5 CPU at 500 MHz. Is U-Boot reporting a wrong value? It does this on both the Vybrid Tower and our new board.

Thanks.

0 Kudos
Reply
3,348 Views
naoumgitnik
Senior Contributor V

Hello Jack,

I guess it is set for 396 MHz to make it possible to use the same code for both Consumer (500 MHz max.)  and Automotive (400 MHz max.) parts. Who needs it to be higher for the Consumer part adjusts it "manually".

It is definitely better that having 500 MHz in the code and an avalanche of the "does not work!" field requiests from those using an Automotive part!

Sincerely, Naoum Gitnik.

[timesyssupport]

3,348 Views
jackblather
Senior Contributor I

I'm looking at the vf610twr.c file. What changes would I need to crank up the CPU clock speed from 396 MHz to 500 Mhz?

Thanks.

0 Kudos
Reply
3,348 Views
naoumgitnik
Senior Contributor V

Hello Jackm

Have you looked at the How to set VF61 CPU A5 core speed to 500 MHz under Timesys Linux ? thread - there might be good hints for you in there.

Sincerely, Naoum Gitnik.

3,348 Views
jackblather
Senior Contributor I

Thank you!

0 Kudos
Reply
3,348 Views
jackblather
Senior Contributor I

Thanks. I'm going to crank it up to 500 MHz and see what happens (MVF61 part)....

0 Kudos
Reply
3,348 Views
timesyssupport
Senior Contributor II

Hello Jack,

This is not an incorrect value as far as I am aware. The CCSR and CACRR registers which control this value are set in board/freescale/vf610twr/vf610twr.c. This line is printed by arch/arm/cpu/armv7/vf610/generic.c, which reads the CCSR and CACRR registers.

Thanks,

Timesys Support

3,348 Views
jackblather
Senior Contributor I

Found that.....works! It skips nand_init() in board.c and loads. Then Linux comes up and I get the command prompt and all is good.

Thanks

0 Kudos
Reply
3,348 Views
naoumgitnik
Senior Contributor V

Hello Jack,

  • For better understanding from the hardware point of view: does your "Boot is from SD Card." mean the 2 BOOTMOD pins are configured for 'SD Card' (and sampled properly) so that there are active signals on the SD interface?
  • BTW, the U-Boot 2013.07 looks a bit outdated to me; as far as I know, we had a new revision a few months ago (try looking in the Rev.H Vybrid Tower module materials on the web).


(Please, also take a look at the Can I get working sources of U-BOOT 2013.07, nand? thread to see if it is anyhow related to your issue.)

[timesyssupport, may you comment here, please?]

Sincerely, Naoum Gitnik.

0 Kudos
Reply
3,348 Views
jackblather
Senior Contributor I

I blew the BT_FUSE_SEL fuse in OCOTP_CFG5 (OTP Bank0 Word6) and changed the BOOT_CFG1 byte in OCOTP_CFG4 to be 0x60 (sd card, fast mode, High SD Speed). We also checked the BOOTMOD pins (which are ignored anyway after fuse setting) and they were both low.

I'll check out the new U-Boot release to see if it has something critical that we need.

Thanks

0 Kudos
Reply