#
# 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:
    BMA253_CLI:
        description: 'Enable shell support for BMA253'
        value: 0
    BMA253_I2C_WDT:
        description: 'Enable I2C watchdog functionality'
        value: 1
    BMA253_INT_ENABLE:
        description: 'Enable interrupt support, necessary for events'
        value: 1
    BMA253_INT_CFG_ACTIVE:
        description: 'Set 0 for active-low, 1 for active-high'
        value: 1
    BMA253_INT_CFG_OUTPUT:
        description: 'Set 0 for push-pull, 1 for open-drain'
        value: 1
    BMA253_INT_PIN_DEVICE:
        description: 'Interrupt pin number 1 or 2 on accelerometer device'
        value: 1
    BMA253_INT2_PIN_DEVICE:
        description: 'Interrupt pin number 1 or 2 on accelerometer device'
        value: 2
    BMA253_INT_PIN_HOST:
        description: 'Interrupt pin number on host device connected to INT1 on device'
        value: 20
    BMA253_INT2_PIN_HOST:
        description: 'Interrupt pin number on host device connected to INT2 on device'
        value: -1
    BMA253_LOG:
        description: 'Enable BMA253 logging'
        value: 0
    BMA253_LOG_MODULE:
        description: 'Numeric module ID to use for BMA253 log messages'
        value: 253
    BMA253_SHELL_DEV_NAME:
        description: 'BMA253 Shell device name'
        value: "\"bma253_0\""
    BMA253_ITF_LOCK_TMO:
        description: 'BMA253 interface lock timeout in milliseconds'
        value: 1000
    BMA253_I2C_RETRIES:
        description: >
            Number of retries to use for failed I2C communication.  A retry is
            used when the BMA253 sends an unexpected NACK.
        value: 2
