1 /* $OpenBSD: omap4.c,v 1.7 2021/03/25 04:12:01 jsg Exp $ */
2
3 /*
4 * Copyright (c) 2011 Uwe Stuehler <uwe@openbsd.org>
5 *
6 * Permission to use, copy, modify, and distribute this software for any
7 * purpose with or without fee is hereby granted, provided that the above
8 * copyright notice and this permission notice appear in all copies.
9 *
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 */
18
19 #include <sys/param.h>
20
21 #include <machine/bus.h>
22
23 #include <armv7/armv7/armv7var.h>
24
25 #define OMAPID_ADDR 0x4a002000
26 #define OMAPID_SIZE 0x1000
27
28 #define PRM_ADDR 0x4a306000
29 #define PRM_SIZE 0x2000
30 #define CM1_ADDR 0x4a004000
31 #define CM1_SIZE 0x1000
32 #define CM2_ADDR 0x4a008000
33 #define CM2_SIZE 0x2000
34
35 struct armv7_dev omap4_devs[] = {
36
37 /*
38 * Power, Reset and Clock Manager
39 */
40
41 { .name = "prcm",
42 .unit = 0,
43 .mem = {
44 { PRM_ADDR, PRM_SIZE },
45 { CM1_ADDR, CM1_SIZE },
46 { CM2_ADDR, CM2_SIZE },
47 },
48 },
49
50 /*
51 * OMAP identification registers/fuses
52 */
53
54 { .name = "omapid",
55 .unit = 0,
56 .mem = { { OMAPID_ADDR, OMAPID_SIZE } },
57 },
58
59 /* Terminator */
60 { .name = NULL,
61 .unit = 0,
62 }
63 };
64
65 void
omap4_init(void)66 omap4_init(void)
67 {
68 armv7_set_devs(omap4_devs);
69 }
70