Upgrading firmware via USB.
#1
Is it possible to upgrade eMMC image by using the USB C port? 

There is another device with rk3566 (firefly) that supports it, but I'm not sure if this functionality is baked into the boot Rom, or does it require additional spi flash.

I tried plugging the board into a Linux pc, but the rk3566 upgrade tool didn't see any connected devices. Perhaps there is some button to press(or a pin to short to GND)? 

This would be very useful for me to upgrade the emmc image repeatedly without having to disconnect and reconnect the module.
  Reply
#2
Please refer to the following documents.
---
https://wiki.pine64.org/wiki/Quartz64_De...Boot_Order

The RK3566 boot ROM will search for a valid ID BLOCK in the following order on the support boot media:
    SPI NOR flash
    SPI NAND flash
    SD card
    eMMC
... if this fails, the boot ROM will initialize the USB0 port and wait for a connection from the Rockchip flash/boot tools.

---
According to the above information, SD-Card boot priority is higher than eMMC.

Assuming the above information is correct,
You should be able to do it with a simple operation of booting from an SD-Card and rewriting the target eMMC.

> upgrade eMMC image by using the USB C port ?
I can't judge whether the above is the essential condition you demand.

If your true purpose is to rewrite without removing the eMMC module,
I think you will achieve your purpose. (without using the USB-C port)
  Reply
#3
(08-22-2022, 04:12 AM)t4_4t Wrote: Please refer to the following documents.
---
https://wiki.pine64.org/wiki/Quartz64_De...Boot_Order

The RK3566 boot ROM will search for a valid ID BLOCK in the following order on the support boot media:
    SPI NOR flash
    SPI NAND flash
    SD card
    eMMC
... if this fails, the boot ROM will initialize the USB0 port and wait for a connection from the Rockchip flash/boot tools.

---
According to the above information, SD-Card boot priority is higher than eMMC.

Assuming the above information is correct,
You should be able to do it with a simple operation of booting from an SD-Card and rewriting the target eMMC.

> upgrade eMMC image by using the USB C port ?
I can't judge whether the above is the essential condition you demand.

If your true purpose is to rewrite without removing the eMMC module,
I think you will achieve your purpose. (without using the USB-C port)

Thank you for your answer. It would be much better to be able to use USB tools by pressing a button or shorting some GPIO, but if you know for sure there is no such functionality in the BootROM that answers my question. The wiki is usually quite incomplete so I rather ask here. BTW, Is the boot ROM source code published somewhere? Is it something PINE64 customised, or is it standard Rockchip code?

Regarding your mentioned solution with the SD card. It is not ideal unfortunately for the following reasons:
-  my SD card port is otherwise occupied by my JTAG debugger most of the time.
-  I would need to write the image to an SD card every time which takes additional time.

However, I might have to do that if there is no way to get a USB boot with another boot media (eMMC) present and I want to preserve the eMMC port.
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)