238 lines
6.1 KiB
Plaintext
238 lines
6.1 KiB
Plaintext
|
# Kconfig.dw - DesignWare SPI driver configuration options
|
||
|
#
|
||
|
#
|
||
|
# Copyright (c) 2015-2016 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.
|
||
|
#
|
||
|
|
||
|
menuconfig SPI_DW
|
||
|
bool
|
||
|
prompt "Designware SPI controller driver"
|
||
|
depends on SPI
|
||
|
default n
|
||
|
help
|
||
|
Enable support for Designware's SPI controllers.
|
||
|
|
||
|
if SPI_DW
|
||
|
|
||
|
config SPI_DW_ARC_AUX_REGS
|
||
|
bool "Registers are part of ARC auxiliary registers"
|
||
|
depends on SPI_DW && ARC
|
||
|
default y
|
||
|
help
|
||
|
SPI IP block registers are part of user extended auxiliary
|
||
|
registers and thus their access is different than memory
|
||
|
mapped registers.
|
||
|
|
||
|
config SPI_DW_CS_GPIO
|
||
|
bool "SPI port CS pin is controlled via a GPIO port"
|
||
|
depends on SPI_DW && GPIO
|
||
|
default n
|
||
|
|
||
|
config SPI_DW_INIT_PRIORITY
|
||
|
int "Init priority"
|
||
|
depends on SPI_DW
|
||
|
default 60
|
||
|
help
|
||
|
Device driver initialization priority.
|
||
|
|
||
|
choice
|
||
|
depends on SPI_DW && (IOAPIC || MVIC)
|
||
|
prompt "DesignWare SPI interrupt trigger condition"
|
||
|
default SPI_DW_RISING_EDGE
|
||
|
|
||
|
config SPI_DW_FALLING_EDGE
|
||
|
bool "Falling edge"
|
||
|
help
|
||
|
"DesignWare SPI uses falling edge interrupt"
|
||
|
|
||
|
config SPI_DW_RISING_EDGE
|
||
|
bool "Rising edge"
|
||
|
help
|
||
|
"DesignWare SPI uses rising edge interrupt"
|
||
|
|
||
|
config SPI_DW_LEVEL_HIGH
|
||
|
bool "Level high"
|
||
|
help
|
||
|
"DesignWare SPI uses level high interrupt"
|
||
|
|
||
|
config SPI_DW_LEVEL_LOW
|
||
|
bool "Level low"
|
||
|
help
|
||
|
"DesignWare SPI uses level low interrupt"
|
||
|
endchoice
|
||
|
|
||
|
choice
|
||
|
depends on SPI_DW
|
||
|
prompt "DesignWare SPI interrupt management logic"
|
||
|
default SPI_DW_INTERRUPT_SINGLE_LINE
|
||
|
|
||
|
config SPI_DW_INTERRUPT_SINGLE_LINE
|
||
|
bool "Single interrupt line for all interrupts"
|
||
|
help
|
||
|
Only one line is used to trigger interrupts: RX, TX and ERROR
|
||
|
interrupt go all through that line, undifferentiated.
|
||
|
config SPI_DW_INTERRUPT_SEPARATED_LINES
|
||
|
bool "One line per-interrupt type (RX, TX and ERROR)"
|
||
|
help
|
||
|
Each interrupt gets a dedicated line
|
||
|
endchoice
|
||
|
|
||
|
config SPI_DW_CLOCK_GATE
|
||
|
bool "Enable glock gating"
|
||
|
depends on SPI_DW && SOC_QUARK_SE
|
||
|
select CLOCK_CONTROL
|
||
|
default n
|
||
|
|
||
|
config SPI_DW_CLOCK_GATE_DRV_NAME
|
||
|
string
|
||
|
depends on SPI_DW_CLOCK_GATE
|
||
|
default ""
|
||
|
|
||
|
config SPI_DW_PORT_0
|
||
|
bool
|
||
|
prompt "Designware SPI port 0"
|
||
|
depends on SPI_DW
|
||
|
default n
|
||
|
help
|
||
|
Enable Designware SPI controller port 0.
|
||
|
|
||
|
config SPI_DW_PORT_0_CLOCK_GATE_SUBSYS
|
||
|
int "Clock controller's subsystem"
|
||
|
depends on SPI_DW_CLOCK_GATE
|
||
|
|
||
|
config SPI_DW_PORT_0_CS_GPIO_PORT
|
||
|
string
|
||
|
prompt "The GPIO port which is used to control CS"
|
||
|
depends on SPI_DW_PORT_0 && SPI_DW_CS_GPIO
|
||
|
default GPIO_DW_0_NAME
|
||
|
|
||
|
config SPI_DW_PORT_0_CS_GPIO_PIN
|
||
|
int "The GPIO PIN which is used to act as a CS pin"
|
||
|
depends on SPI_DW_PORT_0 && SPI_DW_CS_GPIO
|
||
|
default 0
|
||
|
|
||
|
config SPI_DW_PORT_0_DRV_NAME
|
||
|
string
|
||
|
prompt "Designware SPI port 0 device name"
|
||
|
depends on SPI_DW_PORT_0
|
||
|
default "SPI_0"
|
||
|
|
||
|
config SPI_DW_PORT_0_REGS
|
||
|
hex
|
||
|
prompt "Port 0 registers address"
|
||
|
depends on SPI_DW_PORT_0
|
||
|
|
||
|
config SPI_DW_PORT_0_IRQ
|
||
|
int "Port 0 interrupt"
|
||
|
depends on SPI_DW_PORT_0 && SPI_DW_INTERRUPT_SINGLE_LINE
|
||
|
help
|
||
|
Interrupt number dedicated to the controller. Valid if only the
|
||
|
controller routes all interrupt through a unique line.
|
||
|
|
||
|
config SPI_DW_PORT_0_ERROR_IRQ
|
||
|
int "Port 0 ERROR Interrupt"
|
||
|
depends on SPI_DW_PORT_0 && SPI_DW_INTERRUPT_SEPARATED_LINES
|
||
|
help
|
||
|
Interrupt number dedicated to the ERROR interrupt only. RX and TX
|
||
|
interrupt numbers need to be set as well.
|
||
|
|
||
|
config SPI_DW_PORT_0_RX_IRQ
|
||
|
int "Port 0 RX Interrupt"
|
||
|
depends on SPI_DW_PORT_0 && SPI_DW_INTERRUPT_SEPARATED_LINES
|
||
|
help
|
||
|
Interrupt number dedicated to the RX interrupt only. TX and ERROR
|
||
|
interrupt numbers need to be set as well.
|
||
|
|
||
|
config SPI_DW_PORT_0_TX_IRQ
|
||
|
int "Port 0 TX Interrupt"
|
||
|
depends on SPI_DW_PORT_0 && SPI_DW_INTERRUPT_SEPARATED_LINES
|
||
|
help
|
||
|
Interrupt number dedicated to the TX interrupt only. RX and ERROR
|
||
|
interrupt numbers need to be set as well.
|
||
|
|
||
|
config SPI_DW_PORT_0_PRI
|
||
|
int
|
||
|
prompt "Port 0 interrupt priority"
|
||
|
depends on SPI_DW_PORT_0
|
||
|
|
||
|
config SPI_DW_PORT_1
|
||
|
bool
|
||
|
prompt "Designware SPI port 1"
|
||
|
depends on SPI_DW
|
||
|
default n
|
||
|
help
|
||
|
Enable Designware SPI controller port 1.
|
||
|
|
||
|
config SPI_DW_PORT_1_CLOCK_GATE_SUBSYS
|
||
|
int "Clock controller's subsystem"
|
||
|
depends on SPI_DW_CLOCK_GATE
|
||
|
|
||
|
config SPI_DW_PORT_1_CS_GPIO_PORT
|
||
|
string
|
||
|
prompt "The GPIO port which is used to control CS"
|
||
|
depends on SPI_DW_PORT_0 && SPI_DW_CS_GPIO
|
||
|
default GPIO_DW_0_NAME
|
||
|
|
||
|
config SPI_DW_PORT_1_CS_GPIO_PIN
|
||
|
int "The GPIO PIN which is used to act as a CS pin"
|
||
|
depends on SPI_DW_PORT_0 && SPI_DW_CS_GPIO
|
||
|
default 0
|
||
|
|
||
|
config SPI_DW_PORT_1_DRV_NAME
|
||
|
string
|
||
|
prompt "Designware SPI port 1 device name"
|
||
|
depends on SPI_DW_PORT_1
|
||
|
default "SPI_1"
|
||
|
|
||
|
config SPI_DW_PORT_1_REGS
|
||
|
hex
|
||
|
prompt "Port 1 registers address"
|
||
|
depends on SPI_DW_PORT_1
|
||
|
|
||
|
config SPI_DW_PORT_1_IRQ
|
||
|
int "Port 1 interrupt"
|
||
|
depends on SPI_DW_PORT_1 && SPI_DW_INTERRUPT_SINGLE_LINE
|
||
|
help
|
||
|
Interrupt number dedicated to the controller. Valid if only the
|
||
|
controller routes all interrupt through a unique line.
|
||
|
|
||
|
config SPI_DW_PORT_1_ERROR_IRQ
|
||
|
int "Port 1 ERROR Interrupt"
|
||
|
depends on SPI_DW_PORT_1 && SPI_DW_INTERRUPT_SEPARATED_LINES
|
||
|
help
|
||
|
Interrupt number dedicated to the ERROR interrupt only. RX and TX
|
||
|
interrupt numbers need to be set as well.
|
||
|
|
||
|
config SPI_DW_PORT_1_RX_IRQ
|
||
|
int "Port 1 RX Interrupt"
|
||
|
depends on SPI_DW_PORT_1 && SPI_DW_INTERRUPT_SEPARATED_LINES
|
||
|
help
|
||
|
Interrupt number dedicated to the RX interrupt only. TX and ERROR
|
||
|
interrupt numbers need to be set as well.
|
||
|
|
||
|
config SPI_DW_PORT_1_TX_IRQ
|
||
|
int "Port 1 TX Interrupt"
|
||
|
depends on SPI_DW_PORT_1 && SPI_DW_INTERRUPT_SEPARATED_LINES
|
||
|
help
|
||
|
Interrupt number dedicated to the TX interrupt only. RX and ERROR
|
||
|
interrupt numbers need to be set as well.
|
||
|
|
||
|
config SPI_DW_PORT_1_PRI
|
||
|
int
|
||
|
prompt "Port 1 interrupt priority"
|
||
|
depends on SPI_DW_PORT_1
|
||
|
|
||
|
endif # SPI_DW
|