1config RT_USING_I2C
2    bool "Using I2C device drivers"
3    default n
4
5if RT_USING_I2C
6    config RT_I2C_DEBUG
7        bool "Use I2C debug message"
8        default n
9
10    config RT_USING_I2C_BITOPS
11        bool "Use GPIO to simulate I2C"
12        default y
13
14    if RT_USING_I2C_BITOPS
15        config RT_I2C_BITOPS_DEBUG
16            bool "Use simulate I2C debug message"
17            default n
18    endif
19
20    menuconfig RT_USING_SOFT_I2C
21        bool "Use GPIO to soft simulate I2C"
22        default n
23        select RT_USING_PIN
24        select RT_USING_I2C_BITOPS
25        if RT_USING_SOFT_I2C
26            menuconfig RT_USING_SOFT_I2C0
27                bool "Enable I2C0 Bus (software simulation)"
28                default y
29                if RT_USING_SOFT_I2C0
30                    config RT_SOFT_I2C0_SCL_PIN
31                        int "SCL pin number"
32                        range 0 32767
33                        default 1
34                    config RT_SOFT_I2C0_SDA_PIN
35                        int "SDA pin number"
36                        range 0 32767
37                        default 2
38                    config RT_SOFT_I2C0_BUS_NAME
39                        string "Bus name"
40                        default "i2c0"
41                    config RT_SOFT_I2C0_TIMING_DELAY
42                        int "Timing delay (us)"
43                        range 0 32767
44                        default 10
45                    config RT_SOFT_I2C0_TIMING_TIMEOUT
46                        int "Timing timeout (tick)"
47                        range 0 32767
48                        default 10
49                endif
50            menuconfig RT_USING_SOFT_I2C1
51                bool "Enable I2C1 Bus (software simulation)"
52                default y
53                if RT_USING_SOFT_I2C1
54                    config RT_SOFT_I2C1_SCL_PIN
55                        int "SCL pin number"
56                        range 0 32767
57                        default 3
58                    config RT_SOFT_I2C1_SDA_PIN
59                        int "SDA pin number"
60                        range 0 32767
61                        default 4
62                    config RT_SOFT_I2C1_BUS_NAME
63                        string "Bus name"
64                        default "i2c1"
65                    config RT_SOFT_I2C1_TIMING_DELAY
66                        int "Timing delay (us)"
67                        range 0 32767
68                        default 10
69                    config RT_SOFT_I2C1_TIMING_TIMEOUT
70                        int "Timing timeout (tick)"
71                        range 0 32767
72                        default 10
73                endif
74            menuconfig RT_USING_SOFT_I2C2
75                bool "Enable I2C2 Bus (software simulation)"
76                default n
77                if RT_USING_SOFT_I2C2
78                    config RT_SOFT_I2C2_SCL_PIN
79                        int "SCL pin number"
80                        range 0 32767
81                        default 5
82                    config RT_SOFT_I2C2_SDA_PIN
83                        int "SDA pin number"
84                        range 0 32767
85                        default 6
86                    config RT_SOFT_I2C2_BUS_NAME
87                        string "Bus name"
88                        default "i2c2"
89                    config RT_SOFT_I2C2_TIMING_DELAY
90                        int "Timing delay (us)"
91                        range 0 32767
92                        default 10
93                    config RT_SOFT_I2C2_TIMING_TIMEOUT
94                        int "Timing timeout (tick)"
95                        range 0 32767
96                        default 10
97                endif
98            menuconfig RT_USING_SOFT_I2C3
99                bool "Enable I2C3 Bus (software simulation)"
100                default n
101                if RT_USING_SOFT_I2C3
102                    config RT_SOFT_I2C3_SCL_PIN
103                        int "SCL pin number"
104                        range 0 32767
105                        default 7
106                    config RT_SOFT_I2C3_SDA_PIN
107                        int "SDA pin number"
108                        range 0 32767
109                        default 8
110                    config RT_SOFT_I2C3_BUS_NAME
111                        string "Bus name"
112                        default "i2c3"
113                    config RT_SOFT_I2C3_TIMING_DELAY
114                        int "Timing delay (us)"
115                        range 0 32767
116                        default 10
117                    config RT_SOFT_I2C3_TIMING_TIMEOUT
118                        int "Timing timeout (tick)"
119                        range 0 32767
120                        default 10
121                endif
122            menuconfig RT_USING_SOFT_I2C4
123                bool "Enable I2C4 Bus (software simulation)"
124                default n
125                if RT_USING_SOFT_I2C4
126                    config RT_SOFT_I2C4_SCL_PIN
127                        int "SCL pin number"
128                        range 0 32767
129                        default 9
130                    config RT_SOFT_I2C4_SDA_PIN
131                        int "SDA pin number"
132                        range 0 32767
133                        default 10
134                    config RT_SOFT_I2C4_BUS_NAME
135                        string "Bus name"
136                        default "i2c4"
137                    config RT_SOFT_I2C4_TIMING_DELAY
138                        int "Timing delay (us)"
139                        range 0 32767
140                        default 10
141                    config RT_SOFT_I2C4_TIMING_TIMEOUT
142                        int "Timing timeout (tick)"
143                        range 0 32767
144                        default 10
145                endif
146            menuconfig RT_USING_SOFT_I2C5
147                bool "Enable I2C5 Bus (software simulation)"
148                default n
149                if RT_USING_SOFT_I2C5
150                    config RT_SOFT_I2C5_SCL_PIN
151                        int "SCL pin number"
152                        range 0 32767
153                        default 11
154                    config RT_SOFT_I2C5_SDA_PIN
155                        int "SDA pin number"
156                        range 0 32767
157                        default 12
158                    config RT_SOFT_I2C5_BUS_NAME
159                        string "Bus name"
160                        default "i2c5"
161                    config RT_SOFT_I2C5_TIMING_DELAY
162                        int "Timing delay (us)"
163                        range 0 32767
164                        default 10
165                    config RT_SOFT_I2C5_TIMING_TIMEOUT
166                        int "Timing timeout (tick)"
167                        range 0 32767
168                        default 10
169                endif
170            menuconfig RT_USING_SOFT_I2C6
171                bool "Enable I2C6 Bus (software simulation)"
172                default n
173                if RT_USING_SOFT_I2C6
174                    config RT_SOFT_I2C6_SCL_PIN
175                        int "SCL pin number"
176                        range 0 32767
177                        default 13
178                    config RT_SOFT_I2C6_SDA_PIN
179                        int "SDA pin number"
180                        range 0 32767
181                        default 14
182                    config RT_SOFT_I2C6_BUS_NAME
183                        string "Bus name"
184                        default "i2c6"
185                    config RT_SOFT_I2C6_TIMING_DELAY
186                        int "Timing delay (us)"
187                        range 0 32767
188                        default 10
189                    config RT_SOFT_I2C6_TIMING_TIMEOUT
190                        int "Timing timeout (tick)"
191                        range 0 32767
192                        default 10
193                endif
194            menuconfig RT_USING_SOFT_I2C7
195                bool "Enable I2C7 Bus (software simulation)"
196                default n
197                if RT_USING_SOFT_I2C7
198                    config RT_SOFT_I2C7_SCL_PIN
199                        int "SCL pin number"
200                        range 0 32767
201                        default 15
202                    config RT_SOFT_I2C7_SDA_PIN
203                        int "SDA pin number"
204                        range 0 32767
205                        default 16
206                    config RT_SOFT_I2C7_BUS_NAME
207                        string "Bus name"
208                        default "i2c7"
209                    config RT_SOFT_I2C7_TIMING_DELAY
210                        int "Timing delay (us)"
211                        range 0 32767
212                        default 10
213                    config RT_SOFT_I2C7_TIMING_TIMEOUT
214                        int "Timing timeout (tick)"
215                        range 0 32767
216                        default 10
217                endif
218            menuconfig RT_USING_SOFT_I2C8
219                bool "Enable I2C8 Bus (software simulation)"
220                default n
221                if RT_USING_SOFT_I2C8
222                    config RT_SOFT_I2C8_SCL_PIN
223                        int "SCL pin number"
224                        range 0 32767
225                        default 17
226                    config RT_SOFT_I2C8_SDA_PIN
227                        int "SDA pin number"
228                        range 0 32767
229                        default 18
230                    config RT_SOFT_I2C8_BUS_NAME
231                        string "Bus name"
232                        default "i2c8"
233                    config RT_SOFT_I2C8_TIMING_DELAY
234                        int "Timing delay (us)"
235                        range 0 32767
236                        default 10
237                    config RT_SOFT_I2C8_TIMING_TIMEOUT
238                        int "Timing timeout (tick)"
239                        range 0 32767
240                        default 10
241                endif
242        endif
243endif
244