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
 

Reply via email to