# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#  http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#

syscfg.defs:
    STM32_FLASH_SIZE_KB:
        description: 'Total flash size in KB.'
        value: 1024

    STM32_FLASH_NUM_AREAS:
        description: 'Number of flash sectors for a non-linear STM32 MCU.'
        value: 12

syscfg.vals:
    REBOOT_LOG_FLASH_AREA: FLASH_AREA_REBOOT_LOG
    CONFIG_FCB_FLASH_AREA: FLASH_AREA_NFFS
    NFFS_FLASH_AREA: FLASH_AREA_NFFS
    COREDUMP_FLASH_AREA: FLASH_AREA_IMAGE_1
    STM32_CLOCK_VOLTAGESCALING_CONFIG: 'PWR_REGULATOR_VOLTAGE_SCALE1'
    STM32_CLOCK_HSI: 0
    STM32_CLOCK_HSE: 1
    STM32_CLOCK_HSE_BYPASS: 0
    STM32_CLOCK_PLL_PLLM: 12
    STM32_CLOCK_PLL_PLLN: 336
    STM32_CLOCK_PLL_PLLP: 2
    STM32_CLOCK_PLL_PLLQ: 7
    STM32_CLOCK_ENABLE_OVERDRIVE: 0
    STM32_CLOCK_AHB_DIVIDER: 'RCC_SYSCLK_DIV1'
    STM32_CLOCK_APB1_DIVIDER: 'RCC_HCLK_DIV4'
    STM32_CLOCK_APB2_DIVIDER: 'RCC_HCLK_DIV2'
    STM32_FLASH_LATENCY: 'FLASH_LATENCY_5'
    STM32_FLASH_PREFETCH_ENABLE: 1
    STM32_INSTRUCTION_CACHE_ENABLE: 1
    STM32_DATA_CACHE_ENABLE: 1
    UART_0_PIN_TX: 'MCU_GPIO_PORTC(6)'
    UART_0_PIN_RX: 'MCU_GPIO_PORTC(7)'
    SPI_0_PIN_SS: 'MCU_GPIO_PORTA(4)'
    SPI_0_PIN_SCK: 'MCU_GPIO_PORTA(5)'
    SPI_0_PIN_MISO: 'MCU_GPIO_PORTA(6)'
    SPI_0_PIN_MOSI: 'MCU_GPIO_PORTA(7)'
    I2C_0_PIN_SCL: 'MCU_GPIO_PORTB(8)'
    I2C_0_PIN_SDA: 'MCU_GPIO_PORTB(9)'
    TIMER_0_TIM: 'TIM9'
