These commits get the Geniatech XPI-3128 board working with its
Rockchip RK3128 SoC.  Working so far are clocks, pin control, USB 2,
eMMC, SDMMC, ethernet, and rebooting.

I also wrote a driver for the Ambiq Artasie AM18X5 RTC found on this
device which adds a battery-backed RTC.

These depend on some RK3128-specific commits on top of U-Boot 2025.04
found in this U-Boot tree plus a couple local changes to the
XPI-3128-specific DTS file:

https://github.com/knaerzche/u-boot/tree/rk3128-wip

I'm not sure how best to package this up for a u-boot port in our
tree.



U-Boot 2025.04-rc1-00170-g9b2fdfb866a7 (May 07 2025 - 17:28:18 -0500)

Model: Geniatech XPI-3128
DRAM:  1 GiB
Cannot find regulator pwm init_voltage
Cannot find regulator pwm init_voltage
Core:  164 devices, 21 uclasses, devicetree: embed
MMC:   mmc@10214000: 1, mmc@1021c000: 0
Loading Environment from MMC... Reading from MMC(0)... *** Warning - bad CRC, 
using default environment

In:    serial@20064000
Out:   serial@20064000
Err:   serial@20064000
Model: Geniatech XPI-3128
Net:   No ethernet found.
Hit any key to stop autoboot:  0
Scanning for bootflows in all bootdevs
Seq  Method       State   Uclass    Part  Name                      Filename
---  -----------  ------  --------  ----  ------------------------  
----------------
Scanning global bootmeth 'efi_mgr':
unable to select a mode
  0  efi_mgr      ready   (none)       0  <NULL>
** Booting bootflow '<NULL>' with efi_mgr
Booting: mmc 0
disks: sd0*
>> OpenBSD/armv7 BOOTARM 1.23
boot>
booting sd0a:/bsd: 4932196+1021248+142224+611500 
[2801900+288174+194+362096+319569]=0x0

OpenBSD/armv7 booting ...
arg0 0xc0d0018c arg1 0x0 arg2 0x9cf25000
Allocating page tables
IRQ stack: p0x60d2f000 v0xc0d2f000
ABT stack: p0x60d30000 v0xc0d30000
UND stack: p0x60d31000 v0xc0d31000
SVC stack: p0x60d32000 v0xc0d32000
Creating L1 page table at 0x60d04000
Mapping kernel
Constructing L2 page tables
undefined page type 0x2 pa 0x60000000 va 0x60000000 pages 0x2000 attr 0x8
type 0x7 pa 0x62000000 va 0x62000000 pages 0x3adfa attr 0x8
type 0x2 pa 0x9cdfa000 va 0x9cdfa000 pages 0x100 attr 0x8
type 0x1 pa 0x9cefa000 va 0x9cefa000 pages 0x1e attr 0x8
type 0x4 pa 0x9cf18000 va 0x9cf18000 pages 0x3 attr 0x8
type 0x7 pa 0x9cf1b000 va 0x9cf1b000 pages 0xa attr 0x8
type 0x2 pa 0x9cf25000 va 0x9cf25000 pages 0x9 attr 0x8
type 0x7 pa 0x9cf2e000 va 0x9cf2e000 pages 0x1 attr 0x8
type 0x9 pa 0x9cf2f000 va 0x9cf2f000 pages 0xb attr 0x8
type 0x4 pa 0x9cf3a000 va 0x9cf3a000 pages 0x1 attr 0x8
type 0x6 pa 0x9cf3b000 va 0x9cf3b000 pages 0x1 attr 0x8000000000000008
type 0x4 pa 0x9cf3c000 va 0x9cf3c000 pages 0x1 attr 0x8
type 0x6 pa 0x9cf3d000 va 0x9cf3d000 pages 0x22 attr 0x8000000000000008
type 0x4 pa 0x9cf5f000 va 0x9cf5f000 pages 0x9 attr 0x8
type 0x3 pa 0x9cf68000 va 0x9cf68000 pages 0x1009 attr 0x8
type 0x6 pa 0x9df71000 va 0x9df71000 pages 0x1 attr 0x8000000000000008
type 0x3 pa 0x9df72000 va 0x9df72000 pages 0x1fff attr 0x8
type 0x5 pa 0x9ff71000 va 0x9ff71000 pages 0x2 attr 0x8000000000000008
type 0x3 pa 0x9ff73000 va 0x9ff73000 pages 0x8d attr 0x8
pmap [ using 3772752 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2025 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 7.7-current (GENERIC) #178: Wed May  7 21:22:09 CDT 2025
    jcs@rk3128:/usr/src/sys/arch/armv7/compile/GENERIC
real mem  = 1021288448 (973MB)
avail mem = 989540352 (943MB)
random: good seed from bootblocks
mainbus0 at root: Geniatech XPI-3128
cpu0 at mainbus0 mpidr f00: ARM Cortex-A7 r0p5
cpu0: 32KB 32b/line 2-way L1 VIPT I-cache, 32KB 64b/line 4-way L1 D-cache
cpu0: 256KB 64b/line 8-way L2 cache
cortex0 at mainbus0
syscon0 at mainbus0: "syscon"
"power-controller" at syscon0 not configured
syscon1 at mainbus0: "qos"
syscon2 at mainbus0: "qos"
syscon3 at mainbus0: "qos"
syscon4 at mainbus0: "qos"
syscon5 at mainbus0: "qos"
syscon6 at mainbus0: "qos"
syscon7 at mainbus0: "qos"
ampintc0 at mainbus0 nirq 160, ncpu 4: "interrupt-controller"
rkclock0 at mainbus0
syscon8 at mainbus0: "syscon"
rkusbphy0 at syscon8: phy 0
rkpinctrl0 at mainbus0: "pinctrl"
rkgpio0 at rkpinctrl0
rkgpio1 at rkpinctrl0
rkgpio2 at rkpinctrl0
rkgpio3 at rkpinctrl0
syscon9 at mainbus0: can't map registers
agtimer0 at mainbus0: 24000 kHz
ehci0 at mainbus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev 2.00/1.00 
addr 1
dwmmc0 at mainbus0: 99 MHz base clock
sdmmc0 at dwmmc0: 4-bit, sd high-speed
dwmmc1 at mainbus0: 99 MHz base clock
sdmmc1 at dwmmc1: 8-bit, mmc high-speed
com0 at mainbus0: dw16550
com0: console
rkiic0 at mainbus0
iic0 at rkiic0
ambrtc0 at iic0 addr 0x69: AM1805
rkpmic0 at iic0 addr 0x1c: RK818
dwge0 at mainbus0: rev 0x35, address 76:e3:5a:fa:14:d9
rlphy0 at dwge0 phy 0: RTL8201F, rev. 6
scsibus0 at sdmmc0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <SD/MMC, ASTC, 0012> removable
sd0: 30000MB, 512 bytes/sector, 61440000 sectors
scsibus1 at sdmmc1: 2 targets, initiator 0
sd1 at scsibus1 targ 1 lun 0: <Samsung, 8GTF4R, 0000> removable
sd1: 7456MB, 512 bytes/sector, 15269888 sectors
uhub1 at uhub0 port 1 configuration 1 interface 0 "Genesys Logic USB2.0 Hub" 
rev 2.00/60.90 addr 2
ugen0 at uhub1 port 3 "Marvell Marvell Wireless Device" rev 2.00/40.00 addr 3
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on sd1a (4f2f536727e7e8a6.a) swap on sd1b dump on sd1b
cpu0: regulator not implemented
Automatic boot in progress: starting file system checks.
/dev/sd1a (4f2f536727e7e8a6.a): file system is clean; not checking
pf enabled
starting network
starting early daemons: syslogd pflogd ntpd.
starting RPC daemons:.
savecore: no core dump
checking quotas: done.
clearing /tmp
kern.securelevel: 0 -> 1
creating runtime link editor directory cache.
preserving editor files.
starting network daemons: sshd.
starting local daemons: cron.
Wed May  7 21:30:15 CDT 2025

OpenBSD/armv7 (rk3128) (console)

Reply via email to