Well… these are RK3399 vs RK3399-T chips, which seems like basically the same chip, but interestingly the description on memory support is what differentiates in datasheet, so probably memory initialization is a bit different. As all memory support (DDR3/DDR3L/DDR4 etc) and channels are all software configurable, it becomes a thing.
RK3399:
- Compatible with JEDEC standard DDR3-1866 /DDR3L-1866 /LPDDR3-1866 /
LPDDR4 SDRAM
RK3399-T:
- Compatible with JEDEC standard DDR3-666/DDR3L-666/LPDDR3-666 / LPDDR4-
666 SDRAM
And sure enought it boots with 666Mhz memory:
DDR Version 1.30 20230417
In
soft reset
SRX
channel 0
CS = 0
MR0=0xB8
MR4=0x1
MR5=0x13
MR8=0x10
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0xFF
channel 1
CS = 0
MR0=0xB8
MR4=0x1
MR5=0x13
MR8=0x10
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0xFF
channel 0 training pass!
channel 1 training pass!
change freq to 416MHz 0,1
Channel 0: LPDDR4,416MHz
Bus Width=32 Col=10 Bank=8 Row=16 CS=1 Die Bus-Width=16 Size=2048MB
Channel 1: LPDDR4,416MHz
Bus Width=32 Col=10 Bank=8 Row=16 CS=1 Die Bus-Width=16 Size=2048MB
256B stride
channel 0
CS = 0
MR0=0xB8
MR4=0x1
MR5=0x13
MR8=0x10
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0xFF
channel 1
CS = 0
MR0=0xB8
MR4=0x1
MR5=0x13
MR8=0x10
MR12=0x72
MR14=0x72
MR18=0x0
MR19=0x0
MR24=0x8
MR25=0xFF
channel 0 training pass!
channel 1 training pass!
channel 0, cs 0, advanced training done
channel 1, cs 0, advanced training done
change freq to 666MHz 1,0
ch 0 ddrconfig = 0x101, ddrsize = 0x40
ch 1 ddrconfig = 0x101, ddrsize = 0x40
pmugrf_os_reg[2] = 0x32C1F2C1, stride = 0xD
ddr_set_rate to 328MHZ
ddr_set_rate to 666MHZ
ddr_set_rate to 416MHZ, ctl_index 0
ddr_set_rate to 666MHZ, ctl_index 1
support 416 328 666 MHz, current 666MHz
OUT
U-Boot SPL 2023.10-rc2-armbian (Aug 22 2023 - 15:24:08 +0000)
Trying to boot from MMC1
## Checking hash(es) for config config-1 ... OK
## Checking hash(es) for Image atf-1 ... sha256+ OK
## Checking hash(es) for Image u-boot ... sha256+ OK
## Checking hash(es) for Image fdt-1 ... sha256+ OK
## Checking hash(es) for Image atf-2 ... sha256+ OK
## Checking hash(es) for Image atf-3 ... sha256+ OK
NOTICE: BL31: v1.3(release):8f40012ab
NOTICE: BL31: Built : 14:20:53, Feb 16 2023
NOTICE: BL31: Rockchip release version: v1.1
INFO: GICv3 with legacy support detected. ARM GICV3 driver initialized in EL3
INFO: Using opteed sec cpu_context!
INFO: boot cpu mask: 0
INFO: plat_rockchip_pmu_init(1203): pd status 3e
INFO: BL31: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
ERROR: Error initializing runtime service opteed_fast
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0x200000
INFO: SPSR = 0x3c9
ns16550_serial serial@ff1a0000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19
U-Boot 2023.10-rc2-armbian (Aug 22 2023 - 15:24:08 +0000)
SoC: Rockchip rk3399
Reset cause: RST
Model: Radxa ROCK Pi 4A
DRAM: 4 GiB (effective 3.9 GiB)
PMIC: RK808
Core: 288 devices, 30 uclasses, devicetree: separate
MMC: mmc@fe320000: 1, mmc@fe330000: 0
Loading Environment from MMC... Card did not respond to voltage select! : -110
*** Warning - No block device, using default environment
In: serial,usbkbd
Out: serial,vidconsole
Err: serial,vidconsole
Model: Radxa ROCK Pi 4A
Card did not respond to voltage select! : -110
Unable to get mmc desc
Net: eth0: ethernet@fe300000
Hit any key to stop autoboot: 0
** Booting bootflow 'mmc@fe320000.bootdev.part_1' with script
303 bytes read in 5 ms (58.6 KiB/s)
29729280 bytes read in 1259 ms (22.5 MiB/s)
12706791 bytes read in 543 ms (22.3 MiB/s)
79666 bytes read in 13 ms (5.8 MiB/s)
Working FDT set to 1f00000
Moving Image from 0x2080000 to 0x2200000, end=3f00000
## Loading init Ramdisk from Legacy Image at 06000000 ...
-T runs on 1.5/1.0Ghz vs 1.8/1.4G on non-T. That seems all the diff I can see for now.
Two problems I quickly looked at :
- wifi - I tried to enable it, it installed modules and wpa_supplicant, but still after that returned as “Wifi - Not found”. I do not need it, but if needed I can test it as long as I still have the hw. Wifi is AW-CM256SM
- cat /proc/device-tree/model reports “Radxa ROCK Pi 4A”.
root@DietPi:~# cat /proc/device-tree/model
Radxa ROCK Pi 4Aroot@DietPi:~#
In radxa fw it correctly reports as “Radxa ROCK 4SE”. We use this for device identification between Radxa, Orangepi, Raspberry
root@rock-4se:~# cat /proc/device-tree/model
Radxa ROCK 4SEroot@rock-4se:~#