- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We have use brcmfmac on TI and NXP platform with CY wifi chip.
It seems that the SDIO hardware is different between NXP and TI because it is needed to set "sd_sgentry_align = <512>" in dts node to let brcmfmac runs on IT's SOC.
My understand is TI's SDIO hardware can not handle variable length data block but NXP can.
The question is that I can not find the same parameter sd_sgentry_align in bcmdhd driver source code.
Is there a same parameter in bcmdhd code?
And If some one has the experience on porting bcmdhd to TI's SOC?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe in the dhd_sdio.c, there is a field in the dhd_bus structure, "blocksize" that defines the block size of the SDIO transfer.
There is a macro name USE_DYNAMIC_F2_BLKSIZE to generate variable block size. You could disable these flags in the makefile
In makefile, check the configurations for SDIO in the CONFIG_BCMDHD_SDIO, where in you could find the DHDCFLAGS for dynamic blocksize.
DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=256
-Vinayak
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe in the dhd_sdio.c, there is a field in the dhd_bus structure, "blocksize" that defines the block size of the SDIO transfer.
There is a macro name USE_DYNAMIC_F2_BLKSIZE to generate variable block size. You could disable these flags in the makefile
In makefile, check the configurations for SDIO in the CONFIG_BCMDHD_SDIO, where in you could find the DHDCFLAGS for dynamic blocksize.
DHDCFLAGS += -DUSE_DYNAMIC_F2_BLKSIZE -DDYNAMIC_F2_BLKSIZE_FOR_NONLEGACY=256
-Vinayak
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi vnak,
Thanks for your help.
I find these flags in makefile:
ifneq ($(CONFIG_BCMDHD_SDIO),)
DHDCFLAGS += \
-DBCMSDIO -DMMC_SDIO_ABORT -DBCMLXSDMMC -DUSE_SDIOFIFO_IOVAR \
-DBDC -DDHD_USE_IDLECOUNT -DCUSTOM_SDIO_F2_BLKSIZE=512 \
-DBCMSDIOH_TXGLOM -DBCMSDIOH_TXGLOM_EXT
And I change CUSTOM_SDIO_F2_BLKSIZE from 256 to 512 but still get the CM53 errors.
see the following errors.
~# ping -s 10000 192.168.2.1 -I wlan0
PING 192.168.2.1 (192.168.2.1): 10000 data bytes
[ 328.828187] omap_hsmmc 480ad000.mmc: MMC start dma failure
[ 328.833960] sdioh_request_packet_chain:CMD53 write failed with code -22
[ 328.840949] dhd_bcmsdh_send_buf: sdio error -1, abort command and terminate frame.
[ 328.849294] omap_hsmmc 480ad000.mmc: MMC start dma failure
[ 328.855075] sdioh_request_packet_chain:CMD53 write failed with code -22
[ 328.862034] dhd_bcmsdh_send_buf: sdio error -1, abort command and terminate frame.
[ 329.778145] omap_hsmmc 480ad000.mmc: MMC start dma failure
[ 329.783911] sdioh_request_packet_chain:CMD53 write failed with code -22
[ 329.790882] dhd_bcmsdh_send_buf: sdio error -1, abort command and terminate frame.
[ 330.778144] omap_hsmmc 480ad000.mmc: MMC start dma failure
[ 330.783906] sdioh_request_packet_chain:CMD53 write failed with code -22
[ 330.790868] dhd_bcmsdh_send_buf: sdio error -1, abort command and terminate frame.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi:
I have same bcmdhd driver problem with TI am3352 .
Have you solved the problem yet?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi:
i have same problem with TI am3358,Have you solved the problem?
my log is:
[ 139.429582] omap_hsmmc 47810000.mmc: MMC start dma failure
[ 139.435397] sdioh_request_packet_chain:CMD53 write failed with code -22
[ 139.442488] dhd_bcmsdh_send_buf: sdio error -1, abort command and terminate frame.
[ 139.451194] omap_hsmmc 47810000.mmc: MMC start dma failure
[ 139.457006] sdioh_request_packet_chain:CMD53 write failed with code -22
[ 139.464015] dhd_bcmsdh_send_buf: sdio error -1, abort command and terminate frame.
[ 139.472820] omap_hsmmc 47810000.mmc: MMC start dma failure
could you tell me hao to solve it ?