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 + -
显示快捷键?