lkml.org 
[lkml]   [2022]   [Dec]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH v1 08/19] rtw88: rtw8822c: Add support for parsing the RTL8822CS (SDIO) efuse
    Date
    The efuse of the SDIO RTL8822CS chip has only one known member: the mac
    address is at offset 0x16a. Add a struct rtw8822cs_efuse describing this
    and use it for copying the mac address when the SDIO bus is used.

    Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    ---
    drivers/net/wireless/realtek/rtw88/rtw8822c.c | 9 +++++++++
    drivers/net/wireless/realtek/rtw88/rtw8822c.h | 6 ++++++
    2 files changed, 15 insertions(+)

    diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822c.c b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
    index 964e27887fe2..8ec779c7ab84 100644
    --- a/drivers/net/wireless/realtek/rtw88/rtw8822c.c
    +++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.c
    @@ -29,6 +29,12 @@ static void rtw8822ce_efuse_parsing(struct rtw_efuse *efuse,
    ether_addr_copy(efuse->addr, map->e.mac_addr);
    }

    +static void rtw8822cs_efuse_parsing(struct rtw_efuse *efuse,
    + struct rtw8822c_efuse *map)
    +{
    + ether_addr_copy(efuse->addr, map->s.mac_addr);
    +}
    +
    static void rtw8822cu_efuse_parsing(struct rtw_efuse *efuse,
    struct rtw8822c_efuse *map)
    {
    @@ -64,6 +70,9 @@ static int rtw8822c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
    case RTW_HCI_TYPE_PCIE:
    rtw8822ce_efuse_parsing(efuse, map);
    break;
    + case RTW_HCI_TYPE_SDIO:
    + rtw8822cs_efuse_parsing(efuse, map);
    + break;
    case RTW_HCI_TYPE_USB:
    rtw8822cu_efuse_parsing(efuse, map);
    break;
    diff --git a/drivers/net/wireless/realtek/rtw88/rtw8822c.h b/drivers/net/wireless/realtek/rtw88/rtw8822c.h
    index 479d5d769c52..eec2e3074087 100644
    --- a/drivers/net/wireless/realtek/rtw88/rtw8822c.h
    +++ b/drivers/net/wireless/realtek/rtw88/rtw8822c.h
    @@ -16,6 +16,11 @@ struct rtw8822cu_efuse {
    u8 res2[0x3d];
    };

    +struct rtw8822cs_efuse {
    + u8 res0[0x4a]; /* 0x120 */
    + u8 mac_addr[ETH_ALEN]; /* 0x16a */
    +};
    +
    struct rtw8822ce_efuse {
    u8 mac_addr[ETH_ALEN]; /* 0x120 */
    u8 vender_id[2];
    @@ -92,6 +97,7 @@ struct rtw8822c_efuse {
    u8 res10[0x42];
    union {
    struct rtw8822cu_efuse u;
    + struct rtw8822cs_efuse s;
    struct rtw8822ce_efuse e;
    };
    };
    --
    2.39.0
    \
     
     \ /
      Last update: 2023-03-26 23:21    [W:4.348 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site