Le mardi 17 mars 2015 à 08:17 +0100, Olliver Schinagl a écrit : > Hey Paul, > > On 16-03-15 23:09, Paul Kocialkowski wrote: > > Le lundi 16 mars 2015 à 09:12 +0100, Hans de Goede a écrit : > >> Hi, > >> > >> On 15-03-15 22:38, Paul Kocialkowski wrote: > >>> As far as I know, there is currently no mechanism in place to give each > >>> device a unique serial number, that would be shown in > >>> e.g. /proc/cpuinfo. This can seem not very useful, but it would be > >>> nice to have that for USB gadget drivers that make use of it (e.g. ADB on > >>> Android, fastboot, etc). This would allow having multiple sunxi devices > >>> connected at the same time. > >>> > >>> Normally, the serial number has to be figured out by the bootloader and > >>> passed to the kernel through ATAGs. In U-Boot, it is defined using > >>> get_board_serial, that is not yet implemented on sunxi. > >>> > >>> I'm interested in figuring out the best way to do this. As far as I can > >>> see, Allwinner SoCs have some e-fuses, known as SID (Security ID): > >>> http://linux-sunxi.org/SID_Register_Guide for which Oliver has written a > >>> mainline Linux driver. Those should have device-specific values, except > >>> when they are set to 0. > >>> > >>> Do you have any better idea to do this, or is there some reference that > >>> I am missing? > >> AFAIK the only way to do a serial number on sunxi devices is using the SID, > >> note that Oliver's driver will only work on A10, A13 and A20, with the > >> A31, A23 and others the SID is burned into the pmic rather then the SoC > >> itself, but it should be easy to implement get_board_serial() in u-boot > >> as we already have a sunxi_get_sid() helper to do that in a SoC > >> independent way (this is currently used to set the ethernet MAC address). > >> > >> Note that sunxi_get_sid() can fail, so you need to error check it, > >> and currently it will happily return an all 0 SID, you should probably > >> make it return an error in that case, as that check really belongs > >> inside sunxi_get_sid(). > > Why exactly is it a problem if the SID is 0 here? I don't see a big > > difference between providing a zero serial and not providing any serial > > at all (in any case, Linux will keep it at 0 when none is provided). > > > > U-Boot doesn't check the return code of setup_serial_tag either and > > isn't designed to not include the tag if it somewhat failed to grab the > > serial number. > > > > Hence my point is, let's not bother whether it's zero or not: it will > > just improve the situation on the vast majority of devices that have (at > > least) the first 4 32bit words of the SID populated and leave others > > with a zero serial, as it was until now. > Yeah I agree with you there, To bad we don't know the meaning of the SID > fields, so we can determine which bytes are more important than others ;)
Each user manual gives no more information than "root key", but the A20 user manual also shows more fields (boot key, sjtag key, config & vendor key, etc). Apparently, that root key can be used by the SS subsystem directly. That's about all I could find about it. It looks like a public key pre-populated by Allwinner, but then I don't see why it would be different across devices, or at least devices from the same manufacturer. -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: This is a digitally signed message part
