blob: 6b100bda2724d385db9ddff16393baea6351132c [file] [log] [blame]
Sylvain Munautf5d7bf22020-09-14 10:23:50 +02001/*
2 * misc.c
3 *
4 * Copyright (C) 2019-2020 Sylvain Munaut <tnt@246tNt.com>
5 * SPDX-License-Identifier: GPL-3.0-or-later
6 */
7
8#include <stdbool.h>
9#include <stdint.h>
10
11#include "config.h"
12#include "misc.h"
13
14
15struct misc {
16 uint32_t warmboot;
17 uint32_t _rsvd0[3];;
18 struct {
19 uint16_t tx;
20 uint16_t rx;
21 } e1_tick[2];
22 uint32_t _rsvd1;
23 uint32_t time;
24} __attribute__((packed,aligned(4)));
25
26static volatile struct misc * const misc_regs = (void*)(MISC_BASE);
27
28
29void
30e1_tick_read(uint16_t *ticks)
31{
32 uint32_t v = misc_regs->e1_tick;
33 ticks[0] = (v ) & 0xffff;
34 ticks[1] = (v >> 16) & 0xffff;
35}