Skip to content

Commit 5087951

Browse files
committed
machine/rp2040: correct issue with spi pin validation
Signed-off-by: deadprogram <[email protected]>
1 parent b4e4528 commit 5087951

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/machine/machine_rp2040_spi.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -181,22 +181,24 @@ func (spi SPI) Configure(config SPIConfig) error {
181181
var okSDI, okSDO, okSCK bool
182182
switch spi.Bus {
183183
case rp.SPI0:
184-
okSDI = config.SDI == 0 || config.SDI == 4 || config.SDI == 17
184+
okSDI = config.SDI == 0 || config.SDI == 4 || config.SDI == 16
185185
okSDO = config.SDO == 3 || config.SDO == 7 || config.SDO == 19
186186
okSCK = config.SCK == 2 || config.SCK == 6 || config.SCK == 18
187187
case rp.SPI1:
188-
okSDI = config.SDI == 8 || config.SDI == 12
189-
okSDO = config.SDO == 11 || config.SDO == 15
190-
okSDO = config.SCK == 10 || config.SCK == 14
188+
okSDI = config.SDI == 8 || config.SDI == 12 || config.SDI == 28
189+
okSDO = config.SDO == 11 || config.SDO == 15 || config.SDO == 27
190+
okSCK = config.SCK == 10 || config.SCK == 14 || config.SCK == 26
191191
}
192192

193-
if !okSDI {
193+
switch {
194+
case !okSDI:
194195
return errSPIInvalidSDI
195-
} else if !okSDO {
196+
case !okSDO:
196197
return errSPIInvalidSDO
197-
} else if !okSCK {
198+
case !okSCK:
198199
return errSPIInvalidSCK
199200
}
201+
200202
if config.DataBits < 4 || config.DataBits > 16 {
201203
config.DataBits = 8
202204
}

0 commit comments

Comments
 (0)