# 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.
#

# Package: hw/bsp/nrf52dk

syscfg.defs:
    MCU_NRF52832:
        description: Shall be set to 1 by BSP if using nRF52832
        value: 0
    MCU_NRF52840:
        description: Shall be set to 1 by BSP if using nRF52840
        value: 0

    MCU_FLASH_MIN_WRITE_SIZE:
        description: >
            Specifies the required alignment for internal flash writes.
            Used internally by the newt tool.
        value: 1

    MCU_DCDC_ENABLED:
        description: >
            Specifies whether or not to enable DC/DC regulator. This requires
            external circuitry so is defined to be zero by default and
            expected to be overridden by the BSP.
        value: 0

# MCU peripherals definitions
    I2C_0:
        description: 'Enable nRF52xxx I2C (TWI) 0'
        value: 0
        restrictions:
            - "!SPI_0_MASTER"
            - "!SPI_0_SLAVE"
    I2C_0_PIN_SCL:
        description: 'SCL pin for I2C_0'
        value: ''
    I2C_0_PIN_SDA:
        description: 'SDA pin for I2C_0'
        value: ''
    I2C_0_FREQ_KHZ:
        description: 'Frequency [kHz] for I2C_0'
        value: 100

    I2C_1:
        description: 'Enable nRF52xxx I2C (TWI) 1'
        value: 0
        restrictions:
            - "!SPI_1_MASTER"
            - "!SPI_1_SLAVE"
    I2C_1_PIN_SCL:
        description: 'SCL pin for I2C_1'
        value: ''
    I2C_1_PIN_SDA:
        description: 'SDA pin for I2C_1'
        value: ''
    I2C_1_FREQ_KHZ:
        description: 'Frequency [kHz] for I2C_1'
        value: 100

    SPI_0_MASTER:
        description: 'Enable nRF52xxx SPI Master 0'
        value: 0
        restrictions:
            - "!SPI_0_SLAVE"
            - "!I2C_0"
    SPI_0_MASTER_PIN_SCK:
        description: 'SCK pin for SPI_0_MASTER'
        value: ''
    SPI_0_MASTER_PIN_MOSI:
        description: 'MOSI pin for SPI_0_MASTER'
        value: ''
    SPI_0_MASTER_PIN_MISO:
        description: 'MISO pin for SPI_0_MASTER'
        value: ''

    SPI_0_SLAVE:
        description: 'Enable nRF52xxx SPI Slave 0'
        value: 0
        restrictions:
            - "!SPI_0_MASTER"
            - "!I2C_0"
    SPI_0_SLAVE_PIN_SCK:
        description: 'SCK pin for SPI_0_SLAVE'
        value: ''
    SPI_0_SLAVE_PIN_MOSI:
        description: 'MOSI pin for SPI_0_SLAVE'
        value: ''
    SPI_0_SLAVE_PIN_MISO:
        description: 'MISO pin for SPI_0_SLAVE'
        value: ''
    SPI_0_SLAVE_PIN_SS:
        description: 'SS pin for SPI_0_SLAVE'
        value: ''

    SPI_1_MASTER:
        description: 'Enable nRF52xxx SPI Master 1'
        value: 0
        restrictions:
            - "!SPI_1_SLAVE"
            - "!I2C_1"
    SPI_1_MASTER_PIN_SCK:
        description: 'SCK pin for SPI_1_MASTER'
        value: ''
    SPI_1_MASTER_PIN_MOSI:
        description: 'MOSI pin for SPI_1_MASTER'
        value: ''
    SPI_1_MASTER_PIN_MISO:
        description: 'MISO pin for SPI_1_MASTER'
        value: ''

    SPI_1_SLAVE:
        description: 'Enable nRF52xxx SPI Slave 1'
        value: 0
        restrictions:
            - "!SPI_1_MASTER"
            - "!I2C_1"
    SPI_1_SLAVE_PIN_SCK:
        description: 'SCK pin for SPI_1_SLAVE'
        value: ''
    SPI_1_SLAVE_PIN_MOSI:
        description: 'MOSI pin for SPI_1_SLAVE'
        value: ''
    SPI_1_SLAVE_PIN_MISO:
        description: 'MISO pin for SPI_1_SLAVE'
        value: ''
    SPI_1_SLAVE_PIN_SS:
        description: 'SS pin for SPI_1_SLAVE'
        value: ''

    SPI_2_MASTER:
        description: 'Enable nRF52xxx SPI Master 2'
        value: 0
        restrictions:
            - "!SPI_2_SLAVE"
            - "MCU_NRF52840"
    SPI_2_MASTER_PIN_SCK:
        description: 'SCK pin for SPI_2_MASTER'
        value: ''
    SPI_2_MASTER_PIN_MOSI:
        description: 'MOSI pin for SPI_2_MASTER'
        value: ''
    SPI_2_MASTER_PIN_MISO:
        description: 'MISO pin for SPI_2_MASTER'
        value: ''

    SPI_2_SLAVE:
        description: 'Enable nRF52xxx SPI Slave 2'
        value: 0
        restrictions:
            - "!SPI_2_MASTER"
            - "MCU_NRF52840"
    SPI_2_SLAVE_PIN_SCK:
        description: 'SCK pin for SPI_2_SLAVE'
        value: ''
    SPI_2_SLAVE_PIN_MOSI:
        description: 'MOSI pin for SPI_2_SLAVE'
        value: ''
    SPI_2_SLAVE_PIN_MISO:
        description: 'MISO pin for SPI_2_SLAVE'
        value: ''
    SPI_2_SLAVE_PIN_SS:
        description: 'SS pin for SPI_2_SLAVE'
        value: ''

    ADC_0:
        description: 'Enable nRF52xxx ADC 0'
        value:  0

    ADC_0_REFMV_0:
        description: 'reference mV in AREF0 if used'
        value: 0

    PWM_0:
        description: 'Enable nRF52xxx PWM 0'
        value: 0
    PWM_1:
        description: 'Enable nRF52xxx PWM 1'
        value: 0
    PWM_2:
        description: 'Enable nRF52xxx PWM 2'
        value: 0
    PWM_3:
        description: 'Enable nRF52xxx PWM 3'
        value: 0
        restrictions:
            - "MCU_NRF52840"

    TRNG:
        description: 'Enable nRF52xxx TRNG'
        value: 0

    UART_0:
        description: 'Enable nRF52xxx UART0'
        value: 1
    UART_0_PIN_TX:
        description: 'TX pin for UART0'
        value: ''
    UART_0_PIN_RX:
        description: 'RX pin for UART0'
        value: ''
    UART_0_PIN_RTS:
        description: 'RTS pin for UART0'
        value: -1
    UART_0_PIN_CTS:
        description: 'CTS pin for UART0'
        value: -1

    UART_1:
        description: 'Enable nRF52xxx UART1'
        value: 0
        restrictions:
            - "MCU_NRF52840"
    UART_1_PIN_TX:
        description: 'TX pin for UART1'
        value: ''
    UART_1_PIN_RX:
        description: 'RX pin for UART1'
        value: ''
    UART_1_PIN_RTS:
        description: 'RTS pin for UART1'
        value: -1
    UART_1_PIN_CTS:
        description: 'CTS pin for UART1'
        value: -1

    TIMER_0:
        description: 'Enable nRF52xxx Timer 0'
        value:  1
    TIMER_1:
        description: 'Enable nRF52xxx Timer 1'
        value:  0
    TIMER_2:
        description: 'Enable nRF52xxx Timer 2'
        value:  0
    TIMER_3:
        description: 'Enable nRF52xxx Timer 3'
        value:  0
    TIMER_4:
        description: 'Enable nRF52xxx Timer 4'
        value:  0
    TIMER_5:
        description: 'Enable nRF52xxx RTC 0'
        value:  0

    QSPI_ENABLE:
        description: 'NRF52 QSPI'
        value: 0

    QSPI_READOC:
        description: >
            QSPI Command to use
            0 - 0x09 Fast Read
            1 - 0x3B Fast Read Dual Output
            2 - 0xBB Fast Read Dual I/O
            3 - 0x6B Fast Read Quad Output
            4 - 0xEB Fast Read Quad I/O
        value: 0
    QSPI_WRITEOC:
        description: >
            QSPI Command to use
            0 - 0x02 Page program
            1 - 0xA2 Page program Dual Data
            2 - 0x32 Page program Quad Data
            3 - 0x38 Page program Quad I/O
        value: 0
    QSPI_ADDRMODE:
        description: 'Address lentgh 0=24 bits, 1=32 bits'
        value: 0
    QSPI_DPMCONFIG:
        description: 'Deep power mode enable'
        value: 0
    QSPI_SCK_DELAY:
        description: >
            Minimum amount of time that the CSN pin must stay high
            before it can go low again. Value is specified in number of 16
            MHz periods (62.5 ns).
        value: 0
    QSPI_SCK_FREQ:
        description: '32MHz clock divider (0-31). Clock = 32MHz / (1+divider)'
        value: 0
    QSPI_SPI_MODE:
        description: 'SPI 0=Mode0 or 1=Mode3'
        value: 0

    QSPI_FLASH_SECTOR_SIZE:
        description: 'QSPI sector size. In most cases it should be 4096.'
        value: 0
    QSPI_FLASH_PAGE_SIZE:
        description: >
            QSPI page size. Writes can only be perfrmed to one page at a time.
            In most cases it should be 256.
        value: 0

    QSPI_FLASH_SECTOR_COUNT:
        description: 'QSPI sector count'
        value: -1
    QSPI_PIN_CS:
        description: 'CS pin for QSPI'
        value: -1
    QSPI_PIN_SCK:
        description: 'SCK pin for QSPI'
        value: -1
    QSPI_PIN_DIO0:
        description: 'DIO0 pin for QSPI'
        value: -1
    QSPI_PIN_DIO1:
        description: 'DIO1 pin for QSPI'
        value: -1
    QSPI_PIN_DIO2:
        description: 'DIO2 pin for QSPI'
        value: -1
    QSPI_PIN_DIO3:
        description: 'DIO3 pin for QSPI'
        value: -1

    NFC_PINS_AS_GPIO:
        description: 'Use NFC pins as GPIOs instead of NFC functionality'
        value: 1

    GPIO_AS_PIN_RESET:
        description: 'Enable pin reset'
        value: 0


# The XTAL_xxx definitions are used to set the clock source used for the low
# frequency clock. It is required that at least one of these sources is
# enabled (the bsp should set one of these clock sources).
    XTAL_32768:
        description: 'External 32k oscillator LF clock source.'
        value: 0
        restrictions:
            - "!XTAL_32768_SYNTH"
            - "!XTAL_RC"

    XTAL_RC:
        description: 'internal RC LF clock source'
        value: 0
        restrictions:
            - "!XTAL_32768_SYNTH"
            - "!XTAL_32768"

    XTAL_32768_SYNTH:
        description: 'Synthesized 32k LF clock source.'
        value: 0
        restrictions:
            - "!XTAL_RC"
            - "!XTAL_32768"

syscfg.restrictions:
    - "MCU_NRF52832 ^^ MCU_NRF52840"
    - "!I2C_0 || (I2C_0_PIN_SCL && I2C_0_PIN_SDA)"
    - "!I2C_1 || (I2C_1_PIN_SCL && I2C_1_PIN_SDA)"
    - "!SPI_0_MASTER || (SPI_0_MASTER_PIN_SCK && SPI_0_MASTER_PIN_MOSI && SPI_0_MASTER_PIN_MISO)"
    - "!SPI_1_MASTER || (SPI_1_MASTER_PIN_SCK && SPI_1_MASTER_PIN_MOSI && SPI_1_MASTER_PIN_MISO)"
    - "!SPI_2_MASTER || (SPI_2_MASTER_PIN_SCK && SPI_2_MASTER_PIN_MOSI && SPI_2_MASTER_PIN_MISO)"
    - "!SPI_0_SLAVE || (SPI_0_SLAVE_PIN_SCK && SPI_0_SLAVE_PIN_MOSI && SPI_0_SLAVE_PIN_MISO && SPI_0_SLAVE_PIN_SS)"
    - "!SPI_1_SLAVE || (SPI_1_SLAVE_PIN_SCK && SPI_1_SLAVE_PIN_MOSI && SPI_1_SLAVE_PIN_MISO && SPI_1_SLAVE_PIN_SS)"
    - "!SPI_2_SLAVE || (SPI_2_SLAVE_PIN_SCK && SPI_2_SLAVE_PIN_MOSI && SPI_2_SLAVE_PIN_MISO && SPI_2_SLAVE_PIN_SS)"
    - "!UART_0 || (UART_0_PIN_TX && UART_0_PIN_RX)"
    - "!UART_1 || (UART_1_PIN_TX && UART_1_PIN_RX)"
