Linux preempt-rt

Check our new training course

Real-Time Linux with PREEMPT_RT

Check our new training course
with Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Kconfig.dw - DesignWare I2C configuration options
#
#
# Copyright (c) 2016 Intel Corporation
#
# Licensed 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.
#

menuconfig I2C_DW
        bool "Design Ware I2C support"
	depends on I2C
        default n
	help
	Enable Design Ware I2C support on the selected platform

if I2C_DW

config I2C_DW_SHARED_IRQ
	bool
	default n
	depends on I2C_DW

config I2C_DW_0
        bool "Enable I2C0"
        default n
	depends on I2C_DW

config I2C_DW_0_NAME
        string "Select a name for finding the device"
        depends on I2C_DW_0
        default "I2C0"

choice
	prompt "I2C0 Interrupts via"
	default I2C_DW_0_IRQ_DIRECT
	depends on I2C_DW_0

config I2C_DW_0_IRQ_DIRECT
	bool "Direct Hardware Interrupt"
	help
	  When interrupts fire, the driver's ISR function is being called directly.

config I2C_DW_0_IRQ_SHARED
	bool "Shared IRQ"
	depends on SHARED_IRQ
	select I2C_DW_SHARED_IRQ
	help
	  When interrupts fire, the shared IRQ driver is notified. Then the shared IRQ
	  driver dispatches the interrupt to other drivers.

endchoice

config I2C_DW_0_IRQ_SHARED_NAME
	string "Device name for Shared IRQ"
	depends on I2C_DW_0 && I2C_DW_0_IRQ_SHARED
	help
	  Specify the device name for the shared IRQ driver. It is used to register
	  this driver with the shared IRQ driver, so interrupts can be dispatched
	  correctly.

config I2C_DW_0_IRQ_PRI
        int "Controller interrupt priority"
        depends on I2C_DW_0 && I2C_DW_0_IRQ_DIRECT
        help
        IRQ priority

config I2C_DW_0_DEFAULT_CFG
	hex "I2C default configuration"
        depends on I2C_DW_0
        default 0x0
        help
        Allows the I2C port to be brought up with a default configuration.
        This is useful to set if other drivers depend upon using the I2C bus
        before the application has a chance to custom configure the port.
        Setting this value does not prohibit the application from customizing
        the values later.  Refer to the I2C datasheet for proper values.

config I2C_DW_1
        bool "Enable I2C1"
        default n
	depends on I2C_DW

config I2C_DW_1_NAME
        string "Select a name for finding the device"
        depends on I2C_DW_1
        default "I2C1"

config I2C_DW_1_IRQ_PRI
        int "Controller interrupt priority"
        depends on I2C_DW_1
        help
        IRQ priority

config I2C_DW_1_DEFAULT_CFG
	hex "I2C default configuration"
        depends on I2C_DW_1
        default 0x0
        help
        Allows the I2C port to be brought up with a default configuration.
        This is useful to set if other drivers depend upon using the I2C bus
        before the application has a chance to custom configure the port.
        Setting this value does not prohibit the application from customizing
        the values later.  Refer to the I2C datasheet for proper values.

endif # I2C_DW