|
@@ -0,0 +1,47 @@
|
|
|
+/*
|
|
|
+ * Copyright (C) 2012 Sascha Hauer <kernel@pengutronix.de>
|
|
|
+ *
|
|
|
+ * This program is free software; you can redistribute it and/or
|
|
|
+ * modify it under the terms of the GNU General Public License
|
|
|
+ * as published by the Free Software Foundation; either version 2
|
|
|
+ * of the License, or (at your option) any later version.
|
|
|
+ * This program is distributed in the hope that it will be useful,
|
|
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
+ * GNU General Public License for more details.
|
|
|
+ *
|
|
|
+ * You should have received a copy of the GNU General Public License
|
|
|
+ * along with this program; if not, write to the Free Software
|
|
|
+ * Foundation.
|
|
|
+ */
|
|
|
+
|
|
|
+#include <linux/module.h>
|
|
|
+#include <linux/clk.h>
|
|
|
+#include <linux/clkdev.h>
|
|
|
+#include <linux/io.h>
|
|
|
+#include <linux/err.h>
|
|
|
+#include <linux/of.h>
|
|
|
+
|
|
|
+#include "clk.h"
|
|
|
+#include "common.h"
|
|
|
+#include "crmregs-imx3.h"
|
|
|
+#include "hardware.h"
|
|
|
+#include "mx31.h"
|
|
|
+
|
|
|
+static const char *mcu_main_sel[] = { "spll", "mpll", };
|
|
|
+static const char *per_sel[] = { "per_div", "ipg", };
|
|
|
+static const char *csi_sel[] = { "upll", "spll", };
|
|
|
+static const char *fir_sel[] = { "mcu_main", "upll", "spll" };
|
|
|
+
|
|
|
+enum mx31_clks {
|
|
|
+ ckih, ckil, mpll, spll, upll, mcu_main, hsp, ahb, nfc, ipg, per_div,
|
|
|
+ per, csi, fir, csi_div, usb_div_pre, usb_div_post, fir_div_pre,
|
|
|
+ fir_div_post, sdhc1_gate, sdhc2_gate, gpt_gate, epit1_gate, epit2_gate,
|
|
|
+ iim_gate, ata_gate, sdma_gate, cspi3_gate, rng_gate, uart1_gate,
|
|
|
+ uart2_gate, ssi1_gate, i2c1_gate, i2c2_gate, i2c3_gate, hantro_gate,
|
|
|
+ mstick1_gate, mstick2_gate, csi_gate, rtc_gate, wdog_gate, pwm_gate,
|
|
|
+ sim_gate, ect_gate, usb_gate, kpp_gate, ipu_gate, uart3_gate,
|
|
|
+ uart4_gate, uart5_gate, owire_gate, ssi2_gate, cspi1_gate, cspi2_gate,
|
|
|
+ gacc_gate, emi_gate, rtic_gate, firi_gate, clk_max
|
|
|
+};
|
|
|
+
|