Date: Wed, 22 Feb 2012 22:45:50 +0000 (UTC) From: Damjan Marion <dmarion@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r232012 - projects/armv6/sys/arm/ti/am335x Message-ID: <201202222245.q1MMjoSh072463@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dmarion Date: Wed Feb 22 22:45:49 2012 New Revision: 232012 URL: http://svn.freebsd.org/changeset/base/232012 Log: am335x reset function Approved by: cognet (mentor) Modified: projects/armv6/sys/arm/ti/am335x/am335x_prcm.c Modified: projects/armv6/sys/arm/ti/am335x/am335x_prcm.c ============================================================================== --- projects/armv6/sys/arm/ti/am335x/am335x_prcm.c Wed Feb 22 22:40:20 2012 (r232011) +++ projects/armv6/sys/arm/ti/am335x/am335x_prcm.c Wed Feb 22 22:45:49 2012 (r232012) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include <machine/frame.h> #include <machine/intr.h> +#include <arm/ti/tivar.h> #include <arm/ti/ti_scm.h> #include <arm/ti/ti_prcm.h> @@ -78,6 +79,8 @@ __FBSDID("$FreeBSD$"); #define CLKSEL_TIMER5_CLK (CM_DPLL + 0x018) #define CLKSEL_TIMER6_CLK (CM_DPLL + 0x01C) +#define PRM_DEVICE_OFFSET 0xF00 +#define PRM_RSTCTRL (PRM_DEVICE_OFFSET + 0x00) struct am335x_prcm_softc { struct resource * res[2]; @@ -97,6 +100,7 @@ static int am335x_clk_generic_deactivate static int am335x_clk_generic_set_source(struct ti_clock_dev *clkdev, clk_src_t clksrc); static int am335x_clk_get_sysclk_freq(struct ti_clock_dev *clkdev, unsigned int *freq); static int am335x_clk_get_arm_fclk_freq(struct ti_clock_dev *clkdev, unsigned int *freq); +static void am335x_prcm_reset(void); static int am335x_clk_cpsw_activate(struct ti_clock_dev *clkdev); #define AM335X_GENERIC_CLOCK_DEV(i) \ @@ -220,6 +224,7 @@ am335x_prcm_attach(device_t dev) sc->bsh = rman_get_bushandle(sc->res[0]); am335x_prcm_sc = sc; + ti_cpu_reset = am335x_prcm_reset; am335x_clk_get_sysclk_freq(NULL, &sysclk); am335x_clk_get_arm_fclk_freq(NULL, &fclk); @@ -392,6 +397,12 @@ am335x_clk_get_arm_fclk_freq(struct ti_c return(0); } +static void +am335x_prcm_reset(void) +{ + prcm_write_4(PRM_RSTCTRL, (1<<1)); +} + static int am335x_clk_cpsw_activate(struct ti_clock_dev *clkdev) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202222245.q1MMjoSh072463>