The variation in access size requirements and spacing of registers of
authorkettenis <kettenis@openbsd.org>
Sat, 24 Apr 2021 10:33:09 +0000 (10:33 +0000)
committerkettenis <kettenis@openbsd.org>
Sat, 24 Apr 2021 10:33:09 +0000 (10:33 +0000)
commit56d90311f306c329ca96da8b7b724f963eb0a8a2
treebc52a54e2bfaa09edb64fb95b8b31b04f9edc7da
parent2f95aebd6c71dd3ff47419be5e9654faf67c8899
The variation in access size requirements and spacing of registers of
NS16550 clones is a bit of a mess.  There are FDT properties that describe
these but these proprties are optional for some variants and the default
values depend on the compatible string being used.  Most variants that have
shown up in the ARM world use 32-bit access and spacing.  But true NS16550A
implementations of course use 8-bit access and spacing.  So look at the
compatible strings to set up the appropriate defaults.  Makes the "true"
NS16550A implemented by QEMU work for RISCV targets.

ok jsg@, drahn@
sys/dev/fdt/com_fdt.c