wil6210: use OEM MAC address from OTP
In addition to existing MAC address field in OTP, new field added for OEM MAC address. wil6210 gives precedence to the new OEM MAC address and will use it if its valid. Signed-off-by: Dedy Lansky <dlansky@codeaurora.org> Signed-off-by: Maya Erez <merez@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
e4a29bdd8f
commit
7b834639c4
@ -1413,13 +1413,22 @@ static int wil_get_otp_info(struct wil6210_priv *wil)
|
||||
u8 mac[8];
|
||||
int mac_addr;
|
||||
|
||||
if (wil->hw_version >= HW_VER_TALYN_MB)
|
||||
mac_addr = RGF_OTP_MAC_TALYN_MB;
|
||||
else
|
||||
mac_addr = RGF_OTP_MAC;
|
||||
/* OEM MAC has precedence */
|
||||
mac_addr = RGF_OTP_OEM_MAC;
|
||||
wil_memcpy_fromio_32(mac, wil->csr + HOSTADDR(mac_addr), sizeof(mac));
|
||||
|
||||
if (is_valid_ether_addr(mac)) {
|
||||
wil_info(wil, "using OEM MAC %pM\n", mac);
|
||||
} else {
|
||||
if (wil->hw_version >= HW_VER_TALYN_MB)
|
||||
mac_addr = RGF_OTP_MAC_TALYN_MB;
|
||||
else
|
||||
mac_addr = RGF_OTP_MAC;
|
||||
|
||||
wil_memcpy_fromio_32(mac, wil->csr + HOSTADDR(mac_addr),
|
||||
sizeof(mac));
|
||||
}
|
||||
|
||||
wil_memcpy_fromio_32(mac, wil->csr + HOSTADDR(mac_addr),
|
||||
sizeof(mac));
|
||||
if (!is_valid_ether_addr(mac)) {
|
||||
wil_err(wil, "Invalid MAC %pM\n", mac);
|
||||
return -EINVAL;
|
||||
|
@ -367,6 +367,7 @@ struct RGF_ICR {
|
||||
#define REVISION_ID_SPARROW_D0 (0x3)
|
||||
|
||||
#define RGF_OTP_MAC_TALYN_MB (0x8a0304)
|
||||
#define RGF_OTP_OEM_MAC (0x8a0334)
|
||||
#define RGF_OTP_MAC (0x8a0620)
|
||||
|
||||
/* Talyn-MB */
|
||||
|
Loading…
Reference in New Issue
Block a user