1
2
3
4
5
6
7#ifndef __ASM_ARM_ARCH_SYSTEM_H_
8#define __ASM_ARM_ARCH_SYSTEM_H_
9
10#ifndef __ASSEMBLY__
11struct exynos4_sysreg {
12 unsigned char res1[0x210];
13 unsigned int display_ctrl;
14 unsigned int display_ctrl2;
15 unsigned int camera_control;
16 unsigned int audio_endian;
17 unsigned int jtag_con;
18};
19
20struct exynos5_sysreg {
21 unsigned char res1[0x214];
22 unsigned int disp1blk_cfg;
23 unsigned int disp2blk_cfg;
24 unsigned int hdcp_e_fuse;
25 unsigned int gsclblk_cfg0;
26 unsigned int gsclblk_cfg1;
27 unsigned int reserved;
28 unsigned int ispblk_cfg;
29 unsigned int usb20phy_cfg;
30 unsigned char res2[0x29c];
31 unsigned int mipi_dphy;
32 unsigned int dptx_dphy;
33 unsigned int phyclk_sel;
34};
35#endif
36
37#define USB20_PHY_CFG_HOST_LINK_EN (1 << 0)
38
39
40
41
42
43
44#define sev() __asm__ __volatile__ ("sev\n\t" : : );
45
46
47
48
49
50
51
52
53
54
55
56#define wfe() __asm__ __volatile__ ("wfe\n\t" : : );
57
58
59#define svc32_mode_en() __asm__ __volatile__ \
60 ("@ I&F disable, Mode: 0x13 - SVC\n\t" \
61 "msr cpsr_c, #0x13|0xC0\n\t" : : )
62
63
64#define set_pc(x) __asm__ __volatile__ ("mov pc, %0\n\t" : : "r"(x))
65
66
67#define branch_bx(x) __asm__ __volatile__ ("bx %0\n\t" : : "r"(x))
68
69
70#define mrc_midr(x) __asm__ __volatile__ \
71 ("mrc p15, 0, %0, c0, c0, 0\n\t" : "=r"(x) : )
72
73
74#define mrc_mpafr(x) __asm__ __volatile__ \
75 ("mrc p15, 0, %0, c0, c0, 5\n\t" : "=r"(x) : )
76
77
78#define mrc_sctlr(x) __asm__ __volatile__ \
79 ("mrc p15, 0, %0, c1, c0, 0\n\t" : "=r"(x) : )
80
81
82#define mrc_auxr(x) __asm__ __volatile__ \
83 ("mrc p15, 0, %0, c1, c0, 1\n\t" : "=r"(x) : )
84
85
86#define mrc_l2_ctlr(x) __asm__ __volatile__ \
87 ("mrc p15, 1, %0, c9, c0, 2\n\t" : "=r"(x) : )
88
89
90#define mrc_l2_aux_ctlr(x) __asm__ __volatile__ \
91 ("mrc p15, 1, %0, c15, c0, 0\n\t" : "=r"(x) : )
92
93
94#define mcr_sctlr(x) __asm__ __volatile__ \
95 ("mcr p15, 0, %0, c1, c0, 0\n\t" : : "r"(x))
96
97
98#define mcr_auxr(x) __asm__ __volatile__ \
99 ("mcr p15, 0, %0, c1, c0, 1\n\t" : : "r"(x))
100
101
102#define mcr_icache(x) __asm__ __volatile__ \
103 ("mcr p15, 0, %0, c7, c5, 0\n\t" : : "r"(x))
104
105
106#define mcr_tlb(x) __asm__ __volatile__ \
107 ("mcr p15, 0, %0, c8, c7, 0\n\t" : : "r"(x))
108
109
110#define mcr_l2_ctlr(x) __asm__ __volatile__ \
111 ("mcr p15, 1, %0, c9, c0, 2\n\t" : : "r"(x))
112
113
114#define mcr_l2_aux_ctlr(x) __asm__ __volatile__ \
115 ("mcr p15, 1, %0, c15, c0, 0\n\t" : : "r"(x))
116
117void set_usbhost_mode(unsigned int mode);
118void set_system_display_ctrl(void);
119int exynos_lcd_early_init(const void *blob);
120
121#endif
122