summaryrefslogtreecommitdiff
path: root/sys/dev/fdt/dwpcie.c
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2021-06-18 12:12:23 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2021-06-18 12:12:23 +0000
commit684de498d62d3aeb28615cecba99787033be9ed7 (patch)
treead79db11a4c0495a8f595a13bd4859903ef0100d /sys/dev/fdt/dwpcie.c
parentb25fae1d87c13e418b2fcc29384a3a5c25e01858 (diff)
Enable 32-bit I/O addressing. This gets rid of the io address conflict
messages on the HiFive Unmatched. ok patrick@
Diffstat (limited to 'sys/dev/fdt/dwpcie.c')
-rw-r--r--sys/dev/fdt/dwpcie.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/fdt/dwpcie.c b/sys/dev/fdt/dwpcie.c
index 75daa9866c7..55647d2ca7b 100644
--- a/sys/dev/fdt/dwpcie.c
+++ b/sys/dev/fdt/dwpcie.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dwpcie.c,v 1.31 2021/06/14 20:54:04 kettenis Exp $ */
+/* $OpenBSD: dwpcie.c,v 1.32 2021/06/18 12:12:22 kettenis Exp $ */
/*
* Copyright (c) 2018 Mark Kettenis <kettenis@openbsd.org>
*
@@ -478,6 +478,10 @@ dwpcie_attach_deferred(struct device *self)
HWRITE4(sc, PCI_MAPREG_START, PCI_MAPREG_MEM_TYPE_64BIT);
HWRITE4(sc, PCI_MAPREG_START + 4, 0);
+ /* Enable 32-bit I/O addressing. */
+ HSET4(sc, PPB_REG_IOSTATUS,
+ PPB_IO_32BIT | (PPB_IO_32BIT << PPB_IOLIMIT_SHIFT));
+
/* Make sure read-only bits are write-protected. */
HCLR4(sc, MISC_CONTROL_1, MISC_CONTROL_1_DBI_RO_WR_EN);