| # Kconfig - I2C configuration options | 
 |  | 
 | # | 
 | # Copyright (c) 2015 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. | 
 | # | 
 |  | 
 | # | 
 | # I2C options | 
 | # | 
 | menuconfig I2C | 
 | 	bool | 
 | 	prompt "I2C Drivers" | 
 | 	default n | 
 | 	help | 
 | 	Enable I2C Driver Configuration | 
 |  | 
 | if I2C | 
 |  | 
 | config I2C_DW | 
 | 	bool "Design Ware I2C support" | 
 | 	depends on I2C | 
 | 	default n | 
 | 	help | 
 | 	Enable Design Ware I2C support on the selected board | 
 |  | 
 | config I2C_QMSI_SS | 
 | 	bool "QMSI I2C driver for the Sensor Subsystem" | 
 | 	depends on I2C && QMSI | 
 | 	default n | 
 | 	help | 
 | 	This option enable the Sensor QMSI I2C driver. | 
 |  | 
 | 	This driver is simply a shim driver based on the I2C driver | 
 | 	provided by the QMSI BSP. | 
 |  | 
 | config I2C_QMSI | 
 | 	bool "QMSI I2C driver" | 
 | 	depends on I2C && QMSI | 
 | 	default n | 
 | 	help | 
 | 	This option enable the QMSI I2C driver. | 
 |  | 
 | 	This driver is simply a shim driver based on the I2C driver | 
 | 	provided by the QMSI BSP. | 
 |  | 
 | config I2C_ATMEL_SAM3 | 
 | 	bool "Atmel SAM3 I2C Driver" | 
 | 	depends on I2C && SOC_ATMEL_SAM3 | 
 | 	default n | 
 | 	help | 
 | 	Enable I2C support on the Atmel SAM3 family processor. | 
 |  | 
 | 	Says y to enable additional options to enable support | 
 | 	for individual controllers. | 
 |  | 
 | config I2C_KSDK | 
 | 	bool "KSDK I2C driver" | 
 | 	depends on I2C && HAS_KSDK | 
 | 	default n | 
 | 	help | 
 | 	Enable the ksdk I2C driver. | 
 |  | 
 | config I2C_INIT_PRIORITY | 
 | 	int | 
 | 	depends on I2C | 
 | 	default 60 | 
 | 	prompt "Init priority" | 
 | 	help | 
 | 	  I2C device driver initialization priority. | 
 |  | 
 | config I2C_CLOCK_SPEED | 
 | 	int "Set the clock speed for I2C" | 
 | 	default 32 | 
 | 	depends on I2C | 
 |  | 
 | config SYS_LOG_I2C_LEVEL | 
 | 	int | 
 | 	prompt "I2C log level" | 
 | 	depends on I2C && SYS_LOG | 
 | 	default 0 | 
 | 	help | 
 | 	Sets log level for I2C connections | 
 |  | 
 | 	Levels are: | 
 |  | 
 | 	- 0 OFF, do not write | 
 |  | 
 | 	- 1 ERROR, only write SYS_LOG_ERR | 
 |  | 
 | 	- 2 WARNING, write SYS_LOG_WRN in adition to previous level | 
 |  | 
 | 	- 3 INFO, write SYS_LOG_INF in adition to previous levels | 
 |  | 
 | 	- 4 DEBUG, write SYS_LOG_DBG in adition to previous levels | 
 |  | 
 | config I2C_SHARED_IRQ | 
 | 	bool | 
 | 	default n | 
 | 	depends on I2C | 
 |  | 
 | choice | 
 | 	prompt "I2C_0 Interrupts via" | 
 | 	default I2C_0_IRQ_DIRECT | 
 | 	depends on I2C_0 | 
 |  | 
 | config I2C_0_IRQ_DIRECT | 
 | 	bool "Direct Hardware Interrupt" | 
 | 	help | 
 | 	  When interrupts fire, the driver's ISR function is being called directly. | 
 |  | 
 | config I2C_0_IRQ_SHARED | 
 | 	bool "Shared IRQ" | 
 | 	depends on SHARED_IRQ | 
 | 	select I2C_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_0_IRQ_SHARED_NAME | 
 | 	string "Device name for Shared IRQ" | 
 | 	depends on I2C_0 && I2C_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_0 | 
 | 	bool "Enable I2C_0" | 
 | 	depends on I2C | 
 | 	default n | 
 |  | 
 | config I2C_0_NAME | 
 | 	string "Select a name for finding the device" | 
 | 	depends on I2C_0 | 
 | 	default "I2C_0" | 
 |  | 
 | config I2C_0_DEFAULT_CFG | 
 | 	hex "I2C default configuration" | 
 | 	depends on I2C_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_0_IRQ_PRI | 
 | 	int "Controller interrupt priority" | 
 | 	depends on I2C_0 && I2C_0_IRQ_DIRECT | 
 | 	help | 
 | 	IRQ priority. | 
 |  | 
 | config I2C_1 | 
 | 	bool "Enable I2C Port 1" | 
 | 	depends on I2C | 
 | 	default n | 
 |  | 
 | config I2C_1_NAME | 
 | 	string "Select a name for finding the device" | 
 | 	default "I2C_1" | 
 | 	depends on I2C_1 | 
 |  | 
 | config I2C_1_DEFAULT_CFG | 
 | 	hex "I2C default configuration" | 
 | 	depends on I2C_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. | 
 |  | 
 | config I2C_1_IRQ_PRI | 
 | 	int "Controller interrupt priority" | 
 | 	depends on I2C_1 && I2C_0_IRQ_DIRECT | 
 | 	help | 
 | 	IRQ priority. | 
 |  | 
 | config I2C_SS_SDA_HOLD | 
 | 	int | 
 | 	depends on I2C_QMSI_SS | 
 | 	help | 
 | 	The hold time on the data signal after a negative edge of i2c clock. | 
 | 	The unit is i2c module base clock. | 
 |  | 
 | config I2C_SDA_SETUP | 
 | 	int | 
 | 	depends on I2C_QMSI || I2C_QMSI_SS | 
 | 	help | 
 | 	The delay time of clock rising edge relative to i2c data signal change. | 
 | 	The unit is i2c module base clock. | 
 |  | 
 | config I2C_SDA_TX_HOLD | 
 | 	int | 
 | 	depends on I2C_QMSI | 
 | 	help | 
 | 	The hold time on the data signal after a negative edge of i2c clock | 
 | 	while i2c acts as transmitter. | 
 | 	The unit is i2c module base clock. | 
 |  | 
 | config I2C_SDA_RX_HOLD | 
 | 	int | 
 | 	depends on I2C_QMSI | 
 | 	help | 
 | 	The hold time on the data signal after a negative edge of i2c clock | 
 | 	while i2c acts as receiver. | 
 | 	The unit is i2c module base clock. | 
 |  | 
 | endif |