Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/powerpc/platforms/83xx/mpc83xx.h
26481 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
#ifndef __MPC83XX_H__
3
#define __MPC83XX_H__
4
5
#include <linux/init.h>
6
7
/* System Clock Control Register */
8
#define MPC83XX_SCCR_OFFS 0xA08
9
#define MPC83XX_SCCR_USB_MASK 0x00f00000
10
#define MPC83XX_SCCR_USB_MPHCM_11 0x00c00000
11
#define MPC83XX_SCCR_USB_MPHCM_01 0x00400000
12
#define MPC83XX_SCCR_USB_MPHCM_10 0x00800000
13
#define MPC83XX_SCCR_USB_DRCM_11 0x00300000
14
#define MPC83XX_SCCR_USB_DRCM_01 0x00100000
15
#define MPC83XX_SCCR_USB_DRCM_10 0x00200000
16
#define MPC8315_SCCR_USB_MASK 0x00c00000
17
#define MPC8315_SCCR_USB_DRCM_11 0x00c00000
18
#define MPC8315_SCCR_USB_DRCM_01 0x00400000
19
#define MPC837X_SCCR_USB_DRCM_11 0x00c00000
20
21
/* system i/o configuration register low */
22
#define MPC83XX_SICRL_OFFS 0x114
23
#define MPC834X_SICRL_USB_MASK 0x60000000
24
#define MPC834X_SICRL_USB0 0x20000000
25
#define MPC834X_SICRL_USB1 0x40000000
26
#define MPC831X_SICRL_USB_MASK 0x00000c00
27
#define MPC831X_SICRL_USB_ULPI 0x00000800
28
#define MPC8315_SICRL_USB_MASK 0x000000fc
29
#define MPC8315_SICRL_USB_ULPI 0x00000054
30
#define MPC837X_SICRL_USB_MASK 0xf0000000
31
#define MPC837X_SICRL_USB_ULPI 0x50000000
32
#define MPC837X_SICRL_USBB_MASK 0x30000000
33
#define MPC837X_SICRL_SD 0x20000000
34
35
/* system i/o configuration register high */
36
#define MPC83XX_SICRH_OFFS 0x118
37
#define MPC8308_SICRH_USB_MASK 0x000c0000
38
#define MPC8308_SICRH_USB_ULPI 0x00040000
39
#define MPC834X_SICRH_USB_UTMI 0x00020000
40
#define MPC831X_SICRH_USB_MASK 0x000000e0
41
#define MPC831X_SICRH_USB_ULPI 0x000000a0
42
#define MPC8315_SICRH_USB_MASK 0x0000ff00
43
#define MPC8315_SICRH_USB_ULPI 0x00000000
44
#define MPC837X_SICRH_SPI_MASK 0x00000003
45
#define MPC837X_SICRH_SD 0x00000001
46
47
/* USB Control Register */
48
#define FSL_USB2_CONTROL_OFFS 0x500
49
#define CONTROL_UTMI_PHY_EN 0x00000200
50
#define CONTROL_REFSEL_24MHZ 0x00000040
51
#define CONTROL_REFSEL_48MHZ 0x00000080
52
#define CONTROL_PHY_CLK_SEL_ULPI 0x00000400
53
#define CONTROL_OTG_PORT 0x00000020
54
55
/* USB PORTSC Registers */
56
#define FSL_USB2_PORTSC1_OFFS 0x184
57
#define FSL_USB2_PORTSC2_OFFS 0x188
58
#define PORTSCX_PTW_16BIT 0x10000000
59
#define PORTSCX_PTS_UTMI 0x00000000
60
#define PORTSCX_PTS_ULPI 0x80000000
61
62
/*
63
* Declaration for the various functions exported by the
64
* mpc83xx_* files. Mostly for use by mpc83xx_setup
65
*/
66
67
extern void __noreturn mpc83xx_restart(char *cmd);
68
extern long mpc83xx_time_init(void);
69
int __init mpc837x_usb_cfg(void);
70
int __init mpc834x_usb_cfg(void);
71
int __init mpc831x_usb_cfg(void);
72
extern void mpc83xx_ipic_init_IRQ(void);
73
74
#ifdef CONFIG_PCI
75
extern void mpc83xx_setup_pci(void);
76
#else
77
#define mpc83xx_setup_pci NULL
78
#endif
79
80
extern int mpc83xx_declare_of_platform_devices(void);
81
extern void mpc83xx_setup_arch(void);
82
83
#endif /* __MPC83XX_H__ */
84
85