Module Name: src Committed By: jakllsch Date: Thu Dec 13 02:12:16 UTC 2012
Modified Files: src/sys/arch/arm/omap: am335x_prcm.h src/sys/arch/evbarm/beagle: beagle_machdep.c Log Message: software-initiated-reset glue for AM335x on BeagleBone To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/omap/am335x_prcm.h cvs rdiff -u -r1.29 -r1.30 src/sys/arch/evbarm/beagle/beagle_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/omap/am335x_prcm.h diff -u src/sys/arch/arm/omap/am335x_prcm.h:1.1 src/sys/arch/arm/omap/am335x_prcm.h:1.2 --- src/sys/arch/arm/omap/am335x_prcm.h:1.1 Tue Dec 11 18:53:26 2012 +++ src/sys/arch/arm/omap/am335x_prcm.h Thu Dec 13 02:12:15 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: am335x_prcm.h,v 1.1 2012/12/11 18:53:26 riastradh Exp $ */ +/* $NetBSD: am335x_prcm.h,v 1.2 2012/12/13 02:12:15 jakllsch Exp $ */ /* * TI OMAP Power, Reset, and Clock Management on the AM335x @@ -61,4 +61,8 @@ struct omap_module { #define AM335X_PRCM_PRM_GFX 0x1100 #define AM335X_PRCM_PRM_CEFUSE 0x1200 +#define PRM_RSTCTRL 0x00 /* offset from AM335X_PRCM_PRM_DEVICE */ +#define RST_GLOBAL_WARM_SW __BIT(0) +#define RST_GLOBAL_COLD_SW __BIT(1) + #endif /* _ARM_OMAP_AM335X_PRCM_H_ */ Index: src/sys/arch/evbarm/beagle/beagle_machdep.c diff -u src/sys/arch/evbarm/beagle/beagle_machdep.c:1.29 src/sys/arch/evbarm/beagle/beagle_machdep.c:1.30 --- src/sys/arch/evbarm/beagle/beagle_machdep.c:1.29 Thu Dec 13 01:23:16 2012 +++ src/sys/arch/evbarm/beagle/beagle_machdep.c Thu Dec 13 02:12:16 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: beagle_machdep.c,v 1.29 2012/12/13 01:23:16 matt Exp $ */ +/* $NetBSD: beagle_machdep.c,v 1.30 2012/12/13 02:12:16 jakllsch Exp $ */ /* * Machine dependent functions for kernel setup for TI OSK5912 board. @@ -125,7 +125,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: beagle_machdep.c,v 1.29 2012/12/13 01:23:16 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: beagle_machdep.c,v 1.30 2012/12/13 02:12:16 jakllsch Exp $"); #include "opt_machdep.h" #include "opt_ddb.h" @@ -530,6 +530,8 @@ beagle_reset(void) { #if defined(OMAP_4430) *(volatile uint32_t *)(OMAP_L4_CORE_VBASE + (OMAP_L4_WAKEUP_BASE - OMAP_L4_CORE_BASE) + OMAP4_PRM_RSTCTRL) = OMAP4_PRM_RSTCTRL_WARM; +#elif defined(TI_AM335X) + *(volatile uint32_t *)(OMAP_L4_CORE_VBASE + (OMAP2_CM_BASE - OMAP_L4_CORE_BASE) + AM335X_PRCM_PRM_DEVICE + PRM_RSTCTRL) = RST_GLOBAL_WARM_SW; #else #if NPRCM > 0 prcm_cold_reset();