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