-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Giuseppe Coviello
authored and
Josh Boyer
committed
Jun 11, 2008
1 parent
beeb10a
commit 70e5502
Showing
8 changed files
with
1,625 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 995ada8d5e6b3d5a32ca3e544a564d0623c4f3fa | ||
refs/heads/master: b6014e15bc38a33cf9591d33674dd870027cb623 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
/* | ||
* Old U-boot compatibility for Sam440ep based off bamboo.c code | ||
* original copyrights below | ||
* | ||
* Author: Josh Boyer <jwboyer@linux.vnet.ibm.com> | ||
* | ||
* Copyright 2007 IBM Corporation | ||
* | ||
* Based on cuboot-ebony.c | ||
* | ||
* Modified from cuboot-bamboo.c for sam440ep: | ||
* Copyright 2008 Giuseppe Coviello <gicoviello@gmail.com> | ||
* | ||
* This program is free software; you can redistribute it and/or modify it | ||
* under the terms of the GNU General Public License version 2 as published | ||
* by the Free Software Foundation. | ||
*/ | ||
|
||
#include "ops.h" | ||
#include "stdio.h" | ||
#include "44x.h" | ||
#include "4xx.h" | ||
#include "cuboot.h" | ||
|
||
#define TARGET_4xx | ||
#define TARGET_44x | ||
#include "ppcboot.h" | ||
|
||
static bd_t bd; | ||
|
||
static void sam440ep_fixups(void) | ||
{ | ||
unsigned long sysclk = 66666666; | ||
|
||
ibm440ep_fixup_clocks(sysclk, 11059200, 25000000); | ||
ibm4xx_sdram_fixup_memsize(); | ||
ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00); | ||
dt_fixup_mac_addresses(&bd.bi_enetaddr, &bd.bi_enet1addr); | ||
} | ||
|
||
void platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | ||
unsigned long r6, unsigned long r7) | ||
{ | ||
CUBOOT_INIT(); | ||
platform_ops.fixups = sam440ep_fixups; | ||
platform_ops.exit = ibm44x_dbcr_reset; | ||
fdt_init(_dtb_start); | ||
serial_console_init(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,292 @@ | ||
/* | ||
* Device Tree Source for ACube Sam440ep based off bamboo.dts code | ||
* original copyrights below | ||
* | ||
* Copyright (c) 2006, 2007 IBM Corp. | ||
* Josh Boyer <jwboyer@linux.vnet.ibm.com> | ||
* | ||
* Modified from bamboo.dts for sam440ep: | ||
* Copyright 2008 Giuseppe Coviello <gicoviello@gmail.com> | ||
* | ||
* This file is licensed under the terms of the GNU General Public | ||
* License version 2. This program is licensed "as is" without | ||
* any warranty of any kind, whether express or implied. | ||
*/ | ||
|
||
/ { | ||
#address-cells = <2>; | ||
#size-cells = <1>; | ||
model = "acube,sam440ep"; | ||
compatible = "acube,sam440ep"; | ||
dcr-parent = <&/cpus/cpu@0>; | ||
|
||
aliases { | ||
ethernet0 = &EMAC0; | ||
ethernet1 = &EMAC1; | ||
serial0 = &UART0; | ||
serial1 = &UART1; | ||
serial2 = &UART2; | ||
serial3 = &UART3; | ||
}; | ||
|
||
cpus { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
cpu@0 { | ||
device_type = "cpu"; | ||
model = "PowerPC,440EP"; | ||
reg = <0>; | ||
clock-frequency = <0>; /* Filled in by zImage */ | ||
timebase-frequency = <0>; /* Filled in by zImage */ | ||
i-cache-line-size = <20>; | ||
d-cache-line-size = <20>; | ||
i-cache-size = <8000>; | ||
d-cache-size = <8000>; | ||
dcr-controller; | ||
dcr-access-method = "native"; | ||
}; | ||
}; | ||
|
||
memory { | ||
device_type = "memory"; | ||
reg = <0 0 0>; /* Filled in by zImage */ | ||
}; | ||
|
||
UIC0: interrupt-controller0 { | ||
compatible = "ibm,uic-440ep","ibm,uic"; | ||
interrupt-controller; | ||
cell-index = <0>; | ||
dcr-reg = <0c0 009>; | ||
#address-cells = <0>; | ||
#size-cells = <0>; | ||
#interrupt-cells = <2>; | ||
}; | ||
|
||
UIC1: interrupt-controller1 { | ||
compatible = "ibm,uic-440ep","ibm,uic"; | ||
interrupt-controller; | ||
cell-index = <1>; | ||
dcr-reg = <0d0 009>; | ||
#address-cells = <0>; | ||
#size-cells = <0>; | ||
#interrupt-cells = <2>; | ||
interrupts = <1e 4 1f 4>; /* cascade */ | ||
interrupt-parent = <&UIC0>; | ||
}; | ||
|
||
SDR0: sdr { | ||
compatible = "ibm,sdr-440ep"; | ||
dcr-reg = <00e 002>; | ||
}; | ||
|
||
CPR0: cpr { | ||
compatible = "ibm,cpr-440ep"; | ||
dcr-reg = <00c 002>; | ||
}; | ||
|
||
plb { | ||
compatible = "ibm,plb-440ep", "ibm,plb-440gp", "ibm,plb4"; | ||
#address-cells = <2>; | ||
#size-cells = <1>; | ||
ranges; | ||
clock-frequency = <0>; /* Filled in by zImage */ | ||
|
||
SDRAM0: sdram { | ||
compatible = "ibm,sdram-440ep", "ibm,sdram-405gp"; | ||
dcr-reg = <010 2>; | ||
}; | ||
|
||
DMA0: dma { | ||
compatible = "ibm,dma-440ep", "ibm,dma-440gp"; | ||
dcr-reg = <100 027>; | ||
}; | ||
|
||
MAL0: mcmal { | ||
compatible = "ibm,mcmal-440ep", "ibm,mcmal-440gp", "ibm,mcmal"; | ||
dcr-reg = <180 62>; | ||
num-tx-chans = <4>; | ||
num-rx-chans = <2>; | ||
interrupt-parent = <&MAL0>; | ||
interrupts = <0 1 2 3 4>; | ||
#interrupt-cells = <1>; | ||
#address-cells = <0>; | ||
#size-cells = <0>; | ||
interrupt-map = </*TXEOB*/ 0 &UIC0 a 4 | ||
/*RXEOB*/ 1 &UIC0 b 4 | ||
/*SERR*/ 2 &UIC1 0 4 | ||
/*TXDE*/ 3 &UIC1 1 4 | ||
/*RXDE*/ 4 &UIC1 2 4>; | ||
}; | ||
|
||
POB0: opb { | ||
compatible = "ibm,opb-440ep", "ibm,opb-440gp", "ibm,opb"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
/* Bamboo is oddball in the 44x world and doesn't use the ERPN | ||
* bits. | ||
*/ | ||
ranges = <00000000 0 00000000 80000000 | ||
80000000 0 80000000 80000000>; | ||
interrupt-parent = <&UIC1>; | ||
interrupts = <7 4>; | ||
clock-frequency = <0>; /* Filled in by zImage */ | ||
|
||
EBC0: ebc { | ||
compatible = "ibm,ebc-440ep", "ibm,ebc-440gp", "ibm,ebc"; | ||
dcr-reg = <012 2>; | ||
#address-cells = <2>; | ||
#size-cells = <1>; | ||
clock-frequency = <0>; /* Filled in by zImage */ | ||
interrupts = <5 1>; | ||
interrupt-parent = <&UIC1>; | ||
}; | ||
|
||
UART0: serial@ef600300 { | ||
device_type = "serial"; | ||
compatible = "ns16550"; | ||
reg = <ef600300 8>; | ||
virtual-reg = <ef600300>; | ||
clock-frequency = <0>; /* Filled in by zImage */ | ||
current-speed = <1c200>; | ||
interrupt-parent = <&UIC0>; | ||
interrupts = <0 4>; | ||
}; | ||
|
||
UART1: serial@ef600400 { | ||
device_type = "serial"; | ||
compatible = "ns16550"; | ||
reg = <ef600400 8>; | ||
virtual-reg = <ef600400>; | ||
clock-frequency = <0>; | ||
current-speed = <0>; | ||
interrupt-parent = <&UIC0>; | ||
interrupts = <1 4>; | ||
}; | ||
|
||
UART2: serial@ef600500 { | ||
device_type = "serial"; | ||
compatible = "ns16550"; | ||
reg = <ef600500 8>; | ||
virtual-reg = <ef600500>; | ||
clock-frequency = <0>; | ||
current-speed = <0>; | ||
interrupt-parent = <&UIC0>; | ||
interrupts = <3 4>; | ||
}; | ||
|
||
UART3: serial@ef600600 { | ||
device_type = "serial"; | ||
compatible = "ns16550"; | ||
reg = <ef600600 8>; | ||
virtual-reg = <ef600600>; | ||
clock-frequency = <0>; | ||
current-speed = <0>; | ||
interrupt-parent = <&UIC0>; | ||
interrupts = <4 4>; | ||
}; | ||
|
||
IIC0: i2c@ef600700 { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; | ||
index = <0>; | ||
reg = <ef600700 14>; | ||
interrupt-parent = <&UIC0>; | ||
interrupts = <2 4>; | ||
rtc@68 { | ||
compatible = "stm,m41t80"; | ||
reg = <68>; | ||
}; | ||
}; | ||
|
||
IIC1: i2c@ef600800 { | ||
compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic"; | ||
index = <5>; | ||
reg = <ef600800 14>; | ||
interrupt-parent = <&UIC0>; | ||
interrupts = <7 4>; | ||
}; | ||
|
||
ZMII0: emac-zmii@ef600d00 { | ||
compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii"; | ||
reg = <ef600d00 c>; | ||
}; | ||
|
||
EMAC0: ethernet@ef600e00 { | ||
linux,network-index = <0>; | ||
device_type = "network"; | ||
compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; | ||
interrupt-parent = <&UIC1>; | ||
interrupts = <1c 4 1d 4>; | ||
reg = <ef600e00 70>; | ||
local-mac-address = [000000000000]; | ||
mal-device = <&MAL0>; | ||
mal-tx-channel = <0 1>; | ||
mal-rx-channel = <0>; | ||
cell-index = <0>; | ||
max-frame-size = <5dc>; | ||
rx-fifo-size = <1000>; | ||
tx-fifo-size = <800>; | ||
phy-mode = "rmii"; | ||
phy-map = <00000000>; | ||
zmii-device = <&ZMII0>; | ||
zmii-channel = <0>; | ||
}; | ||
|
||
EMAC1: ethernet@ef600f00 { | ||
linux,network-index = <1>; | ||
device_type = "network"; | ||
compatible = "ibm,emac-440ep", "ibm,emac-440gp", "ibm,emac"; | ||
interrupt-parent = <&UIC1>; | ||
interrupts = <1e 4 1f 4>; | ||
reg = <ef600f00 70>; | ||
local-mac-address = [000000000000]; | ||
mal-device = <&MAL0>; | ||
mal-tx-channel = <2 3>; | ||
mal-rx-channel = <1>; | ||
cell-index = <1>; | ||
max-frame-size = <5dc>; | ||
rx-fifo-size = <1000>; | ||
tx-fifo-size = <800>; | ||
phy-mode = "rmii"; | ||
phy-map = <00000000>; | ||
zmii-device = <&ZMII0>; | ||
zmii-channel = <1>; | ||
}; | ||
usb@ef601000 { | ||
compatible = "ohci-be"; | ||
reg = <ef601000 80>; | ||
interrupts = <8 4 9 4>; | ||
interrupt-parent = < &UIC1 >; | ||
}; | ||
}; | ||
|
||
PCI0: pci@ec000000 { | ||
device_type = "pci"; | ||
#interrupt-cells = <1>; | ||
#size-cells = <2>; | ||
#address-cells = <3>; | ||
compatible = "ibm,plb440ep-pci", "ibm,plb-pci"; | ||
primary; | ||
reg = <0 eec00000 8 /* Config space access */ | ||
0 eed00000 4 /* IACK */ | ||
0 eed00000 4 /* Special cycle */ | ||
0 ef400000 40>; /* Internal registers */ | ||
|
||
/* Outbound ranges, one memory and one IO, | ||
* later cannot be changed. Chip supports a second | ||
* IO range but we don't use it for now | ||
*/ | ||
ranges = <02000000 0 a0000000 0 a0000000 0 20000000 | ||
01000000 0 00000000 0 e8000000 0 00010000>; | ||
|
||
/* Inbound 2GB range starting at 0 */ | ||
dma-ranges = <42000000 0 0 0 0 0 80000000>; | ||
}; | ||
}; | ||
|
||
chosen { | ||
linux,stdout-path = "/plb/opb/serial@ef600300"; | ||
}; | ||
}; |
Oops, something went wrong.