exynos5250/snow: deprecate time.h

time.h We Hardly Knew Ye.

This deprecates time.h which is currently only used by Exynos5250 and
Snow. The original idea was to try and unify some of the various timer
interfaces and has been supplanted by the monotonic timer API.

timer_us() is now obsolete. timer_start() is now mct_start() and
is exposed in exynos5250/clk.h.

Signed-off-by: David Hendricks <dhendrix@chromium.org>
Change-Id: I14ebf75649d101491252c9aafea12f73ccf446b5
Reviewed-on: http://review.coreboot.org/3177
Reviewed-by: Aaron Durbin <adurbin@google.com>
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
David Hendricks 2013-05-02 16:47:54 -07:00 committed by Ronald G. Minnich
parent 37714f33a6
commit 2fde9668b4
6 changed files with 6 additions and 41 deletions

View File

@ -585,6 +585,7 @@ int clock_get_mem_selection(enum ddr_mode *mem_type,
unsigned *frequency_mhz, unsigned *arm_freq, unsigned *frequency_mhz, unsigned *arm_freq,
enum mem_manuf *mem_manuf); enum mem_manuf *mem_manuf);
void mct_start(void);
uint64_t mct_raw_value(void); uint64_t mct_raw_value(void);
#endif #endif

View File

@ -22,7 +22,7 @@
#include <arch/io.h> #include <arch/io.h>
#include <stdint.h> #include <stdint.h>
#include <time.h>
#include "clk.h" #include "clk.h"
struct __attribute__((packed)) mct_regs struct __attribute__((packed)) mct_regs
@ -101,16 +101,8 @@ uint64_t mct_raw_value(void)
return (upper << 32) | lower; return (upper << 32) | lower;
} }
void timer_start(void) void mct_start(void)
{ {
writel(readl(&mct->g_tcon) | (0x1 << 8), &mct->g_tcon); writel(readl(&mct->g_tcon) | (0x1 << 8), &mct->g_tcon);
enabled = 1; enabled = 1;
} }
u32 timer_us(void)
{
uint64_t raw = mct_raw_value();
static uint32_t ticks_per_microsecond = MCT_HZ/1000000;
uint32_t usec = raw / ticks_per_microsecond;
return usec;
}

View File

@ -20,7 +20,6 @@
#include <stdint.h> #include <stdint.h>
#include <delay.h> #include <delay.h>
#include <timer.h> #include <timer.h>
#include <time.h> /* TODO: deprecate in favor of monotonic timer stuff */
#include "clk.h" #include "clk.h"

View File

@ -1,26 +0,0 @@
/*
* This file is part of the coreboot project.
*
* Copyright (C) 2013 Google, 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.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
*/
#ifndef TIME_H
#define TIME_H
void timer_start(void);
u32 timer_us(void);
#endif /* TIME_H */

View File

@ -21,8 +21,8 @@
#include <arch/io.h> #include <arch/io.h>
#include <cbfs.h> #include <cbfs.h>
#include <uart.h> #include <uart.h>
#include <time.h>
#include <console/console.h> #include <console/console.h>
#include <cpu/samsung/exynos5250/clk.h>
#include <cpu/samsung/exynos5250/periph.h> #include <cpu/samsung/exynos5250/periph.h>
#include <cpu/samsung/exynos5250/pinmux.h> #include <cpu/samsung/exynos5250/pinmux.h>
#include "mainboard.h" #include "mainboard.h"
@ -30,10 +30,10 @@
void bootblock_mainboard_init(void); void bootblock_mainboard_init(void);
void bootblock_mainboard_init(void) void bootblock_mainboard_init(void)
{ {
/* kick off the microsecond timer. /* kick off the multi-core timer.
* We want to do this as early as we can. * We want to do this as early as we can.
*/ */
timer_start(); mct_start();
if (snow_get_wakeup_state() == SNOW_WAKEUP_DIRECT) { if (snow_get_wakeup_state() == SNOW_WAKEUP_DIRECT) {
snow_wakeup(); snow_wakeup();

View File

@ -36,7 +36,6 @@
#include <cpu/samsung/exynos5250/clock_init.h> #include <cpu/samsung/exynos5250/clock_init.h>
#include <console/console.h> #include <console/console.h>
#include <arch/stages.h> #include <arch/stages.h>
#include <time.h>
#include <drivers/maxim/max77686/max77686.h> #include <drivers/maxim/max77686/max77686.h>
#include <device/i2c.h> #include <device/i2c.h>