Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 292596
b: refs/heads/master
c: 4286f84
h: refs/heads/master
v: v3
  • Loading branch information
Benjamin Herrenschmidt committed Mar 20, 2012
1 parent 56be7e0 commit 3f8c19b
Show file tree
Hide file tree
Showing 18 changed files with 404 additions and 2,623 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e96dde2b5edbc0d385ccced05fb5db68c070b0d4
refs/heads/master: 4286f84ef6d7f44de1e70b904706bdc3e1f7af01
12 changes: 6 additions & 6 deletions trunk/Documentation/powerpc/mpc52xx.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,31 @@ Linux 2.6.x on MPC52xx family
-----------------------------

For the latest info, go to http://www.246tNt.com/mpc52xx/

To compile/use :

- U-Boot:
# <edit Makefile to set ARCH=ppc & CROSS_COMPILE=... ( also EXTRAVERSION
if you wish to ).
# make lite5200_defconfig
# make uImage

then, on U-boot:
=> tftpboot 200000 uImage
=> tftpboot 400000 pRamdisk
=> bootm 200000 400000

- DBug:
# <edit Makefile to set ARCH=ppc & CROSS_COMPILE=... ( also EXTRAVERSION
if you wish to ).
# make lite5200_defconfig
# cp your_initrd.gz arch/ppc/boot/images/ramdisk.image.gz
# make zImage.initrd
# make
# make zImage.initrd
# make

then in DBug:
DBug> dn -i zImage.initrd.lite5200


Some remarks :
- The port is named mpc52xxx, and config options are PPC_MPC52xx. The MGT5100
Expand Down
2 changes: 1 addition & 1 deletion trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -4034,7 +4034,7 @@ M: Josh Boyer <jwboyer@gmail.com>
M: Matt Porter <mporter@kernel.crashing.org>
W: http://www.penguinppc.org/
L: linuxppc-dev@lists.ozlabs.org
T: git git://git.infradead.org/users/jwboyer/powerpc-4xx.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/powerpc-4xx.git
S: Maintained
F: arch/powerpc/platforms/40x/
F: arch/powerpc/platforms/44x/
Expand Down
168 changes: 168 additions & 0 deletions trunk/arch/powerpc/boot/dts/a4m072.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
/*
* a4m072 board Device Tree Source
*
* Copyright (C) 2011 DENX Software Engineering GmbH
* Heiko Schocher <hs@denx.de>
*
* Copyright (C) 2007 Semihalf
* Marian Balakowicz <m8@semihalf.com>
*
* 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.
*/

/include/ "mpc5200b.dtsi"

/ {
model = "anonymous,a4m072";
compatible = "anonymous,a4m072";

soc5200@f0000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "fsl,mpc5200b-immr";
ranges = <0 0xf0000000 0x0000c000>;
reg = <0xf0000000 0x00000100>;
bus-frequency = <0>; /* From boot loader */
system-frequency = <0>; /* From boot loader */

cdm@200 {
fsl,init-ext-48mhz-en = <0x0>;
fsl,init-fd-enable = <0x01>;
fsl,init-fd-counters = <0x3333>;
};

timer@600 {
fsl,has-wdt;
};

gpt3: timer@630 { /* General Purpose Timer in GPIO mode */
compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio";
gpio-controller;
#gpio-cells = <2>;
};

gpt4: timer@640 { /* General Purpose Timer in GPIO mode */
compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio";
gpio-controller;
#gpio-cells = <2>;
};

gpt5: timer@650 { /* General Purpose Timer in GPIO mode */
compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio";
gpio-controller;
#gpio-cells = <2>;
};

spi@f00 {
status = "disabled";
};

psc@2000 {
compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
reg = <0x2000 0x100>;
interrupts = <2 1 0>;
};

psc@2200 {
compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
reg = <0x2200 0x100>;
interrupts = <2 2 0>;
};

psc@2400 {
compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
reg = <0x2400 0x100>;
interrupts = <2 3 0>;
};

psc@2600 {
status = "disabled";
};

psc@2800 {
status = "disabled";
};

psc@2c00 {
compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
reg = <0x2c00 0x100>;
interrupts = <2 4 0>;
};

ethernet@3000 {
phy-handle = <&phy0>;
};

mdio@3000 {
phy0: ethernet-phy@1f {
reg = <0x1f>;
interrupts = <1 2 0>; /* IRQ 2 active low */
};
};

i2c@3d00 {
status = "disabled";
};

i2c@3d40 {
hwmon@2e {
compatible = "nsc,lm87";
reg = <0x2e>;
};
rtc@51 {
compatible = "nxp,rtc8564";
reg = <0x51>;
};
};
};

localbus {
compatible = "fsl,mpc5200b-lpb","simple-bus";
#address-cells = <2>;
#size-cells = <1>;
ranges = <0 0 0xfe000000 0x02000000
1 0 0x62000000 0x00400000
2 0 0x64000000 0x00200000
3 0 0x66000000 0x01000000
6 0 0x68000000 0x01000000
7 0 0x6a000000 0x00000004>;

flash@0,0 {
compatible = "cfi-flash";
reg = <0 0 0x02000000>;
bank-width = <2>;
#size-cells = <1>;
#address-cells = <1>;
};
sram0@1,0 {
compatible = "mtd-ram";
reg = <1 0x00000 0x00400000>;
bank-width = <2>;
};
};

pci@f0000d00 {
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
compatible = "fsl,mpc5200-pci";
reg = <0xf0000d00 0x100>;
interrupt-map-mask = <0xf800 0 0 7>;
interrupt-map = <
/* IDSEL 0x16 */
0xc000 0 0 1 &mpc5200_pic 1 3 3
0xc000 0 0 2 &mpc5200_pic 1 3 3
0xc000 0 0 3 &mpc5200_pic 1 3 3
0xc000 0 0 4 &mpc5200_pic 1 3 3>;
clock-frequency = <0>; /* From boot loader */
interrupts = <2 8 0 2 9 0 2 10 0>;
bus-range = <0 0>;
ranges = <0x42000000 0 0x80000000 0x80000000 0 0x10000000
0x02000000 0 0x90000000 0x90000000 0 0x10000000
0x01000000 0 0x00000000 0xa0000000 0 0x01000000>;
};
};
127 changes: 125 additions & 2 deletions trunk/arch/powerpc/boot/dts/bluestone.dts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
aliases {
ethernet0 = &EMAC0;
serial0 = &UART0;
//serial1 = &UART1; --gcl missing UART1 label
serial1 = &UART1;
};

cpus {
Expand All @@ -52,7 +52,7 @@
d-cache-size = <32768>;
dcr-controller;
dcr-access-method = "native";
//next-level-cache = <&L2C0>; --gcl missing L2C0 label
next-level-cache = <&L2C0>;
};
};

Expand Down Expand Up @@ -117,6 +117,16 @@
dcr-reg = <0x00c 0x002>;
};

L2C0: l2c {
compatible = "ibm,l2-cache-apm82181", "ibm,l2-cache";
dcr-reg = <0x020 0x008
0x030 0x008>;
cache-line-size = <32>;
cache-size = <262144>;
interrupt-parent = <&UIC1>;
interrupts = <11 1>;
};

plb {
compatible = "ibm,plb4";
#address-cells = <2>;
Expand Down Expand Up @@ -182,6 +192,53 @@
reg = <0x001a0000 0x00060000>;
};
};

ndfc@1,0 {
compatible = "ibm,ndfc";
reg = <0x00000003 0x00000000 0x00002000>;
ccr = <0x00001000>;
bank-settings = <0x80002222>;
#address-cells = <1>;
#size-cells = <1>;
/* 2Gb Nand Flash */
nand {
#address-cells = <1>;
#size-cells = <1>;

partition@0 {
label = "firmware";
reg = <0x00000000 0x00C00000>;
};
partition@c00000 {
label = "environment";
reg = <0x00C00000 0x00B00000>;
};
partition@1700000 {
label = "kernel";
reg = <0x01700000 0x00E00000>;
};
partition@2500000 {
label = "root";
reg = <0x02500000 0x08200000>;
};
partition@a700000 {
label = "device-tree";
reg = <0x0A700000 0x00B00000>;
};
partition@b200000 {
label = "config";
reg = <0x0B200000 0x00D00000>;
};
partition@bf00000 {
label = "diag";
reg = <0x0BF00000 0x00C00000>;
};
partition@cb00000 {
label = "vendor";
reg = <0x0CB00000 0x3500000>;
};
};
};
};

UART0: serial@ef600300 {
Expand All @@ -195,11 +252,36 @@
interrupts = <0x1 0x4>;
};

UART1: serial@ef600400 {
device_type = "serial";
compatible = "ns16550";
reg = <0xef600400 0x00000008>;
virtual-reg = <0xef600400>;
clock-frequency = <0>; /* Filled in by U-Boot */
current-speed = <0>; /* Filled in by U-Boot */
interrupt-parent = <&UIC0>;
interrupts = <0x1 0x4>;
};

IIC0: i2c@ef600700 {
compatible = "ibm,iic";
reg = <0xef600700 0x00000014>;
interrupt-parent = <&UIC0>;
interrupts = <0x2 0x4>;
#address-cells = <1>;
#size-cells = <0>;
rtc@68 {
compatible = "stm,m41t80";
reg = <0x68>;
interrupt-parent = <&UIC0>;
interrupts = <0x9 0x8>;
};
sttm@4C {
compatible = "adm,adm1032";
reg = <0x4C>;
interrupt-parent = <&UIC1>;
interrupts = <0x1E 0x8>; /* CPU_THERNAL_L */
};
};

IIC1: i2c@ef600800 {
Expand Down Expand Up @@ -250,5 +332,46 @@
};
};

PCIE0: pciex@d00000000 {
device_type = "pci";
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
compatible = "ibm,plb-pciex-apm821xx", "ibm,plb-pciex";
primary;
port = <0x0>; /* port number */
reg = <0x0000000d 0x00000000 0x20000000 /* Config space access */
0x0000000c 0x08010000 0x00001000>; /* Registers */
dcr-reg = <0x100 0x020>;
sdr-base = <0x300>;

/* Outbound ranges, one memory and one IO,
* later cannot be changed
*/
ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000
0x02000000 0x00000000 0x00000000 0x0000000f 0x00000000 0x00000000 0x00100000
0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>;

/* Inbound 2GB range starting at 0 */
dma-ranges = <0x42000000 0x0 0x0 0x0 0x0 0x0 0x80000000>;

/* This drives busses 40 to 0x7f */
bus-range = <0x40 0x7f>;

/* Legacy interrupts (note the weird polarity, the bridge seems
* to invert PCIe legacy interrupts).
* We are de-swizzling here because the numbers are actually for
* port of the root complex virtual P2P bridge. But I want
* to avoid putting a node for it in the tree, so the numbers
* below are basically de-swizzled numbers.
* The real slot is on idsel 0, so the swizzling is 1:1
*/
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
interrupt-map = <
0x0 0x0 0x0 0x1 &UIC3 0xc 0x4 /* swizzled int A */
0x0 0x0 0x0 0x2 &UIC3 0xd 0x4 /* swizzled int B */
0x0 0x0 0x0 0x3 &UIC3 0xe 0x4 /* swizzled int C */
0x0 0x0 0x0 0x4 &UIC3 0xf 0x4 /* swizzled int D */>;
};
};
};
Loading

0 comments on commit 3f8c19b

Please sign in to comment.