2013/3/19 Arend van Spriel <ar...@broadcom.com>: > On 03/19/2013 12:37 PM, Rafał Miłecki wrote: >> >> 2013/3/19 Arend van Spriel <ar...@broadcom.com>: >>> >>> On 03/19/2013 12:18 PM, Rafał Miłecki wrote: >>>> >>>> >>>> 2013/3/19 Jonas Gorski <j...@openwrt.org>: >>>>> >>>>> >>>>> On 19 March 2013 11:36, Rafał Miłecki <zaj...@gmail.com> wrote: >>>>>> >>>>>> >>>>>> However take a look at siutils.c you're using internally at Broadcom. >>>>>> I've found it in: >>>>>> GPL_RT_AC66U_3004270/asuswrt/release/src-rt-6.x/shared/siutils.c >>>>>> This file contains si_nvram_process. This function calls that >>>>>> si_getdevpathintvar and getintvar I'm not sure about. Does >>>>>> si_nvram_process prefer SPROM's boardtype (offset SROM_SSID==0x2 or >>>>>> offset SSB_SPROM1_SPID==0x4) if it's available (not 0xFFFF)? >>>>> >>>>> >>>>> >>>>> The getdevpathintvar and getintvar are for extracting these values >>>>> from nvram instead of SPROM - remember that embedded bcm47xx devices >>>>> are "sprom"-less and have these values stored in nvram. Since there is >>>>> only one global nvram, you need to prefix these values with the >>>>> "pci/sb" device path to differentiate if you have more than one wifi >>>>> chip (e.g. "sb/1/boardflags" or "pci/1/boardflags"). But this isn't >>>>> necessarily done for single wifi devices, hence the getdevpathintvar >>>>> -> getinvar path (as the fall back). >>>> >>>> >>>> >>>> So what function does Broadcom use to extract something from SPROM? >>> >>> >>> srom_var_init() >> >> >> OK, so for PCI: >> 1) srom_var_init calls initvars_srom_pci >> 2) initvars_srom_pci calls _initvars_srom_pci >> 3) _initvars_srom_pci calls varbuf_append for every entry >> >> After all we end up with varbuf_t variable filled like an NVRAM >> (foo=bar\0baz=qux\0). >> >> So AFAIU getdevpathintvar and getintvar are still used to access SPROM >> (just in a form common for NVRAM), is that right? >> >> If the above is right, in si_nvram_process we access SPROM (with the >> use of getdevpathintvar/getintvar). So it seems in si_nvram_process we >> always prefer "boardtype", no matter if it comes from SPROM of NVRAM. >> Is that correct? >> > > Yes. Non-volatile variables take precedence to PCI config info regardless > from which device, SPROM or flash, it was loaded.
Thanks a lot for your help guys :) -- Rafał _______________________________________________ b43-dev mailing list b43-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/b43-dev