Perier Posted December 5, 2018 Posted December 5, 2018 Friends, tell me is it possible to get the SID on the device itself? With the article, read:http://linux-sunxi.org/SID_Register_Guide In my sun50i-h5.dtsi: soc { sid: eeprom @ 1c14000 { compatible = "allwinner, sun50i-h5-sid"; reg = <0x1c14000 0x400>; } } #: sunxi-fel sid > ERROR: Allwinner USB FEL device not found! As I understand it, this utility retrieves from a remote device connected in FEL mode. But is it possible to somehow get the SID directly on the summit device?
martinayotte Posted December 5, 2018 Posted December 5, 2018 On 12/5/2018 at 5:14 PM, Evgeny said: tell me is it possible to get the SID on the device itself? Expand Yes ! Using the method explained in the Guide you've mentioned ... Grab this source https://bootlin.com/pub/mirror/devmem2.c , compile it, and use this from the Guide : d0=`./devmem2 0x01c14200 w|grep Value|sed 's/^.*: 0x/ /'` d1=`./devmem2 0x01c14204 w|grep Value|sed 's/^.*: 0x/ /'` d2=`./devmem2 0x01c14208 w|grep Value|sed 's/^.*: 0x/ /'` d3=`./devmem2 0x01c1420c w|grep Value|sed 's/^.*: 0x/ /'` echo $d0 $d1 $d2 $d3
Perier Posted December 16, 2018 Author Posted December 16, 2018 On 12/5/2018 at 8:43 PM, martinayotte said: Yes ! Using the method explained in the Guide you've mentioned ... Grab this source https://bootlin.com/pub/mirror/devmem2.c , compile it, and use this from the Guide : d0=`./devmem2 0x01c14200 w|grep Value|sed 's/^.*: 0x/ /'` d1=`./devmem2 0x01c14204 w|grep Value|sed 's/^.*: 0x/ /'` d2=`./devmem2 0x01c14208 w|grep Value|sed 's/^.*: 0x/ /'` d3=`./devmem2 0x01c1420c w|grep Value|sed 's/^.*: 0x/ /'` echo $d0 $d1 $d2 $d3 Expand Thanks for your reply! It was very useful for me and I will definitely apply it in the future.
t-bob Posted December 16, 2018 Posted December 16, 2018 i get bus errors on memory access for 0x01c14204 & 0x01c1420c. is this expected ? 92C000BA 50368518
martinayotte Posted December 16, 2018 Posted December 16, 2018 On 12/16/2018 at 8:17 PM, t-bob said: i get bus errors on memory access for 0x01c14204 & 0x01c1420c. is this expected ? Expand Good catch !!! The original file from https://bootlin.com/pub/mirror/devmem2.c is only supporting 32bits SoC, so for 64bits accesses, those 2 addresses are invalid. I've found patches written by denix0 here : https://github.com/openembedded/meta-openembedded/tree/master/meta-oe/recipes-support/devmem2/devmem2 The first patch to apply is "devmem2-fixups-2.patch", then we can apply "0001-devmem.c-ensure-word-is-32-bit-and-add-support-for-6.patch" ... Then run the following : d0=`./devmem2 0x01c14200 l|grep Read|sed 's/^.*: 0x/ /'` d1=`./devmem2 0x01c14208 l|grep Read|sed 's/^.*: 0x/ /'` echo $d0 $d1
t-bob Posted December 17, 2018 Posted December 17, 2018 excellent. many thanks for that. now i get this which seems like an impressive SID 6400462092C000BA:541500CE50368518
t-bob Posted December 18, 2018 Posted December 18, 2018 here's the patched devmem2 if anyone needs it devmem2-64.c
Recommended Posts