cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Anonymous
Not applicable
4,879 Views

Petalinux 2016.3 petalinux-build failure (Spansion NAND)

Jump to solution

I hope my question is easily resolved. I am unsure what I am doing incorrect. I am attempting to place a linux build onto our board and the petalinux-build command is failing. 

I have:

- Developed the Vivado project and exported the bit file

- done the petalinux-config command (which if I understand builds the device tree files)

- I then go and configure the kernel with the petalinux-config -c kernel command

- I didn't think I needed to change anything and kept defaults 

- after wards I use the petalinux-build command and the command errors out giving me

 [ERROR] make[4]: *** [drivers/mtd/nand/nand.o] Error 1

 [ERROR] make[3]: *** [drivers/mtd/nand] Error 2

 [ERROR] make[2]: *** [sub-make] Error 2

 [ERROR] make[1]: *** [/home/<petalinux project>/build/linux/u-boot/u-boot-plnx/u-boot] Error 2

 ERROR: Failed to build linux

 

Any help would be appreciated. 

0 Kudos
1 Solution

Accepted Solutions
Anonymous
Not applicable
8,489 Views

Well, I really don't know if I fixed my problem all the way. At least I got the petalinux build to complete. according to:

 

AR# 60241

 

It looks like there is an issue with the u-boot header file. (I saw this earlier, but I was like surely this is several revisions past 13.10 and they have incorporated all their answer records into the newer revisions)

 

I simply added the 

#define CONFIG_SYS_NAND_SELF_INIT 1

to my platform-auto.h file located in

<Petalinux Project>/subsystems/linux/configs/u-boot/

 

where I placed my #define (line 64)

#define CONFIG_SYS_NAND_ONFI_DETECTION

#define CONFIG_SYS_NAND_SELF_INIT 1

#define CONFIG_MTD_DEVICE

 

 

View solution in original post

0 Kudos
6 Replies
htsvn
Xilinx Employee
Xilinx Employee
4,862 Views
Registered: ‎08-02-2007

hi,

 

would that be possible to share the hdf for further debug?

 

--hs

----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------
0 Kudos
Anonymous
Not applicable
4,831 Views

Here ya go.

 

I forgot to add TTC0 to the Vivado block diagram. I updated the block diagram and then exported the .hdf went back into petalinux and then did the command

 

$ petalinux-config --get-hw-description -p ../<path to petalinux project>

 

I get the error

ERROR: Partition "dtb" for image "dtb" is not in flash partition table in the subsystem configuration file.

ERROR: Please select "manual" if your flash partition of your image is outside the flash partition table set in the subsystem configuration file. 

make: *** [post-config-auto-config] error 255

ERROR: failed to post config linux

ERROR: failed to config subsystem linux.

0 Kudos
Anonymous
Not applicable
8,490 Views

Well, I really don't know if I fixed my problem all the way. At least I got the petalinux build to complete. according to:

 

AR# 60241

 

It looks like there is an issue with the u-boot header file. (I saw this earlier, but I was like surely this is several revisions past 13.10 and they have incorporated all their answer records into the newer revisions)

 

I simply added the 

#define CONFIG_SYS_NAND_SELF_INIT 1

to my platform-auto.h file located in

<Petalinux Project>/subsystems/linux/configs/u-boot/

 

where I placed my #define (line 64)

#define CONFIG_SYS_NAND_ONFI_DETECTION

#define CONFIG_SYS_NAND_SELF_INIT 1

#define CONFIG_MTD_DEVICE

 

 

View solution in original post

0 Kudos
shabbirk
Moderator
Moderator
4,816 Views
Registered: ‎12-04-2016
Hi

Are you now able to access spansion nand flash device from both uboot and kernel?


Best Regards
Shabbir
0 Kudos
Anonymous
Not applicable
4,502 Views
Only U-boot, kernel does not boot
0 Kudos
derekparks
Observer
Observer
2,088 Views
Registered: ‎09-14-2017

Were you able to solve the issue?   I too am unable to connect to Spansion Nand via Linux.  U-boot is working just fine as Linux is stored and booted from nand.  

 

Using zynq-7100, Linux 4.9.0, Spansion S34ML02G1, built via Petalinux 2017.2,

 

Here are errors from kernel:

root@xilinx-zc706-2017_2:~# dmesg|grep nand
pl35x_nand_cmd_function timed out
pl35x_nand_cmd_function timed out
nand: No NAND device found
pl35x-nand e1000000.flash: nand_scan_ident for NAND failed

 

Here is my dts:

	memory-controller@e000e000 {
			#address-cells = <0x1>;
			#size-cells = <0x1>;
			status = "okay";
			clock-names = "memclk", "aclk";
			clocks = <0x1 0xb 0x1 0x2c>;
			compatible = "arm,pl353-smc-r2p1";
			interrupt-parent = <0x4>;
			interrupts = <0x0 0x12 0x4>;
			ranges;
			reg = <0xe000e000 0x1000>;
			arm,addr25 = <0x0>;
			arm,nor-chip-sel0 = <0x0>;
			arm,nor-chip-sel1 = <0x0>;
			arm,sram-chip-sel0 = <0x0>;
			arm,sram-chip-sel1 = <0x0>;

			flash@e1000000 {
				status = "okay";
				compatible = "arm,pl353-nand-r2p1";
				reg = <0xe1000000 0x1000000>;
				#address-cells = <0x1>;
				#size-cells = <0x1>;
				arm,nand-cycle-t0 = <0x5>;
				arm,nand-cycle-t1 = <0x5>;
				arm,nand-cycle-t2 = <0x2>;
				arm,nand-cycle-t3 = <0x3>;
				arm,nand-cycle-t4 = <0x1>;
				arm,nand-cycle-t5 = <0x2>;
				arm,nand-cycle-t6 = <0x2>;

				partition@nand-fsbl {
					label = "nand-fsbl";
					reg = <0x0 0xe0000>;
				};

				partition@nand-bitstream {
					label = "nand-bitstream";
					reg = <0xe0000 0x4000000>;
				};

				partition@nand-ubootenv {
					label = "nand-ubootenv";
					reg = <0x40e0000 0x20000>;
				};

				partition@nand-ubootbin {
					label = "nand-ubootbin";
					reg = <0x4100000 0x220000>;
				};

				partition@nand-linux {
					label = "nand-linux";
					reg = <0x4320000 0x6400000>;
				};

				partition@nand-config {
					label = "nand-config";
					reg = <0xa720000 0xa00000>;
				};
			};

			flash@e2000000 {
				status = "disabled";
				compatible = "cfi-flash";
				reg = <0xe2000000 0x2000000>;
				#address-cells = <0x1>;
				#size-cells = <0x1>;
			};
		};

 

 

0 Kudos