1ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs/*
2ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * Copyright 2013 Red Hat Inc.
3ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs *
4ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * Permission is hereby granted, free of charge, to any person obtaining a
5ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * copy of this software and associated documentation files (the "Software"),
6ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * to deal in the Software without restriction, including without limitation
7ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * and/or sell copies of the Software, and to permit persons to whom the
9ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * Software is furnished to do so, subject to the following conditions:
10ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs *
11ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * The above copyright notice and this permission notice shall be included in
12ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * all copies or substantial portions of the Software.
13ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs *
14ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * OTHER DEALINGS IN THE SOFTWARE.
21ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs *
22ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs * Authors: Ben Skeggs
23ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs */
24ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs
25ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#define NVKM_PPWR_CHIPSET GT215
26d5837df18c0700699dccdfd84f5eb94913b188c6Martin Peres#define HW_TICKS_PER_US 203 // should be 202.5
27ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs
28ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs//#define NVKM_FALCON_PC24
29ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs//#define NVKM_FALCON_UNSHIFTED_IO
30ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs//#define NVKM_FALCON_MMIO_UAS
31ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs//#define NVKM_FALCON_MMIO_TRAP
32ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs
33ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "macros.fuc"
34ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs
35ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs.section #nva3_pwr_data
36ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#define INCLUDE_PROC
37ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "kernel.fuc"
382befd17de2dff0238800ffa0b8364e2053f65e9fMartin Peres#include "arith.fuc"
39ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "host.fuc"
40ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "memx.fuc"
41ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "perf.fuc"
4264c672ae1dc4248fb88bb9a510b4b046a5875b8cBen Skeggs#include "i2c_.fuc"
43ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "test.fuc"
44ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "idle.fuc"
45ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#undef INCLUDE_PROC
46ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs
47ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#define INCLUDE_DATA
48ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "kernel.fuc"
492befd17de2dff0238800ffa0b8364e2053f65e9fMartin Peres#include "arith.fuc"
50ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "host.fuc"
51ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "memx.fuc"
52ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "perf.fuc"
5364c672ae1dc4248fb88bb9a510b4b046a5875b8cBen Skeggs#include "i2c_.fuc"
54ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "test.fuc"
55ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "idle.fuc"
56ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#undef INCLUDE_DATA
57ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs.align 256
58ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs
59ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs.section #nva3_pwr_code
60ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#define INCLUDE_CODE
61ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "kernel.fuc"
622befd17de2dff0238800ffa0b8364e2053f65e9fMartin Peres#include "arith.fuc"
63ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "host.fuc"
64ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "memx.fuc"
65ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "perf.fuc"
6664c672ae1dc4248fb88bb9a510b4b046a5875b8cBen Skeggs#include "i2c_.fuc"
67ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "test.fuc"
68ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#include "idle.fuc"
69ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs#undef INCLUDE_CODE
70ff4b42c7532e6ed6a5ae3c9cb71395b41a0a4022Ben Skeggs.align 256
71