menuconfig INPUT_SMI230
	tristate "Bosch Sensor SMI230"
	help
	  if you choose this option, a list of SMI230 features will be displayed.

	  If unsure, say N.

choice
	prompt "Select communication interface"
	depends on INPUT_SMI230
	help
	  Note: SPI and I2C are not supported at the same time, that is to say:
	  Choose either SPI or I2C to build the driver.

    config SMI230_SPI
	bool "Enable SPI connection"
	depends on SPI_MASTER
    config SMI230_I2C
	bool "Enable I2C connection"
	depends on I2C
endchoice

if INPUT_SMI230

config SMI230_ACC_DRIVER
	bool "SMI230 ACC driver"
	depends on (I2C || SPI_MASTER) && SYSFS
	help
	 smi230 ACC linux driver

choice
	prompt "Select ACC interrupt source"
	depends on (!SMI230_DATA_SYNC) && SMI230_ACC_DRIVER

    config SMI230_ACC_INT1
	bool "use int1 as source"
	depends on SMI230_ACC_DRIVER
	help
	 This enable INT1 as source for ACC

    config SMI230_ACC_INT2
	bool "use int2 as source"
	depends on SMI230_ACC_DRIVER
	help
	 This enable INT2 as source for ACC
endchoice

config SMI230_GYRO_DRIVER
	bool "SMI230 GYRO driver"
	depends on (I2C || SPI_MASTER) && SYSFS
	help
	 smi230 gyroscope linux driver

choice
	prompt "Select GYRO interrupt source"
	depends on (!SMI230_DATA_SYNC) && SMI230_GYRO_DRIVER

    config SMI230_GYRO_INT3
	bool "use int3 as source"
	depends on SMI230_GYRO_DRIVER
	help
	 This enable INT3 as source for GYRO

    config SMI230_GYRO_INT4
	bool "use int4 as source"
	depends on SMI230_GYRO_DRIVER
	help
	 This enable INT4 as source for GYRO
endchoice

config SMI230_ACC_FIFO
	bool "SMI230 ACC FIFO enable"
	depends on !SMI230_DATA_SYNC && SMI230_ACC_DRIVER
	help
	 enable ACC FIFO feature.

choice
	prompt "Select ACC FIFO interrupt type"
	depends on SMI230_ACC_DRIVER && SMI230_ACC_FIFO

    config SMI230_ACC_FIFO_WM
	bool "use watermark threshhold to generate interrupt"
	depends on SMI230_ACC_FIFO

    config SMI230_ACC_FIFO_FULL
	bool "generate interrupt when FIFO is full"
	depends on SMI230_ACC_FIFO
endchoice

config SMI230_GYRO_FIFO
	bool "SMI230 gyroscope FIFO enable"
	depends on !SMI230_DATA_SYNC && SMI230_GYRO_DRIVER
	help
	 enable GYRO FIFO feature.

choice
	prompt "Select GYRO FIFO interrupt type"
	depends on SMI230_GYRO_DRIVER && SMI230_GYRO_FIFO

    config SMI230_GYRO_FIFO_WM
	bool "use watermark threshhold to generate interrupt"
	depends on SMI230_GYRO_FIFO

    config SMI230_GYRO_FIFO_FULL
	bool "generate interrupt when FIFO is full"
	depends on SMI230_GYRO_FIFO
endchoice

config SMI230_DATA_SYNC
	bool "SMI230 Data sync"
	depends on SMI230_ACC_DRIVER && SMI230_GYRO_DRIVER
	help
	 SMI230 data sync between accel and gyroscope, this feature can only be exclusively enabled in one compile, while it needs its dedicated config file loaded and interupt pins specially configured

config SMI230_BOSCH_DRIVER_LOG_FUNC
	bool "Smart log function support"
	depends on (I2C || SPI_MASTER) && SYSFS
	help
	 If you say yes here, you get support for smart log function in Bosch sensor driver.

config SMI230_MAX_BUFFER_LEN
	int "configue read buffer size"
	default "1024"
	help
	  Considering using FIFO, 1024 bytes are big enough for most cases. Do not change this value if not sure.

config SMI230_DEBUG
	bool "debug option in developing phase"
	help
	 Enable this option for the convinience of debuging

config ENABLE_SMI230_ACC_GYRO_BUFFERING
        bool "Enable accel & gyro  boot time sensor sample buffering"
        depends on INPUT_SMI230
        help
         Say Y here if you want to buffer boot time sensor
         samples for SMI230 accelerometer and gyroscope
endif
