Blame view

arch/nds32/lib/asm-offsets.c 2.95 KB
1e52fea33   Macpaul Lin   nds32/ag102: add ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  /*
   * Adapted from Linux v2.6.36 kernel: arch/powerpc/kernel/asm-offsets.c
   *
   * Generate definitions needed by assembly language modules.
   * This code generates raw asm output which is post-processed to extract
   * and format the required data.
   *
   * This program is free software; you can redistribute it and/or modify
   * it under the terms of the GNU General Public License version 2 as
   * published by the Free Software Foundation.
   */
  #include <common.h>
  
  #include <linux/kbuild.h>
  
  int main(void)
  {
254d68b60   Masahiro Yamada   kbuild: move asm-...
18
19
20
21
22
23
24
25
26
27
  	/*
  	 * TODO : Check if each entry in this file is really necessary.
  	 *   - struct ftahbc02s
  	 *   - struct ftsdmc021
  	 *   - struct andes_pcu
  	 *   - struct dwcddr21mctl
  	 * are used only for generating asm-offsets.h.
  	 * It means their offset addresses are referenced only from assembly
  	 * code. Is it better to define the macros directly in headers?
  	 */
1e52fea33   Macpaul Lin   nds32/ag102: add ...
28
29
30
31
32
33
  #ifdef CONFIG_FTSMC020
  	OFFSET(FTSMC020_BANK0_CR,	ftsmc020, bank[0].cr);
  	OFFSET(FTSMC020_BANK0_TPR,	ftsmc020, bank[0].tpr);
  #endif
  	BLANK();
  #ifdef CONFIG_FTAHBC020S
254d68b60   Masahiro Yamada   kbuild: move asm-...
34
  	OFFSET(FTAHBC020S_SLAVE_BSR_4,	ftahbc02s, s_bsr[4]);
1e52fea33   Macpaul Lin   nds32/ag102: add ...
35
36
37
38
  	OFFSET(FTAHBC020S_SLAVE_BSR_6,	ftahbc02s, s_bsr[6]);
  	OFFSET(FTAHBC020S_CR,		ftahbc02s, cr);
  #endif
  	BLANK();
254d68b60   Masahiro Yamada   kbuild: move asm-...
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
  #ifdef CONFIG_FTPMU010
  	OFFSET(FTPMU010_PDLLCR0,	ftpmu010, PDLLCR0);
  #endif
  	BLANK();
  #ifdef CONFIG_FTSDMC021
  	OFFSET(FTSDMC021_TP1,		ftsdmc021, tp1);
  	OFFSET(FTSDMC021_TP2,		ftsdmc021, tp2);
  	OFFSET(FTSDMC021_CR1,		ftsdmc021, cr1);
  	OFFSET(FTSDMC021_CR2,		ftsdmc021, cr2);
  	OFFSET(FTSDMC021_BANK0_BSR,	ftsdmc021, bank0_bsr);
  	OFFSET(FTSDMC021_BANK1_BSR,	ftsdmc021, bank1_bsr);
  	OFFSET(FTSDMC021_BANK2_BSR,	ftsdmc021, bank2_bsr);
  	OFFSET(FTSDMC021_BANK3_BSR,	ftsdmc021, bank3_bsr);
  #endif
  	BLANK();
1e52fea33   Macpaul Lin   nds32/ag102: add ...
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
  #ifdef CONFIG_ANDES_PCU
  	OFFSET(ANDES_PCU_PCS4,		andes_pcu, pcs4.parm);	/* 0x104 */
  #endif
  	BLANK();
  #ifdef CONFIG_DWCDDR21MCTL
  	OFFSET(DWCDDR21MCTL_CCR,	dwcddr21mctl, ccr);	/* 0x04 */
  	OFFSET(DWCDDR21MCTL_DCR,	dwcddr21mctl, dcr);	/* 0x04 */
  	OFFSET(DWCDDR21MCTL_IOCR,	dwcddr21mctl, iocr);	/* 0x08 */
  	OFFSET(DWCDDR21MCTL_CSR,	dwcddr21mctl, csr);	/* 0x0c */
  	OFFSET(DWCDDR21MCTL_DRR,	dwcddr21mctl, drr);	/* 0x10 */
  	OFFSET(DWCDDR21MCTL_DLLCR0,	dwcddr21mctl, dllcr[0]); /* 0x24 */
  	OFFSET(DWCDDR21MCTL_DLLCR1,	dwcddr21mctl, dllcr[1]); /* 0x28 */
  	OFFSET(DWCDDR21MCTL_DLLCR2,	dwcddr21mctl, dllcr[2]); /* 0x2c */
  	OFFSET(DWCDDR21MCTL_DLLCR3,	dwcddr21mctl, dllcr[3]); /* 0x30 */
  	OFFSET(DWCDDR21MCTL_DLLCR4,	dwcddr21mctl, dllcr[4]); /* 0x34 */
  	OFFSET(DWCDDR21MCTL_DLLCR5,	dwcddr21mctl, dllcr[5]); /* 0x38 */
  	OFFSET(DWCDDR21MCTL_DLLCR6,	dwcddr21mctl, dllcr[6]); /* 0x3c */
  	OFFSET(DWCDDR21MCTL_DLLCR7,	dwcddr21mctl, dllcr[7]); /* 0x40 */
  	OFFSET(DWCDDR21MCTL_DLLCR8,	dwcddr21mctl, dllcr[8]); /* 0x44 */
  	OFFSET(DWCDDR21MCTL_DLLCR9,	dwcddr21mctl, dllcr[9]); /* 0x48 */
  	OFFSET(DWCDDR21MCTL_RSLR0,	dwcddr21mctl, rslr[0]);	/* 0x4c */
  	OFFSET(DWCDDR21MCTL_RDGR0,	dwcddr21mctl, rdgr[0]);	/* 0x5c */
  	OFFSET(DWCDDR21MCTL_DTAR,	dwcddr21mctl, dtar);	/* 0xa4 */
  	OFFSET(DWCDDR21MCTL_MR,		dwcddr21mctl, mr);	/* 0x1f0 */
  #endif
254d68b60   Masahiro Yamada   kbuild: move asm-...
79

1e52fea33   Macpaul Lin   nds32/ag102: add ...
80
81
  	return 0;
  }