Jump to content

Orange Pi Zero Plus spi nor flash - anyone know how to configure for booting


schwar3kat

Recommended Posts

From reading through the forums I cobbled together what I thought might work for getting spi nor to boot, but it fails:

Activate the spi-jedec-nor overlay in /boot/armbianEnv.txt :

overlays=spi-jedec-nor
param_spinor_spi_bus=0

 

Then, after reboot, "cat /proc/mtd" should produce something like this :

dev:    size   erasesize  name
mtd0: 00200000 00001000 "spi0.0"
Here is where it fails - I just get the heading, with no mtd0: 00200000 00001000 "spi0.0".

Should I be using a different param_spinor_spi_bus?

I assume that once that works, the following will work?

apt-get install mtd-utils
 

cat /usr/lib/linux-u-boot-next-orangepizeroplus_5.38_arm64/sunxi-spl.bin /usr/lib/linux-u-boot-next-orangepizeroplus_5.38_arm64/u-boot.itb > /usr/lib/linux-u-boot-next-orangepizeroplus_5.38_arm64/u-boot-sunxi-with-spl.bin


flashcp /usr/lib/linux-u-boot-next-orangepizeroplus_5.38_arm64/u-boot-sunxi-with-spl.bin /dev/mtd0

Link to comment
Share on other sites

Thanks martinayotte

Is there anything that I can do to fix this, bearing in mind that I'm new to Linux, so this, for me, is a very steep learning curve. 

I can decompile a dtb but then what? 
dtc -I dtb -O dts /boot/dtb-4.14.48-sunxi64/allwinner/sun50i-h5-orangepi-zero-plus.dtb -o /tmp/temp.dts

 

Is this the correct dtb or is there one specifically for the spi and is there a way to preserve changes over upgrades?

I found something that might or might not be similar.  The problem is I don't know what I'm looking for.
Is this perhaps something similar for a different board https://lkml.org/lkml/2018/7/24/450  [PATCH] arm64: activate spi flash on pine64 LTS board.

If someone could confirm that this is similar then at least I would have a starting point, or am I way off.

 

 

Link to comment
Share on other sites

You're better staying with overlays and keeping main DT intact.

First, you need a dtc compiler with symbol support :

git clone https://github.com/pantoniou/dtc.git
cd dtc
git checkout dt-overlays5 
make PREFIX=/usr
sudo make install

Then, you can compile this overlay with this command line :

dtc -@ -I dts -O dtb -o /boot/overlay-user/my-spinor.dtbo my-spinor.dts

And here is the overlay source :

// Enable the SPI Flash device
/dts-v1/;
/plugin/;

/ {
    compatible = "allwinner,sun8i-h3";

    fragment@0 {
	target-path = "/aliases";
	__overlay__ {
            /* Path to the SPI controller nodes */
            spi0 = "/soc@01c00000/spi@01c68000";
        };
    };
    fragment@1 {
        target = <&spi0>;
        __overlay__ {
            status = "okay";
            #address-cells = <1>;
            #size-cells = <0>;
	    spi-flash@0 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "jedec,spi-nor";
		reg = <0>; /* Chip select 0 */
		spi-max-frequency = <3000000>;
		status = "okay";

		partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

			partition@0 {
				label = "uboot";
				reg = <0x0 0x100000>;
			};

			partition@100000 {
				label = "env";
				reg = <0x100000 0x100000>;
			};

			partition@200000 {
				label = "data";
				reg = <0x200000 0x600000>;
			};
		};
	    };
        };
    };
};

Maybe partition sizes need to be tweak depending of the actual SPI-NOR chip size ...

 

Add "user_overlays=my-spinor" line to /boot/armbianEnv.txt and then reboot !

 

Link to comment
Share on other sites

Thanks for your help martinayotte,

I'm trying to understand the partition table and having some issues (Perhaps I am not understanding it correctly):

If I understand what the "Reg=" means  the partitions look incorrect to me.

 

Partition 0 - 0x0 to 0x100000 - should this not end at 0x‭FFFFF‬ (0x100000 -1) before partition 1 begins?

Partition 1 - 0x100000 to 0x100000 -  begins and ends at 0x100000. Should this not end at ‭1FFFFF‬ (0x200000 - 1)?

Partition 2 - 0x200000 to 0x600000 - starts at 0x200000, Should this not end at 0x‭5FFFFF‬ (0x600000 -1)?

My chip is MXIC MX 25L1606E M2I-12G  -  16Mbits = (2M x 8) = ‭2097152‬B = 0x‭200000‬ which seems to be the same size as the example partition table.

The total size of spl.bin + uboot.itb is 558268B = 0x‭884BC‬ which will fit in 0x‭100000‬ with a little bit to spare.

Link to comment
Share on other sites

1 hour ago, Elektrický said:

If I understand what the "Reg=" means  the partitions look incorrect to me.

The values are not <start> <end>, but <start> <size> ...

The above values are for 128Mbits or 8MBytes. This mean, in your case with 2Mbytes, you will need to trim partitions #1 and #2 to smaller value so they will fit in the remaining space.

Anyway "data" partition is not used currently.

Link to comment
Share on other sites

I was able to install the dtc compiler with symbol support after installing flex and bison.
The "-@" parameter was not recognized, and gave Error: unknown option. It is not listed in the help output.  As this is for symbol support, I am pretty sure that this is caused by it using the wrong dtc compiler as there is one already installed without symbol support.  I will try and figure out how to fix this.

 

 

Link to comment
Share on other sites

Success!  Many thanks for your help.

 

I logged in as root and followed your instructions slightly modified:

Modified source with only two partitions (only the first is used).

 

apt-get install flex
apt-get install bison
git clone https://github.com/pantoniou/dtc.git
cd dtc
git checkout
dt-overlays5
make PREFIX=/usr
make install

/root/dtc/dtc -@ -I dts -O dtb -o /boot/overlay-user/my-spinor.dtbo /boot/overlay-user/my-spinor.dts

reboot

cat /proc/mtd

This produced:
dev:    size   erasesize  name
mtd0: 00100000 00001000 "env"
mtd1: 00100000 00001000 "uboot"
 

 

 

opi-zero-plus-spi-nor-source.txt

Link to comment
Share on other sites

I tried flashing the concatenated sunxi-spl.bin u-boot.itb to the uboot partition mtd1 (from instructions elsewhere on this forum)   https://forum.armbian.com/topic/5218-spiusb-boot-orange-pi-pc2/?tab=comments#comment-42665

 

 

The flash worked.

apt-get install mtd-utils

cat /usr/lib/linux-u-boot-next-orangepizeroplus_5.38_arm64/sunxi-spl.bin /usr/lib/linux-u-boot-next-orangepizeroplus_5.38_arm64/u-boot.itb > /usr/lib/linux-u-boot-next-orangepizeroplus_5.38_arm64/u-boot-sunxi-with-spl.bin

flashcp /usr/lib/linux-u-boot-next-orangepizeroplus_5.38_arm64/u-boot-sunxi-with-spl.bin /dev/mtd1


This gave me errors on reboot without SD:

Resetting CPU ...

resetting ...
"Synchronous Abort" handler, esr 0x5e000000
ELR:     12098
LR:      4fdfec70
x 0: 0000000084000009 x 1: 000000004fdfec90
x 2: 0000000000016934 x 3: 000000004fdfecb0
x 4: 000000000001417c x 5: 000000004fdfeeb0
etc....

 

 


 

Link to comment
Share on other sites

I tried with the uboot from Armbian_5.59_Orangepizeroplus_Ubuntu_bionic_next_4.14.65 (the latest that I could find).
It worked better and booted into uboot but I now have one problem:
It didn't find my USB drive until I reset the CPU

starting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Autoboot in 1 seconds, press <Space> to stop
Card did not respond to voltage select!
MMC: no card present

Device 0: device type unknown
... is now current device
** Bad device usb 0 **
** Bad device usb 0 **

 

I did a CPU reset and it booted OK.

After a reboot it boots OK.  After a power up it fails until a CPU reset is done.

 

Any idea how I can solve this?

 

Link to comment
Share on other sites

On 9/10/2018 at 12:39 AM, martinayotte said:

Never seen such crash in uboot !

I've no clue ...

I found some clues in this forum, and realized that it was probably a buggy version.  That's why I tried the latest version and it worked.  https://forum.armbian.com/topic/5218-spiusb-boot-orange-pi-pc2/?tab=comments#comment-39741

 

Link to comment
Share on other sites

Is there a way to modify the uboot scripts?
I want to try doing a usb reset or delay before the usb start.

When the device fails to boot after a power up at the uboot prompt, I type:

usb reset

=> usb reset
resetting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

then I type
=> usb start
=> run usb_boot

=> usb start
=> run usb_boot

Device 0: Vendor: Generic  Rev: 1.14 Prod: External
            Type: Hard Disk
            Capacity: 70911.1 MB = 69.2 GB (145226111 x 512)
... is now current device
Scanning usb 0:1...
Found U-Boot script /boot/boot.scr

The boot is then successful.
I'm very new to linux, and I have not been successful in my search for how to modify the uboot scripts.

 

I have set up a build environment with Vagrant in case it is needed, but I don't know where to find / modify these scripts.

 

 

Link to comment
Share on other sites

As already contributed by @Elektrický and @martinayotte

 

Here what I did with a recent ARMBIAN 5.64 user-built Ubuntu 18.04.1 to flash the mx25l1606e (2048 Kbytes) spi flash with u-boot-sunxi-with-spl.bin

 

Modify /boot/armbianEnv.txt

 

Add spi-jedec-nor to overlays 

and

param_spinor_spi_bus=0

 

as example below

 

verbosity=1
logo=disabled
console=both
disp_mode=1920x1080p60
overlay_prefix=sun8i-h3
overlays=usbhost2 usbhost3 spi-jedec-nor
rootdev=UUID=ee53d069-0ba8-4123-943b-ac96fb25148c
rootfstype=ext4
param_spinor_spi_bus=0
usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u

 

Install mtd-utils

apt install mtd-utils

 

Verify existence of the mtd device (will only work if your board actually has a supported spi chip)

mtd_debug info /dev/mtd0

Should show something like this

mtd.type = MTD_NORFLASH
mtd.flags = MTD_CAP_NORFLASH
mtd.size = 2097152 (2M)
mtd.erasesize = 4096 (4K)
mtd.writesize = 1 
mtd.oobsize = 0 
regions = 0

Erase the mtd device

flash_erase /dev/mtd0 0 256

 

Find the local "u-boot-sunxi-with-spl.bin" and it's size in bytes (548864)

find / -name u-boot-sunxi-with-spl.bin
ls -l /usr/lib/linux-u-boot-next-orangepizero_5.64_armhf/u-boot-sunxi-with-spl.bin
-rw-rw-r-- 1 root root 548864 Oct 21 18:07 /usr/lib/linux-u-boot-next-orangepizero_5.64_armhf/u-boot-sunxi-with-spl.bin

 

Write the local u-boot-sunxi-with-spl.bin to the mtd device

nandwrite -p /dev/mtd0 /usr/lib/linux-u-boot-next-orangepizero_5.64_armhf/u-boot-sunxi-with-spl.bin

 

Write the mtd device to a local file to compare with local u-boot-sunxi-with-spl.bin (using the size of bytes the u-boot file used 548864)

mtd_debug read /dev/mtd0 0 548864 current.bin

Compare the current.bin with the local /usr/lib/linux-u-boot-next-orangepizero_5.64_armhf/u-boot-sunxi-with-spl.bin

cmp /usr/lib/linux-u-boot-next-orangepizero_5.64_armhf/u-boot-sunxi-with-spl.bin current.bin

If they are identical no output will be shown from the cmp command

 

Now you can write the recent Armbian image to USB drive, remove the sdcard from the Orange Pi and power up the board. It should now read u-boot from the spi and attempt to boot from USB device

 

If all went well as this example below

U-Boot SPL 2018.05-armbian (Oct 21 2018 - 20:06:47 +0200)
DRAM: 512 MiB
Trying to boot from sunxi SPI


U-Boot 2018.05-armbian (Oct 21 2018 - 20:06:47 +0200) Allwinner Technology

CPU:   Allwinner H3 (SUN8I 1680)
Model: Xunlong Orange Pi Zero
DRAM:  512 MiB
MMC:   SUNXI SD/MMC: 0
Loading Environment from EXT4... MMC: no card present
** Bad device mmc 0 **
Failed (-5)
In:    serial
Out:   serial
Err:   serial
Net:   phy interface0
eth0: ethernet@1c30000
MMC: no card present
** Bad device mmc 0 **
MMC: no card present
** Bad device mmc 0 **
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
USB2:   USB EHCI 1.00
USB3:   USB OHCI 1.0
scanning bus 0 for devices... 2 USB Device(s) found
scanning bus 2 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
Autoboot in 1 seconds, press <Space> to stop
MMC: no card present

Device 0: Vendor: Lexar    Rev: 1100 Prod: USB Flash Drive
            Type: Removable Hard Disk
            Capacity: 7494.0 MB = 7.3 GB (15347712 x 512)
... is now current device
Scanning usb 0:1...
Found U-Boot script /boot/boot.scr
3708 bytes read in 244 ms (14.6 KiB/s)
## Executing script at 43100000
U-boot loaded from SPI
Boot script loaded from usb
266 bytes read in 198 ms (1000 Bytes/s)
8302942 bytes read in 680 ms (11.6 MiB/s)
7037480 bytes read in 648 ms (10.4 MiB/s)
Found mainline kernel configuration
32098 bytes read in 742 ms (42 KiB/s)
504 bytes read in 990 ms (0 Bytes/s)
Applying kernel provided DT overlay sun8i-h3-usbhost2.dtbo
504 bytes read in 1000 ms (0 Bytes/s)
Applying kernel provided DT overlay sun8i-h3-usbhost3.dtbo
804 bytes read in 918 ms (0 Bytes/s)
Applying kernel provided DT overlay sun8i-h3-spi-jedec-nor.dtbo
4179 bytes read in 837 ms (3.9 KiB/s)
Applying kernel provided DT fixup script (sun8i-h3-fixup.scr)
## Executing script at 44000000
## Loading init Ramdisk from Legacy Image at 43300000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    8302878 Bytes = 7.9 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
   Loading Ramdisk to 49814000, end 49fff11e ... OK
   reserving fdt memory region: addr=43000000 size=6e000
   Loading Device Tree to 497a3000, end 49813fff ... OK
  Starting kernel ...

Loading, please wait...
starting version 237
Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... Scanning for Btrfs filesystems
done.
Begin: Will now check root file system ... fsck from util-linux 2.31.1
[/sbin/fsck.ext4 (1) -- /dev/sda1] fsck.ext4 -a -C0 /dev/sda1
/dev/sda1: clean, 35997/445440 files, 230089/1879068 blocks
done.
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... done.

Welcome to Ubuntu 18.04.1 LTS!

Ubuntu 18.04.1 LTS orangepizero ttyS0

orangepizero login: 

 

 

 

 

Link to comment
Share on other sites

28 minutes ago, g40 said:

Does anyone have a u-boot .config file for SPI/USB boot on H5 boards?

If you are using Armbian build process, you can see that OrangePiPC2 has a SPINOR flash which works with U-Boot and you can boot from USB.

The important thing in any .config is those lines :

+CONFIG_SPL_SPI_FLASH_SUPPORT=y
+CONFIG_SPL_SPI_SUNXI=y

 

Link to comment
Share on other sites

Thank you Martin,

 

I have u-boot getting to the media detection stage[1]. This is a FriendlyArm K1 (H5) with some externally attached SPI flash which is all working nicely.

 

My problem seems to be getting USB support enabled in u-boot.  Whatever .config options I have tried so far fail with section overflows and/or unresolved externals. 

 

[1]

Trying to boot from sunxi SPI
NOTICE:  BL3-1: Running on H5 (1718) in SRAM A2 (@0x44000)
NOTICE:  Configuring SPC Controller
NOTICE:  BL3-1: v1.0(debug):0fc0ec6
NOTICE:  BL3-1: Built : 14:33:21, Dec  8 2017
INFO:    BL3-1: Initializing runtime services
INFO:    BL3-1: Preparing for EL3 exit to normal world
INFO:    BL3-1: Next image address: 0x4a000000, SPSR: 0x3c9


U-Boot 2017.11-g80aa199f5a (Nov 28 2018 - 13:50:53 +0000) Allwinner Technology

CPU:   Allwinner H5 (SUN50I)
Model: FriendlyElec NanoPi H5
DRAM:  2 GiB
Sy8106a: 1200mv
CPU Freq: 1008MHz
MMC:   SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
MMC: no card present
mmc_init: -123, time 2
*** Warning - MMC init failed, using default environment

ERROR: unsupported boot mmc 3

 

Link to comment
Share on other sites

1 hour ago, g40 said:

I have u-boot getting to the media detection

This doesn't seems to be an output from Armbian U-Boot ...

This is how it looks like on my OrangePiPC2 :

U-Boot SPL 2018.05-armbian (Nov 01 2018 - 14:35:38 -0400)
DRAM: 1024 MiB
Trying to boot from sunxi SPI
NOTICE:  BL3-1: Running on H5 (1718) in SRAM A2 (@0x44000)
NOTICE:  Configuring SPC Controller
NOTICE:  BL3-1: v1.0(debug):c9f55c0
NOTICE:  BL3-1: Built : 14:35:33, Nov  1 2018
NOTICE:  DT: sun50i-h5-orangepi-pc2
NOTICE:  SCPI: dummy stub handler, implementation level: 000000
INFO:    BL3-1: Initializing runtime services
INFO:    BL3-1: Preparing for EL3 exit to normal world
INFO:    BL3-1: Next image address: 0x4a000000, SPSR: 0x3c9


U-Boot 2018.05-armbian (Nov 01 2018 - 14:35:38 -0400) Allwinner Technology

CPU:   Allwinner H5 (SUN50I)
Model: OrangePi PC 2
DRAM:  1 GiB
MMC:   SUNXI SD/MMC: 0
Loading Environment from EXT4... MMC: no card present
** Bad device mmc 0 **
Failed (-5)
In:    serial
Out:   serial
Err:   serial
Net:   phy interface7
eth0: ethernet@1c30000
MMC: no card present
** Bad device mmc 0 **
MMC: no card present
** Bad device mmc 0 **
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found
Autoboot in 1 seconds, press <Space> to stop
MMC: no card present

Device 0: Vendor: Lexar    Rev: 8.07 Prod: USB Flash Drive 
            Type: Removable Hard Disk
            Capacity: 30526.0 MB = 29.8 GB (62517248 x 512)
... is now current device
Scanning usb 0:1...
Found U-Boot script /boot/boot.scr
3042 bytes read in 234 ms (12.7 KiB/s)
## Executing script at 4fc00000
U-boot loaded from SPI
Boot script loaded from usb
165 bytes read in 178 ms (0 Bytes/s)
28058 bytes read in 469 ms (57.6 KiB/s)
4155 bytes read in 514 ms (7.8 KiB/s)
Applying kernel provided DT fixup script (sun50i-h5-fixup.scr)
## Executing script at 44000000
5177578 bytes read in 486 ms (10.2 MiB/s)
14241800 bytes read in 743 ms (18.3 MiB/s)
## Loading init Ramdisk from Legacy Image at 4fe00000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    5177514 Bytes = 4.9 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 4fa00000
   Booting using the fdt blob at 0x4fa00000
   Loading Ramdisk to 49b0f000, end 49fff0aa ... OK
   reserving fdt memory region: addr=4fa00000 size=6d000
   Loading Device Tree to 0000000049a9f000, end 0000000049b0efff ... OK

Starting kernel ...

EDIT : Oh ! You also needs to check the U-Boot DT itself (not the DT from kernel) to make sure that USB are included there too, and for some boards (doesn't seems to be the case for NanoPi-K1), it is also required that VUSB get turned ON to give power to USB devices ...

 

Link to comment
Share on other sites

Hello Martin

 

Let me paste better info then. Using master from armbian/build, UART spew below. How come no network or USB controllers? What else do I need to enable in the u-boot .config? Or is this because something is disabled in the DTB? 

 

TIA.

 

U-Boot SPL 2018.05-armbian (Dec 29 2018 - 13:49:33 +0000)
DRAM: 2048 MiB
Trying to boot from sunxi SPI
NOTICE:  BL31: v2.0(debug):c876582
NOTICE:  BL31: Built : 13:49:30, Dec 29 2018
NOTICE:  BL31: Detected Allwinner H5 SoC (1718)
NOTICE:  BL31: Found U-Boot DTB at 0x407ecc8, model: FriendlyARM NanoPi K1 plus
INFO:    ARM GICv2 driver initialized
INFO:    Configuring SPC Controller
NOTICE:  BL31: PMIC: Defaulting to PortL GPIO according to H5 reference design.
INFO:    BL31: Platform setup done
INFO:    BL31: Initializing runtime services
INFO:    BL31: cortex_a53: CPU workaround for 855873 was applied
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x4a000000
INFO:    SPSR = 0x3c9


U-Boot 2018.05-armbian (Dec 29 2018 - 13:49:33 +0000) Allwinner Technology

CPU:   Allwinner H5 (SUN50I)
Model: FriendlyARM NanoPi K1 plus
DRAM:  2 GiB
MMC:   SUNXI SD/MMC: 0, SUNXI SD/MMC: 1
Loading Environment from EXT4... MMC: no card present
** Bad device mmc 0 **
Failed (-5)
In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
MMC: no card present
** Bad device mmc 0 **
MMC: no card present
** Bad device mmc 0 **
starting USB...
No controllers found
Autoboot in 1 seconds, press <Space> to stop

 

Link to comment
Share on other sites

After small investigation, the problem is due to the fact that U-Boot DT for NanoPi-K1 doesn't include USB ...

 

https://github.com/armbian/build/blob/master/patch/u-boot/u-boot-sunxi/add-xx-nanopi-k1-plus-emmc.patch

 

I'll fix that in next hour, blindly since I don't have a NanoPi-K1 to test it.

 

EDIT : commit done ! https://github.com/armbian/build/commit/9d6d536c22db80e8aa4a40e65a35c848cdc1a3cb

You can try rebuilding your U-Boot now ...

Link to comment
Share on other sites

Hello Martin,

 

Many thanks. Having tried both an update and a clean armbian build I get the same build failure. 

 

There is indeed no config in `build/cache/sources/u-boot/v2018.05/configs`

 

Please let me know if you'd like to see any logs etc.

 

Built build/sun50i_a64/debug/bl31.bin successfully

[ o.k. ] Cleaning [ u-boot/v2018.05 ]
[ o.k. ] Compiling u-boot [ 2018.05 ]
[ o.k. ] Compiler version [ aarch64-linux-gnu-gcc 7.2.1 ]
[ .... ] Checking out sources 
[ o.k. ] Cleaning [ u-boot/v2018.05 ]
[ o.k. ] Started patching process for [ u-boot sunxi64-nanopik1plus-next ]
[ o.k. ] Looking for user patches in [ userpatches/u-boot/u-boot-sunxi ]
[ o.k. ] * [l][c] 0020-sunxi-call-fdt_fixup_ethernet-again-to-set-macaddr-f.patch 
[ o.k. ] * [l][c] 4kfix-limit-screen-to-full-hd.patch 
[ o.k. ] * [l][c] Merrii_Hummingbird_A20.patch 
[ o.k. ] * [l][c] add-a20-olinuxino-micro-emmc-support.patch 
[ o.k. ] * [l][c] add-a20-optional-eMMC.patch 
[ o.k. ] * [l][c] add-awsom-defconfig.patch 
[ o.k. ] * [l][c] add-bananapi-bpi-zero.patch 
[ o.k. ] * [l][c] add-beelink-x2.patch 
[ o.k. ] * [l][c] add-emmc_support_to_neo1_and_2.patch 
[ o.k. ] * [l][c] add-nanopi-air-emmc.patch 
[ o.k. ] * [l][c] add-nanopi-duo.patch 
[ o.k. ] * [l][c] add-nanopi-m1-plus2-emmc.patch 
[ o.k. ] * [l][c] add-nanopineoplus2.patch 
[ o.k. ] * [l][c] add-orangepi-plus2-emmc.patch 
[ o.k. ] * [l][c] add-orangepi-zero-usb-boot-support.patch 
[ o.k. ] * [l][c] add-orangepi-zeroplus.patch 
[ o.k. ] * [l][c] add-orangepi-zeroplus2_h3.patch 
[ o.k. ] * [l][c] add-sunvell-r69.patch 
[ o.k. ] * [l][c] add-tritium-series.patch 
[ o.k. ] * [l][c] add-xx-boot-auto-dt-select-neo2.patch 
[ warn ] * [l][c] add-xx-nanopi-k1-plus-emmc.patch [ failed ]
[ o.k. ] * [l][c] add-xx-nanopineocore2.patch 
[ o.k. ] * [l][c] add_emmc_olinuxino_a64.patch 
[ o.k. ] * [l][c] add_emmc_orangepiwin.patch 
[ o.k. ] * [l][c] adjust-default-dram-clockspeeds.patch 
[ o.k. ] * [l][c] adjust-small-boards-cpufreq.patch 
[ o.k. ] * [l][c] enable-DT-overlays-support.patch 
[ o.k. ] * [l][c] enable-autoboot-keyed.patch 
[ o.k. ] * [l][c] enable-ethernet-orangepiprime.patch 
[ o.k. ] * [l][c] enable-r_pio-gpio-access-h3-h5.patch 
[ o.k. ] * [l][c] fdt-setprop-fix-unaligned-access.patch 
[ o.k. ] * [l][c] fix-usb1-vbus-opiwin.patch 
[ o.k. ] * [l][c] h3-Fix-PLL1-setup-to-never-use-dividers.patch 
[ o.k. ] * [l][c] h3-enable-power-led.patch 
[ o.k. ] * [l][c] h3-set-safe-axi_apb-clock-dividers.patch 
[ o.k. ] * [l][c] lower-default-DRAM-freq-A64-H5.patch 
[ o.k. ] * [l][c] sun8i-set-machid.patch 
[ o.k. ] * [l][c] sunxi-boot-splash.patch 
[ o.k. ] * [l][b] workaround-reboot-is-poweroff-olimex-a20.patch 
'/home/jevans/src/armbian-build/.tmp/atf-sunxi64-nanopik1plus-next/bl31.bin' -> './bl31.bin'
  HOSTCC  scripts/basic/fixdep
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
***
*** Can't find default configuration "arch/../configs/nanopi_k1_plus_defconfig"!
***
scripts/kconfig/Makefile:119: recipe for target 'nanopi_k1_plus_defconfig' failed
make[1]: *** [nanopi_k1_plus_defconfig] Error 1
Makefile:478: recipe for target 'nanopi_k1_plus_defconfig' failed
make: *** [nanopi_k1_plus_defconfig] Error 2
sed: can't read .config: No such file or directory
scripts/kconfig/conf  --silentoldconfig Kconfig
***
*** Configuration file ".config" not found!
***
*** Please run some configurator (e.g. "make oldconfig" or
*** "make menuconfig" or "make xconfig").
***
scripts/kconfig/Makefile:44: recipe for target 'silentoldconfig' failed
make[2]: *** [silentoldconfig] Error 1
Makefile:478: recipe for target 'silentoldconfig' failed
make[1]: *** [silentoldconfig] Error 2
make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'.  Stop.
[ error ] ERROR in function compile_uboot [ compilation.sh:175 ]
[ error ] U-boot compilation failed 
[ o.k. ] Process terminated 

 

Link to comment
Share on other sites

1 hour ago, g40 said:

[ warn ] * [l][c] add-xx-nanopi-k1-plus-emmc.patch [ failed ]

Sorry, my bad not having tested before the commit.

Fixed by now : https://github.com/armbian/build/commit/0853702e56743cb0aaac8997b33f7c86fed0d105

 

EDIT : Note that I had only enabled 1 port earlier, USB1, I've now added USB2 and USB3, just in case :

https://github.com/armbian/build/commit/de0371faa89780741c316118ae72b675a49fff8f

Link to comment
Share on other sites

Hi Martin. So, this is really good. I can now get the board to boot from the USB 1 connector on the K1 board (this is the single socket on the board pictured below). The actual USB device is in fact a USB=>SD card adapter, which is rather useful for comparison.

 

One more question if I may. Does the DT control which USB interface is used? Repeating the exercise above with a card plugged into USB 2 or 3 does not work. `usb storage` does not detect any devices.

 

*Many* thanks for your help here.

 

FA NanoPi K1

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines