immap_512x.h
来自「最新版的u-boot,2008-10-18发布」· C头文件 代码 · 共 619 行 · 第 1/2 页
H
619 行
/* * (C) Copyright 2007 DENX Software Engineering * * MPC512x Internal Memory Map * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Based on the MPC83xx header. */#ifndef __IMMAP_512x__#define __IMMAP_512x__#include <asm/types.h>typedef struct law512x { u32 bar; /* Base Addr Register */ u32 ar; /* Attributes Register */} law512x_t;/* * System configuration registers */typedef struct sysconf512x { u32 immrbar; /* Internal memory map base address register */ u8 res0[0x1c]; u32 lpbaw; /* LP Boot Access Window */ u32 lpcs0aw; /* LP CS0 Access Window */ u32 lpcs1aw; /* LP CS1 Access Window */ u32 lpcs2aw; /* LP CS2 Access Window */ u32 lpcs3aw; /* LP CS3 Access Window */ u32 lpcs4aw; /* LP CS4 Access Window */ u32 lpcs5aw; /* LP CS5 Access Window */ u32 lpcs6aw; /* LP CS6 Access Window */ u32 lpcs7aw; /* LP CS7 Access Window */ u8 res1[0x1c]; law512x_t pcilaw[3]; /* PCI Local Access Window 0-2 Registers */ u8 res2[0x28]; law512x_t ddrlaw; /* DDR Local Access Window */ u8 res3[0x18]; u32 mbxbar; /* MBX Base Address */ u32 srambar; /* SRAM Base Address */ u32 nfcbar; /* NFC Base Address */ u8 res4[0x34]; u32 spridr; /* System Part and Revision ID Register */ u32 spcr; /* System Priority Configuration Register */ u8 res5[0xf8];} sysconf512x_t;/* * Watch Dog Timer (WDT) Registers */typedef struct wdt512x { u8 res0[4]; u32 swcrr; /* System watchdog control register */ u32 swcnr; /* System watchdog count register */ u8 res1[2]; u16 swsrr; /* System watchdog service register */ u8 res2[0xF0];} wdt512x_t;/* * RTC Module Registers */typedef struct rtclk512x { u8 fixme[0x100];} rtclk512x_t;/* * General Purpose Timer */typedef struct gpt512x { u8 fixme[0x100];} gpt512x_t;/* * Integrated Programmable Interrupt Controller */typedef struct ipic512x { u8 fixme[0x100];} ipic512x_t;/* * System Arbiter Registers */typedef struct arbiter512x { u32 acr; /* Arbiter Configuration Register */ u32 atr; /* Arbiter Timers Register */ u32 ater; /* Arbiter Transfer Error Register */ u32 aer; /* Arbiter Event Register */ u32 aidr; /* Arbiter Interrupt Definition Register */ u32 amr; /* Arbiter Mask Register */ u32 aeatr; /* Arbiter Event Attributes Register */ u32 aeadr; /* Arbiter Event Address Register */ u32 aerr; /* Arbiter Event Response Register */ u8 res1[0xDC];} arbiter512x_t;/* * Reset Module */typedef struct reset512x { u32 rcwl; /* Reset Configuration Word Low Register */ u32 rcwh; /* Reset Configuration Word High Register */ u8 res0[8]; u32 rsr; /* Reset Status Register */ u32 rmr; /* Reset Mode Register */ u32 rpr; /* Reset protection Register */ u32 rcr; /* Reset Control Register */ u32 rcer; /* Reset Control Enable Register */ u8 res1[0xDC];} reset512x_t;/* * Clock Module */typedef struct clk512x { u32 spmr; /* System PLL Mode Register */ u32 sccr[2]; /* System Clock Control Registers */ u32 scfr[2]; /* System Clock Frequency Registers */ u8 res0[4]; u32 bcr; /* Bread Crumb Register */ u32 pscccr[12]; /* PSC0-11 Clock Control Registers */ u32 spccr; /* SPDIF Clock Control Registers */ u32 cccr; /* CFM Clock Control Registers */ u32 dccr; /* DIU Clock Control Registers */ u8 res1[0xa8];} clk512x_t;/* * Power Management Control Module */typedef struct pmc512x { u8 fixme[0x100];} pmc512x_t;/* * General purpose I/O module */typedef struct gpio512x { u8 fixme[0x100];} gpio512x_t;/* * DDR Memory Controller Memory Map */typedef struct ddr512x { u32 ddr_sys_config; /* System Configuration Register */ u32 ddr_time_config0; /* Timing Configuration Register */ u32 ddr_time_config1; /* Timing Configuration Register */ u32 ddr_time_config2; /* Timing Configuration Register */ u32 ddr_command; /* Command Register */ u32 ddr_compact_command; /* Compact Command Register */ u32 self_refresh_cmd_0; /* Enter/Exit Self Refresh Registers */ u32 self_refresh_cmd_1; /* Enter/Exit Self Refresh Registers */ u32 self_refresh_cmd_2; /* Enter/Exit Self Refresh Registers */ u32 self_refresh_cmd_3; /* Enter/Exit Self Refresh Registers */ u32 self_refresh_cmd_4; /* Enter/Exit Self Refresh Registers */ u32 self_refresh_cmd_5; /* Enter/Exit Self Refresh Registers */ u32 self_refresh_cmd_6; /* Enter/Exit Self Refresh Registers */ u32 self_refresh_cmd_7; /* Enter/Exit Self Refresh Registers */ u32 DQS_config_offset_count; /* DQS Config Offset Count */ u32 DQS_config_offset_time; /* DQS Config Offset Time */ u32 DQS_delay_status; /* DQS Delay Status */ u32 res0[0xF]; u32 prioman_config1; /* Priority Manager Configuration */ u32 prioman_config2; /* Priority Manager Configuration */ u32 hiprio_config; /* High Priority Configuration */ u32 lut_table0_main_upper; /* LUT0 Main Upper */ u32 lut_table1_main_upper; /* LUT1 Main Upper */ u32 lut_table2_main_upper; /* LUT2 Main Upper */ u32 lut_table3_main_upper; /* LUT3 Main Upper */ u32 lut_table4_main_upper; /* LUT4 Main Upper */ u32 lut_table0_main_lower; /* LUT0 Main Lower */ u32 lut_table1_main_lower; /* LUT1 Main Lower */ u32 lut_table2_main_lower; /* LUT2 Main Lower */ u32 lut_table3_main_lower; /* LUT3 Main Lower */ u32 lut_table4_main_lower; /* LUT4 Main Lower */ u32 lut_table0_alternate_upper; /* LUT0 Alternate Upper */ u32 lut_table1_alternate_upper; /* LUT1 Alternate Upper */ u32 lut_table2_alternate_upper; /* LUT2 Alternate Upper */ u32 lut_table3_alternate_upper; /* LUT3 Alternate Upper */ u32 lut_table4_alternate_upper; /* LUT4 Alternate Upper */ u32 lut_table0_alternate_lower; /* LUT0 Alternate Lower */ u32 lut_table1_alternate_lower; /* LUT1 Alternate Lower */ u32 lut_table2_alternate_lower; /* LUT2 Alternate Lower */ u32 lut_table3_alternate_lower; /* LUT3 Alternate Lower */ u32 lut_table4_alternate_lower; /* LUT4 Alternate Lower */ u32 performance_monitor_config; u32 event_time_counter; u32 event_time_preset; u32 performance_monitor1_address_low; u32 performance_monitor2_address_low; u32 performance_monitor1_address_hi; u32 performance_monitor2_address_hi; u32 res1[2]; u32 performance_monitor1_read_counter; u32 performance_monitor2_read_counter; u32 performance_monitor1_write_counter; u32 performance_monitor2_write_counter; u32 granted_ack_counter0; u32 granted_ack_counter1; u32 granted_ack_counter2; u32 granted_ack_counter3; u32 granted_ack_counter4; u32 cumulative_wait_counter0; u32 cumulative_wait_counter1; u32 cumulative_wait_counter2; u32 cumulative_wait_counter3; u32 cumulative_wait_counter4; u32 summed_priority_counter0; u32 summed_priority_counter1; u32 summed_priority_counter2; u32 summed_priority_counter3; u32 summed_priority_counter4; u32 res2[0x3AD];} ddr512x_t;/* * DMA/Messaging Unit */typedef struct dma512x { u8 fixme[0x1800];} dma512x_t;/* * PCI Software Configuration Registers */typedef struct pciconf512x { u32 config_address; u32 config_data; u32 int_ack; u8 res[116];} pciconf512x_t;/* * PCI Outbound Translation Register */typedef struct pci_outbound_window { u32 potar; u8 res0[4]; u32 pobar; u8 res1[4]; u32 pocmr; u8 res2[4];} pot512x_t;/* * Sequencer */typedef struct ios512x { pot512x_t pot[6]; u8 res0[0x60]; u32 pmcr; u8 res1[4]; u32 dtcr; u8 res2[4];} ios512x_t;/* * PCI Controller */typedef struct pcictrl512x { u32 esr; u32 ecdr; u32 eer; u32 eatcr; u32 eacr; u32 eeacr; u32 edlcr; u32 edhcr; u32 gcr; u32 ecr; u32 gsr; u8 res0[12]; u32 pitar2; u8 res1[4]; u32 pibar2; u32 piebar2; u32 piwar2; u8 res2[4]; u32 pitar1; u8 res3[4]; u32 pibar1; u32 piebar1; u32 piwar1; u8 res4[4]; u32 pitar0; u8 res5[4]; u32 pibar0; u8 res6[4]; u32 piwar0; u8 res7[132];} pcictrl512x_t;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?