Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 91186
b: refs/heads/master
c: 83b6d82
h: refs/heads/master
v: v3
  • Loading branch information
Lennert Buytenhek authored and Nicolas Pitre committed Mar 27, 2008
1 parent e05f7e3 commit 923190a
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: abc848c182960118fbb7cdae397b5608c5bcef1b
refs/heads/master: 83b6d822e4237052371e771b1f994823615a5341
29 changes: 29 additions & 0 deletions trunk/arch/arm/mach-orion/addr-map.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/mbus.h>
#include <asm/hardware.h>
#include "common.h"

Expand Down Expand Up @@ -168,6 +169,9 @@
#define SATA_WIN_BASE(win) ORION_SATA_REG(0x34 + ((win) * 0x10))
#define SATA_MAX_WIN 4


struct mbus_dram_target_info orion_mbus_dram_info;

static int __init orion_cpu_win_can_remap(u32 win)
{
u32 dev, rev;
Expand Down Expand Up @@ -257,6 +261,7 @@ void __init orion_setup_cpu_win(enum orion_target target, u32 base, u32 size, in
void __init orion_setup_cpu_wins(void)
{
int i;
int cs;

/*
* First, disable and clear windows
Expand All @@ -281,6 +286,30 @@ void __init orion_setup_cpu_wins(void)
ORION_PCIE_MEM_SIZE, -1);
orion_setup_cpu_win(ORION_PCI_MEM, ORION_PCI_MEM_PHYS_BASE,
ORION_PCI_MEM_SIZE, -1);

/*
* Setup MBUS dram target info.
*/
orion_mbus_dram_info.mbus_dram_target_id = TARGET_DDR;

for (i = 0, cs = 0; i < 4; i++) {
u32 base = readl(DDR_BASE_CS(i));
u32 size = readl(DDR_SIZE_CS(i));

/*
* Chip select enabled?
*/
if (size & 1) {
struct mbus_dram_window *w;

w = &orion_mbus_dram_info.cs[cs++];
w->cs_index = i;
w->mbus_attr = 0xf & ~(1 << i);
w->base = base & 0xff000000;
w->size = (size | 0x00ffffff) + 1;
}
}
orion_mbus_dram_info.num_cs = cs;
}

/*
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-orion/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/serial_8250.h>
#include <linux/mbus.h>
#include <linux/mv643xx_eth.h>
#include <linux/mv643xx_i2c.h>
#include <asm/page.h>
Expand Down
1 change: 1 addition & 0 deletions trunk/arch/arm/mach-orion/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ enum orion_target {
ORION_MAX_TARGETS
};

extern struct mbus_dram_target_info orion_mbus_dram_info;
void orion_setup_cpu_win(enum orion_target target, u32 base, u32 size, int remap);
void orion_setup_cpu_wins(void);
void orion_setup_eth_wins(void);
Expand Down

0 comments on commit 923190a

Please sign in to comment.