Devicetree + driver model for FMC memory-mapped 74HC574 latch outputs (GPIO expander?) on STM32F429 board #105072
Replies: 4 comments
|
Hi @gautierg-st — sorry to ping. I want to upstream a custom STM32F429 board. It uses 4x 74HC574 latches driven via FMC (D0..D31) with address-decode generating the latch clock. From software it’s a write-only MMIO latch port at 0x64001000 (no readback), so I modeled it as an MMIO-backed gpio-controller with a software shadow. Could you advise if this MMIO write-only + shadow GPIO model is acceptable upstream (vs. latch-style |
I would go for something generic, similar to https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/gpio/gpio-mmio.yaml but likely using a more generic compatible string than what is used in the Linux kernel devicetree binding (e.g. "gpio-mmio" or something along those lines). |

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi, I’m working on upstreaming a custom STM32F429 board (Armfly STM32F429BIT6).
I’d like advice on the most upstream-friendly devicetree + driver model for this.
Current DT model (GPIO controller backed by MMIO write)
Driver behavior
port_get_raw().Questions
Is this MMIO + write-only + software shadow GPIO controller model acceptable upstream?
*-gpios(e.g.latch-gpios,oe-gpios,data-gpios) even though those signals are not exposed as discrete GPIOs in this design?If MMIO is acceptable, is there an existing upstream binding/driver pattern I should align with (for example extending an existing
gpio-mmiostyle driver to support write-only), or is a dedicateddrivers/gpiodriver OK?Where should the binding and driver live for upstream?
dts/bindings/gpio/drivers/gpio/compatiblenaming: should this be vendor-specific (armfly,...) or something more generic given it's a 74HC574-based latch behind FMC glue logic?All reactions