@@ -78,9 +78,9 @@ void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel
78
78
SPIName spi_data = (SPIName )pinmap_merge (spi_mosi , spi_miso );
79
79
SPIName spi_cntl = (SPIName )pinmap_merge (spi_sclk , spi_ssel );
80
80
81
- obj -> module = (SPIName )pinmap_merge (spi_data , spi_cntl );
82
- spi = obj -> spi ;
83
- switch ((int )obj -> module ) {
81
+ obj -> spi . module = (SPIName )pinmap_merge (spi_data , spi_cntl );
82
+ spi = obj -> spi . spi ;
83
+ switch ((int )obj -> spi . module ) {
84
84
case SPI_0 :
85
85
TSB_CG_FSYSENA_IPENA11 = ENABLE ;
86
86
TSB_CG_FSYSENB_IPENB00 = ENABLE ;
@@ -110,7 +110,7 @@ void spi_init(spi_t *obj, PinName mosi, PinName miso, PinName sclk, PinName ssel
110
110
error ("Cannot found SPI module corresponding with input pins." );
111
111
break ;
112
112
}
113
- obj -> spi = spi ;
113
+ obj -> spi . spi = spi ;
114
114
// pin out the SPI pins
115
115
pinmap_pinout (mosi , PinMap_SPI_MOSI );
116
116
pinmap_pinout (miso , PinMap_SPI_MISO );
@@ -148,7 +148,7 @@ void spi_free(spi_t *obj)
148
148
{
149
149
TSB_TSPI_TypeDef * spi ;
150
150
151
- spi = obj -> spi ;
151
+ spi = obj -> spi . spi ;
152
152
spi -> CR0 |= TSPI_DISABLE ;
153
153
spi -> CR2 = TSPI_INT_ALL ; // Disable all interrupt
154
154
}
@@ -157,9 +157,9 @@ void spi_format(spi_t *obj, int bits, int mode, int slave)
157
157
{
158
158
TSB_TSPI_TypeDef * spi ;
159
159
160
- obj -> bits = bits ;
161
- spi = obj -> spi ;
162
- obj -> bits = bits ;
160
+ obj -> spi . bits = bits ;
161
+ spi = obj -> spi . spi ;
162
+ obj -> spi . bits = bits ;
163
163
spi -> CR0 |= TSPI_DISABLE ;
164
164
165
165
if (bits >= 8 || bits <= 32 ) {
@@ -177,7 +177,7 @@ void spi_frequency(spi_t *obj, int hz)
177
177
TSB_TSPI_TypeDef * spi ;
178
178
int clk_div = 1 ;
179
179
uint32_t clocks = ((SystemCoreClock / 2 ) / hz );
180
- obj -> spi -> CR0 |= TSPI_DISABLE ;
180
+ obj -> spi . spi -> CR0 |= TSPI_DISABLE ;
181
181
182
182
while (clk_div < 10 ) {
183
183
if (clocks < 16 ) {
@@ -190,7 +190,7 @@ void spi_frequency(spi_t *obj, int hz)
190
190
if (clk_div == 0 ) {
191
191
clocks ++ ;
192
192
}
193
- spi = obj -> spi ;
193
+ spi = obj -> spi . spi ;
194
194
spi -> CR0 |= TSPI_DISABLE ;
195
195
spi -> BR = ((clk_div << 4 ) | clocks );
196
196
spi -> CR0 |= TSPI_ENABLE ;
@@ -200,7 +200,7 @@ int spi_master_write(spi_t *obj, int value)
200
200
{
201
201
TSB_TSPI_TypeDef * spi ;
202
202
MBED_ASSERT (obj != NULL );
203
- spi = obj -> spi ;
203
+ spi = obj -> spi . spi ;
204
204
spi -> CR3 |= TSPI_TX_BUFF_CLR_DONE ; // FIFO Cear
205
205
// Check if the TSPI is already enabled
206
206
if ((spi -> CR0 & TSPI_ENABLE ) != TSPI_ENABLE ) {
@@ -261,7 +261,7 @@ int spi_busy(spi_t *obj)
261
261
TSB_TSPI_TypeDef * spi ;
262
262
uint8_t result = 0 ;
263
263
264
- spi = obj -> spi ;
264
+ spi = obj -> spi . spi ;
265
265
if ( (spi -> SR & (1 <<7 )) || (spi -> SR & (1 <<23 ))) {
266
266
result = 1 ;
267
267
} else {
@@ -272,7 +272,7 @@ int spi_busy(spi_t *obj)
272
272
273
273
uint8_t spi_get_module (spi_t * obj )
274
274
{
275
- return (uint8_t )(obj -> module );
275
+ return (uint8_t )(obj -> spi . module );
276
276
}
277
277
278
278
const PinMap * spi_master_mosi_pinmap ()
0 commit comments