-
Posts
3892 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Posts posted by martinayotte
-
-
In mainline, you can add parameter in ethernet@1c30000 (or &emac) section like :
mac-address = [aa e3 14 b9 b5 12];
-
Should be pretty straight forward ...
Only setup() needs to be changed to setcfg() along with separate pullup() call since setcfg() doesn't have the third argument.
-
You can simply use GPIO internal pullups by enabling them.
By using orangepi_PC_gpio_pyH3 ( https://github.com/duxingkei33/orangepi_PC_gpio_pyH3), python code will look like :
from pyA20.gpio import gpio from pyA20.gpio import port gpio.setcfg(port.PA1, gpio.INPUT) gpio.pullup(port.PA1, gpio.PULLUP) if gpio.input(PA1) > 0: print "not pressed" else: print "pressed"
-
Of course, this version is patched one coming from the above github version (I've created the patch about a month ago).
-
Yes, you're right, I forgot to mention the dt-overlays8 branch ...
About speed issue, when I faced some, if it is the same as you, I've discovered that it was in the python library that was setting CONFIG_SPEED to 100KHz instead of 10MHz.
http://forum.armbian.com/index.php/topic/1523-spi-issue-with-banana-proa20/#entry13824
-
Sorry if I didn't gave details earlier.
Yes, you need to compile the DTBO, but using the DTC compiler supporting Dynamic Overlays developped by Pantelis Antoniou.
I can be found there : https://github.com/pantoniou/dtc.git
With this version, You need to invoke it with '-@' option :
dtc -@ -O dtb -I dts -o spidev-enable.dtbo spidev-enable.dts
-
I've been using Dynamic Overlay to load SPIs into the DTS. There is no need to do any modprobe, since the Kernel will load it automatically when DTS is updated.
mkdir /sys/kernel/config/device-tree/overlays/spi cat spidev-enable.dtbo > /sys/kernel/config/device-tree/overlays/spi/dtbo
// Enable the spidev interface
/dts-v1/;
/plugin/;
/ {
compatible = "allwinner,sun8i-h3";
fragment@0 {
target-path = "/aliases";
__overlay__ {
/* Path to the SPI controller nodes */
spi0 = "/soc@01c00000/spi@01c68000";
spi1 = "/soc@01c00000/spi@01c69000";
};
};
fragment@1 {
target = <&spi0>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>, <&spi0_cs0_pins_a>;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
spidev@0 {
compatible = "spidev";
reg = <0x0>;
spi-max-frequency = <1000000>;
};
};
};
fragment@2 {
target = <&spi1>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&spi1_pins_a>, <&spi1_cs0_pins_a>;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
spidev@0 {
compatible = "spidev";
reg = <0x0>;
spi-max-frequency = <1000000>;
};
};
};
}; -
All Armbian images are using a U-Boot that is EXT4 aware, so SD images has only one EXT4 partition.
As Pieter said, checking the debug serial output will help to figure where it is choking.
Tip: attach a ttl-usb cable between your orange pi and your pc and watch what happens on boot.
-
Usually, such issues can happened when doing a "dd" while sd is still mounted with previous partitions.
Making sure no partition are mounted before issuing the "dd" command is a good practice.
-
You probably means a "reset" switch ...
http://forum.armbian.com/index.php/topic/1429-orange-pi-one-hardware-reset/
-
The command is mentioned as a comment at the end of boot.cmd :
mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
-
If you are using orangepi_PC_gpio_pyH3 and not mixing with other libs, the following is working for me (note the lower cases) :
from pyA20.gpio import gpio from pyA20.gpio import port gpio.init() gpio.setcfg(port.PA1, gpio.OUTPUT) gpio.setcfg(port.PA20, gpio.OUTPUT)
-
Yes, you should not mix 2 kind of GPIO libraries in the same project, it is even dangerous.
For GPIO.setup() issue, it should be GPIO.setcfg(), but no needs to do it for SPIMOSI or SPIMISO, since the SPI.open() will do that for you.
from pyA20 import spi spi.open("/dev/spidev0.0")
-
For those who are interested, here are some DT Overlay samples.
i2c-enable.dts :
// Enable the i2c interface
/dts-v1/;
/plugin/;
/ {
compatible = "allwinner,sun8i-h3";
fragment@0 {
target-path = "/aliases";
__overlay__ {
/* Path to the i2c2 controller node */
i2c0 = "/soc@01c00000/i2c@01c2ac00";
i2c1 = "/soc@01c00000/i2c@01c2b000";
i2c2 = "/soc@01c00000/i2c@01c2b400";
};
};
fragment@1 {
target = <&i2c0>;
__overlay__ {
status = "okay";
};
};
fragment@2 {
target = <&i2c1>;
__overlay__ {
clock-frequency = <400000>;
// clock-frequency = <100000>;
status = "okay";
};
};
fragment@3 {
target = <&i2c2>;
__overlay__ {
status = "okay";
};
};
};spidev-enable.dts :
// Enable the spidev interface
/dts-v1/;
/plugin/;
/ {
compatible = "allwinner,sun8i-h3";
fragment@0 {
target-path = "/aliases";
__overlay__ {
/* Path to the SPI controller nodes */
spi0 = "/soc@01c00000/spi@01c68000";
spi1 = "/soc@01c00000/spi@01c69000";
};
};
fragment@1 {
target = <&spi0>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>, <&spi0_cs0_pins_a>;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
spidev@0 {
compatible = "spidev";
reg = <0x0>;
spi-max-frequency = <1000000>;
};
};
};
fragment@2 {
target = <&spi1>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&spi1_pins_a>,
<&spi1_cs0_pins_a>;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
spidev@1{
compatible = "spidev";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
};
}; -
For those who are interested, here are some DT Overlay samples.
i2c-enable.dts :
// Enable the i2c interface
/dts-v1/;
/plugin/;
/ {
compatible = "allwinner,sun8i-h3";
fragment@0 {
target-path = "/aliases";
__overlay__ {
/* Path to the i2c2 controller node */
i2c0 = "/soc@01c00000/i2c@01c2ac00";
i2c1 = "/soc@01c00000/i2c@01c2b000";
i2c2 = "/soc@01c00000/i2c@01c2b400";
};
};
fragment@1 {
target = <&i2c0>;
__overlay__ {
status = "okay";
};
};
fragment@2 {
target = <&i2c1>;
__overlay__ {
clock-frequency = <400000>;
// clock-frequency = <100000>;
status = "okay";
};
};
fragment@3 {
target = <&i2c2>;
__overlay__ {
status = "okay";
};
};
};spidev-enable.dts :
// Enable the spidev interface
/dts-v1/;
/plugin/;
/ {
compatible = "allwinner,sun8i-h3";
fragment@0 {
target-path = "/aliases";
__overlay__ {
/* Path to the SPI controller nodes */
spi0 = "/soc@01c00000/spi@01c68000";
spi1 = "/soc@01c00000/spi@01c69000";
};
};
fragment@1 {
target = <&spi0>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins_a>, <&spi0_cs0_pins_a>;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
spidev@0 {
compatible = "spidev";
reg = <0x0>;
spi-max-frequency = <1000000>;
};
};
};
fragment@2 {
target = <&spi1>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <&spi1_pins_a>,
<&spi1_cs0_pins_a>;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
spidev@1{
compatible = "spidev";
reg = <0>;
spi-max-frequency = <1000000>;
};
};
};
}; -
HI TKaiser,
Ok, until recently (my last build on Aug 20th), we were still using the orange-pi-4.6, so I will take a look.
In fact, for the sunxi-dev, I've already done the change by simply using the same patch done for 4.8 into 4.7.
So, I'm currently doing a new build, if it is the same case, I will commit the things needed : delete or disabling the old 4.6.x and copy the 4.8 into a 4.7.x.
EDIT : We are still using orange-pi-4.6 in the sun8i-dev config, but I gave a try switching it to orange-pi-4.7.
I will commit those changes soon. I hope the switch from 4.6.x to 4.7.x won't cause any other patch issues.
(For the schedutil governor, I'm not fluent with those pieces ... What we have to do exactly ?)
-
Probable this Raspberry Python code for RC522 could help as a starting point :
-
What do you mean by ttyXX mappings ?
The port numbers such /dev/ttyS0 are corresponding to uart0 defined in FEX for Legacy or DTS for Mainline.
-
This is because the "sudo" command apply only to the "echo", not to the redirection of the output.
Try the following instead :
sudo su - -c "echo 203 > /sys/class/gpio/export"
-
Hi Zador,
Patches need to be updated for kernel 4.7, I disabled them since they weren't applied cleanly.
No worries, I've used the 4.8 version I've already done in sunxi-dev and it works, so I will submit PR in few minutes.
The only thing that would be appreciated is to let authors know when such things are disactivated instead of leaving them figure out several days later
single press of reset button booted it further to u-boot prompt.
And second boot attempt loaded u-boot after first try, without resetting the board.
It is still doesn't work for me as a workaround.
But it is working is the SRAM Stack patch is unpatched. So, I've prepared the unpatch_sun50i_sram_stack_issue.patch for my next PR.
I missed address part in some ext4load/fatload commands while merging legacy and mainline boot scripts, should be fixed now.
Yes, thanks for that fix. No more need to manually type the boot.cmd in u-boot shell ...
EDIT : PR done ! (and since Igor gave me github rights, PR merged ...)
I've also added a /proc/cpuinfo patch to allow compatibility of RPi.GPIO-PineA64 against the older Longsleep kernel, by adding Processor/Hardware entries.
-
Hi Zador,
Thanks for the hints,
I've recompiled with having this patch Reverted : https://github.com/linux-sunxi/u-boot-sunxi/commit/1a83fb4a17d959d7b037999ab7ed7e62429abe34
U-Boot is now comes up, but with errors about ethernet, and fallback to prompt.
It seems that it doesn't look at the boot.scr.
It complains about "Unrecognized filesystem" but when prompt come up, I can easily do "ls mmc 0 /boot" ont the Ext4.
It is like it doesn't know Ext4 until getting to the prompt.
So, I've copy/paste boot.cmd commands, and it boot succesfully, but it is a tedious task on every reboot
Here are the ethernet errors (BTW, all forums are different : how to make this output as spoiler ?) :
HELLO! BOOT0 is starting! boot0 commit : 045061a8bb2580cb3fa02e301f52a015040c158f boot0 version : 4.0.0 set pll start set pll end rtc[0] value = 0x00000000 rtc[1] value = 0x00000000 rtc[2] value = 0x00000000 rtc[3] value = 0x00000000 rtc[4] value = 0x00000000 rtc[5] value = 0x00000000 DRAM driver version: V1.1 rsb_send_initseq: rsb clk 400Khz -> 3Mhz PMU: AXP81X ddr voltage = 1500 mv DRAM Type = 3 (2:DDR2,3:DDR3,6:LPDDR2,7:LPDDR3) DRAM clk = 672 MHz DRAM zq value: 003b3bbb DRAM single rank full DQ OK DRAM size = 2048 MB DRAM init ok dram size =2048 card boot number = 0, boot0 copy = 0 card no is 0 sdcard 0 line count 4 [mmc]: mmc driver ver 2015-05-08 20:06 [mmc]: sdc0 spd mode error, 2 [mmc]: Wrong media type 0x00000000 [mmc]: ***Try SD card 0*** [mmc]: HSSDR52/SDR25 4 bit [mmc]: 50000000 Hz [mmc]: 15193 MB [mmc]: ***SD/MMC 0 init OK!!!*** sdcard 0 init ok The size of uboot is 00068000. sum=064d2b8c src_sum=064d2b8c Succeed in loading uboot from sdmmc flash. boot0: start load other image boot0: Loading BL3-1 Loading file 0 at address 0x40000000,size 0x00000200 success boot0: Loading scp Loading file 2 at address 0x00040000,size 0x0000c200 success set arisc reset to de-assert state Ready to disable icache. Jump to secend Boot. NOTICE: BL3-1: Running in SRAM A2 (@0x44000) NOTICE: Configuring SPC Controller NOTICE: BL3-1: v1.0(debug):f11ecb4 NOTICE: BL3-1: Built : 20:02:40, Aug 19 2016 NOTICE: Configuring AXP PMIC NOTICE: PMIC: already configured for RSB NOTICE: PMIC: setup successful 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 2016.09-rc1-g793fd86-dirty (Aug 19 2016 - 20:02:42 -0400) Allwinner Technology CPU: Allwinner A64 (SUN50I) Model: Pine64+ DRAM: 2 GiB MMC: SUNXI SD/MMC: 0 *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: phy interface7 Error: ethernet@01c30000 address not set. No ethernet found. starting USB... No controllers found Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot/boot.scr 1574 bytes read in 175 ms (7.8 KiB/s) ## Executing script at 4fc00000 ext4load - load binary file from a Ext4 filesystem Usage: ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]] - load binary file 'filename' from 'dev' on 'interface' to address 'addr' from ext4 filesystem ** Unrecognized filesystem type ** ext4load - load binary file from a Ext4 filesystem Usage: ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]] - load binary file 'filename' from 'dev' on 'interface' to address 'addr' from ext4 filesystem ext4load - load binary file from a Ext4 filesystem Usage: ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]] - load binary file 'filename' from 'dev' on 'interface' to address 'addr' from ext4 filesystem ** Unrecognized filesystem type ** ext4load - load binary file from a Ext4 filesystem Usage: ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]] - load binary file 'filename' from 'dev' on 'interface' to address 'addr' from ext4 filesystem ext4load - load binary file from a Ext4 filesystem Usage: ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]] - load binary file 'filename' from 'dev' on 'interface' to address 'addr' from ext4 filesystem ** Unrecognized filesystem type ** ext4load - load binary file from a Ext4 filesystem Usage: ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]] - load binary file 'filename' from 'dev' on 'interface' to address 'addr' from ext4 filesystem ext4load - load binary file from a Ext4 filesystem Usage: ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]] - load binary file 'filename' from 'dev' on 'interface' to address 'addr' from ext4 filesystem ** Unrecognized filesystem type ** ext4load - load binary file from a Ext4 filesystem Usage: ext4load <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]] - load binary file 'filename' from 'dev' on 'interface' to address 'addr' from ext4 filesystem Bad Linux ARM64 Image magic! SCRIPT FAILED: continuing... starting USB... No controllers found USB is stopped. Please issue 'usb start' first. starting USB... No controllers found phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. missing environment variable: pxeuuid phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. missing environment variable: bootfile Retrieving file: pxelinux.cfg/00000000 phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. missing environment variable: bootfile Retrieving file: pxelinux.cfg/0000000 phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. missing environment variable: bootfile Retrieving file: pxelinux.cfg/000000 phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. missing environment variable: bootfile Retrieving file: pxelinux.cfg/00000 phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. missing environment variable: bootfile Retrieving file: pxelinux.cfg/0000 phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. missing environment variable: bootfile Retrieving file: pxelinux.cfg/000 phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. missing environment variable: bootfile Retrieving file: pxelinux.cfg/00 phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. missing environment variable: bootfile Retrieving file: pxelinux.cfg/0 phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm-sunxi phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. missing environment variable: bootfile Retrieving file: pxelinux.cfg/default-arm phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. missing environment variable: bootfile Retrieving file: pxelinux.cfg/default phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. Config file not found starting USB... No controllers found phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. No ethernet found. phy interface7 mdio_register: non unique device name 'ethernet@01c30000' Error: ethernet@01c30000 address not set. => <INTERRUPT> => => setenv bootargs "console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 panic=10 consoleblank=0 enforcing=0 loglevel=7" => ext4load mmc 0 ${fdt_addr_r} /boot/dtb/allwinner/${fdtfile} 11661 bytes read in 243 ms (45.9 KiB/s) => ext4load mmc 0 ${ramdisk_addr_r} /boot/uInitrd 2910499 bytes read in 391 ms (7.1 MiB/s) => ext4load mmc 0 ${kernel_addr_r} /boot/Image 12530176 bytes read in 999 ms (12 MiB/s) => booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
Those few manual copy/paste lines at the end making the boot process occurred successfully ...
(on a SideNote, I'm seeing that my DT ConfigFS patches are not apply in this PineA64 flavor, I will have to dig that too ...
Grrrr ! first investigation is that you disabled it 3 days ago : https://github.com/igorpecovnik/lib/commit/735dee1d4da978331ed018c948938b2473f9c90e
Could tell me what was wrong there ? ... And please, send notice when such thing occurs ...
)
-
Hi Zador,
Thanks for the info, unfortunately, the multiple reset doesn't work for me.
Is it working for you ?
According to the most "interesting" part, lowering the clock should be the way to go, but I haven't figured out where it should be done.
EDIT : I found that, but this is already commited ...
-
I've decided to give a try for a Mainline PineA64 Armbian Full Image build.
Unfortenately, it seems that U-Boot is not in good shape, it stall right at the beginning without even trying to load kernel :
HELLO! BOOT0 is starting! boot0 commit : 045061a8bb2580cb3fa02e301f52a015040c158f boot0 version : 4.0.0 set pll start set pll end rtc[0] value = 0x00000000 rtc[1] value = 0x00000000 rtc[2] value = 0x00000000 rtc[3] value = 0x00000000 rtc[4] value = 0x00000000 rtc[5] value = 0x00000000 DRAM driver version: V1.1 rsb_send_initseq: rsb clk 400Khz -> 3Mhz PMU: AXP81X ddr voltage = 1500 mv DRAM Type = 3 (2:DDR2,3:DDR3,6:LPDDR2,7:LPDDR3) DRAM clk = 672 MHz DRAM zq value: 003b3bbb DRAM single rank full DQ OK DRAM size = 2048 MB DRAM init ok dram size =2048 card boot number = 0, boot0 copy = 0 card no is 0 sdcard 0 line count 4 [mmc]: mmc driver ver 2015-05-08 20:06 [mmc]: sdc0 spd mode error, 2 [mmc]: Wrong media type 0x00000000 [mmc]: ***Try SD card 0*** [mmc]: HSSDR52/SDR25 4 bit [mmc]: 50000000 Hz [mmc]: 29664 MB [mmc]: ***SD/MMC 0 init OK!!!*** sdcard 0 init ok The size of uboot is 00068000. sum=ab1a8b8a src_sum=ab1a8b8a Succeed in loading uboot from sdmmc flash. boot0: start load other image boot0: Loading BL3-1 Loading file 0 at address 0x40000000,size 0x00000200 success boot0: Loading scp Loading file 2 at address 0x00040000,size 0x0000b200 success set arisc reset to de-assert state Ready to disable icache. Jump to secend Boot. NOTICE: BL3-1: Running in SRAM A2 (@0x44000) NOTICE: Configuring SPC Controller NOTICE: BL3-1: v1.0(debug):f11ecb4 NOTICE: BL3-1: Built : 14:12:39, Aug 19 2016 NOTICE: Configuring AXP PMIC NOTICE: PMIC: already configured for RSB NOTICE: PMIC: setup successful 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
Any body can explain that stall ?
Notes : the kernel build itself is Ok, because I've taken an already working Pine64 image and placed the new Kernel in it and it is booting and working properly.
-
To be able to boot from eMMC while the SDCard is still inserted, you will need to have a custom U-Boot that doesn't look at SDCard/mmc0 device at all.
Standard U-Boot always consider the SDCard as the primary boot devices while eMMC is only a fallback when no SDCard present.
Another possible workaround is that you still have the /boot partition on the SDCard, but having it configured to use eMMC as the RootFS, so that SDCard space will be almost recovered for data.
To do that, simply boot from eMMC without any SDCard, then insert a copy of your previous SDCard, format the partition, and re-copy the /boot from eMMC to SDCard.
Opi lite MAC address
in Allwinner sunxi
Posted
You were asking "for mainline", so device-tree files.
Using 'dtc' compiler, you have to decompile the DTB file into a DTS, add the above property, and recompile it back into a new DTB. (Keep a backup of the old DTB, just in case)