source: rtems/c/src/lib/libbsp/powerpc/mpc55xxevb/include/mpc55xx-config.h @ 2d561b9

4.115
Last change on this file since 2d561b9 was 2d561b9, checked in by Sebastian Huber <sebastian.huber@…>, on 11/13/12 at 13:39:19

bsp/mpc55xx: Use BSP_START_DATA_SECTION

  • Property mode set to 100644
File size: 3.2 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup mpc55xx
5 *
6 * @brief Low-level configuration.
7 */
8
9/*
10 * Copyright (c) 2008-2012 embedded brains GmbH.  All rights reserved.
11 *
12 *  embedded brains GmbH
13 *  Obere Lagerstr. 30
14 *  82178 Puchheim
15 *  Germany
16 *  <rtems@embedded-brains.de>
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
20 * http://www.rtems.com/license/LICENSE.
21 */
22
23#ifndef LIBBSP_POWERPC_MPC55XXEVB_MPC55XX_CONFIG_H
24#define LIBBSP_POWERPC_MPC55XXEVB_MPC55XX_CONFIG_H
25
26#include <stddef.h>
27
28#include <libcpu/powerpc-utility.h>
29
30#include <bsp/start.h>
31
32#include <mpc55xx/regs.h>
33#include <mpc55xx/regs-mmu.h>
34
35#ifdef __cplusplus
36extern "C" {
37#endif /* __cplusplus */
38
39typedef struct {
40  uint32_t index : 10;
41  uint32_t count : 10;
42  uint32_t output : 1;
43  union SIU_PCR_tag pcr;
44} mpc55xx_siu_pcr_config;
45
46extern BSP_START_DATA_SECTION const mpc55xx_siu_pcr_config
47  mpc55xx_start_config_siu_pcr [];
48
49extern BSP_START_DATA_SECTION const size_t
50  mpc55xx_start_config_siu_pcr_count [];
51
52extern BSP_START_DATA_SECTION const struct
53  MMU_tag mpc55xx_start_config_mmu_early [];
54
55extern BSP_START_DATA_SECTION const size_t
56  mpc55xx_start_config_mmu_early_count [];
57
58extern BSP_START_DATA_SECTION const struct
59  MMU_tag mpc55xx_start_config_mmu [];
60
61extern BSP_START_DATA_SECTION const size_t
62  mpc55xx_start_config_mmu_count [];
63
64#ifdef MPC55XX_HAS_FMPLL
65  typedef struct {
66    union FMPLL_SYNCR_tag syncr_tmp;
67    union FMPLL_SYNCR_tag syncr_final;
68  } mpc55xx_clock_config;
69#endif
70
71#ifdef MPC55XX_HAS_FMPLL_ENHANCED
72  typedef struct {
73    union FMPLL_ESYNCR2_tag esyncr2_tmp;
74    union FMPLL_ESYNCR2_tag esyncr2_final;
75    union FMPLL_ESYNCR1_tag esyncr1_final;
76  } mpc55xx_clock_config;
77#endif
78
79#ifdef MPC55XX_HAS_MODE_CONTROL
80  typedef struct {
81    struct {
82      PLLD_CR_32B_tag cr;
83      PLLD_MR_32B_tag mr;
84    } fmpll [2];
85    CGM_OC_EN_32B_tag oc_en;
86    CGM_OCDS_SC_32B_tag ocds_sc;
87    CGM_SC_DC0_3_32B_tag sc_dc0_3;
88    CGM_AUXCLK_tag auxclk [5];
89  } mpc55xx_clock_config;
90#endif
91
92extern BSP_START_DATA_SECTION const mpc55xx_clock_config
93  mpc55xx_start_config_clock [];
94
95#ifdef MPC55XX_HAS_EBI
96  extern BSP_START_DATA_SECTION const struct
97    EBI_CS_tag mpc55xx_start_config_ebi_cs [];
98
99  extern BSP_START_DATA_SECTION const size_t
100    mpc55xx_start_config_ebi_cs_count [];
101
102  extern BSP_START_DATA_SECTION const struct EBI_CAL_CS_tag
103    mpc55xx_start_config_ebi_cal_cs [];
104
105  extern BSP_START_DATA_SECTION const size_t
106    mpc55xx_start_config_ebi_cal_cs_count [];
107#endif
108
109void mpc55xx_start_early(void);
110
111void mpc55xx_start_flash(void);
112
113void mpc55xx_start_cache(void);
114
115void mpc55xx_start_clock(void);
116
117void mpc55xx_start_watchdog(void);
118
119void mpc55xx_start_mmu_apply_config(const struct MMU_tag *config, size_t count);
120
121uint32_t mpc55xx_get_system_clock(void);
122
123LINKER_SYMBOL(bsp_ram_start)
124LINKER_SYMBOL(bsp_ram_end)
125LINKER_SYMBOL(bsp_ram_size)
126
127LINKER_SYMBOL(bsp_ram_1_start)
128LINKER_SYMBOL(bsp_ram_1_end)
129LINKER_SYMBOL(bsp_ram_1_size)
130
131LINKER_SYMBOL(bsp_rom_start)
132LINKER_SYMBOL(bsp_rom_end)
133LINKER_SYMBOL(bsp_rom_size)
134
135#ifdef MPC55XX_BOOTFLAGS
136  extern uint32_t mpc55xx_bootflag_0 [];
137#endif
138
139#ifdef __cplusplus
140}
141#endif /* __cplusplus */
142
143#endif /* LIBBSP_POWERPC_MPC55XXEVB_MPC55XX_CONFIG_H */
Note: See TracBrowser for help on using the repository browser.