Module Name: src Committed By: jmcneill Date: Fri Jun 2 00:16:28 UTC 2017
Modified Files: src/sys/arch/arm/fdt: arm_fdtvar.h src/sys/arch/arm/nvidia: tegra_platform.c tegra_timer.c tegra_var.h src/sys/arch/evbarm/fdt: fdt_machdep.c Log Message: FDT-ize "delay" by having fdt_machdep provide the delay() function and move the implementations into the platform code. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/fdt/arm_fdtvar.h cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/nvidia/tegra_platform.c cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/nvidia/tegra_timer.c cvs rdiff -u -r1.37 -r1.38 src/sys/arch/arm/nvidia/tegra_var.h cvs rdiff -u -r1.2 -r1.3 src/sys/arch/evbarm/fdt/fdt_machdep.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/fdt/arm_fdtvar.h diff -u src/sys/arch/arm/fdt/arm_fdtvar.h:1.3 src/sys/arch/arm/fdt/arm_fdtvar.h:1.4 --- src/sys/arch/arm/fdt/arm_fdtvar.h:1.3 Tue May 30 22:00:25 2017 +++ src/sys/arch/arm/fdt/arm_fdtvar.h Fri Jun 2 00:16:27 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: arm_fdtvar.h,v 1.3 2017/05/30 22:00:25 jmcneill Exp $ */ +/* $NetBSD: arm_fdtvar.h,v 1.4 2017/06/02 00:16:27 jmcneill Exp $ */ /*- * Copyright (c) 2017 Jared D. McNeill <jmcne...@invisible.ca> @@ -42,6 +42,7 @@ struct arm_platform { void (*early_putchar)(char); void (*device_register)(device_t, void *); void (*reset)(void); + void (*delay)(u_int); }; struct arm_platform_info { Index: src/sys/arch/arm/nvidia/tegra_platform.c diff -u src/sys/arch/arm/nvidia/tegra_platform.c:1.4 src/sys/arch/arm/nvidia/tegra_platform.c:1.5 --- src/sys/arch/arm/nvidia/tegra_platform.c:1.4 Tue May 30 22:55:26 2017 +++ src/sys/arch/arm/nvidia/tegra_platform.c Fri Jun 2 00:16:27 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: tegra_platform.c,v 1.4 2017/05/30 22:55:26 jmcneill Exp $ */ +/* $NetBSD: tegra_platform.c,v 1.5 2017/06/02 00:16:27 jmcneill Exp $ */ /*- * Copyright (c) 2017 Jared D. McNeill <jmcne...@invisible.ca> @@ -33,7 +33,7 @@ #include "ukbd.h" #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: tegra_platform.c,v 1.4 2017/05/30 22:55:26 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tegra_platform.c,v 1.5 2017/06/02 00:16:27 jmcneill Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -182,6 +182,12 @@ tegra_platform_reset(void) tegra_pmc_reset(); } +static void +tegra_platform_delay(u_int us) +{ + tegra_timer_delay(us); +} + static const struct arm_platform tegra_platform = { .devmap = tegra_platform_devmap, .bootstrap = tegra_platform_bootstrap, @@ -189,6 +195,7 @@ static const struct arm_platform tegra_p .early_putchar = tegra_platform_early_putchar, .device_register = tegra_platform_device_register, .reset = tegra_platform_reset, + .delay = tegra_platform_delay, }; ARM_PLATFORM(tegra124, "nvidia,tegra124", &tegra_platform); Index: src/sys/arch/arm/nvidia/tegra_timer.c diff -u src/sys/arch/arm/nvidia/tegra_timer.c:1.6 src/sys/arch/arm/nvidia/tegra_timer.c:1.7 --- src/sys/arch/arm/nvidia/tegra_timer.c:1.6 Thu May 25 23:54:45 2017 +++ src/sys/arch/arm/nvidia/tegra_timer.c Fri Jun 2 00:16:27 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: tegra_timer.c,v 1.6 2017/05/25 23:54:45 jmcneill Exp $ */ +/* $NetBSD: tegra_timer.c,v 1.7 2017/06/02 00:16:27 jmcneill Exp $ */ /*- * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca> @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: tegra_timer.c,v 1.6 2017/05/25 23:54:45 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tegra_timer.c,v 1.7 2017/06/02 00:16:27 jmcneill Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -161,7 +161,7 @@ tegra_timer_wdt_tickle(struct sysmon_wdo } void -delay(u_int us) +tegra_timer_delay(u_int us) { static bool timerus_configured = false; bus_space_tag_t bst = &armv7_generic_bs_tag; Index: src/sys/arch/arm/nvidia/tegra_var.h diff -u src/sys/arch/arm/nvidia/tegra_var.h:1.37 src/sys/arch/arm/nvidia/tegra_var.h:1.38 --- src/sys/arch/arm/nvidia/tegra_var.h:1.37 Sun May 28 00:40:20 2017 +++ src/sys/arch/arm/nvidia/tegra_var.h Fri Jun 2 00:16:27 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: tegra_var.h,v 1.37 2017/05/28 00:40:20 jmcneill Exp $ */ +/* $NetBSD: tegra_var.h,v 1.38 2017/06/02 00:16:27 jmcneill Exp $ */ /*- * Copyright (c) 2015 Jared D. McNeill <jmcne...@invisible.ca> @@ -85,6 +85,8 @@ void tegra_pmc_hdmi_enable(void); uint32_t tegra_fuse_read(u_int); +void tegra_timer_delay(u_int); + void tegra_xusbpad_sata_enable(void); void tegra_xusbpad_xhci_enable(void); Index: src/sys/arch/evbarm/fdt/fdt_machdep.c diff -u src/sys/arch/evbarm/fdt/fdt_machdep.c:1.2 src/sys/arch/evbarm/fdt/fdt_machdep.c:1.3 --- src/sys/arch/evbarm/fdt/fdt_machdep.c:1.2 Tue May 30 22:55:27 2017 +++ src/sys/arch/evbarm/fdt/fdt_machdep.c Fri Jun 2 00:16:28 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: fdt_machdep.c,v 1.2 2017/05/30 22:55:27 jmcneill Exp $ */ +/* $NetBSD: fdt_machdep.c,v 1.3 2017/06/02 00:16:28 jmcneill Exp $ */ /*- * Copyright (c) 2015-2017 Jared McNeill <jmcne...@invisible.ca> @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: fdt_machdep.c,v 1.2 2017/05/30 22:55:27 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fdt_machdep.c,v 1.3 2017/06/02 00:16:28 jmcneill Exp $"); #include "opt_machdep.h" #include "opt_ddb.h" @@ -284,6 +284,14 @@ consinit(void) initialized = true; } +void +delay(u_int us) +{ + const struct arm_platform *plat = arm_fdt_platform(); + + plat->delay(us); +} + static void fdt_device_register(device_t self, void *aux) {