Module Name:    src
Committed By:   jmcneill
Date:           Sat Nov  5 17:28:55 UTC 2022

Modified Files:
        src/sys/arch/arm/xilinx: zynq7000_clkc.c

Log Message:
Add I2C clocks


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/xilinx/zynq7000_clkc.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/xilinx/zynq7000_clkc.c
diff -u src/sys/arch/arm/xilinx/zynq7000_clkc.c:1.3 src/sys/arch/arm/xilinx/zynq7000_clkc.c:1.4
--- src/sys/arch/arm/xilinx/zynq7000_clkc.c:1.3	Wed Oct 26 22:14:22 2022
+++ src/sys/arch/arm/xilinx/zynq7000_clkc.c	Sat Nov  5 17:28:55 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: zynq7000_clkc.c,v 1.3 2022/10/26 22:14:22 jmcneill Exp $ */
+/* $NetBSD: zynq7000_clkc.c,v 1.4 2022/11/05 17:28:55 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2022 Jared McNeill <jmcne...@invisible.ca>
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(0, "$NetBSD: zynq7000_clkc.c,v 1.3 2022/10/26 22:14:22 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: zynq7000_clkc.c,v 1.4 2022/11/05 17:28:55 jmcneill Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -56,6 +56,8 @@ __KERNEL_RCSID(0, "$NetBSD: zynq7000_clk
 #define	APER_CLK_CTRL	0x12c
 #define	 UART1_CPU_1XCLKACT	__BIT(21)
 #define	 UART0_CPU_1XCLKACT	__BIT(20)
+#define	 I2C1_CPU_1XCLKACT	__BIT(19)
+#define	 I2C0_CPU_1XCLKACT	__BIT(18)
 #define	 SDI1_CPU_1XCLKACT	__BIT(11)
 #define	 SDI0_CPU_1XCLKACT	__BIT(10)
 #define	SDIO_CLK_CTRL	0x150
@@ -246,7 +248,9 @@ zynq7000_clkc_clk_get_rate(void *priv, s
 		   clk == &sc->sc_clk[clkid_uart1]) {
 		return zynq7000_clkc_get_rate_iop(sc, UART_CLK_CTRL);
 	} else if (clk == &sc->sc_clk[clkid_uart0_aper] ||
-		   clk == &sc->sc_clk[clkid_uart1_aper]) {
+		   clk == &sc->sc_clk[clkid_uart1_aper] ||
+		   clk == &sc->sc_clk[clkid_i2c0_aper] ||
+		   clk == &sc->sc_clk[clkid_i2c1_aper]) {
 		return zynq7000_clkc_clk_get_rate(sc,
 		    &sc->sc_clk[clkid_cpu_1x]);
 	} else {
@@ -298,6 +302,12 @@ zynq7000_clkc_clk_enable(void *priv, str
 	} else if (clk == &sc->sc_clk[clkid_uart1_aper]) {
 		reg = APER_CLK_CTRL;
 		mask = UART1_CPU_1XCLKACT;
+	} else if (clk == &sc->sc_clk[clkid_i2c0_aper]) {
+		reg = APER_CLK_CTRL;
+		mask = I2C0_CPU_1XCLKACT;
+	} else if (clk == &sc->sc_clk[clkid_i2c1_aper]) {
+		reg = APER_CLK_CTRL;
+		mask = I2C1_CPU_1XCLKACT;
 	} else {
 		return ENXIO;
 	}

Reply via email to