Am Montag, 25. Januar 2016 05:51:02 UTC+1 schrieb Siarhei Siamashka:
The read/write operations done by FEL are not suitable for accessing
hardware registers. For example, trying to read a SID value using
the "read" or "hexdump" commands results in the following:

  $ sunxi-fel hexdump 0x01c23800 4
  01c23800: 87 00 00 00 __ __ __ __ __ __ __ __ __ __ __ __

Apparently, FEL tries to read data one byte at a time and this does
not always work correctly. Introducing new commands to explicitly
do 32-bit reads and writes helps:

  $ sunxi-fel readl 0x01c23800
  0x16254187

Signed-off-by: Siarhei Siamashka <siarhei.siamas...@gmail.com>
---

What will be typical use cases; specifically: Do we expect readl/writel transfers of multiple values from/to sequential addresses to be common?

If so, the proposed implementation (currently limiting itself to a single uint32_t at a time) would mean setting up the entire scratch buffer every time, for each value transferred. I think we can do better than that, if we auto-increment the address from within the scratch code - requiring only the actual values to be exchanged for each uint32_t access.

See https://github.com/n1tehawk/sunxi-tools/commit/bfa7d0ad for what I have in mind.

What do you think?

Regards, B. Nortmann

--
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to