Jump to content

CSC Armbian for RK322x TV box boards


jock

Recommended Posts

1 hour ago, 02l4nds56 said:

So where can I find the multitool? https://users.armbian.com/jock/rk322x/multitool/multitool.img.xz gives me a 404 error. In fact the whole https://users.armbian.com/jock folder appears to be empty. Do I need to register an account in order to view/download?

Mmmh, apparently all the users directories have been emptied 🤔 Perhaps @Igor can help us about?

Link to comment
Share on other sites

I've just found that my tv box has no screen but is shown on the network. Even it can be connected via ssh, and works fine. It's a purpose that doesn't require the screen, but I'm curious as to why the screen doesn't come up.

Edited by 송호상
Link to comment
Share on other sites

Mmmh, apparently all the users directories have been emptied  Perhaps [mention=1]Igor[/mention] can help us about?
Temporarily network maintenance issue at that segment Sadly can't fix remote. Tomorrow...

Wrote on mobile

Link to comment
Share on other sites

Hey, @jock! After selecting led-conf7 (R29 MXQ, R2B MXQ, H20) in rk322x-config, the screen was displayed immediately without the need to boot from the SD card. Thank you for helping me install Armbian on my tv box.

Edited by 송호상
Link to comment
Share on other sites

Hi, @jock. I have a same tv box as this 

https://forum.armbian.com/topic/34923-csc-armbian-for-rk322x-tv-box-boards/?do=findComment&comment=113935

But I can not boot from multitool, what can I do ?

I'm pretty sure that my tf card is ok. Because I've checked by H2testw and I flash multitool by balenaEtcher without error.

Edited by Junyo Lau
Link to comment
Share on other sites

Hi, I've been using Armbian on TVBox RK322x for some time. Basically a test that went wrong broke my system and I was forced to reinstall Armbian and all the programs I had before. To prevent something similar from happening again, I thought about saving the image to the SD card, configuring everything, installing all the programs and finally, creating a backup image of the SD card and writing Armbian to the internal EMMC. However, when I tried to write the system in the internal emmc, only the option to write the bootloader in sd/emmc appeared, thinking it was something related to the legacy kernel I was using, I upgraded to the mainline, and even then the option to write the system to emmc didn't show up. The legacy kernel is essential because I need the onboard wifi drivers, the plan was to upgrade the kernel, write to emmc, and then downgrade the kernel. The armbian that is running from the sd card was a debian buster version with a legacy kernel, so I froze the firmware and kernel, and upgraded to bookworm by changing the apt repositories and performing a full upgrade. My question is: from this bootable system via sd card, how can I install it on the internal emmc? I have already tried writing the sd card image to emmc using multitool but the box does not boot.

Edited by Caio Lima Viana
Link to comment
Share on other sites

17 hours ago, Junyo Lau said:

Hi, @jock. I have a same tv box as this 

https://forum.armbian.com/topic/34923-csc-armbian-for-rk322x-tv-box-boards/?do=findComment&comment=113935

But I can not boot from multitool, what can I do ?

I'm pretty sure that my tf card is ok. Because I've checked by H2testw and I flash multitool by balenaEtcher without error.

Hello, sorry but without logs or detailed symptoms it is impossible to give any advice

 

 

Link to comment
Share on other sites

Hi, thanks for the answer, you're right, I should have done that, but in theory, it should work to copy a bootable image from the sd card to the emmc, right? Where should I start looking to find out why it won't boot? I don't have a lot of experience on the subject, do you think I should do a clean installation on emmc using multitool? I would really like not to lose the settings and apps from my current system, would copying the rootfs to the new installation work?

Link to comment
Share on other sites

@Caio Lima Viana Yes, copying sdcard to emmc should work, there is no difference. About the reason it does not boot, if you don't get any output on the HDMI and the board does not answer on the network, serial UART is the essential tool to get some clue about.

 

You can surely do a clean installation on eMMC with multitool, then "transplant" the whole rootfs, but if you don't know where the issue is, you may transfer the problem too and get stuck again.

 

 

 

Link to comment
Share on other sites

unfortunately I don't have access to the serial UART of the TV box, I didn't find any pad with the tx rx labels on the PCB, I'm going to try to replace the rootfs, in the functional Armbian image, with the exception of the boot directory, then write it using multitool , I'll post here if this works. Thank you very much for the tips and quick responses

Link to comment
Share on other sites

IMG_20240331_162957.thumb.jpg.9ef490527e1cd1864e05d4585e38d28b.jpg

 

Thank you, looking more calmly, I found the headers marked as G, R, T. Would these be: ground, tx, rx? I think I'm confusing it with my second TVbox which has a slightly different PCB, if this is the UART interface, I'll solder headers and connect my USB adapter, at what baud rate should I listen?

 

It worked, it was these pads, here is the output with booting from the SD card:

 

DDR Version V1.10 20190926
In
ID:0xFFF
660MHz
DDR3
Bus Width=16 Col=11 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
mach:2
OUT

U-Boot SPL 2021.04-armbian (May 06 2021 - 19:15:25 +0000)
Trying to boot from MMC2
I/TC: 
I/TC: Non-secure external DT found
I/TC: Switching console to device: /serial@11030000
I/TC: OP-TEE version: 3.10.0-40-ga1d5c81f (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #6 Wed Sep 16 21:36:15 UTC 2020 arm
I/TC: Primary CPU initializing
M/TC: Not protecting region 1: 0x68400000-0x68600000
I/TC: Primary CPU switching to normal world boot


U-Boot 2021.04-armbian (May 06 2021 - 19:15:25 +0000)

Model: Generic Rockchip rk322x TV Box board
DRAM:  992 MiB
MMC:   dwmmc@30000000: 1, dwmmc@30020000: 0
Loading Environment from EXT4... ** File not found /boot/boot.env **

** Unable to read "/boot/boot.env" from mmc0:1 **
In:    serial@11030000
Out:   serial@11030000
Err:   serial@11030000
Model: Generic Rockchip rk322x TV Box board
Net:   eth0: ethernet@30200000
starting USB...
Bus usb@30040000: USB DWC2
Bus usb@30080000: USB EHCI 1.00
Bus usb@300c0000: USB EHCI 1.00
Bus usb@30100000: USB EHCI 1.00
scanning bus usb@30040000 for devices... 1 USB Device(s) found
scanning bus usb@30080000 for devices... 1 USB Device(s) found
scanning bus usb@300c0000 for devices... 1 USB Device(s) found
scanning bus usb@30100000 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
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot/boot.scr
2909 bytes read in 5 ms (567.4 KiB/s)
## Executing script at 60000000
Boot script loaded from mmc 1
238 bytes read in 5 ms (45.9 KiB/s)
6094752 bytes read in 282 ms (20.6 MiB/s)
8771448 bytes read in 475 ms (17.6 MiB/s)
50042 bytes read in 10 ms (4.8 MiB/s)
786 bytes read in 7 ms (109.4 KiB/s)
Applying kernel provided DT overlay rk322x-emmc.dtbo
1286 bytes read in 7 ms (178.7 KiB/s)
Applying kernel provided DT overlay rk322x-led-conf1.dtbo
232 bytes read in 7 ms (32.2 KiB/s)
Applying kernel provided DT fixup script (rk322x-fixup.scr)
## Executing script at 600f0000
## Loading init Ramdisk from Legacy Image at 64000000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    6094688 Bytes = 5.8 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 61f00000
   Booting using the fdt blob at 0x61f00000
EHCI failed to shut down host controller.
EHCI failed to shut down host controller.
   Using Device Tree in place at 61f00000, end 61f74fff

Starting kernel ...

I/TC: Secondary CPU 1 initializing
I/TC: Secondary CPU 1 switching to normal world boot
I/TC: Secondary CPU 2 initializing
I/TC: Secondary CPU 2 switching to normal world boot
I/TC: Secondary CPU 3 initializing
I/TC: Secondary CPU 3 switching to normal world boot


Armbian 24.2.1 bookworm ttyS2 

rk322x-box login:

 

this is the emmc boot output running the same image from the sd card written on it:

 

⸮⸮DDR Version V1.10 20190926
In
ID:0xFFF
660MHz
DDR3
Bus Width=16 Col=11 Bank=8 Row=15 CS=1 Die Bus-Width=16 Size=1024MB
mach:2
OUT

U-Boot SPL 2021.04-armbian (May 06 2021 - 19:15:25 +0000)
Trying to boot from MMC2
I/TC: 
I/TC: Non-secure external DT found
I/TC: Switching console to device: /serial@11030000
I/TC: OP-TEE version: 3.10.0-40-ga1d5c81f (gcc version 9.2.1 20191025 (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))) #6 Wed Sep 16 21:36:15 UTC 2020 arm
I/TC: Primary CPU initializing
M/TC: Not protecting region 1: 0x68400000-0x68600000
I/TC: Primary CPU switching to normal world boot


U-Boot 2021.04-armbian (May 06 2021 - 19:15:25 +0000)

Model: Generic Rockchip rk322x TV Box board
DRAM:  992 MiB
MMC:   dwmmc@30000000: 1, dwmmc@30020000: 0
Loading Environment from EXT4... ** File not found /boot/boot.env **

** Unable to read "/boot/boot.env" from mmc0:1 **
In:    serial@11030000
Out:   serial@11030000
Err:   serial@11030000
Model: Generic Rockchip rk322x TV Box board
Net:   eth0: ethernet@30200000
starting USB...
Bus usb@30040000: USB DWC2
Bus usb@30080000: USB EHCI 1.00
Bus usb@300c0000: USB EHCI 1.00
Bus usb@30100000: USB EHCI 1.00
scanning bus usb@30040000 for devices... 1 USB Device(s) found
scanning bus usb@30080000 for devices... 1 USB Device(s) found
scanning bus usb@300c0000 for devices... 1 USB Device(s) found
scanning bus usb@30100000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0 
Card did not respond to voltage select! : -110

Device 0: unknown device
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
7[r[999;999H[6n8Card did not respond to voltage select! : -110
Scanning disk dwmmc@30000000.blk...
Disk dwmmc@30000000.blk not ready
Scanning disk dwmmc@30020000.blk...
Found 2 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: pxeuuid
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/01-8e-44-db-3b-e1-5d
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000000
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000000
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000000
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00000
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0000
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/000
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/00
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/0
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-rk322x-rk322x-box
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm-rk322x
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default-arm
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
missing environment variable: bootfile
Retrieving file: pxelinux.cfg/default
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
Config file not found
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
ethernet@30200000 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Could not initialize PHY ethernet@30200000
=> 

 

Edited by Caio Lima Viana
Link to comment
Share on other sites

@Caio Lima Viana great job! Now it looks to me that u-boot is unable to work with the eMMC (it is dwmmc@30020000 device, or mmc0 in the uboot log), or for some reason is unable to find the device tree (FDT_BAD_MAGIC).

It seems that there is something off with:

  • the internal eMMC: the u-boot version is an old one, I wonder if your board is a recent one with eMCP (see first page) chip instead of regular eMMC
  • the filesystem installed on the eMMC: you can use an sdcard with the multitool and get a shell, run fsck.ext4 /dev/mmcblk2p1 and see if finds errors; you can even mount the partition and inspect manually if /boot files are in place

At the moment I have no more ideas, but these two above worth trying.

 

Link to comment
Share on other sites

Little update from my side:

I got a serial adapter but was not able to find the points. I checked that 5 pin socket and the 3 pins near the infrared receiver.

User @audio kees has the same board with the same name and CPU.

 

After erasing emmc, I was able to boot Armbian 24.5 but after some seconds it turned off again. Also I got no video output but thats not important for me.

I tried flashing 21.02 as suggested, but with rkdeveloptool because multitool doesnt stay on long enough to do anything useful.

One question here: Where am I supposed to get the rk322x_loader.bin ?

I did not flash any loader but proceeded with flashing the armbian image, hoping this loader is integrated or so but after hitting enter, nothing happened. I thought it's maybe copying very slow so i let it run over night but nothing changed.

Now I cannot get it to loader mode anymore, I think I have to ask someone to solder me a wire to that clock pin cause my soldering level is too low for that tiny contact.

 

Link to comment
Share on other sites

@moddien Why did you try to burn the image in the eMMC without being sure it would have worked?

If you can boot multitool again, clean the eMMC and start fresh.

 

I have prepared an armbian bookworm image with opensource optee in place of the proprietary one, you can download from here; I have not tested it at all, so can't guarantee it works.

If you want to try it, first clean the eMMC with multitool and then try to run the image from an sdcard to see the outcome.

 

 

Link to comment
Share on other sites

Am 4.4.2024 um 20:58 schrieb jock:

armbian bookworm image with opensource optee

very nice, it boots up and doesnt crash! Thank you very much! Do I still have to prevent bootloader updates? Anything else you want me to test?

 

And yes, i flashed without testing. I was uncautious but lesson learned, I now use my SD until I am sure I want to keep the image.

 

 

edit: It is still running after 10h, I installed iobroker and test-replaced my Pi, works fine.
Noticed there is still no HDMI and Armbian shows 959MB Ram instead of 2GB.

I used ledconf7 - the LED now flickers when accessing the SD which is nice.

 

edit2: i made an image of my SD with Win32DiskImager and flashed it with rkdeveloptool in WSL2 Debian. It didnt boot but now I can use multitool without crashing.

I found out I have a 1GB RAM & 8GB flash device instead of 2/16 as written on the sticker. The same sticker also says Android 12 but it came with 7. Somewhere else on the packaging it says 64bit CPU, I didnt look any further...

 

edit3: used pishrink with -s on my image (in wsl too), flashed it via multitool to the emmc. works!

I know I could have used a fresh image but I had a few things set up already and was curious if this will work.

/usr/lib/armbian/armbian-resize-filesystem start

to expand the filesystem again.

 

final edit (so far):

rkdeveloptool also works, I just tried to flash a too big image and it didnt throw an error. Here's how to connect USB devices to WSL VM.

Also I used raxda's rkdeveloptool, the original one gave me an error during make.

The windows versions of rkdevtool really are cursed. There was exactly one combination of driver and tool that let me erase the flash (see earlier post), I never got it to write to it.

 

Edited by moddien
Link to comment
Share on other sites

Hey guys! I carried out the procedure on an MXQ 4k Pro 5G. The NAND warning message did not appear, so I followed the eMMC procedure. After flashing the image, I turned it off, removed the micro SD and turned it on. No image appeared and after a few seconds the orange LED (I believe it is from the network card) starts to blink. Can you help me?

Edit: I already managed to do the recovery. I will try again to run the armbian image.

Edited by DarthMirous
I already managed to do the recovery.
Link to comment
Share on other sites

@DarthMirous

have you read the whole thread ?

This problem has been already discussed, such as has been discussed that commercial names (
MXQ 4k Pro 5G)  have no meaning at all

Go back at least , let's say , 10 pages starting from this searching for problems similar to yours  , and also post photos of the board inside with particular attention to version of the board

 

Link to comment
Share on other sites

Hi Guys,

 

i am completly new to this topic.

 

First of all i was smart enough to never safe the original OEM OS... :D   Its not that bad since it was for free due shipping issues and i bought it for playing anyway.

 

I have a very strange behavior on my Box MXQ Pro 5G 4K (officially 2G/16G in according to Armbian 1G/8G), it starts the multitool without any problems via SD-Card and i can install Armbian without any Problems on the Flash of the Box, but now there is the weird part the Armbian boots only the first time after installation without any problems like the GUI and everything works just fine, but if there is a powerloss it will never boot again without a complete reinstall of Armbian (or at least it looks like it doesnt boot maybe just the HDMI-Video Part doesnt wokr anymore).

 

I think i found a way to avoid that problem by not completly set up the OS.

 

Like:

-Boot Armbian

-Set up User

-Set up root

-Not set up Wifi (and dont connect to LAN)

-Powerloss the Device


Now it will start after boot into the CLI instead of an GUI, now i can install xinit and start the GUI manually (startx)

 

 

if i remain in the CLI without starting the GUI the following messages will be shown:
 

hdmi-audio-codec hdmi-audio-codec.2.auto: only one simultaneous stream supported

hdmi-audio-codec hdmi-audio-codec.3.auto: ASoC: error at snd_soc_dai_startup on i2s-hifi: -22

 

and

ssv wlan driver ssv 6200: failed to initialize mac, ret=-1

 

Since i cant upload images:

https://ibb.co/60gJpCW

https://ibb.co/18kXVq9

 

According to my informations the Board is an RK3229Q-221P-V1.3 but the Chips seems to be different to the ones of other users posted here.

 

 

So in the end it works for me, but i wonder if that could be fixed.

Edited by PLaume
Adding Informations about the Box
Link to comment
Share on other sites

@PLaume Hello!

Well, a power loss is a power loss... you won't know what will be gone when the cache is not flushed.

I read from the eMCP the code "JY941" or "JY94I", but according to micron part decoder (https://www.micron.com/sales-support/design-tools/fbga-parts-decoder), that chip does not exist. Perhaps it is a fake chinese chip with "micron" printed on it with unknown reliability?

 

About the errors, the hdmi "error" is rather an information and does not affect any feature.

The ssv6200 error instead says that the wifi chip does not work because the driver only support ssv6051p chip and not the ssv6256p your board has.

 

Link to comment
Share on other sites

Hi @jock,

the chip seems truly suspicious, in reality the plastic even looks like it has some kind of rust or had too much heat on it.

 

I think I didn't explained the power loss part well, the power loss takes place after an shutdown (but the led will be on, even after the shutdown).

 

But after some tries I could reproduce the problem at the regular initialization process and have also found a solution.

 

Generally I used the device with a 1024x600 (wsvga ia the weirdest resolution I know) HDMI Touch screen.

 

If I boot the device on a regular powered on full hd screen and switch to the touch screen it works without any problems.

 

If I boot without a screen (and switch to the touch screen) or with the touch screen already connected it will show nothing. So I guess its just some kind graphic driver problem.

 

Since i want to let it run 24/7 it's completely fine.

Link to comment
Share on other sites

On 7/7/2023 at 7:49 PM, jock said:

Surely the SOC itself is not capable to boot from USB, there should be a piece of software installed on the SPI (read: uboot) that will do that.

If you put an sdcard in a USB dongle and then the USB dongle in the USB port clearly you're trying to boot from USB, so it won't work

Hi @jock! Recently I do really look into the rockchip docs and try to work on that little dongle toy a bit.

And then I look back at my original post, and I realize that at that time I totally didn't know what I was doing

 

At that time, after trying and failing the other rkdeveloptool commands (rfi, ppt etc), I did have execute rkdeveloptool db rk322x_loader_v1.10.256.bin at that time, but I was not aware that these commands would now work after the loader bin file had been loaded, and then I stopped trying.

 

OK, these are what I have tried this time:


root@debianvm:~# ./rkdeveloptool/rkdeveloptool ld
DevNo=1 Vid=0x2207,Pid=0x320b,LocationID=101    Maskrom
root@debianvm:~# ./rkdeveloptool/rkdeveloptool db /home/h__c___g/rk322x_loader_v1.10.256.bin
Downloading bootloader succeeded.
root@debianvm:~# ./rkdeveloptool/rkdeveloptool ul /home/h__c___g/rk322x_loader_v1.10.256.bin
Upgrading loader succeeded.
root@debianvm:~# ./rkdeveloptool/rkdeveloptool rfi
Flash Info:
        Manufacturer: SAMSUNG, value=00
        Flash Size: 0 MB
        Flash Size: 0 Sectors
        Block Size: 512 KB
        Page Size: 2 KB
        ECC Bits: 0
        Access Time: 40
        Flash CS:
root@debianvm:~# ./rkdeveloptool/rkdeveloptool rci
Chip Info:  41 32 32 33 FF FF FF FF FF FF FF FF FF FF FF FF
root@debianvm:~# ./rkdeveloptool/rkdeveloptool rcb
Capability:07 00 00 00 00 00 00 00
Direct LBA:     enabled
Vendor Storage: enabled
First 4m Access:        enabled
Read Com Log:   enabled

I realize that the Flash Size read 0 mb.

I obtain rk322x_loader_v1.10.256.bin by commenting out the rm -f line in the (github) rkbin/scripts/checkpatch.sh file.

Maybe the loader firmware did not support SPI?

 

But before I do the ul line, I do try dumping the storage using rkdeveloptool rl 0 xxxxx dump.bin and then strings dump.bin, and nothing comes out; but after I do the ul line, the strings really do spit out many random lines, and I think it is evidence that I can use the rkdeveloptool binary to write bytes to the SPI...

 

Is there any chance for me to make this dongle sort of working by using the rockchip proprietary binaries to pack up the uboot.img, trust.img and boot.img files, and then flash them in?

 

Link to comment
Share on other sites

@im_chc AFAIK the loader firmwares around do not support anything else than sdcard and emmc, but I may wrong: I have never seen a rk322x device with SPI flash memory, so I can't bet on my affirmation.

 

Perhaps you should have a look to the rockchip repository on github or search around to  see if there is a rk322x loader for SPI memories.

Link to comment
Share on other sites

14 hours ago, jock said:

@im_chc AFAIK the loader firmwares around do not support anything else than sdcard and emmc, but I may wrong: I have never seen a rk322x device with SPI flash memory, so I can't bet on my affirmation.

 

Perhaps you should have a look to the rockchip repository on github or search around to  see if there is a rk322x loader for SPI memories.

 

@jock I don't know, I found this rockchip document, it said (p.24, in chinese) something like "RK SPI supported in uboot", and points me to this source file:

https://github.com/rockchip-linux/u-boot/blob/next-dev/drivers/spi/rk_spi.c

 

In the source the rk32 series SoC mentioned is only rk3288, what do you think?

 

Here is the equivalent in the kernel source (found rk3228 in it):

https://github.com/rockchip-linux/kernel/blob/develop-4.4/drivers/spi/spi-rockchip.c

 

All of these might be irrelevant though

 

Btw, I have also tested writing some files to it using rkdeveloptool wl, the next immediate rl seems to be able to dump out the data, but this didn't survive a reboot. Maybe it is only writing to the DDR.

Edited by im_chc
Tagging a user, add content
Link to comment
Share on other sites

@im_chc those source code files are irrelevant for the boot issue: the rk322x has a SPI bus where the board maker can connect anything other than a flash memory. Those drivers handle the low level communications along that bus, but whatever is connected to that (a flash memory, a wifi devices, a led strip, a led panel driver, or whatever...).

You need a loader (specifically, the miniloader), which is engaged before uboot and the kernel, which should support reading from the SPI to load u-boot. You also will need u-boot and kernel compiled to read and write to the SPI flash of course, but the first step is the miniloader.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines