svn commit: r231886 - projects/armv6/sys/arm/ti/omap4

Oleksandr Tymoshenko gonzo at FreeBSD.org
Sat Feb 18 00:35:24 UTC 2012


Author: gonzo
Date: Sat Feb 18 00:35:23 2012
New Revision: 231886
URL: http://svn.freebsd.org/changeset/base/231886

Log:
  - Reorder check for clok details to be NULL so they actually work
  - Add I2C timers

Modified:
  projects/armv6/sys/arm/ti/omap4/omap4_prcm_clks.c

Modified: projects/armv6/sys/arm/ti/omap4/omap4_prcm_clks.c
==============================================================================
--- projects/armv6/sys/arm/ti/omap4/omap4_prcm_clks.c	Fri Feb 17 23:47:16 2012	(r231885)
+++ projects/armv6/sys/arm/ti/omap4/omap4_prcm_clks.c	Sat Feb 18 00:35:23 2012	(r231886)
@@ -325,6 +325,12 @@ struct omap_clock_dev omap_clk_devmap[] 
 	/* sDMA */
 	OMAP4_GENERIC_CLOCK_DEV(SDMA_CLK),	
 
+	/* I2C */
+	OMAP4_GENERIC_CLOCK_DEV(I2C1_CLK),
+	OMAP4_GENERIC_CLOCK_DEV(I2C2_CLK),
+	OMAP4_GENERIC_CLOCK_DEV(I2C3_CLK),
+	OMAP4_GENERIC_CLOCK_DEV(I2C4_CLK),
+
 	{  INVALID_CLK_IDENT, NULL, NULL, NULL, NULL }
 };
 
@@ -420,7 +426,17 @@ static struct omap4_clk_details g_omap4_
 	/* sDMA block */
 	OMAP4_GENERIC_CLOCK_DETAILS(SDMA_CLK, -1, CM2_INSTANCE_MEM_REGION,
 		(CORE_CM2_OFFSET + 0x320), CLKCTRL_MODULEMODE_AUTO),
-	
+
+	/* I2C modules */
+	OMAP4_GENERIC_CLOCK_DETAILS(I2C1_CLK, -1, CM2_INSTANCE_MEM_REGION,
+		(L4PER_CM2_OFFSET + 0x0A0), CLKCTRL_MODULEMODE_ENABLE),
+	OMAP4_GENERIC_CLOCK_DETAILS(I2C2_CLK, -1, CM2_INSTANCE_MEM_REGION,
+		(L4PER_CM2_OFFSET + 0x0A8), CLKCTRL_MODULEMODE_ENABLE),
+	OMAP4_GENERIC_CLOCK_DETAILS(I2C3_CLK, -1, CM2_INSTANCE_MEM_REGION,
+		(L4PER_CM2_OFFSET + 0x0B0), CLKCTRL_MODULEMODE_ENABLE),
+	OMAP4_GENERIC_CLOCK_DETAILS(I2C4_CLK, -1, CM2_INSTANCE_MEM_REGION,
+		(L4PER_CM2_OFFSET + 0x0B8), CLKCTRL_MODULEMODE_ENABLE),
+
 	{ INVALID_CLK_IDENT, 0, 0, 0, 0 },
 };
 
@@ -487,11 +503,12 @@ omap4_clk_generic_activate(struct omap_c
 		return ENXIO;
 
 	clk_details = omap4_clk_details(clkdev->id);
-	clk_mem_res = sc->sc_res[clk_details->mem_region];
 
 	if (clk_details == NULL)
 		return (ENXIO);
 
+	clk_mem_res = sc->sc_res[clk_details->mem_region];
+
 	if (clk_mem_res == NULL)
 		return (EINVAL);
 	
@@ -550,11 +567,12 @@ omap4_clk_generic_deactivate(struct omap
 		return ENXIO;
 
 	clk_details = omap4_clk_details(clkdev->id);
-	clk_mem_res = sc->sc_res[clk_details->mem_region];
 
 	if (clk_details == NULL)
 		return (ENXIO);
 
+	clk_mem_res = sc->sc_res[clk_details->mem_region];
+
 	if (clk_mem_res == NULL)
 		return (EINVAL);
 	
@@ -617,10 +635,12 @@ omap4_clk_generic_accessible(struct omap
 		return ENXIO;
 
 	clk_details = omap4_clk_details(clkdev->id);
-	clk_mem_res = sc->sc_res[clk_details->mem_region];
 
 	if (clk_details == NULL)
 		return (ENXIO);
+
+	clk_mem_res = sc->sc_res[clk_details->mem_region];
+
 	if (clk_mem_res == NULL)
 		return (EINVAL);
 	
@@ -691,10 +711,12 @@ omap4_clk_gptimer_set_source(struct omap
 		return ENXIO;
 
 	clk_details = omap4_clk_details(clkdev->id);
-	clk_mem_res = sc->sc_res[clk_details->mem_region];
 
 	if (clk_details == NULL)
 		return (ENXIO);
+
+	clk_mem_res = sc->sc_res[clk_details->mem_region];
+
 	if (clk_mem_res == NULL)
 		return (EINVAL);
 	
@@ -732,10 +754,12 @@ omap4_clk_gptimer_get_source_freq(struct
 		return ENXIO;
 
 	clk_details = omap4_clk_details(clkdev->id);
-	clk_mem_res = sc->sc_res[clk_details->mem_region];
 
 	if (clk_details == NULL)
 		return (ENXIO);
+
+	clk_mem_res = sc->sc_res[clk_details->mem_region];
+
 	if (clk_mem_res == NULL)
 		return (EINVAL);
 	
@@ -778,10 +802,12 @@ omap4_clk_hsmmc_set_source(struct omap_c
 		return ENXIO;
 
 	clk_details = omap4_clk_details(clkdev->id);
-	clk_mem_res = sc->sc_res[clk_details->mem_region];
 
 	if (clk_details == NULL)
 		return (ENXIO);
+
+	clk_mem_res = sc->sc_res[clk_details->mem_region];
+
 	if (clk_mem_res == NULL)
 		return (EINVAL);
 		
@@ -836,10 +862,12 @@ omap4_clk_hsmmc_get_source_freq(struct o
 		return ENXIO;
 
 	clk_details = omap4_clk_details(clkdev->id);
-	clk_mem_res = sc->sc_res[clk_details->mem_region];
 
 	if (clk_details == NULL)
 		return (ENXIO);
+
+	clk_mem_res = sc->sc_res[clk_details->mem_region];
+
 	if (clk_mem_res == NULL)
 		return (EINVAL);
 	


More information about the svn-src-projects mailing list