Attempted large jump to head -r337347 for pine64+ 2GB did not finish the boot: eventual MMC handling problems before root file system is mounted

Mark Millard marklmi at yahoo.com
Mon Aug 6 18:40:05 UTC 2018


[Fixing a confusing "slower" reference . . .]

On 2018-Aug-6, at 11:26 AM, Mark Millard <marklmi at yahoo.com> wrote:

> On 2018-Aug-6, at 10:37 AM, Emmanuel Vadot <manu at bidouilliste.com> wrote:
> 
>> On Mon, 6 Aug 2018 10:12:43 -0700
>> Mark Millard <marklmi at yahoo.com> wrote:
>> 
>>> On 2018-Aug-6, at 3:44 AM, Emmanuel Vadot <manu at bidouilliste.com> wrote:
>>> 
>>>> On Mon, 6 Aug 2018 02:48:57 -0700
>>>> Mark Millard via freebsd-arm <freebsd-arm at freebsd.org> wrote:
>>>> 
>>>>> I amd64 -> aarch64 cross built -r337347 and installed it
>>>>> (and 2018.07 u-boot-sunxi-with-spl.bin and loader.efi as
>>>>> bootaa64.efi) as an update. My attempted synchronization
>>>>> of loader.conf and ttys and devd.conf may be incorrect.
>>>>> (Previous to this the Pine64+ 2GB seemed to be working
>>>>> okay but it was at a very old build.)
>>>>> 
>>>>> The kernel config has GENERIC included but the various
>>>>> debug features disabled. (My typical operating
>>>>> environment.)
>>>>> 
>>>>> For all I know what the below shows might be expected
>>>>> at this point. The kernel seems to have problems with
>>>>> the MMC (that the kernel was loaded from). No other
>>>>> media are attached. mmcsd0 is really an 128 GiByte
>>>>> emmc on an adapter. (This historically worked for me.)
>>>> 
>>>> emmc to sd ? that's weird ...
>>> 
>>> An example of the adapter I've used for this is:
>>> 
>>> https://ameridroid.com/collections/storage-emmc-and-microsd/products/emmc-adapter
>> 
>> So this is a passive adapter, maybe that's something that should work
>> but it's definitly is something that calls for problems.
>> 
>>> emmc is multi-mode for its allowed modes of operation. Thus
>>> its ability to frequently be used this way, such as via HS200.
>>> emmc is commonly more robust as I understand.
>> 
>> I didn't understand a word.
> 
> I got the HS200 reference from the boot -v output. Such is currently from the
> JEDEC standard "JESD84-B51 e.MMC v5.1" from looking around . (JEDEC
> members have free access, others do not.)
> 
> The output reported:
> 
> mmc0: Card at relative address 0x0002 added:
> mmc0:  card: MMCHC DJNB4R 0.7 SN <REPLACED> MFG 06/2016 by 21 0x0000
> mmc0:  quirks: 0
> mmc0:  bus: 4bit, 200MHz (HS200 timing)
> mmc0:  memory: 244277248 blocks, erase sector 1024 blocks
> 
> The e.MMC bus speed modes with I/O Voltage 3V allowed are:
> 
> Backwards Compatibility with legacy MMC card, data rate single, 3V allowed, bus widths 1,4,8, 0-26 MHz
> 
> High Speed SDR, data rate single, 3V allowed, bus widths 1,4,8, 0-52 MHz
> 
> High Speed DDR, Data rate dual, 3V allowed, bus widths 4,8, 0-52 MHz
> 
> (The last being the fastest for maximum transfer rate with 3V.)
> 
> There is another 1.8V/1.2V mode: HS400 that is dual data rate and always 8 bit,
> unlike HS200's single data rate and 4 or 8 bit. Both are 0-200 MHz. HS400
> is optional and sufficiently old e.MMC standard vintages would likely not
> even have it.
> 
> So a slower 3.? V mode of use used to be selected (based on the constraints
> on the board's voltages in some way, possibly hard coded).

"slower" lacks context: I should have said . . .

"a slower than HS200 3.? V mode"

As I remember, the 3V range is from 2.7 V to 3.6 V or some such.
So 3.3 V would be in range, at least if I remember right.

>>> 
>>> (I had to modify the case the pine64+ 2GB is in in order for
>>> the adapter/emmc combination to fit in all the way.)
>>> 
>>>> Can you boot -v and post the result please ?
>>> 
>>> Glad to . . .
>>> 
>>> DRAM: 2048 MiB
>>> Trying to boot from MMC1
>>> 
>>> 
>>> U-Boot SPL 2018.07 (Aug 02 2018 - 18:42:28 +0000)
>>> DU-Boot 2018.07 (Aug 02 2018 - 18:42:28 +0000) Allwinner Technology
>>> 
>>> CPU:   Allwinner A64 (SUN50I)
>>> Model: Pine64+
>>> DRAM:  2 GiB
>>> MMC:   SUNXI SD/MMC: 0
>>> Loading Environment from FAT... *** Warning - bad CRC, using default environment
>>> 
>>> Failed (-5)
>>> In:    serial
>>> Out:   serial
>>> Err:   serial
>>> Net:   phy interface7
>>> eth0: ethernet at 1c30000
>>> 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
>>> Hit any key to stop autoboot:  0 
>>> switch to partitions #0, OK
>>> mmc0(part 0) is current device
>>> Scanning mmc 0:1...
>>> Found EFI removable media binary efi/boot/bootaa64.efi
>>> libfdt fdt_check_header(): FDT_ERR_BADMAGIC
>>> Scanning disks on usb...
>>> Disk usb0 not ready
>>> Disk usb1 not ready
>>> Disk usb2 not ready
>>> Disk usb3 not ready
>>> Scanning disks on mmc...
>>> MMC Device 1 not found
>>> MMC Device 2 not found
>>> MMC Device 3 not found
>>> Found 3 disks
>>> 477384 bytes read in 25 ms (18.2 MiB/s)
>>> libfdt fdt_check_header(): FDT_ERR_BADMAGIC
>>> ## Starting EFI application at 40080000 ...
>>> Consoles: EFI console  
>>> FreeBSD/arm64 EFI loader, Revision 1.1
>>> 
>>>  Command line arguments: loader.efi
>>>  EFI version: 2.70
>>>  EFI Firmware: Das U-Boot (rev 0.00)
>>>  Console: efi (0)
>>>  Load Path: /\efi\boot\bootaa64.efi
>>>  Load Device: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/USB(0x6,0x0)/HD(1,0x01,0,0x403b,0x1ffe0)
>>> Trying ESP: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/USB(0x6,0x0)/HD(1,0x01,0,0x403b,0x1ffe0)
>>> Setting currdev to disk0p1:
>>> Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/USB(0x6,0x0)/HD(2,0x01,0,0x24400,0xe600000)
>>> Setting currdev to disk0p2:
>>> Loading /boot/defaults/loader.conf
>>> /boot/kernel/kernel text=0x8ce84a data=0x148020+0x72caac syms=[0x8+0x11d000+0x8+0x1108a8]
>>> /boot/entropy size=0x1000
>>> /boot/kernel/umodem.ko text=0x2168 text=0x1410 data=0x102d0+0xfd40 syms=[0x8+0xf30+0x8+0xb73]
>>> 
>>> Hit [Enter] to boot immediately, or any other key for command prompt.
>>> Booting [/boot/kernel/kernel] in 9 seconds... 
>>> 
>>> Type '?' for a list of commands, 'help' for more detailed help.
>>> OK boot -v
>>> Booting...
>>> Using DTB provided by EFI at 0x47ffc000.
>>> EHCI failed to shut down host controller.
>>> KDB: debugger backends: ddb
>>> KDB: current backend: ddb
>>>                  Type     Physical      Virtual   #Pages Attr
>>>    ConventionalMemory 000040000000     40000000 00007ffc WB 
>>>              Reserved 000047ffc000     47ffc000 00000003 WB 
>>>   RuntimeServicesData 000047fff000     47fff000 00000001 WB RUNTIME
>>>              Reserved 000048000000     48000000 00000003 WB 
>>>   RuntimeServicesData 000048003000     48003000 00000001 WB RUNTIME
>>>    ConventionalMemory 000048005000     40000000 00068ea1 WB 
>>>            LoaderData 0000b0ea6000     b0ea6000 00000001 WB 
>>>              Reserved 0000b0ea7000     b0ea7000 00000001 WB 
>>>              Reserved 0000b0ea8000     b0ea8000 00000001 WB 
>>>            LoaderData 0000b0ea9000     b0ea9000 00004000 WB 
>>>            LoaderData 0000b4ea9000     b4ea9000 00004000 WB 
>>>            LoaderCode 0000b8ea9000     b8ea9000 00000075 WB 
>>>              Reserved 0000b8f1e000     b8f1e000 00000001 WB 
>>>              Reserved 0000b8f1f000     b8f1f000 00000001 WB 
>>>   RuntimeServicesData 0000b8f20000     b8f20000 00000001 WB RUNTIME
>>>              Reserved 0000b8f21000     b8f21000 00000001 WB 
>>>              Reserved 0000b8f22000     b8f22000 00000001 WB 
>>>              Reserved 0000b8f23000     b8f23000 00000001 WB 
>>>              Reserved 0000b8f24000     b8f24000 00000001 WB 
>>>            LoaderData 0000b8f25000     b8f25000 00005094 WB 
>>>   RuntimeServicesCode 0000bdfb9000     bdfb9000 00000002 WB RUNTIME
>>>            LoaderData 0000bdfbb000     b8f25000 00002045 WB 
>>> Physical memory chunk(s):
>>> 0x40000000 - 0x47ffbfff,   127 MB (  32764 pages)
>>> 0x47fff000 - 0x47ffffff,     0 MB (      1 pages)
>>> 0x48003000 - 0x48003fff,     0 MB (      1 pages)
>>> 0x48005000 - 0xb0ea6fff,  1678 MB ( 429730 pages)
>>> 0xb0ea9000 - 0xb8f1dfff,   128 MB (  32885 pages)
>>> 0xb8f20000 - 0xb8f20fff,     0 MB (      1 pages)
>>> 0xb8f25000 - 0xbdfb8fff,    80 MB (  20628 pages)
>>> 0xbdfbb000 - 0xbfffffff,    32 MB (   8261 pages)
>>> Excluded memory regions:
>>> 0x47ffc000 - 0x48003fff,     0 MB (      8 pages) NoAlloc 
>>> 0xb0ea7000 - 0xb0ea8fff,     0 MB (      2 pages) NoAlloc 
>>> 0xb1000000 - 0xb25e1fff,    21 MB (   5602 pages) NoAlloc 
>>> 0xb8f1e000 - 0xb8f24fff,     0 MB (      7 pages) NoAlloc 
>>> 0xbdfb9000 - 0xbdfbafff,     0 MB (      2 pages) NoAlloc 
>>> Found 4 CPUs in the device tree
>>> Copyright (c) 1992-2018 The FreeBSD Project.
>>> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>>>       The Regents of the University of California. All rights reserved.
>>> FreeBSD is a registered trademark of The FreeBSD Foundation.
>>> FreeBSD 12.0-CURRENT  r337347M arm64
>>> FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1)
>>> VT: init without driver.
>>> Preloaded elf kernel "/boot/kernel/kernel" at 0xffff0000013b9000.
>>> Preloaded boot_entropy_cache "/boot/entropy" at 0xffff0000013c2020.
>>> Preloaded elf module "/boot/kernel/umodem.ko" at 0xffff0000013c2078.
>>> KLD file umodem.ko is missing dependencies
>>> Starting CPU 1 (1)
>>> Starting CPU 2 (2)
>>> Starting CPU 3 (3)
>>> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
>>> random: read 3840 bytes from preloaded cache
>>> random: unblocking device.
>>> arc4random: read 32 bytes from preloaded cache
>>> VIMAGE (virtualized network stack) enabled
>>> ULE: setup cpu 0
>>> ULE: setup cpu 1
>>> ULE: setup cpu 2
>>> ULE: setup cpu 3
>>> random: entropy device external interface
>>> MAP 47fff000 mode 2 pages 1
>>> MAP 48003000 mode 2 pages 1
>>> MAP b8f20000 mode 2 pages 1
>>> MAP bdfb9000 mode 2 pages 2
>>> nfslock: pseudo-device
>>> crypto: <crypto core>
>>> kbd0 at kbdmux0
>>> mem: <memory>
>>> null: <full device, null device, zero device>
>>> openfirm: <Open Firmware control device>
>>> random: harvesting attach, 8 bytes (4 bits) from nexus0
>>> ofwbus0: <Open Firmware Device Tree>
>>> clk_fixed0: <Fixed clock> on ofwbus0
>>> random: harvesting attach, 8 bytes (4 bits) from clk_fixed0
>>> clk_fixed1: <Fixed clock> on ofwbus0
>>> random: harvesting attach, 8 bytes (4 bits) from clk_fixed1
>>> clk_fixed2: <Fixed clock> on ofwbus0
>>> random: harvesting attach, 8 bytes (4 bits) from clk_fixed2
>>> simplebus0: <Flattened device tree simple bus> on ofwbus0
>>> ccu_a64ng0: <Allwinner A64 Clock Control Unit NG> mem 0x1c20000-0x1c203ff on simplebus0
>>> ccu_a64ng0: Setting pll_periph0 as parent for ahb1
>>> ccu_a64ng0: Setting pll_periph0 as parent for ahb2
>>> ccu_a64ng0: Setting pll_ddr0 as parent for dram
>>> Clock: pll_cpux, parent: osc24M(0), freq: 816000000
>>> Clock: pll_audio, parent: osc24M(0), freq: 24571428
>>> Clock: pll_periph0_2x, parent: osc24M(0), freq: 600000000
>>> Clock: pll_periph1_2x, parent: osc24M(0), freq: 600000000
>>> Clock: pll_ddr0, parent: osc24M(0), freq: 408000000
>>> Clock: pll_ddr1, parent: osc24M(0), freq: 1344000000
>>> Clock: pll_video0, parent: osc24M(0), freq: 30303
>>> Clock: pll_video1, parent: osc24M(0), freq: 30303
>>> Clock: pll_ve, parent: osc24M(0), freq: 30303
>>> Clock: pll_gpu, parent: osc24M(0), freq: 30303
>>> Clock: pll_de, parent: osc24M(0), freq: 30303
>>> Clock: pll_hsic, parent: osc24M(0), freq: 1200000
>>> Clock: apb2, parent: osc24M(1), freq: 24000000
>>> Clock: nand, parent: osc24M(0), freq: 24000000
>>> Clock: mmc0, parent: pll_periph0_2x(1), freq: 50000000
>>> Clock: mmc1, parent: osc24M(0), freq: 24000000
>>> Clock: mmc2, parent: osc24M(0), freq: 24000000
>>> Clock: ts, parent: osc24M(0), freq: 24000000
>>> Clock: ce, parent: osc24M(0), freq: 24000000
>>> Clock: spi0, parent: osc24M(0), freq: 24000000
>>> Clock: spi1, parent: osc24M(0), freq: 24000000
>>> Clock: spdif, parent: pll_audio(0), freq: 24571428
>>> Clock: dram, parent: pll_ddr0(0), freq: 408000000
>>> Clock: de, parent: pll_periph0_2x(0), freq: 600000000
>>> Clock: deinterlace, parent: pll_periph0(0), freq: 300000000
>>> Clock: csi-sclk, parent: pll_periph0(0), freq: 300000000
>>> Clock: csi-mclk, parent: osc24M(0), freq: 24000000
>>> Clock: ve, parent: pll_ve(0), freq: 30303
>>> Clock: hdmi, parent: pll_video0(0), freq: 30303
>>> Clock: mbus, parent: pll_periph0_2x(1), freq: 200000000
>>> Clock: gpu, parent: pll_gpu(0), freq: 30303
>>> Clock: ahb1, parent: pll_periph0(3), freq: 300000000
>>> Clock: ahb2, parent: pll_periph0(1), freq: 150000000
>>> Clock: cpux, parent: pll_cpux(2), freq: 816000000
>>> Clock: i2s0mux, parent: pll_audio-8x(0), freq: 196571424
>>> Clock: i2s1mux, parent: pll_audio-8x(0), freq: 196571424
>>> Clock: i2s2mux, parent: pll_audio-8x(0), freq: 196571424
>>> Clock: axi, parent: cpux(0), freq: 204000000
>>> Clock: apb1, parent: ahb1(0), freq: 75000000
>>> Clock: apb, parent: cpux(0), freq: 272000000
>>> Clock: thsdiv, parent: osc24M(0), freq: 12000000
>>> Clock: osc12M, parent: osc24M(0), freq: 12000000
>>> Clock: pll_periph0, parent: pll_periph0_2x(0), freq: 300000000
>>> Clock: pll_periph1, parent: pll_periph1_2x(0), freq: 300000000
>>> Clock: pll_audio-2x, parent: pll_audio(0), freq: 49142856
>>> Clock: pll_audio-4x, parent: pll_audio(0), freq: 98285712
>>> Clock: pll_audio-8x, parent: pll_audio(0), freq: 196571424
>>> Clock: bus-mipi-dsi, parent: ahb1(0), freq: 300000000
>>> Clock: bus-ce, parent: ahb1(0), freq: 300000000
>>> Clock: bus-dma, parent: ahb1(0), freq: 300000000
>>> Clock: bus-mmc0, parent: ahb1(0), freq: 300000000
>>> Clock: bus-mmc1, parent: ahb1(0), freq: 300000000
>>> Clock: bus-mmc2, parent: ahb1(0), freq: 300000000
>>> Clock: bus-nand, parent: ahb1(0), freq: 300000000
>>> Clock: bus-dram, parent: ahb1(0), freq: 300000000
>>> Clock: bus-emac, parent: ahb2(0), freq: 150000000
>>> Clock: bus-ts, parent: ahb1(0), freq: 300000000
>>> Clock: bus-hstimer, parent: ahb1(0), freq: 300000000
>>> Clock: bus-spi0, parent: ahb1(0), freq: 300000000
>>> Clock: bus-spi1, parent: ahb1(0), freq: 300000000
>>> Clock: bus-otg, parent: ahb1(0), freq: 300000000
>>> Clock: bus-ehci0, parent: ahb1(0), freq: 300000000
>>> Clock: bus-ehci1, parent: ahb2(0), freq: 150000000
>>> Clock: bus-ohci0, parent: ahb1(0), freq: 300000000
>>> Clock: bus-ohci1, parent: ahb2(0), freq: 150000000
>>> Clock: bus-ve, parent: ahb1(0), freq: 300000000
>>> Clock: bus-tcon0, parent: ahb1(0), freq: 300000000
>>> Clock: bus-tcon1, parent: ahb1(0), freq: 300000000
>>> Clock: bus-deinterlace, parent: ahb1(0), freq: 300000000
>>> Clock: bus-csi, parent: ahb1(0), freq: 300000000
>>> Clock: bus-hdmi, parent: ahb1(0), freq: 300000000
>>> Clock: bus-de, parent: ahb1(0), freq: 300000000
>>> Clock: bus-gpu, parent: ahb1(0), freq: 300000000
>>> Clock: bus-msgbox, parent: ahb1(0), freq: 300000000
>>> Clock: bus-spinlock, parent: ahb1(0), freq: 300000000
>>> Clock: bus-codec, parent: apb1(0), freq: 75000000
>>> Clock: bus-spdif, parent: apb1(0), freq: 75000000
>>> Clock: bus-pio, parent: apb1(0), freq: 75000000
>>> Clock: bus-ths, parent: apb1(0), freq: 75000000
>>> Clock: bus-i2s0, parent: apb1(0), freq: 75000000
>>> Clock: bus-i2s1, parent: apb1(0), freq: 75000000
>>> Clock: bus-i2s2, parent: apb1(0), freq: 75000000
>>> Clock: bus-i2c0, parent: apb2(0), freq: 24000000
>>> Clock: bus-i2c1, parent: apb2(0), freq: 24000000
>>> Clock: bus-i2c2, parent: apb2(0), freq: 24000000
>>> Clock: bus-src, parent: apb2(0), freq: 24000000
>>> Clock: bus-uart0, parent: apb2(0), freq: 24000000
>>> Clock: bus-uart1, parent: apb2(0), freq: 24000000
>>> Clock: bus-uart2, parent: apb2(0), freq: 24000000
>>> Clock: bus-uart3, parent: apb2(0), freq: 24000000
>>> Clock: bus-uart4, parent: apb2(0), freq: 24000000
>>> Clock: bus-dbg, parent: ahb1(0), freq: 300000000
>>> Clock: ths, parent: thsdiv(0), freq: 12000000
>>> Clock: usb-phy0, parent: osc24M(0), freq: 24000000
>>> Clock: usb-phy1, parent: osc24M(0), freq: 24000000
>>> Clock: usb-hsic, parent: pll_hsic(0), freq: 1200000
>>> Clock: usb-hsic-12M, parent: osc12M(0), freq: 12000000
>>> Clock: usb-ohci0, parent: osc12M(0), freq: 12000000
>>> Clock: usb-ohci1, parent: usb-ohci0(0), freq: 12000000
>>> Clock: dram-ve, parent: dram(0), freq: 408000000
>>> Clock: dram-csi, parent: dram(0), freq: 408000000
>>> Clock: dram-deinterlace, parent: dram(0), freq: 408000000
>>> Clock: dram-ts, parent: dram(0), freq: 408000000
>>> Clock: csi-misc, parent: osc24M(0), freq: 24000000
>>> Clock: ac-dig, parent: pll_audio(0), freq: 24571428
>>> Clock: ac-dig-4x, parent: pll_audio-4x(0), freq: 98285712
>>> Clock: avs, parent: osc24M(0), freq: 24000000
>>> Clock: hdmi-ddc, parent: osc24M(0), freq: 24000000
>>> random: harvesting attach, 8 bytes (4 bits) from ccu_a64ng0
>>> iichb0: <Allwinner Integrated I2C Bus Controller> mem 0x1c2b000-0x1c2b3ff irq 21 on simplebus0
>>> iicbus0: <OFW I2C bus> on iichb0
>>> random: harvesting attach, 8 bytes (4 bits) from iicbus0
>>> random: harvesting attach, 8 bytes (4 bits) from iichb0
>>> random: harvesting attach, 8 bytes (4 bits) from simplebus0
>>> regfix0: <Fixed Regulator> on ofwbus0
>>> random: harvesting attach, 8 bytes (4 bits) from regfix0
>>> random: harvesting attach, 8 bytes (4 bits) from ofwbus0
>>> ccu_sun8i_r0: <Allwinner SUN8I_R Clock Control Unit NG> mem 0x1f01400-0x1f014ff on simplebus0
>>> Clock: ar100, parent: osc32k(0), freq: 32768
>>> Clock: apb0, parent: ahb0(0), freq: 32768
>>> Clock: ahb0, parent: ar100(0), freq: 32768
>>> Clock: ir, parent: osc32k(0), freq: 32768
>>> Clock: apb0-pio, parent: apb0(0), freq: 32768
>>> Clock: apb0-ir, parent: apb0(0), freq: 32768
>>> Clock: apb0-timer, parent: apb0(0), freq: 32768
>>> Clock: apb0-rsb, parent: apb0(0), freq: 32768
>>> Clock: apb0-uart, parent: apb0(0), freq: 32768
>>> Clock: apb0-i2c, parent: apb0(0), freq: 32768
>>> Clock: apb0-twd, parent: apb0(0), freq: 32768
>>> random: harvesting attach, 8 bytes (4 bits) from ccu_sun8i_r0
>>> psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
>>> psci0: PSCI version 0.2 compatible
>>> random: harvesting attach, 8 bytes (4 bits) from psci0
>>> gic0: <ARM Generic Interrupt Controller> mem 0x1c81000-0x1c81fff,0x1c82000-0x1c83fff,0x1c84000-0x1c85fff,0x1c86000-0x1c87fff irq 23 on simplebus0
>>> gic0: pn 0x2, arch 0x2, rev 0x1, implementer 0x43b irqs 224
>>> random: harvesting attach, 8 bytes (4 bits) from gic0
>>> gpio0: <Allwinner GPIO/Pinmux controller> mem 0x1c20800-0x1c20bff irq 12,13,14 on simplebus0
>>> gpiobus0: <OFW GPIO bus> on gpio0
>>> random: harvesting attach, 8 bytes (4 bits) from gpiobus0
>>> Processing 1 pin-config node(s) in pinctrl-0 for mmc at 1c0f000
>>> Processing 1 pin-config node(s) in pinctrl-0 for serial at 1c28000
>>> Processing 1 pin-config node(s) in pinctrl-0 for i2c at 1c2b000
>>> Processing 1 pin-config node(s) in pinctrl-0 for ethernet at 1c30000
>>> Processing 1 pin-config node(s) in pinctrl-0 for mmc at 1c0f000
>>> Processing 1 pin-config node(s) in pinctrl-0 for serial at 1c28000
>>> Processing 1 pin-config node(s) in pinctrl-0 for i2c at 1c2b000
>>> Processing 1 pin-config node(s) in pinctrl-0 for ethernet at 1c30000
>>> random: harvesting attach, 8 bytes (4 bits) from gpio0
>>> gpio1: <Allwinner GPIO/Pinmux controller> mem 0x1f02c00-0x1f02fff irq 26 on simplebus0
>>> gpiobus1: <OFW GPIO bus> on gpio1
>>> random: harvesting attach, 8 bytes (4 bits) from gpiobus1
>>> Processing 1 pin-config node(s) in pinctrl-0 for mmc at 1c0f000
>>> Processing 1 pin-config node(s) in pinctrl-0 for serial at 1c28000
>>> Processing 1 pin-config node(s) in pinctrl-0 for i2c at 1c2b000
>>> Processing 1 pin-config node(s) in pinctrl-0 for ethernet at 1c30000
>>> Processing 1 pin-config node(s) in pinctrl-0 for mmc at 1c0f000
>>> Processing 1 pin-config node(s) in pinctrl-0 for serial at 1c28000
>>> Processing 1 pin-config node(s) in pinctrl-0 for i2c at 1c2b000
>>> Processing 1 pin-config node(s) in pinctrl-0 for ethernet at 1c30000
>>> random: harvesting attach, 8 bytes (4 bits) from gpio1
>>> generic_timer0: <ARMv8 Generic Timer> irq 0,1,2,3 on ofwbus0
>>> Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality 1000
>>> Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality 1000
>>> random: harvesting attach, 8 bytes (4 bits) from generic_timer0
>>> rtc0: <Allwinner RTC> mem 0x1f00000-0x1f00053 irq 24,25 on simplebus0
>>> rtc0: Using external oscillator
>>> rtc0: registered as a time-of-day clock, resolution 1.000000s
>>> random: harvesting attach, 8 bytes (4 bits) from rtc0
>>> awusbphy0: <Allwinner USB PHY> mem 0x1c19400-0x1c19413,0x1c1a800-0x1c1a803,0x1c1b800-0x1c1b803 on simplebus0
>>> random: harvesting attach, 8 bytes (4 bits) from awusbphy0
>>> efirtc0: cannot read EFI realtime clock
>>> cpulist0: <Open Firmware CPU Group> on ofwbus0
>>> cpu0: <Open Firmware CPU> on cpulist0
>>> cpu0: missing 'clock-frequency' property
>>> arm64_cpu0: register <0>
>>> random: harvesting attach, 8 bytes (4 bits) from arm64_cpu0
>>> random: harvesting attach, 8 bytes (4 bits) from cpu0
>>> cpu1: <Open Firmware CPU> on cpulist0
>>> cpu1: missing 'clock-frequency' property
>>> arm64_cpu1: register <1>
>>> random: harvesting attach, 8 bytes (4 bits) from arm64_cpu1
>>> random: harvesting attach, 8 bytes (4 bits) from cpu1
>>> cpu2: <Open Firmware CPU> on cpulist0
>>> cpu2: missing 'clock-frequency' property
>>> arm64_cpu2: register <2>
>>> random: harvesting attach, 8 bytes (4 bits) from arm64_cpu2
>>> random: harvesting attach, 8 bytes (4 bits) from cpu2
>>> cpu3: <Open Firmware CPU> on cpulist0
>>> cpu3: missing 'clock-frequency' property
>>> arm64_cpu3: register <3>
>>> random: harvesting attach, 8 bytes (4 bits) from arm64_cpu3
>>> random: harvesting attach, 8 bytes (4 bits) from cpu3
>>> random: harvesting attach, 8 bytes (4 bits) from cpulist0
>>> aw_mmc0: <Allwinner Integrated MMC/SD controller> mem 0x1c0f000-0x1c0ffff irq 4 on simplebus0
>>> aw_mmc0: vmmc-supply regulator found
>>> mmc0: <MMC/SD bus> on aw_mmc0
>>> random: harvesting attach, 8 bytes (4 bits) from mmc0
>>> random: harvesting attach, 8 bytes (4 bits) from aw_mmc0
>>> simplebus0: <mmc at 1c10000> mem 0x1c10000-0x1c10fff irq 5 disabled compat allwinner,sun50i-a64-mmc (no driver attached)
>>> simplebus0: <mmc at 1c11000> mem 0x1c11000-0x1c11fff irq 6 disabled compat allwinner,sun50i-a64-emmc (no driver attached)
>>> simplebus0: <usb at 01c19000> mem 0x1c19000-0x1c193ff irq 7 compat allwinner,sun8i-a33-musb (no driver attached)
>>> simplebus0: <usb at 01c1a000> mem 0x1c1a000-0x1c1a0ff irq 8 disabled compat allwinner,sun50i-a64-ehci (no driver attached)
>>> simplebus0: <usb at 01c1a400> mem 0x1c1a400-0x1c1a4ff irq 9 disabled compat allwinner,sun50i-a64-ohci (no driver attached)
>>> ehci0: <Allwinner Integrated USB 2.0 controller> mem 0x1c1b000-0x1c1b0ff irq 10 on simplebus0
>>> usbus0: EHCI version 1.0
>>> usbus0 on ehci0
>>> ehci0: usbpf: Attached
>>> random: harvesting attach, 8 bytes (4 bits) from usbus0
>>> random: harvesting attach, 8 bytes (4 bits) from ehci0
>>> ohci0: <Generic OHCI Controller> mem 0x1c1b400-0x1c1b4ff irq 11 on simplebus0
>>> usbus1 on ohci0
>>> ohci0: usbpf: Attached
>>> random: harvesting attach, 8 bytes (4 bits) from usbus1
>>> random: harvesting attach, 8 bytes (4 bits) from ohci0
>>> gpioc0: <GPIO controller> on gpio0
>>> random: harvesting attach, 8 bytes (4 bits) from gpioc0
>>> simplebus0: <pwm at 01c21400> mem 0x1c21400-0x1c21407 disabled compat allwinner,sun50i-a64-pwm (no driver attached)
>>> uart0: <16750 or compatible> mem 0x1c28000-0x1c283ff irq 15 on simplebus0
>>> uart0: console (115384,n,8,1)
>>> uart0: fast interrupt
>>> uart0: PPS capture mode: DCD
>>> random: harvesting attach, 8 bytes (4 bits) from uart0
>>> simplebus0: <serial at 1c28400> mem 0x1c28400-0x1c287ff irq 16 disabled compat snps,dw-apb-uart (no driver attached)
>>> simplebus0: <serial at 1c28800> mem 0x1c28800-0x1c28bff irq 17 disabled compat snps,dw-apb-uart (no driver attached)
>>> simplebus0: <serial at 1c28c00> mem 0x1c28c00-0x1c28fff irq 18 disabled compat snps,dw-apb-uart (no driver attached)
>>> simplebus0: <serial at 1c29000> mem 0x1c29000-0x1c293ff irq 19 disabled compat snps,dw-apb-uart (no driver attached)
>>> simplebus0: <i2c at 1c2ac00> mem 0x1c2ac00-0x1c2afff irq 20 disabled compat allwinner,sun6i-a31-i2c (no driver attached)
>>> iic0: <I2C generic I/O> on iicbus0
>>> random: harvesting attach, 8 bytes (4 bits) from iic0
>>> simplebus0: <i2c at 1c2b400> mem 0x1c2b400-0x1c2b7ff irq 22 disabled compat allwinner,sun6i-a31-i2c (no driver attached)
>>> gpioc1: <GPIO controller> on gpio1
>>> random: harvesting attach, 8 bytes (4 bits) from gpioc1
>>> syscon_generic0: <syscon> mem 0x1c00000-0x1c00fff on simplebus0
>>> random: harvesting attach, 8 bytes (4 bits) from syscon_generic0
>>> awg0: <Allwinner Gigabit Ethernet> mem 0x1c30000-0x1c3ffff irq 27 on simplebus0
>>> simplebus0: no default resources for rid = 1, type = 3
>>> awg0: PHY type: rgmii, conf mode: reg
>>> awg0: EMAC clock: 0x00000006
>>> awg0: AHB frequency 150000000 Hz, MDC div: 0x2
>>> miibus0: <MII bus> on awg0
>>> rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 0 on miibus0
>>> rgephy0: OUI 0x00e04c, model 0x0011, rev. 5
>>> rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
>>> random: harvesting attach, 8 bytes (4 bits) from rgephy0
>>> rgephy1: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
>>> rgephy1: OUI 0x00e04c, model 0x0011, rev. 5
>>> rgephy1:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
>>> random: harvesting attach, 8 bytes (4 bits) from rgephy1
>>> random: harvesting attach, 8 bytes (4 bits) from miibus0
>>> awg0: bpf attached
>>> awg0: Ethernet address: 02:ba:b1:c5:93:b7
>>> random: harvesting attach, 8 bytes (4 bits) from awg0
>>> cryptosoft0: <software crypto>
>>> crypto: assign cryptosoft0 driver id 0, flags 0x6000000
>>> crypto: cryptosoft0 registers alg 1 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 2 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 3 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 4 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 5 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 16 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 6 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 7 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 32 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 18 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 19 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 20 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 8 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 15 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 9 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 10 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 13 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 14 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 34 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 35 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 36 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 37 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 11 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 22 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 23 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 25 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 24 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 26 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 27 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 28 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 21 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 17 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 29 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 30 flags 0 maxoplen 0
>>> crypto: cryptosoft0 registers alg 31 flags 0 maxoplen 0
>>> random: harvesting attach, 8 bytes (4 bits) from cryptosoft0
>>> Found SMCCC version 1.0
>>> Device configuration finished.
>>> procfs registered
>>> Timecounters tick every 1.000 msec
>>> vlan: initialized, using hash tables with chaining
>>> lo0: bpf attached
>>> arc4random: read 32 bytes from preloaded cache
>>> arc4random: read 32 bytes from preloaded cache
>>> arc4random: read 32 bytes from preloaded cache
>>> tcp_init: net.inet.tcp.tcbhashsize auto tuned to 16384
>>> IPsec: Initialized Security Association Processing.
>>> usbus0: 480Mbps High Speed USB v2.0
>>> usbus1: 12Mbps Full Speed USB v1.0
>>> aw_mmc0: Powering up sd/mmc
>>> mmc0: Probing bus
>>> ugen0.1: <Allwinner EHCI root HUB> at usbus0
>>> uhub0: <Allwinner EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
>>> ugen1.1: <Generic OHCI root HUB> at usbus1
>>> uhub1: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
>>> aw_mmc0: error rint: 0x00000100
>>> AW_MMC_INT_RESP_TIMEOUT 
>>> aw_mmc0: error rint: 0x00000100
>>> AW_MMC_INT_RESP_TIMEOUT 
>>> aw_mmc0: error rint: 0x00000100
>>> AW_MMC_INT_RESP_TIMEOUT 
>>> aw_mmc0: error rint: 0x00000100
>>> AW_MMC_INT_RESP_TIMEOUT 
>>> aw_mmc0: error rint: 0x00000100
>>> AW_MMC_INT_RESP_TIMEOUT 
>>> aw_mmc0: error rint: 0x00000100
>>> AW_MMC_INT_RESP_TIMEOUT 
>>> aw_mmc0: error rint: 0x00000100
>>> AW_MMC_INT_RESP_TIMEOUT 
>>> aw_mmc0: error rint: 0x00000100
>>> AW_MMC_INT_RESP_TIMEOUT 
>>> mmc0: SD probe: failed
>>> mmc0: MMC probe: OK (OCR: 0x40ff8080)
>>> mmc0: Current OCR: 0x00ff8080
>>> mmc0: Probing cards
>>> mmc0: New card detected (CID 150100444a4e423452079f43b2e7636f)
>>> mmc0: New card detected (CSD d02701320f5903fff6dbffef8e40400d)
>>> aw_mmc0: error rint: 0x00008010
>>> AW_MMC_INT_DATA_END_BIT_ERR
>>> mmc0: Card at relative address 0x0002 added:
>>> mmc0:  card: MMCHC DJNB4R 0.7 SN <REPLACED> MFG 06/2016 by 21 0x0000
>>> mmc0:  quirks: 0
>>> mmc0:  bus: 4bit, 200MHz (HS200 timing)
> 
> The above is where I got the HS200. (I had to look up the details
> for this note.)
> 
>>> mmc0:  memory: 244277248 blocks, erase sector 1024 blocks
>>> aw_mmc0: error rint: 0x00000100
>>> AW_MMC_INT_RESP_TIMEOUT 
>>> aw_mmc0: error rint: 0x00000100
>>> AW_MMC_INT_RESP_TIMEOUT 
>>> aw_mmc0: error rint: 0x00000100
>>> AW_MMC_INT_RESP_TIMEOUT 
>>> aw_mmc0: error rint: 0x00000100
>>> AW_MMC_INT_RESP_TIMEOUT 
>>> mmc0: setting transfer rate to 52.000MHz (dual data rate timing)
>>> mmc0: Failed to set VCCQ for card at relative address 2
>> 
>> So the driver is selecting DDR52 transfer rate but, of course,
>> cannot switch the IO voltage to 1.8V as on this board the IO voltage
>> for the SD card is tied to 3.3V
> 
> As I understand the following is allowed for e.MMC in all/most
> vintages of the standard:
> 
> High Speed DDR, Data rate dual, 3V allowed, bus widths 4,8, 0-52 MHz
> 
> So no need for 1.8 V or 1.2 V for that much.
> 
> This is not the HS200 mode that the output references. But the
> reference is probably just indicate what the e.MMC itself allows
> as the fastest speed, not indicating the limitations of the context
> of the connection.
> 
>>> uhub1: 1 port with 1 removable, self powered
>>> random: harvesting attach, 8 bytes (4 bits) from uhub1
>>> uhub0: 1 port with 1 removable, self powered
>>> random: harvesting attach, 8 bytes (4 bits) from uhub0
>>> aw_mmc0: controller timeout
>>> aw_mmc0: timeout updating clock
>>> aw_mmc0: controller timeout
>>> aw_mmc0: timeout updating clock
>>> aw_mmc0: controller timeout
>>> aw_mmc0: timeout updating clock
>>> aw_mmc0: controller timeout
>>> aw_mmc0: Spurious interrupt - no active request, rint: 0x00000000
>>> 
>>> mmcsd0: Error reading EXT_CSD Timeout
>> 
>> This seems weird, I have a board with an eMMC IO voltage tied to 3.3V
>> (Olinuxino-A64), I'll try HEAD on this board.
>> 
>>> device_attach: mmcsd0 attach returned 6
>>> Release APs...done
>>> Trying to mount root from ufs:/dev/ufs/PINE64P2Grootfs [rw,noatime]...
>>> CPU  0: ARM Cortex-A53 r0p4mountroot: waiting for device /dev/ufs/PINE64P2Grootfs...
>>> affinity:  0
>>> Instruction Set Attributes 0 = <AES+PMULL,SHA1,SHA2,CRC32>
>>> Instruction Set Attributes 1 = <>
>>>        Processor Features 0 = <AdvSIMD,Float,EL3 32,EL2 32,EL1 32,EL0 32>
>>>        Processor Features 1 = <0>
>>>     Memory Model Features 0 = <4k Granule,64k Granule,MixedEndian,S/NS Mem,16bit ASID,1TB PA>
>>>     Memory Model Features 1 = <>
>>>     Memory Model Features 2 = <32b CCIDX,48b VA>
>>>            Debug Features 0 = <2 CTX Breakpoints,4 Watchpoints,6 Breakpoints,PMUv3,Debug v8>
>>>            Debug Features 1 = <0>
>>>        Auxiliary Features 0 = <0>
>>>        Auxiliary Features 1 = <0>
>>> CPU  1: ARM Cortex-A53 r0p4 affinity:  1
>>> CPU  2: ARM Cortex-A53 r0p4 affinity:  2
>>> CPU  3: ARM Cortex-A53 r0p4 affinity:  3
>>> regulator: shutting down vcc3v3
>>> Mounting from ufs:/dev/ufs/PINE64P2Grootfs failed with error 19.
>>> 
>>> Loader variables:
>>> vfs.root.mountfrom=ufs:/dev/ufs/PINE64P2Grootfs
>>> vfs.root.mountfrom.options=rw,noatime
>>> 
>>> Manual root filesystem specification:
>>> <fstype>:<device> [options]
>>>     Mount <device> using filesystem <fstype>
>>>     and with the specified (optional) option list.
>>> 
>>>   eg. ufs:/dev/da0s1a
>>>       zfs:tank
>>>       cd9660:/dev/cd0 ro
>>>         (which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)
>>> 
>>> ?               List valid disk boot devices
>>> .               Yield 1 second (for background tasks)
>>> <empty line>    Abort manual input
>>> 
>>> mountroot> 
>>> 
> 

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-arm mailing list