blob: 1842a63a316a64f7df0185068a39f499377d2cc4 [file] [log] [blame]
Ulf Magnussonbd6e0442019-11-01 13:45:29 +01001# DesignWare SPI driver configuration options
2
Daniel Leunga33aecc2016-03-17 11:21:49 -07003# Copyright (c) 2015-2016 Intel Corporation
David B. Kinderac74d8b2017-01-18 17:01:01 -08004# SPDX-License-Identifier: Apache-2.0
Daniel Leunga33aecc2016-03-17 11:21:49 -07005
Kumar Gala5f09eae2018-11-20 10:56:37 -06006config HAS_SPI_DW
7 bool
8 help
9 Signifies whether DesignWare SPI compatible HW is available
10
Daniel Leunga33aecc2016-03-17 11:21:49 -070011menuconfig SPI_DW
Tomasz Bursztykad89e8e62017-06-21 09:16:25 +020012 bool "Designware SPI controller driver"
Kumar Gala5f09eae2018-11-20 10:56:37 -060013 depends on HAS_SPI_DW
Daniel Leunga33aecc2016-03-17 11:21:49 -070014 help
15 Enable support for Designware's SPI controllers.
16
17if SPI_DW
18
19config SPI_DW_ARC_AUX_REGS
20 bool "Registers are part of ARC auxiliary registers"
Ulf Magnusson8206ed42019-03-07 06:55:22 +010021 depends on ARC
Daniel Leunga33aecc2016-03-17 11:21:49 -070022 default y
23 help
24 SPI IP block registers are part of user extended auxiliary
25 registers and thus their access is different than memory
26 mapped registers.
27
Chuck Jordan7f637af2016-05-18 13:11:35 -070028config SPI_DW_FIFO_DEPTH
David B. Kinder3561c732017-04-24 11:30:10 -070029 int "RX and TX FIFO Depth"
Chuck Jordan7f637af2016-05-18 13:11:35 -070030 help
31 Corresponds to the SSI_TX_FIFO_DEPTH and
David B. Kinder93e4d722017-04-21 10:29:51 -070032 SSI_RX_FIFO_DEPTH of the DesignWare Synchronous
Chuck Jordan7f637af2016-05-18 13:11:35 -070033 Serial Interface. Depth ranges from 2-256.
Daniel Leunga33aecc2016-03-17 11:21:49 -070034
Watson Zeng75a65a02019-09-10 12:00:15 +080035config SPI_DW_ACCESS_WORD_ONLY
36 bool "DesignWare SPI only allows word access"
Watson Zeng75a65a02019-09-10 12:00:15 +080037 depends on SPI_DW
38 help
39 In some case, e.g. ARC HS Development kit, the peripheral space of
40 DesignWare SPI only allows word access, byte access will raise
41 exception.
42
Tomasz Bursztyka423f0092018-02-27 07:31:05 +010043if SPI_0
44
45config SPI_DW_PORT_0_INTERRUPT_SINGLE_LINE
46 bool "Single interrupt line for all interrupts"
47 default y
48 help
49 Only one line is used to trigger interrupts: RX, TX and ERROR
50 interrupt go all through that line, undifferentiated.
51
52config SPI_DW_PORT_0_CLOCK_GATE
53 bool "Enable clock gating"
54 depends on CLOCK_CONTROL
Tomasz Bursztyka423f0092018-02-27 07:31:05 +010055
56if SPI_DW_PORT_0_CLOCK_GATE
57
58config SPI_DW_PORT_0_CLOCK_GATE_DRV_NAME
59 string
Tomasz Bursztyka423f0092018-02-27 07:31:05 +010060
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050061config SPI_DW_PORT_0_CLOCK_GATE_SUBSYS
Daniel Leunga33aecc2016-03-17 11:21:49 -070062 int "Clock controller's subsystem"
Tomasz Bursztyka423f0092018-02-27 07:31:05 +010063
64endif # SPI_DW_PORT_0_CLOCK_GATE
65
66endif # SPI_0
67
68if SPI_1
69
70config SPI_DW_PORT_1_INTERRUPT_SINGLE_LINE
71 bool "Single interrupt line for all interrupts"
72 default y
73
74config SPI_DW_PORT_1_CLOCK_GATE
75 bool "Enable clock gating"
76 depends on CLOCK_CONTROL
Tomasz Bursztyka423f0092018-02-27 07:31:05 +010077
78if SPI_DW_PORT_1_CLOCK_GATE
79
80config SPI_DW_PORT_1_CLOCK_GATE_DRV_NAME
81 string
Daniel Leunga33aecc2016-03-17 11:21:49 -070082
Kumar Gala9ec2f3b2016-05-24 18:17:13 -050083config SPI_DW_PORT_1_CLOCK_GATE_SUBSYS
Daniel Leunga33aecc2016-03-17 11:21:49 -070084 int "Clock controller's subsystem"
Daniel Leunga33aecc2016-03-17 11:21:49 -070085
Tomasz Bursztyka423f0092018-02-27 07:31:05 +010086endif # SPI_DW_PORT_1_CLOCK_GATE
87
88endif # SPI_1
Tomasz Bursztykaa8634942018-02-27 09:25:50 +010089
90if SPI_2
91
92config SPI_DW_PORT_2_INTERRUPT_SINGLE_LINE
93 bool "Single interrupt line for all interrupts"
94 default y
95 help
96 Only one line is used to trigger interrupts: RX, TX and ERROR
97 interrupt go all through that line, undifferentiated.
98
99config SPI_DW_PORT_2_CLOCK_GATE
100 bool "Enable clock gating"
101 depends on CLOCK_CONTROL
Tomasz Bursztykaa8634942018-02-27 09:25:50 +0100102
103if SPI_DW_PORT_2_CLOCK_GATE
104
105config SPI_DW_PORT_2_CLOCK_GATE_DRV_NAME
106 string
107 default ""
108
109config SPI_DW_PORT_2_CLOCK_GATE_SUBSYS
110 int "Clock controller's subsystem"
111
112endif # SPI_DW_PORT_2_CLOCK_GATE
113
114endif # SPI_2
115
116if SPI_3
117
118config SPI_DW_PORT_3_INTERRUPT_SINGLE_LINE
119 bool "Single interrupt line for all interrupts"
120 default y
121 help
122 Only one line is used to trigger interrupts: RX, TX and ERROR
123 interrupt go all through that line, undifferentiated.
124
125config SPI_DW_PORT_3_CLOCK_GATE
126 bool "Enable clock gating"
127 depends on CLOCK_CONTROL
Tomasz Bursztykaa8634942018-02-27 09:25:50 +0100128
129if SPI_DW_PORT_3_CLOCK_GATE
130
131config SPI_DW_PORT_3_CLOCK_GATE_DRV_NAME
132 string
133 default ""
134
135config SPI_DW_PORT_3_CLOCK_GATE_SUBSYS
136 int "Clock controller's subsystem"
137
138endif # SPI_DW_PORT_3_CLOCK_GATE
139
140endif # SPI_3
141
Daniel Leunga33aecc2016-03-17 11:21:49 -0700142endif # SPI_DW