Module Name: src Committed By: rin Date: Tue Dec 1 04:16:18 UTC 2020
Modified Files: src/sys/arch/arm/broadcom: bcm283x_platform.c Log Message: Data written to and read from bcm283x UART registers should be in little-endian. To generate a diff of this commit: cvs rdiff -u -r1.44 -r1.45 src/sys/arch/arm/broadcom/bcm283x_platform.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/arm/broadcom/bcm283x_platform.c diff -u src/sys/arch/arm/broadcom/bcm283x_platform.c:1.44 src/sys/arch/arm/broadcom/bcm283x_platform.c:1.45 --- src/sys/arch/arm/broadcom/bcm283x_platform.c:1.44 Tue Dec 1 04:14:31 2020 +++ src/sys/arch/arm/broadcom/bcm283x_platform.c Tue Dec 1 04:16:18 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: bcm283x_platform.c,v 1.44 2020/12/01 04:14:31 rin Exp $ */ +/* $NetBSD: bcm283x_platform.c,v 1.45 2020/12/01 04:16:18 rin Exp $ */ /*- * Copyright (c) 2017 Jared D. McNeill <jmcne...@invisible.ca> @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: bcm283x_platform.c,v 1.44 2020/12/01 04:14:31 rin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bcm283x_platform.c,v 1.45 2020/12/01 04:16:18 rin Exp $"); #include "opt_arm_debug.h" #include "opt_bcm283x.h" @@ -1347,12 +1347,12 @@ bcm283x_platform_early_putchar(vaddr_t v (volatile uint32_t *)va : (volatile uint32_t *)pa; - while ((uartaddr[PL01XCOM_FR / 4] & PL01X_FR_TXFF) != 0) + while ((le32toh(uartaddr[PL01XCOM_FR / 4]) & PL01X_FR_TXFF) != 0) continue; - uartaddr[PL01XCOM_DR / 4] = c; + uartaddr[PL01XCOM_DR / 4] = htole32(c); - while ((uartaddr[PL01XCOM_FR / 4] & PL01X_FR_TXFE) == 0) + while ((le32toh(uartaddr[PL01XCOM_FR / 4]) & PL01X_FR_TXFE) == 0) continue; } @@ -1364,10 +1364,10 @@ bcm283x_aux_platform_early_putchar(vaddr (volatile uint32_t *)va : (volatile uint32_t *)pa; - while ((uartaddr[com_lsr] & LSR_TXRDY) == 0) + while ((le32toh(uartaddr[com_lsr]) & LSR_TXRDY) == 0) continue; - uartaddr[com_data] = c; + uartaddr[com_data] = htole32(c); } void __noasan