1 of 1 people found this helpful
The OTP contains some module specific information which is used by the board after reset. The user programmable memory starts from the OTP header info:
Post SDIO header, the board parameters can be entered as mentioned in the App note. Note that all the customizable parameters are mentioned in the nvram file specific to a board. Once the parameters are hardened, selected parameters are written to OTP as it is not big enough to contain all nvram parameters. Also the CIS tuples are not defined for all the nvram parameters.
Module vendors populate the OTP to contains SDIO header, board rev, board type, WLAN MAC addr, sromrev, Module vendor specific ID, OTP end, etc.
ciswrite is used to write specific bits to OTP. cisdump is used to confirm whether the OTP is programmed successfully. If the cisdump is verified to match the OTP binary map(wl otpdump), the OTP programming is complete.
Thanks for your reply.
Does this mean that the OTP content before SDIO header was programmed by the IC vendor?
Actually I'm wondering whether I need to perform crystal oscillator tuning for each module when mass produce.
Because I can't find tuning related CIS tuples in the above document, so I think maybe the tuning value need to write to other section of the OTP (that is why I want to know the detailed description about the OTP content), or maybe I needn't to perform tuning for every module and just need to generate a "golden" OTP file during the development stage(as mentioned in the above document) and then program to all module ?
2 of 2 people found this helpful
As long as the hardware circuitry is proper (layout guidelines followed and appropriate input/output capacitors added), there are no calibration required for the crystals in firmware.
You can refer the section 3( Frequency References) of datasheet for further details of the LPO.
The only parameter that need to be changed for external crystal oscillator is boardflags3.
boardflags3= 0x04000000 /* Force internal lpo */
boardflags3=0x08000000 /* Force external lpo */
The parameter is in wifi_nvram_image.h file in the specific platform folder in WICED SDK.
OK, thank you very much.