This file is indexed.

/usr/include/openwince/arm/sa11x0/mc.h is in openwince-include 0.3.2-3.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
/*
 * $Id: mc.h,v 1.6 2002/11/02 08:31:27 telka Exp $
 *
 * StrongARM SA-1110 Memory Controller Registers
 * Copyright (C) 2002 ETC s.r.o.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the ETC s.r.o. nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * Written by Marcel Telka <marcel@telka.sk>, 2002.
 *
 * Documentation:
 * [1] Intel Corporation, "Intel StrongARM SA-1110 Microprocessor
 *     Developer's Manual", October 2001, Order Number: 278240-004
 *
 */

#ifndef	SA11X0_MC_H
#define	SA11X0_MC_H

#include <common.h>

#if LANGUAGE == C
#include <stdint.h>
#endif

/* Memory Controller Registers */

#define	MC_BASE		0xA0000000

#if LANGUAGE == C
typedef volatile struct MC_registers {
	uint32_t mdcnfg;
	uint32_t mdcas00;
	uint32_t mdcas01;
	uint32_t mdcas02;
	uint32_t msc0;
	uint32_t msc1;
	uint32_t mecr;
	uint32_t mdrefr;
	uint32_t mdcas20;
	uint32_t mdcas21;
	uint32_t mdcas22;
	uint32_t msc2;
	uint32_t smcnfg;
} MC_registers_t;

#ifdef SA11X0_UNMAPPED
#define	MC_pointer	((MC_registers_t*) MC_BASE)
#endif

#define	MDCNFG		MC_pointer->mdcnfg
#define	MDCAS00		MC_pointer->mdcas00
#define	MDCAS01		MC_pointer->mdcas01
#define	MDCAS02		MC_pointer->mdcas02
#define	MSC0		MC_pointer->msc0
#define	MSC1		MC_pointer->msc1
#define	MECR		MC_pointer->mecr
#define	MDREFR		MC_pointer->mdrefr
#define	MDCAS20		MC_pointer->mdcas20
#define	MDCAS21		MC_pointer->mdcas21
#define	MDCAS22		MC_pointer->mdcas22
#define	MSC2		MC_pointer->msc2
#define	SMCNFG		MC_pointer->smcnfg
#endif /* LANGUAGE == C */

#define	MDCNFG_OFFSET	0x00
#define	MDCAS00_OFFSET	0x04
#define	MDCAS01_OFFSET	0x08
#define	MDCAS02_OFFSET	0x0C
#define	MSC0_OFFSET	0x10
#define	MSC1_OFFSET	0x14
#define	MECR_OFFSET	0x18
#define	MDREFR_OFFSET	0x1C
#define	MDCAS20_OFFSET	0x20
#define	MDCAS21_OFFSET	0x24
#define	MDCAS22_OFFSET	0x28
#define	MSC2_OFFSET	0x2C
#define	SMCNFG_OFFSET	0x30

/* MDCNFG bits - see 10.3.1 in [1] */

#define	MDCNFG_TWR2_MASK	bits(31,30)
#define	MDCNFG_TWR2(x)		bits_val(31,30,x)
#define	MDCNFG_TDL2_MASK	bits(29,28)
#define	MDCNFG_TDL2(x)		bits_val(29,28,x)
#define	MDCNFG_TRP2_MASK	bits(27,24)
#define	MDCNFG_TRP2(x)		bits_val(27,24,x)
#define	MDCNFG_CDB22		bit(23)
#define	MDCNFG_DRAC2_MASK	bits(22,20)
#define	MDCNFG_DRAC2(x)		bits_val(22,20,x)
#define	MDCNFG_DWID2		bit(19)
#define	MDCNFG_DTIM2		bit(18)
#define	MDCNFG_DE3		bit(17)
#define	MDCNFG_DE2		bit(16)
#define	MDCNFG_TWR0_MASK	bits(15,14)
#define	MDCNFG_TWR0(x)		bits_val(15,14,x)
#define	MDCNFG_TDL0_MASK	bits(13,12)
#define	MDCNFG_TDL0(x)		bits_val(13,12,x)
#define	MDCNFG_TRP0_MASK	bits(11,8)
#define	MDCNFG_TRP0(x)		bits_val(11,8,x)
#define	MDCNFG_CDB20		bit(7)
#define	MDCNFG_DRAC0_MASK	bits(6,4)
#define	MDCNFG_DRAC0(x)		bits_val(6,4,x)
#define	MDCNFG_DWID0		bit(3)
#define	MDCNFG_DTIM0		bit(2)
#define	MDCNFG_DE1		bit(1)
#define	MDCNFG_DE0		bit(0)

/* MDREFR bits - see 10.3.2 in [1] */

#define	MDREFR_SLFRSH		bit(31)
#define	MDREFR_KAPD		bit(29)
#define	MDREFR_EAPD		bit(28)
#define	MDREFR_K2DB2		bit(26)
#define	MDREFR_K2RUN		bit(25)
#define	MDREFR_K1DB2		bit(22)
#define	MDREFR_K1RUN		bit(21)
#define	MDREFR_E1PIN		bit(20)
#define	MDREFR_K0DB2		bit(18)
#define	MDREFR_K0RUN		bit(17)
#define	MDREFR_E0PIN		bit(16)
#define	MDREFR_DRI_MASK		bits(15,4)
#define	MDREFR_DRI(x)		bits_val(15,4,x)
#define	MDREFR_TRASR_MASK	bits(3,0)
#define	MDREFR_TRASR(x)		bits_val(3,0,x)

#endif /* SA11X0_MC_H */