Boot Linux faster!

Check our new training course

Boot Linux faster!

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

Bootlin logo

Elixir Cross Referencer

# DesignWare GPIO configuration options

# Copyright (c) 2016 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig GPIO_DW
	bool "Designware GPIO"
	select HAS_DTS_GPIO
	help
	  Enable driver for Designware GPIO

if GPIO_DW

config GPIO_DW_SHARED_IRQ
	bool

config GPIO_DW_INIT_PRIORITY
	int "Init priority"
	default 60
	help
	  Device driver initialization priority.

config GPIO_DW_CLOCK_GATE
	bool "Enable clock gating"
	select CLOCK_CONTROL

config GPIO_DW_CLOCK_GATE_DRV_NAME
	string
	depends on GPIO_DW_CLOCK_GATE
	default ""

config GPIO_DW_0
	bool "Designware GPIO block 0"
	help
	  Include Designware GPIO driver

if !HAS_DTS
config GPIO_DW_0_NAME
	string "Driver name"
	depends on GPIO_DW_0
	default "GPIO_0"
endif

config GPIO_DW_0_CLOCK_GATE_SUBSYS
	int "Clock controller's subsystem"
	depends on GPIO_DW_CLOCK_GATE && GPIO_DW_0

choice
	prompt "Port 0 Interrupts via"
	default GPIO_DW_0_IRQ_DIRECT
	depends on GPIO_DW_0

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

config GPIO_DW_0_IRQ_SHARED
	bool "Shared IRQ"
	depends on SHARED_IRQ
	select GPIO_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

if !HAS_DTS
config GPIO_DW_0_IRQ_PRI
	int "Controller interrupt priority"
	depends on GPIO_DW_0 && GPIO_DW_0_IRQ_DIRECT
	help
	  IRQ priority
endif

config GPIO_DW_1
	bool "Designware GPIO block 1"
	help
	  Include Designware GPIO driver

if !HAS_DTS
config GPIO_DW_1_NAME
	string "Driver name"
	depends on GPIO_DW_1
	default "GPIO_1"
endif

config GPIO_DW_1_CLOCK_GATE_SUBSYS
	int "Clock controller's subsystem"
	depends on GPIO_DW_CLOCK_GATE && GPIO_DW_1

choice
	prompt "Port 1 Interrupts via"
	default GPIO_DW_1_IRQ_DIRECT
	depends on GPIO_DW_1

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

config GPIO_DW_1_IRQ_SHARED
	bool "Shared IRQ"
	depends on SHARED_IRQ
	select GPIO_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

if !HAS_DTS
config GPIO_DW_1_IRQ_PRI
	int "Controller interrupt priority"
	depends on GPIO_DW_1 && GPIO_DW_1_IRQ_DIRECT
	help
	  IRQ priority
endif

config GPIO_DW_2
	bool "Designware GPIO block 1"
	help
	  Include Designware GPIO driver

if !HAS_DTS
config GPIO_DW_2_NAME
	string "Driver name"
	depends on GPIO_DW_2
	default "GPIO_2"
endif

config GPIO_DW_2_CLOCK_GATE_SUBSYS
	int "Clock controller's subsystem"
	depends on GPIO_DW_CLOCK_GATE && GPIO_DW_2

choice
	prompt "Port 1 Interrupts via"
	default GPIO_DW_2_IRQ_DIRECT
	depends on GPIO_DW_2

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

config GPIO_DW_2_IRQ_SHARED
	bool "Shared IRQ"
	depends on SHARED_IRQ
	select GPIO_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

if !HAS_DTS
config GPIO_DW_2_IRQ_PRI
	int "Controller interrupt priority"
	depends on GPIO_DW_2 && GPIO_DW_2_IRQ_DIRECT
	help
	  IRQ priority
endif

config GPIO_DW_3
	bool "Designware GPIO block 1"
	help
	  Include Designware GPIO driver

if !HAS_DTS
config GPIO_DW_3_NAME
	string "Driver name"
	depends on GPIO_DW_3
	default "GPIO_3"
endif

config GPIO_DW_3_CLOCK_GATE_SUBSYS
	int "Clock controller's subsystem"
	depends on GPIO_DW_CLOCK_GATE && GPIO_DW_3

choice
	prompt "Port 1 Interrupts via"
	default GPIO_DW_3_IRQ_DIRECT
	depends on GPIO_DW_3

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

config GPIO_DW_3_IRQ_SHARED
	bool "Shared IRQ"
	depends on SHARED_IRQ
	select GPIO_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

if !HAS_DTS
config GPIO_DW_3_IRQ_PRI
	int "Controller interrupt priority"
	depends on GPIO_DW_3 && GPIO_DW_3_IRQ_DIRECT
	help
	  IRQ priority
endif

endif # GPIO_DW