Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Apr 2022 15:47:27 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        John-Mark Gurney <jmg@funkthat.com>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@FreeBSD.org>
Subject:   Re: Rock64 eMMC not working
Message-ID:  <8F74264A-4EF9-48BD-8114-BF9A01AD5C1A@yahoo.com>
In-Reply-To: <20220429213048.GL88842@funkthat.com>
References:  <20220407040810.GD88842@funkthat.com> <20220429213048.GL88842@funkthat.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2022-Apr-29, at 14:30, John-Mark Gurney <jmg@funkthat.com> wrote:

> John-Mark Gurney wrote this message on Wed, Apr 06, 2022 at 21:08 =
-0700:
>=20
> Bump?
>=20
> Is no one working on/maintaining the Rock64 port?
>=20
> Right now looking at getting the OTG port working on it, but it looks
> like the dwcotg driver is completely broken in that it can't read data
> accurately from the USB bus.
>=20
>> I am trying to get the latest FreeBSD -current snapshot to boot/run =
off
>> a Pine64 eMMC module on the Rock64, but I'm seeing an issue w/ =
mounting
>> root:
>>=20
>> FreeBSD 14.0-CURRENT #0 main-n254105-d53927b0bae: Thu Mar 31 09:26:31 =
UTC 2022
>> [...]
>> Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
>> mmcsd0: Error indicated: 4 Failed
>>=20
>> I got similar messages when 13.1-RC1:
>>=20
>> mmcsd0: 16GB <MMCHC M8B16G 2.8 SN D808D122 MFG 07/2018 by 136 0x0003> =
at mmc0 150.0MHz/8bit/1016-block
>> mmcsd0boot0: 4MB partition 1 at mmcsd0
>> mmcsd0boot1: 4MB partition 2 at mmcsd0
>> mmcsd0rpmb: 4MB partition 3 at mmcsd0
>> [...]
>> GEOM: mmcsd0: the secondary GPT header is not in the last LBA.
>> mmcsd0: Error indicated: 4 Failed
>> rockchip_dwmmc1: Failed to update clk
>>=20
>>=20
>> Are there any known issues w/ this?  A different image to try?
>>=20
>> Also, in trying to debug this issue, I tried to boot from a microSD
>> card with the eMMC module installed by shorting the jumper, but when =
I did,
>> I got:
>> mmcsd0: 32GB <SDHC GB1QT 3.0 SN xxx MFG 03/2020 by 27 SM> at mmc0 =
50.0MHz/4bit/1016-block
>> mmcsd1: Error reading EXT_CSD Failed
>> device_attach: mmcsd1 attach returned 6
>> Kernel page fault with the following non-sleepable locks held:
>> exclusive sleep mutex rockchip_dwmmc1 (dwmmc) r =3D 0 =
(0xffffa000008d2128) locked @ /usr/src/sys/dev/mmc/host/dwmmc.c:386
>> stack backtrace:
>> #0 0xffff0000004e5390 at witness_debugger+0x5c
>> #1 0xffff0000004e6564 at witness_warn+0x3e8
>> #2 0xffff00000078962c at data_abort+0xa0
>> #3 0xffff000000767810 at handle_el1h_sync+0x10
>>  x0:             8088
>>  x1: ffff00008e18b000 (ucom_cons_softc + 8ce4ca40)
>>  x2:               40
>>  x3:              182
>>  x4:                0
>>  x5: ffff00008e1767a0 (ucom_cons_softc + 8ce381e0)
>>  x6:                0
>>  x7:                0
>>  x8:                4
>>  x9: ffff000000b55910 (memmap_bus + 0)
>> x10:                3
>> x11:            10000
>> x12:                1
>> x13:             2af8
>> x14:               88
>> x15:             2af8
>> x16:               88
>> x17:                0
>> x18: ffff00008e176850 (ucom_cons_softc + 8ce38290)
>> x19: ffffa000008d2140
>> x20: ffffa000008d2000
>> x21:             8088
>> x22:                0
>> x23:         80000003
>> x24: ffffa000008c9580
>> x25: ffffa00000bb9100
>> x26: ffff000000b9ea98 (Giant + 18)
>> x27: ffff0000008df336 (digits + ea96)
>> x28: ffffa00000bb9110
>> x29: ffff00008e176850 (ucom_cons_softc + 8ce38290)
>>  sp: ffff00008e176850
>>  lr: ffff0000007b0298 (dwmmc_intr + 50)
>> elr: ffff0000007b02c4 (dwmmc_intr + 7c)
>> spsr:               45
>> far:               20
>> esr:         96000044
>> panic: data abort in critical section or under mutex
>> cpuid =3D 0
>> time =3D 1
>> KDB: stack backtrace:
>> db_trace_self() at db_trace_self
>> db_trace_self_wrapper() at db_trace_self_wrapper+0x30
>> vpanic() at vpanic+0x174
>> panic() at panic+0x44
>> data_abort() at data_abort+0x2dc
>> handle_el1h_sync() at handle_el1h_sync+0x10
>> --- exception, esr 0x96000044
>> dwmmc_intr() at dwmmc_intr+0x7c
>> ithread_loop() at ithread_loop+0x2a0
>> fork_exit() at fork_exit+0x74
>> fork_trampoline() at fork_trampoline+0x14
>> KDB: enter: panic
>>=20
>>=20
>> Complete boot message:
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>> U-Boot TPL 2021.07 (Mar 31 2022 - 05:26:18)
>> LPDDR3, 800MHz
>> BW=3D32 Col=3D10 Bk=3D8 CS0 Row=3D15 CS1 Row=3D15 CS=3D2 Die BW=3D16 =
Size=3D2048MB
>> Trying to boot from BOOTROM
>> Returning to boot ROM...
>>=20
>> U-Boot SPL 2021.07 (Mar 31 2022 - 05:26:18 +0000)
>> Trying to boot from MMC1
>> Card did not respond to voltage select! : -110
>> spl: mmc init failed with error: -95
>> Trying to boot from MMC2
>> NOTICE:  BL31: v2.5(release):
>> NOTICE:  BL31: Built : 05:24:37, Mar 31 2022
>> NOTICE:  BL31:Rockchip release version: v1.2
>>=20
>>=20
>> U-Boot 2021.07 (Mar 31 2022 - 05:28:19 +0000)
>>=20
>> Model: Pine64 Rock64
>> DRAM:  2 GiB
>> PMIC:  RK8050 (on=3D0x40, off=3D0x00)
>> MMC:   mmc@ff500000: 1, mmc@ff520000: 0
>> Loading Environment from MMC... Card did not respond to voltage =
select! : -110
>> *** Warning - No block device, using default environment
>>=20
>> In:    serial@ff130000
>> Out:   serial@ff130000
>> Err:   serial@ff130000
>> Model: Pine64 Rock64
>> Net:   eth0: ethernet@ff540000
>> Hit any key to stop autoboot:  0=20
>> switch to partitions #0, OK
>> mmc0(part 0) is current device
>> Scanning mmc 0:1...
>> 50618 bytes read in 7 ms (6.9 MiB/s)
>> Card did not respond to voltage select! : -110
>> Scanning disk mmc@ff500000.blk...
>> Disk mmc@ff500000.blk not ready
>> Scanning disk mmc@ff520000.blk...
>> ** Unrecognized filesystem type **
>> ** Unrecognized filesystem type **
>> ** Unrecognized filesystem type **
>> Found 5 disks
>> ** Unable to read file ubootefi.var **
>> Failed to load EFI variables
>> BootOrder not defined
>> EFI boot manager: Cannot load any image
>> Found EFI removable media binary efi/boot/bootaa64.efi
>> 1263868 bytes read in 33 ms (36.5 MiB/s)
>> Booting /efi\boot\bootaa64.efi
>>=20
>>=20
>> Consoles: EFI console =20
>>    Reading loader env vars from /efi/freebsd/loader.env
>> Setting currdev to disk0p1:
>> FreeBSD/arm64 EFI loader, Revision 1.1
>> (Thu Mar 31 08:48:02 UTC 2022 root@releng1.nyi.freebsd.org)
>>=20
>>   Command line arguments: loader.efi
>>   Image base: 0x7cdde000
>>   EFI version: 2.80
>>   EFI Firmware: Das U-Boot (rev 8225.1792)
>>   Console: efi (0x1000)
>>   Load Path: /efi\boot\bootaa64.efi
>>   Load Device: =
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/eMMC(0)/eMMC(1)/HD(1,GPT,6440=
0726-b60c-11ec-a26d-85c343ffa803,0x8000,0x19000)
>> Trying ESP: =
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/eMMC(0)/eMMC(1)/HD(1,GPT,6440=
0726-b60c-11ec-a26d-85c343ffa803,0x8000,0x19000)
>> Setting currdev to disk0p1:
>> Trying: =
/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/eMMC(0)/eMMC(1)/HD(2,GPT,6440=
0726-b60c-11ec-a26d-85c343ffa803,0x21000,0x1cc6fd8)
>> Setting currdev to disk0p2:
>> /
>>=20
>>=20
>> Loading /boot/defaults/loader.conf
>> Loading /boot/defaults/loader.conf
>> Loading /boot/device.hints
>> Loading /boot/loader.conf
>> Loading /boot/loader.conf.local
>> /
>>=20
>> Loading kernel...
>> /boot/kernel/kernel text=3D0x2a8 text=3D0x84f4a0 text=3D0x249adc =
data=3D0x1b9aa8 data=3D0x0+0x40d000 0x8+0x133de8+0x8+0x15b370\
>> Loading configured modules...
>> /boot/entropy size=3D0x1000
>> /boot/kernel/umodem.ko text=3D0x2100 text=3D0x13a0 data=3D0x6d8+0x10 =
0x8+0xf18+0x8+0xb5c
>> loading required module 'ucom'
>> /boot/kernel/ucom.ko text=3D0x2590 text=3D0x2f00 data=3D0x8e0+0x858 =
0x8+0x1290+0x8+0xbd5
>> /etc/hostid size=3D0x25
>>=20
>> Hit [Enter] to boot immediately, or any other key for command prompt.
>> Booting [/boot/kernel/kernel]...              =20
>> Using DTB provided by EFI at 0x80f0000.
>> EFI framebuffer information:
>> addr, size     0x0, 0x0
>> dimensions     0 x 0
>> stride         0
>> masks          0x00000000, 0x00000000, 0x00000000, 0x00000000
>> ---<<BOOT>>---
>> GDB: debug ports: uart
>> GDB: current port: uart
>> KDB: debugger backends: ddb gdb
>> KDB: current backend: ddb
>> Copyright (c) 1992-2022 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 14.0-CURRENT #0 main-n254105-d53927b0bae: Thu Mar 31 09:26:31 =
UTC 2022
>>    =
root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC =
arm64
>> FreeBSD clang version 13.0.0 (git@github.com:llvm/llvm-project.git =
llvmorg-13.0.0-0-gd7b669b3a303)
>> WARNING: WITNESS option enabled, expect reduced performance.
>> VT: init without driver.
>> module firmware already present!
>> real memory  =3D 2145136640 (2045 MB)
>> avail memory =3D 2065342464 (1969 MB)
>> Starting CPU 1 (1)
>> Starting CPU 2 (2)
>> Starting CPU 3 (3)
>> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
>> random: unblocking device.
>> random: entropy device external interface
>> MAP 7cf1b000 mode 2 pages 1
>> MAP 7cf1f000 mode 2 pages 3
>> MAP 7cf23000 mode 2 pages 4
>> MAP 7ff40000 mode 2 pages 16
>> kbd0 at kbdmux0
>> ofwbus0: <Open Firmware Device Tree>
>> clk_fixed0: <Fixed clock> on ofwbus0
>> rk_grf0: <RockChip General Register Files> mem 0xff100000-0xff100fff =
on ofwbus0
>> rk3328_cru0: <Rockchip RK3328 Clock and Reset Unit> mem =
0xff440000-0xff440fff on ofwbus0
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> Cannot set frequency for clk: aclk_bus_pre_c, error: 34
>> rk3328_cru0: Failed to set aclk_bus_pre to a frequency of 15000000
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> Cannot set frequency for clk: aclk_peri_pre, error: 34
>> rk3328_cru0: Failed to set aclk_peri_pre to a frequency of 15000000
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> clknode_link_recalc: Attempt to use unresolved linked clock: hdmi_phy
>> Cannot get frequency for clk: hdmi_phy, error: 9
>> clk_fixed1: <Fixed clock> on ofwbus0
>> regfix0: <Fixed Regulator> on ofwbus0
>> regfix1: <Fixed Regulator> on ofwbus0
>> regfix2: <Fixed Regulator> on ofwbus0
>> regfix3: <Fixed Regulator> on ofwbus0
>> simple_mfd0: <Simple MFD (Multi-Functions Device)> mem =
0xff450000-0xff45ffff on ofwbus0
>> psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
>> gic0: <ARM Generic Interrupt Controller> mem =
0xff811000-0xff811fff,0xff812000-0xff813fff,0xff814000-0xff815fff,0xff8160=
00-0xff817fff irq 52 on ofwbus0
>> gic0: pn 0x2, arch 0x2, rev 0x1, implementer 0x43b irqs 160
>> rk_pinctrl0: <RockChip Pinctrl controller> on ofwbus0
>> gpio0: <RockChip GPIO Bank controller> mem 0xff210000-0xff2100ff irq =
53 on rk_pinctrl0
>> gpiobus0: <OFW GPIO bus> on gpio0
>> gpio1: <RockChip GPIO Bank controller> mem 0xff220000-0xff2200ff irq =
54 on rk_pinctrl0
>> gpiobus1: <OFW GPIO bus> on gpio1
>> gpio2: <RockChip GPIO Bank controller> mem 0xff230000-0xff2300ff irq =
55 on rk_pinctrl0
>> gpiobus2: <OFW GPIO bus> on gpio2
>> gpio3: <RockChip GPIO Bank controller> mem 0xff240000-0xff2400ff irq =
56 on rk_pinctrl0
>> gpiobus3: <OFW GPIO bus> on gpio3
>> rk_i2c0: <RockChip I2C> mem 0xff160000-0xff160fff irq 16 on ofwbus0
>> iicbus0: <OFW I2C bus> on rk_i2c0
>> rk805_pmu0: <RockChip RK805 PMIC> at addr 0x30 irq 57 on iicbus0
>> generic_timer0: <ARMv8 Generic Timer> irq 4,5,6,7 on ofwbus0
>> Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality =
1000
>> Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality =
1000
>> rk_tsadc0: <RockChip temperature sensors> mem 0xff250000-0xff2500ff =
irq 24 on ofwbus0
>> cpulist0: <Open Firmware CPU Group> on ofwbus0
>> cpu0: <Open Firmware CPU> on cpulist0
>> cpufreq_dt0: <Generic cpufreq driver> on cpu0
>> cpufreq_dt0: Found cpu-supply
>> cpu1: <Open Firmware CPU> on cpulist0
>> cpufreq_dt1: <Generic cpufreq driver> on cpu1
>> cpufreq_dt1: Found cpu-supply
>> cpu2: <Open Firmware CPU> on cpulist0
>> cpufreq_dt2: <Generic cpufreq driver> on cpu2
>> cpufreq_dt2: Found cpu-supply
>> cpu3: <Open Firmware CPU> on cpulist0
>> cpufreq_dt3: <Generic cpufreq driver> on cpu3
>> cpufreq_dt3: Found cpu-supply
>> pcm0: <simple-audio-card> on ofwbus0
>> pmu0: <Performance Monitoring Unit> irq 0,1,2,3 on ofwbus0
>> pcm1: <simple-audio-card> on ofwbus0
>> i2s0: <Rockchip I2S> mem 0xff000000-0xff000fff irq 8 on ofwbus0
>> Cannot set frequency for clk: xin12m, error: 34
>> Cannot set frequency for clk: xin12m, error: 34
>> i2s1: <Rockchip I2S> mem 0xff010000-0xff010fff irq 9 on ofwbus0
>> Cannot set frequency for clk: clkin_i2s1, error: 34
>> Cannot set frequency for clk: xin12m, error: 34
>> uart0: <16750 or compatible> mem 0xff130000-0xff1300ff irq 14 on =
ofwbus0
>> uart0: console (1500000,n,8,1)
>> iic0: <I2C generic I/O> on iicbus0
>> spi0: <Rockchip SPI> mem 0xff190000-0xff190fff irq 19 on ofwbus0
>> spibus0: <OFW SPI bus> on spi0
>> spibus0: <unknown card> at cs 0 mode 0
>> rockchip_dwmmc0: <Synopsys DesignWare Mobile Storage Host Controller =
(RockChip)> mem 0xff500000-0xff503fff irq 43 on ofwbus0
>> rockchip_dwmmc0: Hardware version ID is 270a
>> rockchip_dwmmc1: <Synopsys DesignWare Mobile Storage Host Controller =
(RockChip)> mem 0xff520000-0xff523fff irq 45 on ofwbus0
>> rockchip_dwmmc1: Hardware version ID is 270a
>> mmc0: <MMC/SD bus> on rockchip_dwmmc1
>> dwc0: <Rockchip Gigabit Ethernet Controller> mem =
0xff540000-0xff54ffff irq 46 on ofwbus0
>> miibus0: <MII bus> on dwc0
>> rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 0 on =
miibus0
>> rgephy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, =
1000baseT-FDX, 1000baseT-FDX-master, auto
>> rgephy1: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on =
miibus0
>> rgephy1:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, =
1000baseT-FDX, 1000baseT-FDX-master, auto
>> dwc0: Ethernet address: xxx
>> dwcotg0: <DWC OTG 2.0 integrated USB controller> mem =
0xff580000-0xff5bffff irq 48 on ofwbus0
>> usbus1 on dwcotg0
>> ehci0: <Generic EHCI Controller> mem 0xff5c0000-0xff5cffff irq 49 on =
ofwbus0
>> usbus2: EHCI version 1.0
>> usbus2 on ehci0
>> ohci0: <Generic OHCI Controller> mem 0xff5d0000-0xff5dffff irq 50 on =
ofwbus0
>> usbus3 on ohci0
>> gpioc0: <GPIO controller> on gpio0
>> gpioc1: <GPIO controller> on gpio1
>> gpioc2: <GPIO controller> on gpio2
>> gpioc3: <GPIO controller> on gpio3
>> gpioled0: <GPIO LEDs> on ofwbus0
>> gpioled0: <led-0> failed to map pin
>> gpioled0: <led-1> failed to map pin
>> pcm2: <simple-audio-card> on ofwbus0
>> armv8crypto0: <AES-CBC,AES-XTS,AES-GCM>
>> Timecounters tick every 1.000 msec
>> usbus1: 480Mbps High Speed USB v2.0
>> usbus2: 480Mbps High Speed USB v2.0
>> usbus3: 12Mbps Full Speed USB v1.0
>> rk805_pmu0: registered as a time-of-day clock, resolution 1.000000s
>> pcm0: no driver attached to codec node
>> pcm1: no driver attached to codec node
>> ugen2.1: <Generic EHCI root HUB> at usbus2
>> uhub0 on usbus2
>> uhub0: <Generic EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on =
usbus2
>> ugen1.1: <DWCOTG OTG Root HUB> at usbus1
>> uhub1 on usbus1
>> uhub1: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on =
usbus1
>> ugen3.1: <Generic OHCI root HUB> at usbus3
>> uhub2 on usbus3
>> uhub2: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on =
usbus3
>> mmcsd0: 16GB <MMCHC M8B16G 2.8 SN xxx MFG 07/2018 by 136 0x0003> at =
mmc0 150.0MHz/8bit/1016-block
>> mmcsd0boot0: 4MB partition 1 at mmcsd0
>> mmcsd0boot1: 4MB partition 2 at mmcsd0
>> mmcsd0rpmb: 4MB partition 3 at mmcsd0
>> pcm2: no driver attached to cpu node
>> CPU  0: ARM Cortex-A53 r0p4 affinity:  0
>>                   Cache Type =3D <64 byte D-cacheline,64 byte =
I-cacheline,VIPT ICache,64 byte ERG,64 byte CWG>
>> Instruction Set Attributes 0 =3D <CRC32,SHA2,SHA1,AES+PMULL>
>> Instruction Set Attributes 1 =3D <>
>>         Processor Features 0 =3D <AdvSIMD,FP,EL3 32,EL2 32,EL1 32,EL0 =
32>
>>         Processor Features 1 =3D <>
>>      Memory Model Features 0 =3D <TGran4,TGran64,SNSMem,BigEnd,16bit =
ASID,1TB PA>
>>      Memory Model Features 1 =3D <8bit VMID>
>>      Memory Model Features 2 =3D <32bit CCIDX,48bit VA>
>>             Debug Features 0 =3D <DoubleLock,2 CTX BKPTs,4 =
Watchpoints,6 Breakpoints,PMUv3,Debugv8>
>>             Debug Features 1 =3D <>
>>         Auxiliary Features 0 =3D <>
>>         Auxiliary Features 1 =3D <>
>> AArch32 Instruction Set Attributes 5 =3D =
<CRC32,SHA2,SHA1,AES+VMULL,SEVL>
>> AArch32 Media and VFP Features 0 =3D <FPRound,FPSqrt,FPDivide,DP =
VFPv3+v4,SP VFPv3+v4,AdvSIMD>
>> AArch32 Media and VFP Features 1 =3D <SIMDFMAC,FPHP DP Conv,SIMDHP SP =
Conv,SIMDSP,SIMDInt,SIMDLS,FPDNaN,FPFtZ>
>> CPU  1: ARM Cortex-A53 r0p4 affinity:  1
>> CPU  2: ARM Cortex-A53 r0p4 affinity:  2
>> CPU  3: ARM Cortex-A53 r0p4 affinity:  3
>> Release APs...done
>> WARNING: WITNESS option enabled, expect reduced performance.
>> Unresolved linked clock found: hdmi_phy
>> Unresolved linked clock found: usb480m_phy
>> Trying to mount root from ufs:/dev/ufs/rootfs [rw]...
>> mmcsd0: Error indicated: 4 Failed
>> uhub2: 1 port with 1 removable, self powered
>> uhub1: 1 port with 1 removable, self powered
>> uhub0: 1 port with 1 removable, self powered

I'm in the middle of updating systems and the Rock64 is
still back at:

# uname -apKU
FreeBSD Rock64_RPi_4 14.0-CURRENT FreeBSD 14.0-CURRENT #28 =
main-n252475-e76c0108990b-dirty: Sat Jan 15 23:39:27 PST 2022     =
root@CA72_16Gp_ZFS:/usr/obj/BUILDs/main-CA53-nodbg-clang/usr/main-src/arm6=
4.aarch64/sys/GENERIC-NODBG-CA53  arm64 aarch64 1400047 1400047

I normally only use the e.MMC during booting. The miscrsd card
slot is left empty but I used it to manipulate microsd card
content sometimes. The root file system is on a USB3 NVMe SSD.

# gpart show -p
=3D>       63  244277185    mmcsd0  MBR  (116G)
         63      32705            - free -  (16M)
      32768     102312  mmcsd0s1  fat32lba  [active]  (50M)
     135080      28760            - free -  (14M)
     163840  241172480  mmcsd0s2  freebsd  (115G)
  241336320    2940928            - free -  (1.4G)

=3D>        0  241172480   mmcsd0s2  BSD  (115G)
          0  230686720  mmcsd0s2a  freebsd-ufs  (110G)
  230686720   10485760             - free -  (5.0G)

=3D>        40  1953525088    da0  GPT  (932G)
          40      532480  da0p1  efi  (260M)
      532520        2008         - free -  (1.0M)
      534528     7340032  da0p2  freebsd-swap  (3.5G)
     7874560     1048576         - free -  (512M)
     8923136    23068672  da0p3  freebsd-swap  (11G)
    31991808     2097152         - free -  (1.0G)
    34088960    33554432  da0p4  freebsd-swap  (16G)
    67643392  1740636160  da0p5  freebsd-ufs  (830G)
  1808279552     4194304  da0p6  freebsd-swap  (2.0G)
  1812473856   141051272         - free -  (67G)

I can mount mmcsd0s1 (msdosfs) and/or mmcsd0s2a (UFS)
and do I/O to them. (It is how I update the content.)

mmcsd0s2a has the copy of the FreeBSD kernel used to
boot. This is because the FreeBSD kernel is the first
stage to be able to deal with the USB3 port as far as
I know. The e.MMC also is where the Rock64 gets U-Boot
from and U-Boot gets the EFI from.

# mount -onoatime -tmsdosfs /dev/mmcsd0s1 /media
# ls -Tld /media/*
drwxr-xr-x  1 root  wheel  4096 Apr 13 07:24:32 2021 /media/EFI
drwxr-xr-x  1 root  wheel  4096 Apr 13 08:15:48 2021 /media/dtb
# ls -Tld /media/*/*/*
-r-xr-xr-x  1 root  wheel  1243772 Jan 28 12:33:00 2022 =
/media/EFI/BOOT/bootaa64.efi
-r-xr-xr-x  1 root  wheel    50618 Jan 28 12:32:28 2022 =
/media/dtb/rockchip/rk3328-rock64.dtb

As for the ufs content (boot not expanded):

# mount -onoatime /dev/mmcsd0s2a /mnt
# ls -Tld /mnt/* /mnt/etc/*
-r--r--r--   1 root  wheel   6170 Feb  1 04:48:34 2020 /mnt/COPYRIGHT
drwxr-xr-x  23 root  wheel   1536 Jan 28 15:26:41 2022 /mnt/boot
drwxr-xr-x   2 root  wheel    512 Apr 26 14:39:22 2020 /mnt/etc
-rw-r--r--   1 root  wheel     37 Dec 31 16:00:18 2009 /mnt/etc/hostid
drwx------   2 root  wheel  33280 Nov 27 09:46:08 2019 /mnt/lost+found

I've been experimenting with building and using
U-Boot 2022.04 (not just on the Rock64) and that
is what is currently in place, despite the FreeBSD
vintage:

U-Boot TPL 2022.04 (Apr 23 2022 - 03:14:35)
LPDDR3, 800MHz
BW=3D32 Col=3D11 Bk=3D8 CS0 Row=3D15 CS1 Row=3D15 CS=3D2 Die BW=3D16 =
Size=3D4096MB
Trying to boot from BOOTROM
Returning to boot ROM...

U-Boot SPL 2022.04 (Apr 23 2022 - 03:14:35 +0000)
Trying to boot from MMC1
Card did not respond to voltage select! : -110
spl: mmc init failed with error: -95
Trying to boot from MMC2
NOTICE:  BL31: v2.5(release):
NOTICE:  BL31: Built : 05:34:22, Dec  8 2021
NOTICE:  BL31:Rockchip release version: v1.2


U-Boot 2022.04 (Apr 23 2022 - 03:15:10 +0000)

Model: Pine64 Rock64
DRAM:  4 GiB
PMIC:  RK8050 (on=3D0x40, off=3D0x00)
Core:  219 devices, 21 uclasses, devicetree: separate
MMC:   mmc@ff500000: 1, mmc@ff520000: 0
Loading Environment from MMC... Card did not respond to voltage select! =
: -110
*** Warning - No block device, using default environment

In:    serial@ff130000
Out:   serial@ff130000
Err:   serial@ff130000
Model: Pine64 Rock64
Net:   eth0: ethernet@ff540000
Hit any key to stop autoboot:  2 =08=08=08 1 =08=08=08 0=20
Card did not respond to voltage select! : -110
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
50618 bytes read in 5 ms (9.7 MiB/s)
. . . Card did not respond to voltage select! : -110
Scanning disk mmc@ff500000.blk...
Disk mmc@ff500000.blk not ready
Scanning disk mmc@ff520000.blk...
Found 3 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
Found EFI removable media binary efi/boot/bootaa64.efi
1243772 bytes read in 33 ms (35.9 MiB/s)
Booting /efi\boot\bootaa64.efi
. . .

I may discover that something breaks once I update
FreeBSD, but the current status of my context seems
to be working fine for the e.MMC .

I've no clue about the OTG port status. I've never
tied to use it.


=3D=3D=3D
Mark Millard
marklmi at yahoo.com




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8F74264A-4EF9-48BD-8114-BF9A01AD5C1A>