#
# USB notify configuration
#

comment "USB Notify features"
config USB_HOST_NOTIFY
	boolean "USB Host notify Driver"
	depends on USB_NOTIFY_LAYER
	help
	  Android framework needs uevents for usb host operation.
	  Host notify Driver serves uevent format
	  that is used by usb host or otg.

config USB_NOTIFY_LAYER
	boolean "USB notify layer"
	depends on USB
	help
	  Added usb notify layer on gadget,host,otg drivers.
          The usb notify layer controls otg mode and vbus draw
          and vbus detect irq.

config USB_NOTIFIER
	boolean "USB notifier"
	depends on USB_NOTIFY_LAYER
	help
	  Added platform driver to call usb notify.
	  The usb_notifier.c can be fixed for each models.

config USB_DEBUG_DETAILED_LOG
	boolean "USB detailed log for debugging"
	depends on USB
	help
	  Add detailed log for debugging.

config USB_STORAGE_DETECT
	boolean "USB storage detect function"
	depends on USB && SCSI
	depends on USB_STORAGE
	help
	  This feature enables to detect inserting or removing
          sd card in sd reader device.
          This must to be defined in /usb/storage/Kconfig 
          directory originally. But this feature is defined
          in this Kconfig to gather samsung feature about usb host.

config USB_HMT_SAMSUNG_INPUT
	boolean "USB HMT inputs for samsung hmt devices"
	depends on HID
	help
	  Some samsung smart phones support gear vr.
          The samsung gear vr need some special hid input codes.
          This feature enables special hid input codes.

config USB_EXTERNAL_NOTIFY
	boolean "USB external notify"
	depends on USB_NOTIFY_LAYER
	help
	  Added usb external notify.
	  The usb external notify broadcast special situation
	  to muic and charger.

config USB_NOTIFY_PROC_LOG
	boolean "USB proc log"
	depends on USB_NOTIFY_LAYER
	depends on USB_HOST_NOTIFY
	help
	  Added proc usblog.
	  The USB STATE, The USB MODE, Cable event 
	  are saved in usblog heap.

config USB_HOST_SAMSUNG_FEATURE
	boolean "USB Host Samsung Feature"
	depends on USB
	help
	  USB Host Samsung Feature.
	  It is different from LSI BSP code.

config USB_HW_PARAM
    	boolean "USB H/W Parameter"
    	depends on USB_NOTIFY_LAYER
    	help
      	  Added USB H/W Parameter for DQA Agent.
          You need more works for USB PDIC driver.

config USB_INTERFACE_LPM_LIST
        boolean "USB interface class lpm Feature"
        depends on USB
        help
          The device needs to support L1 for audio class devices
          But L1 mode has some issues. 
	  So we will apply L1 mode to the device that has specific interface classes