zephyr/drivers/gpio/Kconfig.dw
Ulf Magnusson e65f8ba1f2 kconfig: gpio: Remove lots of redundant GPIO dependencies
Most of these are from source'ing a file within an 'if GPIO', and then
adding another 'depends on GPIO' within it.

'if FOO' is just shorthand for adding 'depends on FOO' to each item
within the 'if'. There are no "conditional includes" in Kconfig, so
'if FOO' has no special meaning around a 'source'. Conditional includes
wouldn't be possible, because an 'if' condition could include (directly
or indirectly) forward references to symbols not defined yet.

Tip: When adding a symbol, check its dependencies in the menuconfig
('ninja menuconfig', then / to jump to the symbol). The menuconfig also
shows how the file with the symbol got included, so if you see
duplicated dependencies, it's easy to hunt down where they come from.

Signed-off-by: Ulf Magnusson <Ulf.Magnusson@nordicsemi.no>
2019-03-07 20:28:04 -05:00

212 lines
4.3 KiB
Plaintext

# Kconfig.dw - 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