infineon CYW5557x Vanilla Kernel Bring Reference User Manual

June 7, 2024
infineon

infineon CYW5557x Vanilla Kernel Bring Reference

Infineon Vanilla Kernel v6.6.15 Bring up Reference
Guide to Build, flash and configure the platform with v6.6.15 Vanilla Kernel for CYW5557x support

About this document

Scope and purpose
This document serves as a Guide to bring up with the Infineon’s 802.11ax capable CYW5557x Chipset.

Intended audience
This document is primarily intended for those using Infineon Wi-Fi solutions with the Vanilla Kernel. It is recommended that the reader have prior experience with Linux kernel wireless networking.

Building v6.6.15 Vanilla Kernel with BRCMFMAC

Test Environment
Our verification is tested by INTEL NUC10 platform with Fedora FC38 and use releasing to patch on Fedora source tree v6.6.15 kernel.

  • Hardware equipment: INTEL NUC x86_64
  • Software tool: Fedora fc38 with installing v6.6.15 kernel

Prepare INTEL NUC environment

Update the kernel to our supported version. Download the fedora releasing kernel and checkout to specific version v6.6.15(sha id: 9670bf06)

Default all questions based on the contents of your existing .config file and ask about new config symbols

  • $ make oldconfig

Build kernel image and modules

  • $ make bzImage
  • $ make modules

Install module and kernel

  • $ make modules_install
  • $ make install

Compilation FMAC on NUC x86_64
Download source tree from Fedora kernel and check the to v6.1 serious version. Our usage based on the latest version is v6.6.15. (sha id: 9670bf06)

In the Linux root folder, untar/apply to release patches with the below bash commands

  • $ tar zxvf <release patches package>.tar.gz
  • apply script

  • for i in /*.patch; do patch –p1 < $i; done

Load the platform default configurations.

  • $ make defconfig

Enable/Disable/Load module as below configuration by command “make menuconfig” or by editing the “.config” file.

  • CONFIG_CFG80211=m
  • CONFIG_BCMDHD=n
  • CONFIG_BRCMUTIL=m
  • CONFIG_BRCMFMAC=m
  • CONFIG_BRCMFMAC_SDIO=y
  • CONFIG_BRCMFMAC_PROTO_BCDC=y
  • CONFIG_BRCMFMAC_PCIE=y
  • CONFIG_BRCMFMAC_PROTO_MSGBUF=y
  • CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=n
  • CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=n
  • CONFIG_ASYMMETRIC_KEY_TYPE=y
  • CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
  • CONFIG_X509_CERTIFICATE_PARSER=y
  • CONFIG_PKCS7_MESSAGE_PARSER=y
  • CONFIG_MMC_BUS_CLOCK_GATE=y

Enable the below configuration when debug

  • CONFIG_BRCMDBG=y
  • CONFIG_BRCM_TRACING=y

Build kernel modules.
NOTE : To speed up compilation on multiprocessor systems, and get some improvement on single processor ones, use “-j n”, where n is the number of processors * 1.5. You can use the “nproc” cmd to see how many processors you have.

  • $ make modules

Building v6.6.15 Vanilla Kernel with BRCMFMAC

Copy generated modules to the loading folder
Create a new folder for built modules

  • $ mkdir

Copy the generated mouldes to created directory

  • $ cp drivers/mmc/core/mmc_core.ko
  • $ cp drivers/mmc/core/mmc_block.ko
  • $ cp drivers/mmc/host/sdhci.ko
  • $ cp drivers/mmc/host/sdhci-pci.ko
  • $ cp drivers/mmc/host/cqhci.ko
  • $ cp drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko
  • $ cp drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac-cyw.ko
  • $ cp drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil.ko
  • $ cp net/wireless/cfg80211.ko

Bring up BRCMFMAC Host Driver & Firmware

Load the FMAC module and write the Firmware
Copy Firmware (FW), CLM Blob (climb) and NVRAM files to the expected path in the filesystem

  • $ cp -a <FW/CLM BLOB/NVRAM files> /lib/firmware/cypress/<cyfmac55572-*>

Stop Network Manager Service, before inserting the FMAC module

  • $ systemctl stop NetworkManager

Delete the Network Manager and Wpa_supplicant daemon, before inserting the FMAC module.

  • $ killall NetworkManager
  • $ killall wpa_supplicant

Remove inactive modules that may be brought up by the system after booting.

  • $ rmmod iwlmvm
  • $ rmmod iwlwifi
  • $ rmmod mac80211
  • $ rmmod btsdio
  • $ killall bluetoothd
  • $ rmmod btusb
  • $ rmmod bnep
  • $ rmmod btbcm
  • $ rmmod btintel
  • $ rmmod btrtl
  • $ rmmod bluetooth
  • $ rmmod bcmdhd
  • $ rmmod dhd
  • $ rmmod brcmfmac-cyw
  • $ rmmod brcmfmac
  • $ rmmod brcmutil
  • $ rmmod sdhci-pci
  • $ rmmod sdhci
  • $ rmmod cqhci
  • $ rmmod mmc_block
  • $ rmmod mmc_core
  • $ rmmod cfg80211
  • $ rmmod compat
  • $ rmmod rfkill

Note: After the v6.2 kernel, brcmfmac kernel module will recognize the vendor and bring up extra one vendor kernel module depending on brcmfmac.ko. As the example on CYW5557x, system will automatically bring up “brcmfmac- cyw.ko” after inserting brcmfmac. Therefore, users need to remove “brcmfmac- cyw” module or brcmfmac will remove failed.

Bring up BRCMFMAC Host Driver & Firmware
Insert FMAC and related kernel modules

  • $ cd
  • $ modprobe rfkill
  • $ insmod ./mmc_core.ko
  • $ insmod ./mmc_block.ko
  • $ insmod ./cqhci.ko
  • $ insmod ./sdhci.ko
  • $ insmod ./sdhci-pci.ko
  • $ insmod ./cfg80211.ko
  • $ insmod ./brcmutil.ko
  • $ insmod ./brcmfmac.ko

Revision history

Document version Date of release Description of changes
1.0.0 2023-12-21 Initial Revision
1.1.0 2024-04-17 Modify for supporting v6.6.15 kernel

E dition 2023-12-15

Published by
Infineon Technologies AG
81726 München, Germany
© 2024 Infineon Technologies AG. All Rights Reserved.
Do you have a question about this document?

Email: [email protected]

Document reference
ifx1

IMPORTANT NOTICE

  • The information given in this document shall in no event be regarded as a guarantee of conditions or characteristics (“Beschaffenheitsgarantie”) .
  • For any examples, hints or any typical values stated herein and/or any information regarding the application of the product, Infineon Technologies hereby disclaims any warranties and liabilities of any kind, including without limitation warranties of non-infringement of intellectual property rights of any third party.
  • In addition, any information given in this document is subject to the customer’s compliance with its obligations stated in this document and any applicable legal requirements, norms and standards concerning the customer’s products and any use of the product of Infineon Technologies in the customer’s applications.
  • The data contained in this document is exclusively intended for technically trained staff. It is the responsibility of the customer’s technical departments to evaluate the suitability of the product for the intended application and the completeness of the product information given in this document concerning such application.

For further information on the product, technology, delivery terms and conditions and prices please contact your nearest Infineon Technologies office (www.infineon.com).

WARNINGS
Due to technical requirements, products may contain dangerous substances. For information on the types in question please contact your nearest Infineon Technologies office.

Except as otherwise explicitly approved by Infineon Technologies in a written document signed by authorized representatives of Infineon Technologies, Infineon Technologies’ products may not be used in any applications where a failure of the product or any consequences of the use thereof can reasonably be expected to result in personal injury.

Quick Start Guide
www.infineon.com

Read User Manual Online (PDF format)

Loading......

Download This Manual (PDF format)

Download this manual  >>

infineon User Manuals

Related Manuals