CYW920829M2EVB-01 BSP
Peripheral Default BSP Settings
Resource Parameter Value Remarks
UART Flow control No flow control
Data format 8N1
Baud rate 115200

Note:

The following Arduino header pins are defined but needs to be connected via resistors to use them

  • A2: Default is NC. Install R24 in position A to connect to GPIO P0.1
  • A3: Default is NC. Install R25 in position B to connect to GPIO P0.2
  • A4: Default is NC. Install R26 in position C to connect to GPIO P0.3
  • D3: Default is NC. Install R27 in position B to connect to GPIO P0.4
  • D12:Default is NC. Install R26 in position B to connect to GPIO P0.3
  • The RECOVERY Button on the M.2 board is not used for CYW20829 programming, the programming happens via SWD interface.

Security Provisioning Settings

This board supports enhanced security features which can be configured as part of development. For details about exactly what is available and how to use it, see the Secure Boot SDK User Guide. Configuring these settings makes use of the CySecureTools Python package. CYW20829 specific details are available in the README_CYW20829.md file.

When using CySecureTools to initialize the application, it will generate json files for each possible mode. Some of those modes require information about how to access external memory if it is available. These settings are specific to the external memory attached to your board. For this board, the following settings should be used. Note, a description of what each of the settings means is provided at the end.

CYW920829M2EVB-01 Specific External Memory Provisioning Settings

    "smif_config":
    {
        "smif_configuration": {
            "description": "SMIF Configuration",
            "applicable_conf": "SFDP 1.5, QER_1, QER_2, QER_3, QER_4, QER_5, QER_6, Non-SFDP",
            "value": "QER_1"
        },
        "chip_select": {
            "description": "Chip Select",
            "applicable_conf": "CS0, CS1",
            "value": "CS0"
        },
        "data_width": {
            "description": "Data Width",
            "applicable_conf": "1X, 2X, 4X, 8X",
            "value": "4X"
        },
        "data_select": {
            "description": "Data Select",
            "applicable_conf": "SEL0, SEL1, SEL2, SEL3",
            "value": "SEL0"
        },
        "addressing_mode": {
            "description": "Addressing Mode",
            "applicable_conf": "3-byte or 4-byte",
            "value": "4-byte"
        }
    },

Getting Started

To get started with the no secure policy, the following commands can be run:
$ cysecuretools set-ocd –name openocd –path <Path to ModusToolbox™ tools install>/openocd
$ cysecuretools -t cyw20829 init
Update the SMIF config settings in the policy/policy_no_secure.json file
$ cysecuretools -t cyw20829 -p policy/policy_no_secure.json provision-device
$ cysecuretools -t cyw20829 -p policy/policy_reprovisioning_no_secure.json reprovision-device

External Memory Provisioning Settings

smif_configuration:

This defines how information about the memory is discovered.
Valid options are:

  • "SFDP 1.5" - Use standard SFDP (Serial Flash Discoverable Parameter).
  • "QER_1" - Use standard SFDP with Quad Enable Requirements 1.
  • "QER_2" - Use standard SFDP with Quad Enable Requirements 2.
  • "QER_3" - Use standard SFDP with Quad Enable Requirements 3.
  • "QER_4" - Use standard SFDP with Quad Enable Requirements 4.
  • "QER_5" - Use standard SFDP with Quad Enable Requirements 5.
  • "QER_6" - Use standard SFDP with Quad Enable Requirements 6.
  • "Non-SFDP" - SFDP is not available. Custom memory support is needed.

chip_select:

This specifies which chip select signal is used to talk to the external memory.
Valid options are:

  • "CS0" - ChipSelect pin 0 is used to select the device.
  • "CS1" - ChipSelect pin 1 is used to select the device.

data_width:

This defines the number of data pins which are used simultaneously to transfer data to/from the device.
Valid options are:

  • "1X" - 1 IO pin is used for communication.
  • "2X" - 2 IO pins are used for communication.
  • "4X" - 4 IO pins are used for communication.
  • "8X" - 8 IO pins are used for communication.

data_select:

This setting controls which specific data pins are used for communication with the external memory device.
Valid options are:

Option Single SPI Dual SPI Quad SPI Octal SPI
SEL0 data[0]=SI data[0]=IO0 data[0]=IO0 data[0]=IO0
data[1]=SO data[1]=IO1 ... ...
data[3]=IO3 data[7]=IO7
SEL1 data[2]=SI data[2]=IO0 ILLEGAL ILLEGAL
data[3]=SO data[3]=IO1
SEL2 data[4]=SI data[4]=IO0 data[4]=IO0 ILLEGAL
data[5]=SO data[5]=IO1 ...
data[7]=IO3
SEL3 data[6]=SI data[6]=IO0 ILLEGAL ILLEGAL
data[7]=SO data[7]=IO1

addressing_mode:

This defines the number of bytes used to specify addresses when communicating with the external memory.
Valid options are:

  • "3-byte" - 3 bytes are used on each command to specify the address.
  • "4-byte" - 4 bytes are used on each command to specify the address.

© Cypress Semiconductor Corporation, 2020-2022.