Skip to content
  • Jonathan Liu's avatar
    sunxi: use random parts of SID to set ethaddr · b41d7d05
    Jonathan Liu authored
    Similar to the USB NIC found on OMAP5uEVM, PandaBoard and BeagleBoard-XM
    boards, the sunxi SoCs have a NIC onboard without an embedded MAC address.
    
    Just like the omap used on these boards, the sunxi SoCs do have a unique chip
    id, in the form of the 128 bit SID register:
    http://linux-sunxi.org/SID_Register_Guide
    
    So mimick the BeagleBoard-XM board code (commit 548a64d8
    
    ) and use the chip id
    to generate a unique fixed MAC address.
    
    We check for the SID not being all 0, since some early A20 batches
    shipped without having there SID programmed.
    
    Note we use specific parts of the 128 bits, since some parts indicate the
    SoC family / revision, and thus are fixed. The algorithm for this was taken
    from the linux-sunxi.org kernels.
    
    Signed-off-by: default avatarJonathan Liu <net147@gmail.com>
    [hdegoede@redhat.com: Expanded the commit message with some more info]
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Acked-by: default avatarIan Campbell <ijc@hellion.org.uk>
    b41d7d05