Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
arm
mach-orion5x
common.h
Go to the documentation of this file.
1
#ifndef __ARCH_ORION5X_COMMON_H
2
#define __ARCH_ORION5X_COMMON_H
3
4
struct
dsa_platform_data
;
5
struct
mv643xx_eth_platform_data
;
6
struct
mv_sata_platform_data
;
7
8
/*
9
* Basic Orion init functions used early by machine-setup.
10
*/
11
void
orion5x_map_io
(
void
);
12
void
orion5x_init_early
(
void
);
13
void
orion5x_init_irq
(
void
);
14
void
orion5x_init
(
void
);
15
extern
int
orion5x_tclk
;
16
extern
struct
sys_timer
orion5x_timer
;
17
18
/*
19
* Enumerations and functions for Orion windows mapping. Used by Orion core
20
* functions to map its interfaces and by the machine-setup to map its on-
21
* board devices. Details in /mach-orion/addr-map.c
22
*/
23
void
orion5x_setup_cpu_mbus_bridge
(
void
);
24
void
orion5x_setup_dev_boot_win
(
u32
base,
u32
size
);
25
void
orion5x_setup_dev0_win
(
u32
base,
u32
size
);
26
void
orion5x_setup_dev1_win
(
u32
base,
u32
size
);
27
void
orion5x_setup_dev2_win
(
u32
base,
u32
size
);
28
void
orion5x_setup_pcie_wa_win
(
u32
base,
u32
size
);
29
void
orion5x_setup_sram_win
(
void
);
30
31
void
orion5x_ehci0_init
(
void
);
32
void
orion5x_ehci1_init
(
void
);
33
void
orion5x_eth_init
(
struct
mv643xx_eth_platform_data
*eth_data);
34
void
orion5x_eth_switch_init
(
struct
dsa_platform_data
*
d
,
int
irq);
35
void
orion5x_i2c_init
(
void
);
36
void
orion5x_sata_init
(
struct
mv_sata_platform_data
*sata_data);
37
void
orion5x_spi_init
(
void
);
38
void
orion5x_uart0_init
(
void
);
39
void
orion5x_uart1_init
(
void
);
40
void
orion5x_xor_init
(
void
);
41
void
orion5x_restart
(
char
,
const
char
*);
42
43
/*
44
* PCIe/PCI functions.
45
*/
46
struct
pci_bus
;
47
struct
pci_sys_data
;
48
struct
pci_dev
;
49
50
void
orion5x_pcie_id
(
u32
*
dev
,
u32
*
rev
);
51
void
orion5x_pci_disable
(
void
);
52
void
orion5x_pci_set_cardbus_mode
(
void
);
53
int
orion5x_pci_sys_setup
(
int
nr
,
struct
pci_sys_data
*
sys
);
54
struct
pci_bus
*
orion5x_pci_sys_scan_bus
(
int
nr
,
struct
pci_sys_data
*
sys
);
55
int
orion5x_pci_map_irq
(
const
struct
pci_dev
*
dev
,
u8
slot
,
u8
pin
);
56
57
struct
meminfo
;
58
struct
tag
;
59
extern
void
__init
tag_fixup_mem32
(
struct
tag
*,
char
**,
struct
meminfo
*);
60
61
/*****************************************************************************
62
* Helpers to access Orion registers
63
****************************************************************************/
64
/*
65
* These are not preempt-safe. Locks, if needed, must be taken
66
* care of by the caller.
67
*/
68
#define orion5x_setbits(r, mask) writel(readl(r) | (mask), (r))
69
#define orion5x_clrbits(r, mask) writel(readl(r) & ~(mask), (r))
70
71
#endif
Generated on Thu Jan 10 2013 12:57:06 for Linux Kernel by
1.8.2