Module Name: src
Committed By: skrll
Date: Fri Feb 16 16:28:50 UTC 2024
Modified Files:
src/sys/arch/arm/broadcom: bcm53xx_board.c files.bcm53xx
src/sys/arch/evbarm/bcm53xx: bcm53xx_machdep.c
src/sys/arch/evbarm/conf: BCM5301X BCM56340
Log Message:
Retire BCM53XX_CONSOLE_EARLY in favour of EARLYCONS
To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/arm/broadcom/bcm53xx_board.c
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/broadcom/files.bcm53xx
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c
cvs rdiff -u -r1.39 -r1.40 src/sys/arch/evbarm/conf/BCM5301X
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/evbarm/conf/BCM56340
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/bcm53xx_board.c
diff -u src/sys/arch/arm/broadcom/bcm53xx_board.c:1.26 src/sys/arch/arm/broadcom/bcm53xx_board.c:1.27
--- src/sys/arch/arm/broadcom/bcm53xx_board.c:1.26 Fri Feb 16 15:11:17 2024
+++ src/sys/arch/arm/broadcom/bcm53xx_board.c Fri Feb 16 16:28:49 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: bcm53xx_board.c,v 1.26 2024/02/16 15:11:17 skrll Exp $ */
+/* $NetBSD: bcm53xx_board.c,v 1.27 2024/02/16 16:28:49 skrll Exp $ */
/*-
* Copyright (c) 2012 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -36,7 +36,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(1, "$NetBSD: bcm53xx_board.c,v 1.26 2024/02/16 15:11:17 skrll Exp $");
+__KERNEL_RCSID(1, "$NetBSD: bcm53xx_board.c,v 1.27 2024/02/16 16:28:49 skrll Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -141,56 +141,6 @@ struct arm32_bus_dma_tag bcm53xx_bounce_
};
#endif
-#ifdef BCM53XX_CONSOLE_EARLY
-#include <dev/ic/ns16550reg.h>
-#include <dev/ic/comreg.h>
-#include <dev/cons.h>
-
-static vaddr_t com_base;
-
-static inline uint32_t
-uart_read(bus_size_t o)
-{
- return *(volatile uint8_t *)(com_base + o);
-}
-
-static inline void
-uart_write(bus_size_t o, uint32_t v)
-{
- *(volatile uint8_t *)(com_base + o) = v;
-}
-
-static int
-bcm53xx_cngetc(dev_t dv)
-{
- if ((uart_read(com_lsr) & LSR_RXRDY) == 0)
- return -1;
-
- return uart_read(com_data) & 0xff;
-}
-
-static void
-bcm53xx_cnputc(dev_t dv, int c)
-{
- int timo = 150000;
-
- while ((uart_read(com_lsr) & LSR_TXRDY) == 0 && --timo > 0)
- ;
-
- uart_write(com_data, c);
-
- timo = 150000;
- while ((uart_read(com_lsr) & LSR_TSRE) == 0 && --timo > 0)
- ;
-}
-
-static struct consdev bcm53xx_earlycons = {
- .cn_putc = bcm53xx_cnputc,
- .cn_getc = bcm53xx_cngetc,
- .cn_pollc = nullcnpollc,
-};
-#endif /* BCM53XX_CONSOLE_EARLY */
-
psize_t
bcm53xx_memprobe(void)
{
@@ -517,11 +467,6 @@ bcm53xx_bootstrap(vaddr_t iobase)
struct bcm53xx_chip_state bcs;
int error;
-#ifdef BCM53XX_CONSOLE_EARLY
- com_base = iobase + CCA_UART0_BASE;
- cn_tab = &bcm53xx_earlycons;
-#endif
-
bcm53xx_ioreg_bsh = (bus_space_handle_t) iobase;
error = bus_space_map(bcm53xx_ioreg_bst, BCM53XX_IOREG_PBASE,
BCM53XX_IOREG_SIZE, 0, &bcm53xx_ioreg_bsh);
Index: src/sys/arch/arm/broadcom/files.bcm53xx
diff -u src/sys/arch/arm/broadcom/files.bcm53xx:1.5 src/sys/arch/arm/broadcom/files.bcm53xx:1.6
--- src/sys/arch/arm/broadcom/files.bcm53xx:1.5 Fri Sep 21 12:04:06 2018
+++ src/sys/arch/arm/broadcom/files.bcm53xx Fri Feb 16 16:28:49 2024
@@ -1,4 +1,4 @@
-# $NetBSD: files.bcm53xx,v 1.5 2018/09/21 12:04:06 skrll Exp $
+# $NetBSD: files.bcm53xx,v 1.6 2024/02/16 16:28:49 skrll Exp $
#
# Configuration info for Broadcom BCM5301X ARM Peripherals
#
@@ -15,7 +15,6 @@ file arch/arm/broadcom/bcm53xx_board.c
file arch/arm/broadcom/bcmgen_space.c
defparam opt_broadcom.h MEMSIZE
-defflag opt_broadcom.h BCM53XX_CONSOLE_EARLY
defflag opt_broadcom.h BCMETH_COUNTERS
defflag opt_broadcom.h BCM563XX
defflag opt_broadcom.h BCM5301X
Index: src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c
diff -u src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c:1.28 src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c:1.29
--- src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c:1.28 Fri Apr 21 15:04:47 2023
+++ src/sys/arch/evbarm/bcm53xx/bcm53xx_machdep.c Fri Feb 16 16:28:49 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: bcm53xx_machdep.c,v 1.28 2023/04/21 15:04:47 skrll Exp $ */
+/* $NetBSD: bcm53xx_machdep.c,v 1.29 2024/02/16 16:28:49 skrll Exp $ */
/*-
* Copyright (c) 2012 The NetBSD Foundation, Inc.
@@ -33,7 +33,7 @@
#define IDM_PRIVATE
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcm53xx_machdep.c,v 1.28 2023/04/21 15:04:47 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm53xx_machdep.c,v 1.29 2024/02/16 16:28:49 skrll Exp $");
#include "opt_arm_debug.h"
#include "opt_console.h"
@@ -114,6 +114,12 @@ int comcnmode = CONMODE | CLOCAL;
#include <sys/kgdb.h>
#endif
+#ifdef VERBOSE_INIT_ARM
+#define VPRINTF(...) printf(__VA_ARGS__)
+#else
+#define VPRINTF(...) __nothing
+#endif
+
static void
earlyconsputc(dev_t dev, int c)
{
@@ -273,9 +279,11 @@ initarm(void *arg)
cn_tab = &earlycons;
+ VPRINTF("devmap\n");
extern char ARM_BOOTSTRAP_LxPT[];
pmap_devmap_bootstrap((vaddr_t)ARM_BOOTSTRAP_LxPT, devmap);
+ VPRINTF("bootstrap\n");
bcm53xx_bootstrap(KERNEL_IO_IOREG_VBASE);
#ifdef MULTIPROCESSOR
@@ -286,7 +294,9 @@ initarm(void *arg)
#endif
cpu_domains((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)) | DOMAIN_CLIENT);
+ VPRINTF("consinit ");
consinit();
+ VPRINTF("ok\n");
bcm53xx_cpu_softc_init(curcpu());
bcm53xx_print_clocks();
@@ -421,3 +431,20 @@ bcm53xx_system_reset(void)
bus_space_write_4(bcm53xx_ioreg_bst, bcm53xx_ioreg_bsh,
MISC_WATCHDOG, 1);
}
+
+void __noasan
+bcm53xx_platform_early_putchar(char c)
+{
+#ifdef CONSADDR
+#define CONSADDR_VA (CONSADDR - BCM53XX_IOREG_PBASE + KERNEL_IO_IOREG_VBASE)
+ volatile uint32_t *uartaddr = cpu_earlydevice_va_p() ?
+ (volatile uint32_t *)CONSADDR_VA :
+ (volatile uint32_t *)CONSADDR;
+
+ while ((le32toh(uartaddr[com_lsr]) & LSR_TXRDY) == 0)
+ ;
+
+ uartaddr[com_data] = htole32(c);
+#endif
+}
+
Index: src/sys/arch/evbarm/conf/BCM5301X
diff -u src/sys/arch/evbarm/conf/BCM5301X:1.39 src/sys/arch/evbarm/conf/BCM5301X:1.40
--- src/sys/arch/evbarm/conf/BCM5301X:1.39 Sun Aug 7 02:52:25 2022
+++ src/sys/arch/evbarm/conf/BCM5301X Fri Feb 16 16:28:50 2024
@@ -1,5 +1,5 @@
#
-# $NetBSD: BCM5301X,v 1.39 2022/08/07 02:52:25 simonb Exp $
+# $NetBSD: BCM5301X,v 1.40 2024/02/16 16:28:50 skrll Exp $
#
# BCM5301X -- Broadcom BCM5301X Eval Board Kernel
#
@@ -20,7 +20,6 @@ options RTC_OFFSET=0 # hardware clock i
#makeoptions DEFCOPTS="-O0"
options UVMHIST
#options UVMHIST_PRINT,A9WDT_PERIOD_DEFAULT=30
-options BCM53XX_CONSOLE_EARLY
options BCMETH_COUNTERS
#options MULTIPROCESSOR
options CPU_CORTEX
@@ -29,6 +28,8 @@ options BCM5301X
#options PMAPCOUNTERS
options BUSDMA_COUNTERS
makeoptions KERNEL_BASE_PHYS="0x80100000"
+#options VERBOSE_INIT_ARM
+options EARLYCONS=bcm53xx,CONSADDR=0x18000300
# Architecture options
Index: src/sys/arch/evbarm/conf/BCM56340
diff -u src/sys/arch/evbarm/conf/BCM56340:1.22 src/sys/arch/evbarm/conf/BCM56340:1.23
--- src/sys/arch/evbarm/conf/BCM56340:1.22 Sun Aug 7 02:52:25 2022
+++ src/sys/arch/evbarm/conf/BCM56340 Fri Feb 16 16:28:50 2024
@@ -1,5 +1,5 @@
#
-# $NetBSD: BCM56340,v 1.22 2022/08/07 02:52:25 simonb Exp $
+# $NetBSD: BCM56340,v 1.23 2024/02/16 16:28:50 skrll Exp $
#
# BCM5301X -- Broadcom BCM5301X Eval Board Kernel
#
@@ -20,7 +20,6 @@ options RTC_OFFSET=0 # hardware clock i
#makeoptions DEFCOPTS="-O0"
options UVMHIST
#options UVMHIST_PRINT,A9WDT_PERIOD_DEFAULT=30
-options BCM53XX_CONSOLE_EARLY
options BCMETH_COUNTERS
#options MULTIPROCESSOR
options CPU_CORTEX
@@ -29,6 +28,8 @@ options BCM563XX
options PMAPCOUNTERS
options BUSDMA_COUNTERS
makeoptions KERNEL_BASE_PHYS="0x60100000"
+#options VERBOSE_INIT_ARM
+options EARLYCONS=bcm53xx,CONSADDR=0x18000300
# Architecture options