#
# 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:
    TCS34725_CLI:
        description: 'Enable shell support for the TCS34725'
        value: 0
    TCS34725_SHELL_ITF_TYPE:
        description: 'TCS34725 interface type - I2C'
        value: 1
    TCS34725_SHELL_ITF_NUM:
        description: 'TCS34725 interface number'
        value: 0
    TCS34725_SHELL_ITF_ADDR:
        description: 'TCS34725 I2C address'
        value : 0x29
    TCS34725_ITF_LOCK_TMO:
        description: 'TCS34725 interface lock timeout in milliseconds'
        value: 1000
    TCS34725_LOG_MODULE:
        description: 'Numeric module ID to use for TCS34725 log messages'
        value: 254
    TCS34725_I2C_RETRIES:
        description: >
            Number of retries to use for failed I2C communication.  A retry is
            used when the TCS34725 sends an unexpected NACK.
        value: 2
