summaryrefslogtreecommitdiff
path: root/src/soc/marvell/mvmap2315/clock.c
diff options
context:
space:
mode:
authorHakim Giydan <hgiydan@marvell.com>2016-09-08 10:20:23 -0700
committerMartin Roth <martinroth@google.com>2016-09-13 16:55:53 +0200
commit449368c2f08387923575b802cc40d0538d636439 (patch)
treee65404c8786794f650fb68ea54be03bee3e36724 /src/soc/marvell/mvmap2315/clock.c
parent4f2754c7201ef09b1619cc8c2ae9399616374214 (diff)
soc/marvell: Add stub implementation of MVMAP2315 SOC
Most things still need to be filled in, but this will allow us to build boards which use this SOC. Nvidia Tegra210 SOC and Rochchip Rk3399 SOC has been used as templates to create this directory. Change-Id: I8cc3e99df915bb289a2f3539db103cd6be90a0b2 Signed-off-by: Hakim Giydan <hgiydan@marvell.com> Reviewed-on: https://review.coreboot.org/15506 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/soc/marvell/mvmap2315/clock.c')
-rw-r--r--src/soc/marvell/mvmap2315/clock.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/soc/marvell/mvmap2315/clock.c b/src/soc/marvell/mvmap2315/clock.c
new file mode 100644
index 0000000000..ef0c3c5b77
--- /dev/null
+++ b/src/soc/marvell/mvmap2315/clock.c
@@ -0,0 +1,33 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2016 Marvell, Inc.
+ *
+ * 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; version 2 of the License.
+ *
+ * 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.
+ */
+
+#include <stddef.h>
+#include <stdint.h>
+#include <stdlib.h>
+
+#include <arch/clock.h>
+#include <arch/io.h>
+#include <soc/clock.h>
+
+void clock_init(void)
+{
+ u32 freq = MVMAP2315_CLK_M_KHZ * 1000;
+
+ set_cntfrq(freq);
+
+ write32(&mvmap2315_gentimer->cntfid0, freq);
+
+ setbits_le32(&mvmap2315_gentimer->cntcr, MVMAP2315_GENTIMER_EN);
+}