| # |
| # For a description of the syntax of this configuration file, |
| # see the file kconfig-language.txt in the NuttX tools repository. |
| # |
| |
| if ARCH_BOARD_NUCLEO_WL55JC |
| |
| config ARCH_BOARD_NUCLEO_WL55JC_DEMO_LED_IRQ |
| bool "[demo] LED on button interrupt" |
| depends on ARCH_BUTTONS |
| depends on NSH_ARCHINIT |
| ---help--- |
| When enabled, pressing B3 button will toggle red LED. |
| This options is mostly for demo purposes of how one |
| can install GPIO interrupt. |
| |
| comment "[demo] LED on button interrupt requires NSH_ARCHINIT" |
| depends on !NSH_ARCHINIT || !ARCH_BUTTONS |
| |
| config ARCH_BOARD_ENABLE_CPU2 |
| bool "Enable CPU2 on startup" |
| default n |
| ---help--- |
| When enabled, CPU2 (cortex-m0) will be started up. CPU2 |
| will be booted after all initialization on CPU1 is done. |
| |
| menuconfig ARCH_BOARD_IPCC |
| bool "Enabled IPCC" |
| select IPCC |
| select STM32WL5_IPCC |
| default n |
| ---help--- |
| Enables IPCC (inter processor communication controller) |
| to exchange data between CPU1 and CPU2. Channels are |
| indexed from 0. IPCC will be accessible as character |
| device under "/dev/ipccN" path, where N is an ipcc channel. |
| |
| if ARCH_BOARD_IPCC |
| |
| comment "IPCC buffering is off, enable IPCC_BUFFERED to configure buffers" |
| depends on !IPCC_BUFFERED |
| |
| comment "IPCC channel 1 enabled by default" |
| |
| config ARCH_BOARD_IPCC_CHAN1_RXBUF |
| int "Channel 1 RX buffer size" |
| default 256 |
| depends on IPCC_BUFFERED |
| |
| config ARCH_BOARD_IPCC_CHAN1_TXBUF |
| int "Channel 1 TX buffer size" |
| default 256 |
| depends on IPCC_BUFFERED |
| |
| config ARCH_BOARD_IPCC_CHAN2 |
| bool "Enable channel 2" |
| default n |
| select STM32WL5_IPCC_CHAN2 |
| |
| if ARCH_BOARD_IPCC_CHAN2 |
| |
| config ARCH_BOARD_IPCC_CHAN2_RXBUF |
| int "Channel 2 RX buffer size" |
| default 256 |
| depends on IPCC_BUFFERED |
| |
| config ARCH_BOARD_IPCC_CHAN2_TXBUF |
| int "Channel 2 TX buffer size" |
| default 256 |
| depends on IPCC_BUFFERED |
| |
| config ARCH_BOARD_IPCC_CHAN3 |
| bool "Enable channel 3" |
| default n |
| select STM32WL5_IPCC_CHAN3 |
| |
| if ARCH_BOARD_IPCC_CHAN3 |
| |
| config ARCH_BOARD_IPCC_CHAN3_RXBUF |
| int "Channel 3 RX buffer size" |
| default 256 |
| depends on IPCC_BUFFERED |
| |
| config ARCH_BOARD_IPCC_CHAN3_TXBUF |
| int "Channel 3 TX buffer size" |
| default 256 |
| depends on IPCC_BUFFERED |
| |
| config ARCH_BOARD_IPCC_CHAN4 |
| bool "Enable channel 4" |
| default n |
| select STM32WL5_IPCC_CHAN4 |
| |
| if ARCH_BOARD_IPCC_CHAN4 |
| |
| config ARCH_BOARD_IPCC_CHAN4_RXBUF |
| int "Channel 4 RX buffer size" |
| default 256 |
| depends on IPCC_BUFFERED |
| |
| config ARCH_BOARD_IPCC_CHAN4_TXBUF |
| int "Channel 4 TX buffer size" |
| default 256 |
| depends on IPCC_BUFFERED |
| |
| config ARCH_BOARD_IPCC_CHAN5 |
| bool "Enable channel 5" |
| default n |
| select STM32WL5_IPCC_CHAN5 |
| |
| if ARCH_BOARD_IPCC_CHAN5 |
| |
| config ARCH_BOARD_IPCC_CHAN5_RXBUF |
| int "Channel 5 RX buffer size" |
| default 256 |
| depends on IPCC_BUFFERED |
| |
| config ARCH_BOARD_IPCC_CHAN5_TXBUF |
| int "Channel 5 TX buffer size" |
| default 256 |
| depends on IPCC_BUFFERED |
| |
| config ARCH_BOARD_IPCC_CHAN6 |
| bool "Enable channel 6" |
| default n |
| select STM32WL5_IPCC_CHAN6 |
| |
| if ARCH_BOARD_IPCC_CHAN6 |
| |
| config ARCH_BOARD_IPCC_CHAN2_RXBUF |
| int "Channel 6 RX buffer size" |
| default 256 |
| depends on IPCC_BUFFERED |
| |
| config ARCH_BOARD_IPCC_CHAN6_TXBUF |
| int "Channel 6 TX buffer size" |
| default 256 |
| depends on IPCC_BUFFERED |
| |
| endif # ARCH_BOARD_IPCC_CHAN6 |
| endif # ARCH_BOARD_IPCC_CHAN5 |
| endif # ARCH_BOARD_IPCC_CHAN4 |
| endif # ARCH_BOARD_IPCC_CHAN3 |
| endif # ARCH_BOARD_IPCC_CHAN2 |
| |
| endif # ARCH_BOARD_IPCC |
| |
| menuconfig ARCH_BOARD_FLASH_MOUNT |
| bool "Enable FLASH partitioning and mounting" |
| depends on !DISABLE_MOUNTPOINT |
| select MTD |
| select MTD_PROGMEM |
| select MTD_PARTITION |
| select MTD_PARTITION_NAMES |
| select FS_PROCFS |
| default n |
| ---help--- |
| When enabled, you will be able to configure partition table |
| for onboard FLASH memory to create and mount flash filesystems. |
| All partition sizes are specified in PAGE_SIZE size. On |
| STM32WL5 page size is always 2048. |
| |
| On STM32WL55JC there are 128 pages of flash memory. Size of |
| all configured partitions shall not exceed 128. In fact, it |
| should be equal to 128 or else you will simply have unused |
| space on flash. Even if you want some raw flash access you |
| should specify this partition in table and select fs_raw. |
| |
| By default there are only 4 partitions defined, if you need |
| more, you can define more in Kconfig and stm32_flash.c files. |
| |
| comment "FLASH partitioning and mounting requires !DISABLE_MOUNTPOINT" |
| depends on DISABLE_MOUNTPOINT |
| |
| if ARCH_BOARD_FLASH_MOUNT |
| |
| config ARCH_BOARD_FLASH_BL_PROG_SIZE |
| int "Size reserved for bootloader program code" |
| default 0 |
| ---help--- |
| How much memory to reserve for bootloader program code. |
| If you are using bootloader in your application, specify |
| max size of bootloader partition. This memory will be |
| reserved at the beginning of flash, and CPU1 progmem will |
| be right after bootloader. |
| |
| If you don't use bootloader and just want to run program |
| directly after reset, set this to 0. |
| |
| config ARCH_BOARD_FLASH_CPU1_PROG_SIZE |
| int "Size reserved for CPU1 program code" |
| default 127 |
| ---help--- |
| How much memory to reserve for CPU1 program code. This should |
| specified as other partitions will be created at offset to |
| this partition. |
| |
| config ARCH_BOARD_FLASH_CPU2_PROG_SIZE |
| int "Size reserved for CPU2 program code" |
| default 0 |
| ---help--- |
| How much memory to reserve for CPU2 program code. If you use |
| dual CPU you should specify how much memory you want to |
| reserve for code for second CPU. User partition will be |
| created at this offset. If you don't use CPU2, set this to 0. |
| |
| config ARCH_BOARD_FLASH_PART1_SIZE |
| int "Size of user partition 1" |
| default 1 |
| ---help--- |
| Size of partition specified in PAGE_SIZE. Page size on |
| stm32wl5xxx is always 2048. |
| |
| config ARCH_BOARD_FLASH_PART1_NAME |
| string "Name of user partition 1" |
| default "part1" |
| ---help--- |
| MTD partition name, this can be later read by MTD API, |
| or it can also be read from /proc/partitions to easily |
| identify partitions. |
| |
| config ARCH_BOARD_FLASH_PART1_MNT |
| string "Mount point for user partition 1" |
| default "/mnt/part1" |
| ---help--- |
| Directory where filesystem should be mounted. |
| |
| Note: not all filesystems can be mounted. rawfs and |
| mtdconfig for example cannot be mounted. In that case |
| this config will be ignored. |
| |
| config ARCH_BOARD_FLASH_PART1_FS |
| string |
| default "rawfs" if ARCH_BOARD_FLASH_PART1_FS_RAWFS |
| default "nxffs" if ARCH_BOARD_FLASH_PART1_FS_NXFFS |
| default "smartfs" if ARCH_BOARD_FLASH_PART1_FS_SMARTFS |
| default "mtdconfig" if ARCH_BOARD_FLASH_PART1_FS_MTDCONFIG |
| |
| choice |
| prompt "Filesystem of user partition 1" |
| default ARCH_BOARD_FLASH_PART1_FS_RAWFS |
| |
| config ARCH_BOARD_FLASH_PART1_FS_RAWFS |
| bool "rawfs" |
| ---help--- |
| Raw block device /dev/mtdblockN will be available to use |
| with standard open(2)/fopen(3) functions. |
| |
| config ARCH_BOARD_FLASH_PART1_FS_NXFFS |
| select FS_NXFFS |
| bool "nxffs" |
| ---help--- |
| Partition will be used as nxffs. Only one nxffs partition |
| can be enabled at one given time! |
| |
| config ARCH_BOARD_FLASH_PART1_FS_SMARTFS |
| select FS_SMARTFS |
| select MTD_SMART |
| bool "smartfs" |
| ---help--- |
| Partition will be used as smartfs. After first flash, you |
| will have to format partition with "mksmartfs /dev/smartN" |
| command. This has to be done only once unless you change |
| partition table that would affect offsets and/or sizes. |
| Programmers (like openocd) should not touch this memory |
| when flashing new software, unless you exceeded reserved |
| memory for program code. |
| |
| Smartfs uses quite substential amount of FLASH data to |
| get to workable state and mount. Looks like 8 page sizes |
| is absolute minimum (so a 16KiB!). |
| |
| config ARCH_BOARD_FLASH_PART1_FS_MTDCONFIG |
| select MTD_CONFIG |
| bool "mtdconfig" |
| ---help--- |
| Purpose build filesystem to hold application's configuration. |
| It's not a filesystem per se, as it cannot be mounted and |
| setting and retrieving configuration is done via ioctl(2) |
| calls. |
| |
| endchoice # Filesystem of user partition 1 |
| |
| config ARCH_BOARD_FLASH_PART2_SIZE |
| int "Size of user partition 2" |
| default 0 |
| |
| if ARCH_BOARD_FLASH_PART2_SIZE > 0 |
| |
| config ARCH_BOARD_FLASH_PART2_NAME |
| string "Name of user partition 2" |
| default "part2" |
| |
| config ARCH_BOARD_FLASH_PART2_MNT |
| string "Mount point for user partition 2" |
| default "/mnt/part2" |
| |
| config ARCH_BOARD_FLASH_PART2_FS |
| string |
| default "rawfs" if ARCH_BOARD_FLASH_PART2_FS_RAWFS |
| default "nxffs" if ARCH_BOARD_FLASH_PART2_FS_NXFFS |
| default "smartfs" if ARCH_BOARD_FLASH_PART2_FS_SMARTFS |
| default "mtdconfig" if ARCH_BOARD_FLASH_PART2_FS_MTDCONFIG |
| |
| choice |
| prompt "Filesystem of user partition 2" |
| default ARCH_BOARD_FLASH_PART2_FS_RAWFS |
| |
| config ARCH_BOARD_FLASH_PART2_FS_RAWFS |
| bool "rawfs" |
| |
| config ARCH_BOARD_FLASH_PART2_FS_NXFFS |
| select FS_NXFFS |
| bool "nxffs" |
| |
| config ARCH_BOARD_FLASH_PART2_FS_SMARTFS |
| select FS_SMARTFS |
| select MTD_SMART |
| bool "smartfs" |
| |
| config ARCH_BOARD_FLASH_PART2_FS_MTDCONFIG |
| select MTD_CONFIG |
| bool "mtdconfig" |
| |
| endchoice # Filesystem of user partition 2 |
| |
| config ARCH_BOARD_FLASH_PART3_SIZE |
| int "Size of user partition 3" |
| default 0 |
| |
| if ARCH_BOARD_FLASH_PART3_SIZE > 0 |
| |
| config ARCH_BOARD_FLASH_PART3_NAME |
| string "Name of user partition 3" |
| default "part3" |
| |
| config ARCH_BOARD_FLASH_PART3_MNT |
| string "Mount point for user partition 3" |
| default "/mnt/part3" |
| |
| config ARCH_BOARD_FLASH_PART3_FS |
| string |
| default "rawfs" if ARCH_BOARD_FLASH_PART3_FS_RAWFS |
| default "nxffs" if ARCH_BOARD_FLASH_PART3_FS_NXFFS |
| default "smartfs" if ARCH_BOARD_FLASH_PART3_FS_SMARTFS |
| default "mtdconfig" if ARCH_BOARD_FLASH_PART3_FS_MTDCONFIG |
| |
| choice |
| prompt "Filesystem of user partition 3" |
| default ARCH_BOARD_FLASH_PART3_FS_RAWFS |
| |
| config ARCH_BOARD_FLASH_PART3_FS_RAWFS |
| bool "rawfs" |
| |
| config ARCH_BOARD_FLASH_PART3_FS_NXFFS |
| select FS_NXFFS |
| bool "nxffs" |
| |
| config ARCH_BOARD_FLASH_PART3_FS_SMARTFS |
| select FS_SMARTFS |
| select MTD_SMART |
| bool "smartfs" |
| |
| config ARCH_BOARD_FLASH_PART3_FS_MTDCONFIG |
| select MTD_CONFIG |
| bool "mtdconfig" |
| |
| endchoice # Filesystem of user partition 3 |
| |
| config ARCH_BOARD_FLASH_PART4_SIZE |
| int "Size of user partition 4" |
| default 0 |
| |
| if ARCH_BOARD_FLASH_PART4_SIZE > 0 |
| |
| config ARCH_BOARD_FLASH_PART4_NAME |
| string "Name of user partition 4" |
| default "part4" |
| |
| config ARCH_BOARD_FLASH_PART4_MNT |
| string "Mount point for user partition 4" |
| default "/mnt/part4" |
| |
| config ARCH_BOARD_FLASH_PART4_FS |
| string |
| default "rawfs" if ARCH_BOARD_FLASH_PART4_FS_RAWFS |
| default "nxffs" if ARCH_BOARD_FLASH_PART4_FS_NXFFS |
| default "smartfs" if ARCH_BOARD_FLASH_PART4_FS_SMARTFS |
| default "mtdconfig" if ARCH_BOARD_FLASH_PART4_FS_MTDCONFIG |
| |
| choice |
| prompt "Filesystem of user partition 4" |
| default ARCH_BOARD_FLASH_PART4_FS_RAWFS |
| |
| config ARCH_BOARD_FLASH_PART4_FS_RAWFS |
| bool "rawfs" |
| |
| config ARCH_BOARD_FLASH_PART4_FS_NXFFS |
| select FS_NXFFS |
| bool "nxffs" |
| |
| config ARCH_BOARD_FLASH_PART4_FS_SMARTFS |
| select FS_SMARTFS |
| select MTD_SMART |
| bool "smartfs" |
| |
| config ARCH_BOARD_FLASH_PART4_FS_MTDCONFIG |
| select MTD_CONFIG |
| bool "mtdconfig" |
| |
| endchoice # Filesystem of user partition 4 |
| |
| endif # ARCH_BOARD_FLASH_PART2_SIZE > 0 |
| endif # ARCH_BOARD_FLASH_PART3_SIZE > 0 |
| endif # ARCH_BOARD_FLASH_PART4_SIZE > 0 |
| |
| endif # ARCH_BOARD_FLASH_MOUNT |
| |
| if LCD_SSD1680 && ARCH_BOARD_NUCLEO_WL55JC |
| |
| menu "E-ink SSD1680 pins config" |
| |
| choice |
| prompt "Port that handles Chip Select line (output)" |
| default SSD1680_GPIO_CS_PORTA if ARCH_BOARD_NUCLEO_WL55JC |
| |
| config SSD1680_GPIO_CS_DISABLED |
| bool "Not available" |
| |
| config SSD1680_GPIO_CS_PORTA |
| bool "Port A" |
| |
| config SSD1680_GPIO_CS_PORTB |
| bool "Port B" |
| |
| config SSD1680_GPIO_CS_PORTC |
| bool "Port C" |
| |
| config SSD1680_GPIO_CS_PORTD |
| bool "Port D" |
| |
| endchoice |
| |
| if SSD1680_GPIO_CS_PORTA || SSD1680_GPIO_CS_PORTB || SSD1680_GPIO_CS_PORTC || SSD1680_GPIO_CS_PORTD |
| config SSD1680_GPIO_PIN_CS |
| int "Pin that select the chip on SPI bus (output)" |
| default "4" if ARCH_BOARD_NUCLEO_WL55JC |
| range 0 15 |
| endif #SSD1680_GPIO_CS_PORTA || SSD1680_GPIO_CS_PORTB || SSD1680_GPIO_CS_PORTC || SSD1680_GPIO_CS_PORTD |
| |
| choice |
| prompt "Port that handles Data/!Command line" |
| default SSD1680_GPIO_DTA_CMD_PORTA if ARCH_BOARD_NUCLEO_WL55JC |
| |
| config SSD1680_GPIO_DTA_CMD_DISABLED |
| bool "Not available" |
| |
| config SSD1680_GPIO_DTA_CMD_PORTA |
| bool "Port A" |
| |
| config SSD1680_GPIO_DTA_CMD_PORTB |
| bool "Port B" |
| |
| config SSD1680_GPIO_DTA_CMD_PORTC |
| bool "Port C" |
| |
| config SSD1680_GPIO_DTA_CMD_PORTD |
| bool "Port D" |
| |
| endchoice |
| |
| if SSD1680_GPIO_DTA_CMD_PORTA || SSD1680_GPIO_DTA_CMD_PORTB || SSD1680_GPIO_DTA_CMD_PORTC || SSD1680_GPIO_DTA_CMD_PORTD |
| config SSD1680_GPIO_PIN_DTA_CMD |
| int "Pin that switch between command and data on 4-wire SPI bus" |
| default "9" if ARCH_BOARD_NUCLEO_WL55JC |
| range 0 15 |
| endif #SSD1680_GPIO_DTA_CMD_PORTA || SSD1680_GPIO_DTA_CMD_PORTB || SSD1680_GPIO_DTA_CMD_PORTC || SSD1680_GPIO_DTA_CMD_PORTD |
| |
| choice |
| prompt "Port that handles reset line (output)" |
| default SSD1680_GPIO_RST_PORTC if ARCH_BOARD_NUCLEO_WL55JC |
| |
| config SSD1680_GPIO_RST_DISABLED |
| bool "Not available" |
| |
| config SSD1680_GPIO_RST_PORTA |
| bool "Port A" |
| |
| config SSD1680_GPIO_RST_PORTB |
| bool "Port B" |
| |
| config SSD1680_GPIO_RST_PORTC |
| bool "Port C" |
| |
| config SSD1680_GPIO_RST_PORTD |
| bool "Port D" |
| endchoice |
| |
| if SSD1680_GPIO_RST_PORTA || SSD1680_GPIO_RST_PORTB || SSD1680_GPIO_RST_PORTC || SSD1680_GPIO_RST_PORTD |
| config SSD1680_GPIO_PIN_RST |
| int "Pin that handles the reset line (output)" |
| default "2" if ARCH_BOARD_NUCLEO_WL55JC |
| range 0 15 |
| endif #SSD1680_GPIO_RST_PORTA || SSD1680_GPIO_RST_PORTB || SSD1680_GPIO_RST_PORTC || SSD1680_GPIO_RST_PORTD |
| |
| choice |
| prompt "Port that handles busy line (input)" |
| default SSD1680_GPIO_BUSY_PORTC if ARCH_BOARD_NUCLEO_WL55JC |
| |
| config SSD1680_GPIO_BUSY_DISABLED |
| bool "Not available" |
| |
| config SSD1680_GPIO_BUSY_PORTA |
| bool "Port A" |
| |
| config SSD1680_GPIO_BUSY_PORTB |
| bool "Port B" |
| |
| config SSD1680_GPIO_BUSY_PORTC |
| bool "Port C" |
| |
| config SSD1680_GPIO_BUSY_PORTD |
| bool "Port D" |
| |
| endchoice |
| |
| if SSD1680_GPIO_BUSY_PORTA || SSD1680_GPIO_BUSY_PORTB || SSD1680_GPIO_BUSY_PORTC || SSD1680_GPIO_BUSY_PORTD |
| config SSD1680_GPIO_PIN_BUSY |
| int "Pin that handles the busy line (input)" |
| default "1" if ARCH_BOARD_NUCLEO_WL55JC |
| range 0 15 |
| endif #SSD1680_GPIO_BUSY_PORTA || SSD1680_GPIO_BUSY_PORTB || SSD1680_GPIO_BUSY_PORTC || SSD1680_GPIO_BUSY_PORTD |
| |
| choice |
| prompt "Port that handles power line" |
| default SSD1680_GPIO_PWR_DISABLED if ARCH_BOARD_NUCLEO_WL55JC |
| |
| config SSD1680_GPIO_PWR_DISABLED |
| bool "Not available" |
| |
| config SSD1680_GPIO_PWR_PORTA |
| bool "Port A" |
| |
| config SSD1680_GPIO_PWR_PORTB |
| bool "Port B" |
| |
| config SSD1680_GPIO_PWR_PORTC |
| bool "Port C" |
| |
| config SSD1680_GPIO_PWR_PORTD |
| bool "Port D" |
| |
| endchoice |
| |
| if SSD1680_GPIO_PWR_PORTA || SSD1680_GPIO_PWR_PORTB || SSD1680_GPIO_PWR_PORTC || SSD1680_GPIO_PWR_PORTD |
| config SSD1680_GPIO_PIN_PWR |
| int "Pin that handles the pwr on/off line (output)" |
| range 0 31 |
| endif #SSD1680_GPIO_PWR_PORTA || SSD1680_GPIO_PWR_PORTB || SSD1680_GPIO_PWR_PORTC || SSD1680_GPIO_PWR_PORTD |
| |
| |
| config SSD1680_SPI_BUS |
| int "Spi bus no" |
| range 1 2 |
| default "1" |
| endmenu |
| |
| endif #LCD_SSD1680 |
| |
| endif # ARCH_BOARD_NUCLEO_WL55JC |