2 * Adapted from Linux v2.6.36 kernel: arch/powerpc/kernel/asm-offsets.c
4 * This program is used to generate definitions needed by
5 * assembly language modules.
7 * We use the technique used in the OSF Mach kernel code:
8 * generate asm statements containing #defines,
9 * compile this file to assembler, and then extract the
10 * #defines from the assembly-language output.
12 * SPDX-License-Identifier: GPL-2.0+
16 #include <asm/arch/imx-regs.h>
18 #include <linux/kbuild.h>
22 /* Round up to make sure size gives nice stack alignment */
23 DEFINE(CLKCTL_CCMR
, offsetof(struct ccm_regs
, ccmr
));
24 DEFINE(CLKCTL_PDR0
, offsetof(struct ccm_regs
, pdr0
));
25 DEFINE(CLKCTL_PDR1
, offsetof(struct ccm_regs
, pdr1
));
26 DEFINE(CLKCTL_PDR2
, offsetof(struct ccm_regs
, pdr2
));
27 DEFINE(CLKCTL_PDR3
, offsetof(struct ccm_regs
, pdr3
));
28 DEFINE(CLKCTL_PDR4
, offsetof(struct ccm_regs
, pdr4
));
29 DEFINE(CLKCTL_RCSR
, offsetof(struct ccm_regs
, rcsr
));
30 DEFINE(CLKCTL_MPCTL
, offsetof(struct ccm_regs
, mpctl
));
31 DEFINE(CLKCTL_PPCTL
, offsetof(struct ccm_regs
, ppctl
));
32 DEFINE(CLKCTL_ACMR
, offsetof(struct ccm_regs
, acmr
));
33 DEFINE(CLKCTL_COSR
, offsetof(struct ccm_regs
, cosr
));
34 DEFINE(CLKCTL_CGR0
, offsetof(struct ccm_regs
, cgr0
));
35 DEFINE(CLKCTL_CGR1
, offsetof(struct ccm_regs
, cgr1
));
36 DEFINE(CLKCTL_CGR2
, offsetof(struct ccm_regs
, cgr2
));
37 DEFINE(CLKCTL_CGR3
, offsetof(struct ccm_regs
, cgr3
));
39 /* Multi-Layer AHB Crossbar Switch */
40 DEFINE(MAX_MPR0
, offsetof(struct max_regs
, mpr0
));
41 DEFINE(MAX_SGPCR0
, offsetof(struct max_regs
, sgpcr0
));
42 DEFINE(MAX_MPR1
, offsetof(struct max_regs
, mpr1
));
43 DEFINE(MAX_SGPCR1
, offsetof(struct max_regs
, sgpcr1
));
44 DEFINE(MAX_MPR2
, offsetof(struct max_regs
, mpr2
));
45 DEFINE(MAX_SGPCR2
, offsetof(struct max_regs
, sgpcr2
));
46 DEFINE(MAX_MPR3
, offsetof(struct max_regs
, mpr3
));
47 DEFINE(MAX_SGPCR3
, offsetof(struct max_regs
, sgpcr3
));
48 DEFINE(MAX_MPR4
, offsetof(struct max_regs
, mpr4
));
49 DEFINE(MAX_SGPCR4
, offsetof(struct max_regs
, sgpcr4
));
50 DEFINE(MAX_MGPCR0
, offsetof(struct max_regs
, mgpcr0
));
51 DEFINE(MAX_MGPCR1
, offsetof(struct max_regs
, mgpcr1
));
52 DEFINE(MAX_MGPCR2
, offsetof(struct max_regs
, mgpcr2
));
53 DEFINE(MAX_MGPCR3
, offsetof(struct max_regs
, mgpcr3
));
54 DEFINE(MAX_MGPCR4
, offsetof(struct max_regs
, mgpcr4
));
55 DEFINE(MAX_MGPCR5
, offsetof(struct max_regs
, mgpcr5
));
57 /* AHB <-> IP-Bus Interface */
58 DEFINE(AIPS_MPR_0_7
, offsetof(struct aips_regs
, mpr_0_7
));
59 DEFINE(AIPS_MPR_8_15
, offsetof(struct aips_regs
, mpr_8_15
));
60 DEFINE(AIPS_PACR_0_7
, offsetof(struct aips_regs
, pacr_0_7
));
61 DEFINE(AIPS_PACR_8_15
, offsetof(struct aips_regs
, pacr_8_15
));
62 DEFINE(AIPS_PACR_16_23
, offsetof(struct aips_regs
, pacr_16_23
));
63 DEFINE(AIPS_PACR_24_31
, offsetof(struct aips_regs
, pacr_24_31
));
64 DEFINE(AIPS_OPACR_0_7
, offsetof(struct aips_regs
, opacr_0_7
));
65 DEFINE(AIPS_OPACR_8_15
, offsetof(struct aips_regs
, opacr_8_15
));
66 DEFINE(AIPS_OPACR_16_23
, offsetof(struct aips_regs
, opacr_16_23
));
67 DEFINE(AIPS_OPACR_24_31
, offsetof(struct aips_regs
, opacr_24_31
));
68 DEFINE(AIPS_OPACR_32_39
, offsetof(struct aips_regs
, opacr_32_39
));