• Carlo Caione's avatar
    brcm/ap*: Setup for different boards/transceivers/firmwares · 5b17f45e
    Carlo Caione authored
    
    
    The current Broadcom FullMAC driver embedded in the S905X linux kernel
    needs at configuration time the location of the firmware and NVRAM
    file. This is a problem when we have two different boards equipped with
    two different broadcom chipsets using the same driver + kernel
    configuration, like for TCL and ProConcept/AP boards.
    
    In this situation each board (actaully the brcm driver) needs at least a
    set of three board-specific files:
    
    1) Firmware data
    2) Config file
    3) NVRAM file
    
    We can actually force the brcm driver to automatically search for the
    correct set (naming) of files.
    
    a) Firmware data: if the driver defines FW_PATH_AUTO_SELECT, the
    firmware file name is automatically generated using the initial
    information on the transceiver and the file location (directory) can be
    specified by CONFIG_BCMDHD_FW_PATH
    
    b) Config file: if the driver defines CONFIG_PATH_AUTO_SELECT again the
    config file name is determined by the chip id and the location
    (directory) is determined by CONFIG_BCMDHD_NVRAM_PATH
    
    c) NVRAM: in this case explicitly specifying a NVRAM file in the config
    file has higher priority over CONFIG_BCMDHD_NVRAM_PATH. This means that
    we can specify the path of the NVRAM file using the 'nv_by_chip='
    parameter in the config file.
    
    What we are doing with this patch is linking all the board-specific
    file into the general directory /lib/firmware/brcm/ and with a kernel
    patch we are going to make both CONFIG_BCMDHD_FW_PATH and
    CONFIG_BCMDHD_NVRAM_PATH pointing here. The driver modified with the
    correct defines will be able to pickup from here the correct files it
    needs.
    Signed-off-by: default avatarCarlo Caione <carlo@endlessm.com>
    5b17f45e
config_4356a2.txt Symbolic link · 18 Bytes