Skip to content

Commit 027d19e

Browse files
committed
AT32F435: Fix RDATA pin deassert when drive is deselected.
This was fixed for 105/415 Goteks long ago in bb7f7f0, however the layout of a GPIO config word is different on 435 and the O_FALSE level specifier was at the incorrect bit offset.
1 parent e912ef4 commit 027d19e

File tree

4 files changed

+4
-2
lines changed

4 files changed

+4
-2
lines changed

inc/mcu/at32f435_regs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,7 @@ struct gpio {
250250
#define GPO_opendrain(speed,level) (0x5u|((speed)<<3)|((level)<<7))
251251
#define AFI(pupd) (0x2u|((pupd)<<5))
252252
#define AFO_pushpull(speed) (0x2u|((speed)<<3))
253+
#define _AFO_pushpull(speed,level) (0x2u|((speed)<<3)|((level)<<7))
253254
#define AFO_opendrain(speed) (0x6u|((speed)<<3))
254255
#define _2MHz 0
255256
#define _10MHz 0

inc/mcu/stm32f105_regs.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ struct gpio {
165165
#define GPO_pushpull(speed,level) (0x0u|(speed)|((level)<<4))
166166
#define GPO_opendrain(speed,level) (0x4u|(speed)|((level)<<4))
167167
#define AFO_pushpull(speed) (0x8u|(speed))
168+
#define _AFO_pushpull(speed,level) (0x8u|(speed)|((level)<<4))
168169
#define AFO_opendrain(speed) (0xcu|(speed))
169170
#define _2MHz 2
170171
#define _10MHz 1

src/floppy.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
#define GPI_bus GPI_floating
1313
#define GPO_bus GPO_pushpull(_2MHz,O_FALSE)
14-
#define AFO_bus (AFO_pushpull(_2MHz) | (O_FALSE<<4))
14+
#define AFO_bus _AFO_pushpull(_2MHz,O_FALSE)
1515

1616
#define GPO_rdata GPO_bus
1717
#define AFO_rdata AFO_bus

src/quickdisk.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
#define GPI_bus GPI_floating
1313
#define GPO_bus GPO_pushpull(_2MHz, HIGH)
1414
#define GPO_rdata GPO_pushpull(_2MHz, LOW)
15-
#define AFO_rdata (AFO_pushpull(_2MHz) | (LOW<<4))
15+
#define AFO_rdata _AFO_pushpull(_2MHz,LOW)
1616

1717
/* READY-window state machine and timer handling. */
1818
static struct window {

0 commit comments

Comments
 (0)