| # Kconfig - SPI driver configuration options |
| |
| # |
| # Copyright (c) 2015 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. |
| # |
| |
| # |
| # SPI Drivers |
| # |
| menuconfig SPI |
| bool |
| prompt "SPI hardware bus support" |
| default n |
| help |
| Enable support for the SPI hardware bus. |
| |
| if SPI |
| config SPI_DEBUG |
| bool |
| prompt "SPI drivers debug output" |
| depends on SPI |
| default n |
| help |
| Enable debug output for SPI drivers |
| |
| config SPI_INTEL |
| bool |
| prompt "Intel SPI controller driver" |
| depends on SPI && CPU_MINUTEIA |
| default n |
| help |
| Enable support for Intel's SPI controllers. Such controller |
| was formelly found on XScale chips. It can be found nowadays |
| on CEXXXX Intel media controller and Quark CPU (2 of them). |
| |
| choice |
| depends on SPI_INTEL |
| prompt "Intel SPI interrupt trigger condition" |
| default SPI_INTEL_RISING_EDGE |
| |
| config SPI_INTEL_FALLING_EDGE |
| bool "Falling edge" |
| help |
| "Intel SPI uses falling edge interrupt" |
| |
| config SPI_INTEL_RISING_EDGE |
| bool "Rising edge" |
| help |
| "Intel SPI uses rising edge interrupt" |
| |
| config SPI_INTEL_LEVEL_HIGH |
| bool "Level high" |
| help |
| "Intel SPI uses level high interrupt" |
| |
| config SPI_INTEL_LEVEL_LOW |
| bool "Level low" |
| help |
| "Intel SPI uses level low interrupt" |
| endchoice |
| |
| config SPI_INTEL_VENDOR_ID |
| hex "PCI Vendor ID" |
| depends on SPI_INTEL && PCI |
| default 0x8086 |
| |
| config SPI_INTEL_DEVICE_ID |
| hex "PCI Device ID" |
| depends on SPI_INTEL && PCI |
| default 0x935 |
| |
| config SPI_INTEL_CLASS |
| hex "PCI class" |
| depends on SPI_INTEL && PCI |
| default 0x0C |
| |
| config SPI_INTEL_CS_GPIO |
| bool "SPI port CS pin is controlled via a GPIO port" |
| depends on SPI_INTEL && GPIO |
| default n |
| |
| config SPI_INTEL_INIT_PRIORITY |
| int |
| prompt "Init priority" |
| depends on SPI_INTEL |
| default 60 |
| help |
| Device driver initialization priority. |
| |
| config SPI_INTEL_PORT_0 |
| bool |
| prompt "Intel SPI port 0" |
| depends on SPI_INTEL |
| default n |
| help |
| Enable Intel's SPI controller port 0. |
| |
| config SPI_INTEL_PORT_0_DRV_NAME |
| string |
| prompt "Intel SPI port 0 device name" |
| depends on SPI_INTEL_PORT_0 |
| default "SPI_0" |
| |
| config SPI_INTEL_PORT_0_BUS |
| int "Port 0 PCI Bus" |
| depends on SPI_INTEL_PORT_0 && PCI |
| |
| config SPI_INTEL_PORT_0_DEV |
| int "Port 0 PCI Dev" |
| depends on SPI_INTEL_PORT_0 && PCI |
| |
| config SPI_INTEL_PORT_0_FUNCTION |
| int "Port 0 PCI function" |
| depends on SPI_INTEL_PORT_0 && PCI |
| |
| config SPI_INTEL_PORT_0_REGS |
| hex |
| prompt "Port 0 registers address" |
| depends on SPI_INTEL_PORT_0 |
| |
| config SPI_INTEL_PORT_0_IRQ |
| int |
| prompt "Port 0 interrupt" |
| depends on SPI_INTEL_PORT_0 |
| |
| config SPI_INTEL_PORT_0_PRI |
| int |
| prompt "Port 0 interrupt priority" |
| depends on SPI_INTEL_PORT_0 |
| |
| config SPI_INTEL_PORT_0_CS_GPIO_PORT |
| string |
| prompt "The GPIO port which is used to control CS" |
| depends on SPI_INTEL_PORT_0 && SPI_INTEL_CS_GPIO |
| default GPIO_DW_0_NAME |
| |
| config SPI_INTEL_PORT_0_CS_GPIO_PIN |
| int "The GPIO PIN which is used to act as a CS pin" |
| depends on SPI_INTEL_PORT_0 && SPI_INTEL_CS_GPIO |
| default 0 |
| |
| config SPI_INTEL_PORT_1 |
| bool |
| prompt "Intel SPI port 1" |
| depends on SPI_INTEL |
| default n |
| help |
| Enable Intel's SPI controller port 1. |
| |
| config SPI_INTEL_PORT_1_DRV_NAME |
| string |
| prompt "Intel SPI port 1 device name" |
| depends on SPI_INTEL_PORT_1 |
| default "SPI_1" |
| |
| config SPI_INTEL_PORT_1_BUS |
| int "Port 1 PCI Bus" |
| depends on SPI_INTEL_PORT_1 && PCI |
| |
| config SPI_INTEL_PORT_1_DEV |
| int "Port 1 PCI Dev" |
| depends on SPI_INTEL_PORT_1 && PCI |
| |
| config SPI_INTEL_PORT_1_FUNCTION |
| int "Port 1 PCI function" |
| depends on SPI_INTEL_PORT_1 && PCI |
| |
| config SPI_INTEL_PORT_1_REGS |
| hex |
| prompt "Port 1 registers address" |
| depends on SPI_INTEL_PORT_1 |
| |
| config SPI_INTEL_PORT_1_IRQ |
| int |
| prompt "Port 1 interrupt" |
| depends on SPI_INTEL_PORT_1 |
| |
| config SPI_INTEL_PORT_1_PRI |
| int |
| prompt "Port 0 interrupt priority" |
| depends on SPI_INTEL_PORT_1 |
| |
| config SPI_INTEL_PORT_1_CS_GPIO_PORT |
| string |
| prompt "The GPIO port which is used to control CS" |
| depends on SPI_INTEL_PORT_1 && SPI_INTEL_CS_GPIO |
| default GPIO_DW_0_NAME |
| |
| config SPI_INTEL_PORT_1_CS_GPIO_PIN |
| int "The GPIO PIN which is used to act as a CS pin" |
| depends on SPI_INTEL_PORT_1 && SPI_INTEL_CS_GPIO |
| default 0 |
| |
| config SPI_DW |
| bool |
| prompt "Designware SPI controller driver" |
| depends on SPI |
| default n |
| help |
| Enable support for Designware's SPI controllers. |
| |
| 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 |
| |
| config SPI_QMSI |
| bool "QMSI driver for SPI controller" |
| depends on SPI && QMSI_DRIVERS |
| default n |
| help |
| SPI driver implementation using QMSI library. QMSI is the |
| Quark Microcontroller Software Interface, providing a common |
| interface to the Quark family of microcontrollers. |
| |
| config SPI_QMSI_INIT_PRIORITY |
| int |
| prompt "QMSI driver init priority" |
| depends on SPI_QMSI |
| default 60 |
| help |
| Device driver initialization priority. |
| |
| config SPI_QMSI_PORT_0 |
| bool |
| prompt "QMSI SPI port 0" |
| depends on SPI_QMSI |
| default n |
| help |
| Enable QMSI's SPI controller port 0. |
| |
| config SPI_QMSI_CS_GPIO |
| bool "SPI port CS pin is controlled via a GPIO port" |
| depends on SPI_QMSI && GPIO |
| default n |
| |
| config SPI_QMSI_PORT_0_DRV_NAME |
| string |
| prompt "QMSI SPI port 0 device name" |
| depends on SPI_QMSI_PORT_0 |
| default "SPI_0" |
| |
| config SPI_QMSI_PORT_0_IRQ |
| int |
| prompt "Port 0 interrupt" |
| depends on SPI_QMSI_PORT_0 |
| |
| config SPI_QMSI_PORT_0_PRI |
| int |
| prompt "Port 0 interrupt priority" |
| depends on SPI_QMSI_PORT_0 |
| |
| config SPI_QMSI_PORT_0_CS_GPIO_PORT |
| string |
| prompt "The GPIO port which is used to control CS" |
| depends on SPI_QMSI_PORT_0 && SPI_QMSI_CS_GPIO |
| default GPIO_QMSI_0_NAME |
| |
| config SPI_QMSI_PORT_0_CS_GPIO_PIN |
| int "The GPIO PIN which is used to act as a CS pin" |
| depends on SPI_QMSI_PORT_0 && SPI_QMSI_CS_GPIO |
| default 0 |
| |
| config SPI_QMSI_PORT_1 |
| bool |
| prompt "QMSI SPI port 1" |
| depends on SPI_QMSI |
| default n |
| help |
| Enable QMSI's SPI controller port 1. |
| |
| config SPI_QMSI_PORT_1_DRV_NAME |
| string |
| prompt "QMSI SPI port 1 device name" |
| depends on SPI_QMSI_PORT_1 |
| default "SPI_1" |
| |
| config SPI_QMSI_PORT_1_IRQ |
| int |
| prompt "Port 1 interrupt" |
| depends on SPI_QMSI_PORT_1 |
| |
| config SPI_QMSI_PORT_1_PRI |
| int |
| prompt "Port 0 interrupt priority" |
| depends on SPI_QMSI_PORT_1 |
| |
| config SPI_QMSI_PORT_1_CS_GPIO_PORT |
| string |
| prompt "The GPIO port which is used to control CS" |
| depends on SPI_QMSI_PORT_1 && SPI_QMSI_CS_GPIO |
| default GPIO_QMSI_0_NAME |
| |
| config SPI_QMSI_PORT_1_CS_GPIO_PIN |
| int "The GPIO PIN which is used to act as a CS pin" |
| depends on SPI_QMSI_PORT_1 && SPI_QMSI_CS_GPIO |
| default 0 |
| |
| endif |