Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drivers: wifi: add Infineon AIROC WIFI driver #63721

Merged
merged 4 commits into from
Nov 8, 2023

Conversation

npal-cy
Copy link
Contributor

@npal-cy npal-cy commented Oct 9, 2023

drivers: wifi: add Infineon AIROC WIFI driver

This is host agnostic version of AIROC WIFI driver (aka CYW43xxx). Most of network driver (airoc_wifi.c) was reviewed in #59444.

image

Features

  • integrates WHD 2.6
  • supported AIROC WIFI devices: CYW4343W, CYW4373, CYW43012, CYW43012, CYW43439
  • support SDIO communication. SPI will be added in future version of this driver.

Dependency

Requires

For using this driver, the platform should have support of following drivers: GPIO, SDHC.

The minimal requirement to SDHC driver to enable WIFI are:

  • support SDIO Card interrupt (introduced sd: add SDIO stack to Zephyr #56869 )

  • support following commands (request):
    CMD_GO_IDLE_STATE (CMD0)
    CMD_SEND_RELATIVE_ADDR (CMD3)
    CMD_IO_SEND_OP_COND (CMD5)
    CMD_SELECT_CARD (CMD7)
    CMD_VOLTAGE_SWITCH (CMD11)
    CMD_GO_INACTIVE_STATE (CMD15)
    CMD_IO_RW_DIRECT (CMD52)
    CMD_IO_RW_EXTENDED (CMD53)

  • support following io properties:
    clock - set host clock rate

@npal-cy npal-cy marked this pull request as draft October 10, 2023 07:38
@npal-cy npal-cy changed the title drivers: wifi: added Infineon AIROC WIFI driver drivers: wifi: add Infineon AIROC WIFI driver Oct 10, 2023
@npal-cy npal-cy force-pushed the topic/airoc_wifi_drv branch 2 times, most recently from 2bf7d8e to 1e8df31 Compare October 10, 2023 08:54
fabiobaltieri
fabiobaltieri previously approved these changes Oct 31, 2023
Copy link
Collaborator

@danieldegrasse danieldegrasse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apologies for the late review- I'm blocking over the way that whd_bus_sdio_cmd52 and whd_bus_sdio_cmd53 are implemented. Users of the SD framework should not be calling sdhc_request directly like this, they should be using the existing SD stack functions.

drivers/sdhc/Kconfig Outdated Show resolved Hide resolved
drivers/sdhc/ifx_cat1_sdio.c Outdated Show resolved Hide resolved
drivers/wifi/infineon/airoc_whd_hal.c Show resolved Hide resolved
drivers/wifi/infineon/airoc_whd_hal.c Show resolved Hide resolved
@npal-cy npal-cy dismissed stale reviews from fabiobaltieri and ifyall via 0c3c9e5 November 3, 2023 17:30
@zephyrbot zephyrbot removed the DNM This PR should not be merged (Do Not Merge) label Nov 3, 2023
@npal-cy npal-cy force-pushed the topic/airoc_wifi_drv branch 2 times, most recently from 02deae2 to 4513384 Compare November 3, 2023 22:14
Copy link
Collaborator

@danieldegrasse danieldegrasse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes look good to me on the SDIO/SDHC side

Copy link
Member

@fabiobaltieri fabiobaltieri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#56869 is merged as well. Great job everyone.

@fabiobaltieri
Copy link
Member

ooh, twister is getting confused by the last rebase, if you amend and force push again that test should go

Added initial version of Infineon CAT1 SDHC/SDIO driver

Added initial version of binding file for Infineon CAT1 SDHC/SDIO
driver

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
rename BT_CYW43XXX to BT_AIROC to be compatible with
WIFI_AIROC

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
Added initial version of Infineon AIROC WIFI  driver

Added initial version of binding file for Infineon AIROC WIFI
driver

Rename CONFIG_ABSTRACTION_RTOS_COMPONENT_ZEPHYR to
CONFIG_USE_INFINEON_ABSTRACTION_RTOS

Exclude cy8cproto_062_4343w platform from
drivers.modem.esp_at.build test

Change revision hal_infineon to
69c883d3bd9fac8a18dd8384624b8c472a68d06f

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
Enable WIFI feature for cy8cproto-062-4343w board.

Signed-off-by: Nazar Palamar <nazar.palamar@infineon.com>
@npal-cy
Copy link
Contributor Author

npal-cy commented Nov 8, 2023

ooh, twister is getting confused by the last rebase, if you amend and force push again that test should go

hi @fabiobaltieri, CI passed! it ready to merge.

@fabiobaltieri fabiobaltieri merged commit d860672 into zephyrproject-rtos:main Nov 8, 2023
36 of 44 checks passed
@jezlukasz
Copy link

jezlukasz commented Dec 12, 2023

Hi @npal-cy
Are there any plans/timelines on integrating SPI for this driver?
By the way - awesome job!

@npal-cy
Copy link
Contributor Author

npal-cy commented Dec 14, 2023

Hi @npal-cy Are there any plans/timelines on integrating SPI for this driver? By the way - awesome job!

Hi jezlukasz, please refer to answer from @ifyall: #63721 (comment).

Thanks,
Nazar

@jezlukasz
Copy link

jezlukasz commented Dec 14, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants