mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-20 03:04:01 +08:00
Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc
This commit is contained in:
commit
fe6af6faec
@ -1334,6 +1334,9 @@ platforms are moved over to use the flattened-device-tree model.
|
||||
fsl-usb2-mph compatible controllers. Either this property or
|
||||
"port0" (or both) must be defined for "fsl-usb2-mph" compatible
|
||||
controllers.
|
||||
- dr_mode : indicates the working mode for "fsl-usb2-dr" compatible
|
||||
controllers. Can be "host", "peripheral", or "otg". Default to
|
||||
"host" if not defined for backward compatibility.
|
||||
|
||||
Recommended properties :
|
||||
- interrupts : <a b> where a is the interrupt number and b is a
|
||||
@ -1367,6 +1370,7 @@ platforms are moved over to use the flattened-device-tree model.
|
||||
#size-cells = <0>;
|
||||
interrupt-parent = <700>;
|
||||
interrupts = <26 1>;
|
||||
dr_mode = "otg";
|
||||
phy = "ulpi";
|
||||
};
|
||||
|
||||
|
148
arch/powerpc/boot/dts/kuroboxHD.dts
Normal file
148
arch/powerpc/boot/dts/kuroboxHD.dts
Normal file
@ -0,0 +1,148 @@
|
||||
/*
|
||||
* Device Tree Souce for Buffalo KuroboxHD
|
||||
*
|
||||
* Choose CONFIG_LINKSTATION to build a kernel for KuroboxHD, or use
|
||||
* the default configuration linkstation_defconfig.
|
||||
*
|
||||
* Based on sandpoint.dts
|
||||
*
|
||||
* 2006 (c) G. Liakhovetski <g.liakhovetski@gmx.de>
|
||||
*
|
||||
* 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.
|
||||
|
||||
XXXX add flash parts, rtc, ??
|
||||
|
||||
build with: "dtc -f -I dts -O dtb -o kuroboxHD.dtb -V 16 kuroboxHD.dts"
|
||||
|
||||
|
||||
*/
|
||||
|
||||
/ {
|
||||
linux,phandle = <1000>;
|
||||
model = "KuroboxHD";
|
||||
compatible = "linkstation";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
cpus {
|
||||
linux,phandle = <2000>;
|
||||
#cpus = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
PowerPC,603e { /* Really 8241 */
|
||||
linux,phandle = <2100>;
|
||||
linux,boot-cpu;
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
clock-frequency = <bebc200>; /* Fixed by bootwrapper */
|
||||
timebase-frequency = <1743000>; /* Fixed by bootwrapper */
|
||||
bus-frequency = <0>; /* From bootloader */
|
||||
/* Following required by dtc but not used */
|
||||
i-cache-line-size = <0>;
|
||||
d-cache-line-size = <0>;
|
||||
i-cache-size = <4000>;
|
||||
d-cache-size = <4000>;
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
linux,phandle = <3000>;
|
||||
device_type = "memory";
|
||||
reg = <00000000 04000000>;
|
||||
};
|
||||
|
||||
soc10x { /* AFAICT need to make soc for 8245's uarts to be defined */
|
||||
linux,phandle = <4000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
#interrupt-cells = <2>;
|
||||
device_type = "soc";
|
||||
compatible = "mpc10x";
|
||||
store-gathering = <0>; /* 0 == off, !0 == on */
|
||||
reg = <80000000 00100000>;
|
||||
ranges = <80000000 80000000 70000000 /* pci mem space */
|
||||
fc000000 fc000000 00100000 /* EUMB */
|
||||
fe000000 fe000000 00c00000 /* pci i/o space */
|
||||
fec00000 fec00000 00300000 /* pci cfg regs */
|
||||
fef00000 fef00000 00100000>; /* pci iack */
|
||||
|
||||
i2c@80003000 {
|
||||
linux,phandle = <4300>;
|
||||
device_type = "i2c";
|
||||
compatible = "fsl-i2c";
|
||||
reg = <80003000 1000>;
|
||||
interrupts = <5 2>;
|
||||
interrupt-parent = <4400>;
|
||||
};
|
||||
|
||||
serial@80004500 {
|
||||
linux,phandle = <4511>;
|
||||
device_type = "serial";
|
||||
compatible = "ns16550";
|
||||
reg = <80004500 8>;
|
||||
clock-frequency = <5d08d88>;
|
||||
current-speed = <2580>;
|
||||
interrupts = <9 2>;
|
||||
interrupt-parent = <4400>;
|
||||
};
|
||||
|
||||
serial@80004600 {
|
||||
linux,phandle = <4512>;
|
||||
device_type = "serial";
|
||||
compatible = "ns16550";
|
||||
reg = <80004600 8>;
|
||||
clock-frequency = <5d08d88>;
|
||||
current-speed = <e100>;
|
||||
interrupts = <a 0>;
|
||||
interrupt-parent = <4400>;
|
||||
};
|
||||
|
||||
pic@80040000 {
|
||||
linux,phandle = <4400>;
|
||||
#interrupt-cells = <2>;
|
||||
#address-cells = <0>;
|
||||
device_type = "open-pic";
|
||||
compatible = "chrp,open-pic";
|
||||
interrupt-controller;
|
||||
reg = <80040000 40000>;
|
||||
built-in;
|
||||
};
|
||||
|
||||
pci@fec00000 {
|
||||
linux,phandle = <4500>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
#interrupt-cells = <1>;
|
||||
device_type = "pci";
|
||||
compatible = "mpc10x-pci";
|
||||
reg = <fec00000 400000>;
|
||||
ranges = <01000000 0 0 fe000000 0 00c00000
|
||||
02000000 0 80000000 80000000 0 70000000>;
|
||||
bus-range = <0 ff>;
|
||||
clock-frequency = <7f28155>;
|
||||
interrupt-parent = <4400>;
|
||||
interrupt-map-mask = <f800 0 0 7>;
|
||||
interrupt-map = <
|
||||
/* IDSEL 0x11 - IRQ0 ETH */
|
||||
5800 0 0 1 4400 0 1
|
||||
5800 0 0 2 4400 1 1
|
||||
5800 0 0 3 4400 2 1
|
||||
5800 0 0 4 4400 3 1
|
||||
/* IDSEL 0x12 - IRQ1 IDE0 */
|
||||
6000 0 0 1 4400 1 1
|
||||
6000 0 0 2 4400 2 1
|
||||
6000 0 0 3 4400 3 1
|
||||
6000 0 0 4 4400 0 1
|
||||
/* IDSEL 0x14 - IRQ3 USB2.0 */
|
||||
7000 0 0 1 4400 3 1
|
||||
7000 0 0 2 4400 3 1
|
||||
7000 0 0 3 4400 3 1
|
||||
7000 0 0 4 4400 3 1
|
||||
>;
|
||||
};
|
||||
};
|
||||
};
|
219
arch/powerpc/boot/dts/mpc8313erdb.dts
Normal file
219
arch/powerpc/boot/dts/mpc8313erdb.dts
Normal file
@ -0,0 +1,219 @@
|
||||
/*
|
||||
* MPC8313E RDB Device Tree Source
|
||||
*
|
||||
* Copyright 2005, 2006, 2007 Freescale Semiconductor Inc.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
/ {
|
||||
model = "MPC8313ERDB";
|
||||
compatible = "MPC83xx";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
cpus {
|
||||
#cpus = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
PowerPC,8313@0 {
|
||||
device_type = "cpu";
|
||||
reg = <0>;
|
||||
d-cache-line-size = <20>; // 32 bytes
|
||||
i-cache-line-size = <20>; // 32 bytes
|
||||
d-cache-size = <4000>; // L1, 16K
|
||||
i-cache-size = <4000>; // L1, 16K
|
||||
timebase-frequency = <0>; // from bootloader
|
||||
bus-frequency = <0>; // from bootloader
|
||||
clock-frequency = <0>; // from bootloader
|
||||
32-bit;
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
reg = <00000000 08000000>; // 128MB at 0
|
||||
};
|
||||
|
||||
soc8313@e0000000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
#interrupt-cells = <2>;
|
||||
device_type = "soc";
|
||||
ranges = <0 e0000000 00100000>;
|
||||
reg = <e0000000 00000200>;
|
||||
bus-frequency = <0>;
|
||||
|
||||
wdt@200 {
|
||||
device_type = "watchdog";
|
||||
compatible = "mpc83xx_wdt";
|
||||
reg = <200 100>;
|
||||
};
|
||||
|
||||
i2c@3000 {
|
||||
device_type = "i2c";
|
||||
compatible = "fsl-i2c";
|
||||
reg = <3000 100>;
|
||||
interrupts = <e 8>;
|
||||
interrupt-parent = <700>;
|
||||
dfsrr;
|
||||
};
|
||||
|
||||
i2c@3100 {
|
||||
device_type = "i2c";
|
||||
compatible = "fsl-i2c";
|
||||
reg = <3100 100>;
|
||||
interrupts = <f 8>;
|
||||
interrupt-parent = <700>;
|
||||
dfsrr;
|
||||
};
|
||||
|
||||
spi@7000 {
|
||||
device_type = "spi";
|
||||
compatible = "mpc83xx_spi";
|
||||
reg = <7000 1000>;
|
||||
interrupts = <10 8>;
|
||||
interrupt-parent = <700>;
|
||||
mode = <0>;
|
||||
};
|
||||
|
||||
/* phy type (ULPI, UTMI, UTMI_WIDE, SERIAL) */
|
||||
usb@23000 {
|
||||
device_type = "usb";
|
||||
compatible = "fsl-usb2-dr";
|
||||
reg = <23000 1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupt-parent = <700>;
|
||||
interrupts = <26 2>;
|
||||
phy_type = "utmi_wide";
|
||||
};
|
||||
|
||||
mdio@24520 {
|
||||
device_type = "mdio";
|
||||
compatible = "gianfar";
|
||||
reg = <24520 20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
linux,phandle = <24520>;
|
||||
ethernet-phy@1 {
|
||||
linux,phandle = <2452001>;
|
||||
interrupt-parent = <700>;
|
||||
interrupts = <13 2>;
|
||||
reg = <1>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
ethernet-phy@4 {
|
||||
linux,phandle = <2452004>;
|
||||
interrupt-parent = <700>;
|
||||
interrupts = <14 2>;
|
||||
reg = <4>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
};
|
||||
|
||||
ethernet@24000 {
|
||||
device_type = "network";
|
||||
model = "eTSEC";
|
||||
compatible = "gianfar";
|
||||
reg = <24000 1000>;
|
||||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <25 8 24 8 23 8>;
|
||||
interrupt-parent = <700>;
|
||||
phy-handle = <2452001>;
|
||||
};
|
||||
|
||||
ethernet@25000 {
|
||||
device_type = "network";
|
||||
model = "eTSEC";
|
||||
compatible = "gianfar";
|
||||
reg = <25000 1000>;
|
||||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <22 8 21 8 20 8>;
|
||||
interrupt-parent = <700>;
|
||||
phy-handle = <2452004>;
|
||||
};
|
||||
|
||||
serial@4500 {
|
||||
device_type = "serial";
|
||||
compatible = "ns16550";
|
||||
reg = <4500 100>;
|
||||
clock-frequency = <0>;
|
||||
interrupts = <9 8>;
|
||||
interrupt-parent = <700>;
|
||||
};
|
||||
|
||||
serial@4600 {
|
||||
device_type = "serial";
|
||||
compatible = "ns16550";
|
||||
reg = <4600 100>;
|
||||
clock-frequency = <0>;
|
||||
interrupts = <a 8>;
|
||||
interrupt-parent = <700>;
|
||||
};
|
||||
|
||||
pci@8500 {
|
||||
interrupt-map-mask = <f800 0 0 7>;
|
||||
interrupt-map = <
|
||||
|
||||
/* IDSEL 0x0E -mini PCI */
|
||||
7000 0 0 1 700 12 8
|
||||
7000 0 0 2 700 12 8
|
||||
7000 0 0 3 700 12 8
|
||||
7000 0 0 4 700 12 8
|
||||
|
||||
/* IDSEL 0x0F - PCI slot */
|
||||
7800 0 0 1 700 11 8
|
||||
7800 0 0 2 700 12 8
|
||||
7800 0 0 3 700 11 8
|
||||
7800 0 0 4 700 12 8>;
|
||||
interrupt-parent = <700>;
|
||||
interrupts = <42 8>;
|
||||
bus-range = <0 0>;
|
||||
ranges = <02000000 0 90000000 90000000 0 10000000
|
||||
42000000 0 80000000 80000000 0 10000000
|
||||
01000000 0 00000000 e2000000 0 00100000>;
|
||||
clock-frequency = <3f940aa>;
|
||||
#interrupt-cells = <1>;
|
||||
#size-cells = <2>;
|
||||
#address-cells = <3>;
|
||||
reg = <8500 100>;
|
||||
compatible = "83xx";
|
||||
device_type = "pci";
|
||||
};
|
||||
|
||||
crypto@30000 {
|
||||
device_type = "crypto";
|
||||
model = "SEC2";
|
||||
compatible = "talitos";
|
||||
reg = <30000 7000>;
|
||||
interrupts = <b 8>;
|
||||
interrupt-parent = <700>;
|
||||
/* Rev. 2.2 */
|
||||
num-channels = <1>;
|
||||
channel-fifo-len = <18>;
|
||||
exec-units-mask = <0000004c>;
|
||||
descriptor-types-mask = <0122003f>;
|
||||
};
|
||||
|
||||
/* IPIC
|
||||
* interrupts cell = <intr #, sense>
|
||||
* sense values match linux IORESOURCE_IRQ_* defines:
|
||||
* sense == 8: Level, low assertion
|
||||
* sense == 2: Edge, high-to-low change
|
||||
*/
|
||||
pic@700 {
|
||||
linux,phandle = <700>;
|
||||
interrupt-controller;
|
||||
#address-cells = <0>;
|
||||
#interrupt-cells = <2>;
|
||||
reg = <700 100>;
|
||||
built-in;
|
||||
device_type = "ipic";
|
||||
};
|
||||
};
|
||||
};
|
@ -39,6 +39,11 @@
|
||||
reg = <00000000 10000000>; // 256MB at 0
|
||||
};
|
||||
|
||||
bcsr@e2400000 {
|
||||
device_type = "board-control";
|
||||
reg = <e2400000 8000>;
|
||||
};
|
||||
|
||||
soc8349@e0000000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
@ -103,6 +108,7 @@
|
||||
#size-cells = <0>;
|
||||
interrupt-parent = <700>;
|
||||
interrupts = <26 2>;
|
||||
dr_mode = "otg";
|
||||
phy_type = "ulpi";
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.20-rc5
|
||||
# Mon Jan 22 22:17:58 2007
|
||||
# Linux kernel version: 2.6.20-rc6
|
||||
# Sun Jan 28 23:13:56 2007
|
||||
#
|
||||
# CONFIG_PPC64 is not set
|
||||
CONFIG_PPC32=y
|
||||
@ -58,7 +58,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
#
|
||||
# General setup
|
||||
#
|
||||
CONFIG_LOCALVERSION="-kuroboxHG"
|
||||
CONFIG_LOCALVERSION=""
|
||||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
@ -206,7 +206,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
CONFIG_PROC_DEVICETREE=y
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
# CONFIG_PM is not set
|
||||
# CONFIG_SECCOMP is not set
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_ISA_DMA_API=y
|
||||
|
||||
#
|
||||
@ -312,39 +312,40 @@ CONFIG_NF_CONNTRACK=m
|
||||
# CONFIG_NF_CT_ACCT is not set
|
||||
# CONFIG_NF_CONNTRACK_MARK is not set
|
||||
# CONFIG_NF_CONNTRACK_EVENTS is not set
|
||||
# CONFIG_NF_CT_PROTO_SCTP is not set
|
||||
# CONFIG_NF_CONNTRACK_AMANDA is not set
|
||||
CONFIG_NF_CT_PROTO_GRE=m
|
||||
CONFIG_NF_CT_PROTO_SCTP=m
|
||||
CONFIG_NF_CONNTRACK_AMANDA=m
|
||||
CONFIG_NF_CONNTRACK_FTP=m
|
||||
# CONFIG_NF_CONNTRACK_H323 is not set
|
||||
CONFIG_NF_CONNTRACK_H323=m
|
||||
CONFIG_NF_CONNTRACK_IRC=m
|
||||
# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
|
||||
# CONFIG_NF_CONNTRACK_PPTP is not set
|
||||
# CONFIG_NF_CONNTRACK_SIP is not set
|
||||
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
|
||||
CONFIG_NF_CONNTRACK_PPTP=m
|
||||
CONFIG_NF_CONNTRACK_SIP=m
|
||||
CONFIG_NF_CONNTRACK_TFTP=m
|
||||
CONFIG_NETFILTER_XTABLES=m
|
||||
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
|
||||
# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
|
||||
CONFIG_NETFILTER_XT_TARGET_MARK=m
|
||||
# CONFIG_NETFILTER_XT_TARGET_MARK is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
|
||||
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
|
||||
# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
|
||||
# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
|
||||
CONFIG_NETFILTER_XT_MATCH_ESP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_HELPER=m
|
||||
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
|
||||
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_ESP is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
|
||||
CONFIG_NETFILTER_XT_MATCH_MAC=m
|
||||
CONFIG_NETFILTER_XT_MATCH_MARK=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_MARK is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
|
||||
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
|
||||
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_REALM is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_STATE is not set
|
||||
CONFIG_NETFILTER_XT_MATCH_STATE=m
|
||||
# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_STRING is not set
|
||||
# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
|
||||
@ -359,12 +360,12 @@ CONFIG_NF_CONNTRACK_PROC_COMPAT=y
|
||||
CONFIG_IP_NF_IPTABLES=m
|
||||
CONFIG_IP_NF_MATCH_IPRANGE=m
|
||||
# CONFIG_IP_NF_MATCH_TOS is not set
|
||||
# CONFIG_IP_NF_MATCH_RECENT is not set
|
||||
CONFIG_IP_NF_MATCH_RECENT=m
|
||||
# CONFIG_IP_NF_MATCH_ECN is not set
|
||||
# CONFIG_IP_NF_MATCH_AH is not set
|
||||
# CONFIG_IP_NF_MATCH_TTL is not set
|
||||
# CONFIG_IP_NF_MATCH_OWNER is not set
|
||||
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
|
||||
CONFIG_IP_NF_MATCH_OWNER=m
|
||||
CONFIG_IP_NF_MATCH_ADDRTYPE=m
|
||||
CONFIG_IP_NF_FILTER=m
|
||||
CONFIG_IP_NF_TARGET_REJECT=m
|
||||
# CONFIG_IP_NF_TARGET_LOG is not set
|
||||
@ -374,16 +375,17 @@ CONFIG_NF_NAT=m
|
||||
CONFIG_NF_NAT_NEEDED=y
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=m
|
||||
CONFIG_IP_NF_TARGET_NETMAP=m
|
||||
CONFIG_IP_NF_TARGET_SAME=m
|
||||
# CONFIG_IP_NF_TARGET_NETMAP is not set
|
||||
# CONFIG_IP_NF_TARGET_SAME is not set
|
||||
# CONFIG_NF_NAT_SNMP_BASIC is not set
|
||||
CONFIG_NF_NAT_PROTO_GRE=m
|
||||
CONFIG_NF_NAT_FTP=m
|
||||
CONFIG_NF_NAT_IRC=m
|
||||
CONFIG_NF_NAT_TFTP=m
|
||||
# CONFIG_NF_NAT_AMANDA is not set
|
||||
# CONFIG_NF_NAT_PPTP is not set
|
||||
# CONFIG_NF_NAT_H323 is not set
|
||||
# CONFIG_NF_NAT_SIP is not set
|
||||
CONFIG_NF_NAT_AMANDA=m
|
||||
CONFIG_NF_NAT_PPTP=m
|
||||
CONFIG_NF_NAT_H323=m
|
||||
CONFIG_NF_NAT_SIP=m
|
||||
CONFIG_IP_NF_MANGLE=m
|
||||
CONFIG_IP_NF_TARGET_TOS=m
|
||||
CONFIG_IP_NF_TARGET_ECN=m
|
||||
@ -472,6 +474,7 @@ CONFIG_MTD_PARTITIONS=y
|
||||
# User Modules And Translation Layers
|
||||
#
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLKDEVS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
# CONFIG_FTL is not set
|
||||
# CONFIG_NFTL is not set
|
||||
@ -518,6 +521,7 @@ CONFIG_MTD_PHYSMAP=y
|
||||
CONFIG_MTD_PHYSMAP_START=0xffc00000
|
||||
CONFIG_MTD_PHYSMAP_LEN=0x400000
|
||||
CONFIG_MTD_PHYSMAP_BANKWIDTH=1
|
||||
# CONFIG_MTD_PHYSMAP_OF is not set
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
|
||||
#
|
||||
@ -540,6 +544,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
|
||||
# NAND Flash Device Drivers
|
||||
#
|
||||
# CONFIG_MTD_NAND is not set
|
||||
# CONFIG_MTD_NAND_CAFE is not set
|
||||
|
||||
#
|
||||
# OneNAND Flash Device Drivers
|
||||
@ -696,7 +701,7 @@ CONFIG_ATA=y
|
||||
# CONFIG_PATA_HPT37X is not set
|
||||
# CONFIG_PATA_HPT3X2N is not set
|
||||
# CONFIG_PATA_HPT3X3 is not set
|
||||
# CONFIG_PATA_IT821X is not set
|
||||
CONFIG_PATA_IT821X=y
|
||||
# CONFIG_PATA_JMICRON is not set
|
||||
# CONFIG_PATA_TRIFLEX is not set
|
||||
# CONFIG_PATA_MARVELL is not set
|
||||
@ -763,11 +768,33 @@ CONFIG_TUN=m
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
# CONFIG_PHYLIB is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
#
|
||||
# CONFIG_NET_ETHERNET is not set
|
||||
CONFIG_NET_ETHERNET=y
|
||||
# CONFIG_MII is not set
|
||||
# CONFIG_HAPPYMEAL is not set
|
||||
# CONFIG_SUNGEM is not set
|
||||
# CONFIG_CASSINI is not set
|
||||
# CONFIG_NET_VENDOR_3COM is not set
|
||||
|
||||
#
|
||||
# Tulip family network device support
|
||||
#
|
||||
CONFIG_NET_TULIP=y
|
||||
# CONFIG_DE2104X is not set
|
||||
CONFIG_TULIP=y
|
||||
# CONFIG_TULIP_MWI is not set
|
||||
CONFIG_TULIP_MMIO=y
|
||||
# CONFIG_TULIP_NAPI is not set
|
||||
# CONFIG_DE4X5 is not set
|
||||
# CONFIG_WINBOND_840 is not set
|
||||
# CONFIG_DM9102 is not set
|
||||
# CONFIG_ULI526X is not set
|
||||
# CONFIG_HP100 is not set
|
||||
# CONFIG_NET_PCI is not set
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
@ -829,7 +856,8 @@ CONFIG_NET_RADIO=y
|
||||
# CONFIG_USB_ZD1201 is not set
|
||||
# CONFIG_HOSTAP is not set
|
||||
# CONFIG_BCM43XX is not set
|
||||
# CONFIG_ZD1211RW is not set
|
||||
CONFIG_ZD1211RW=m
|
||||
# CONFIG_ZD1211RW_DEBUG is not set
|
||||
CONFIG_NET_WIRELESS=y
|
||||
|
||||
#
|
||||
@ -1098,7 +1126,7 @@ CONFIG_DUMMY_CONSOLE=y
|
||||
#
|
||||
# HID Devices
|
||||
#
|
||||
CONFIG_HID=y
|
||||
CONFIG_HID=m
|
||||
|
||||
#
|
||||
# USB support
|
||||
@ -1115,7 +1143,6 @@ CONFIG_USB=y
|
||||
CONFIG_USB_DEVICEFS=y
|
||||
# CONFIG_USB_BANDWIDTH is not set
|
||||
# CONFIG_USB_DYNAMIC_MINORS is not set
|
||||
# CONFIG_USB_MULTITHREAD_PROBE is not set
|
||||
# CONFIG_USB_OTG is not set
|
||||
|
||||
#
|
||||
@ -1136,7 +1163,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
||||
# USB Device Class drivers
|
||||
#
|
||||
# CONFIG_USB_ACM is not set
|
||||
# CONFIG_USB_PRINTER is not set
|
||||
CONFIG_USB_PRINTER=m
|
||||
|
||||
#
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
|
||||
@ -1371,7 +1398,11 @@ CONFIG_FS_MBCACHE=y
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
CONFIG_FS_POSIX_ACL=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
CONFIG_XFS_FS=m
|
||||
# CONFIG_XFS_QUOTA is not set
|
||||
# CONFIG_XFS_SECURITY is not set
|
||||
# CONFIG_XFS_POSIX_ACL is not set
|
||||
# CONFIG_XFS_RT is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
@ -1461,7 +1492,12 @@ CONFIG_SUNRPC_GSS=y
|
||||
CONFIG_RPCSEC_GSS_KRB5=y
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
# CONFIG_CIFS is not set
|
||||
CONFIG_CIFS=m
|
||||
# CONFIG_CIFS_STATS is not set
|
||||
# CONFIG_CIFS_WEAK_PW_HASH is not set
|
||||
# CONFIG_CIFS_XATTR is not set
|
||||
# CONFIG_CIFS_DEBUG2 is not set
|
||||
# CONFIG_CIFS_EXPERIMENTAL is not set
|
||||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
# CONFIG_AFS_FS is not set
|
||||
@ -1495,7 +1531,7 @@ CONFIG_NLS_CODEPAGE_437=m
|
||||
# CONFIG_NLS_CODEPAGE_869 is not set
|
||||
# CONFIG_NLS_CODEPAGE_936 is not set
|
||||
# CONFIG_NLS_CODEPAGE_950 is not set
|
||||
# CONFIG_NLS_CODEPAGE_932 is not set
|
||||
CONFIG_NLS_CODEPAGE_932=m
|
||||
# CONFIG_NLS_CODEPAGE_949 is not set
|
||||
# CONFIG_NLS_CODEPAGE_874 is not set
|
||||
# CONFIG_NLS_ISO8859_8 is not set
|
||||
@ -1526,12 +1562,14 @@ CONFIG_NLS_UTF8=m
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
CONFIG_CRC_CCITT=m
|
||||
# CONFIG_CRC16 is not set
|
||||
CONFIG_CRC32=y
|
||||
CONFIG_LIBCRC32C=m
|
||||
CONFIG_ZLIB_INFLATE=m
|
||||
CONFIG_ZLIB_DEFLATE=m
|
||||
CONFIG_TEXTSEARCH=y
|
||||
CONFIG_TEXTSEARCH_KMP=m
|
||||
CONFIG_PLIST=y
|
||||
CONFIG_IOMAP_COPY=y
|
||||
|
||||
|
1409
arch/powerpc/configs/mpc8313_rdb_defconfig
Normal file
1409
arch/powerpc/configs/mpc8313_rdb_defconfig
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.20-rc5
|
||||
# Fri Jan 26 00:19:27 2007
|
||||
# Linux kernel version: 2.6.20
|
||||
# Thu Feb 8 01:00:48 2007
|
||||
#
|
||||
# CONFIG_PPC64 is not set
|
||||
CONFIG_PPC32=y
|
||||
@ -34,9 +34,9 @@ CONFIG_DEFAULT_UIMAGE=y
|
||||
CONFIG_PPC_83xx=y
|
||||
# CONFIG_PPC_85xx is not set
|
||||
# CONFIG_PPC_86xx is not set
|
||||
# CONFIG_PPC_8xx is not set
|
||||
# CONFIG_40x is not set
|
||||
# CONFIG_44x is not set
|
||||
# CONFIG_8xx is not set
|
||||
# CONFIG_E200 is not set
|
||||
CONFIG_6xx=y
|
||||
CONFIG_83xx=y
|
||||
@ -128,8 +128,9 @@ CONFIG_PPC_GEN550=y
|
||||
#
|
||||
# Platform support
|
||||
#
|
||||
# CONFIG_MPC8313_RDB is not set
|
||||
# CONFIG_MPC832x_MDS is not set
|
||||
CONFIG_MPC834x_SYS=y
|
||||
CONFIG_MPC834x_MDS=y
|
||||
# CONFIG_MPC834x_ITX is not set
|
||||
# CONFIG_MPC8360E_PB is not set
|
||||
CONFIG_MPC834x=y
|
||||
|
@ -295,7 +295,7 @@ void __init mapin_ram(void)
|
||||
}
|
||||
|
||||
/* is x a power of 4? */
|
||||
#define is_power_of_4(x) is_power_of_2(x) && (ffs(x) & 1))
|
||||
#define is_power_of_4(x) is_power_of_2(x) && (ffs(x) & 1)
|
||||
|
||||
/*
|
||||
* Set up a mapping for a block of I/O.
|
||||
|
@ -3,7 +3,13 @@ menu "Platform support"
|
||||
|
||||
choice
|
||||
prompt "Machine Type"
|
||||
default MPC834x_SYS
|
||||
default MPC834x_MDS
|
||||
|
||||
config MPC8313_RDB
|
||||
bool "Freescale MPC8313 RDB"
|
||||
select DEFAULT_UIMAGE
|
||||
help
|
||||
This option enables support for the MPC8313 RDB board.
|
||||
|
||||
config MPC832x_MDS
|
||||
bool "Freescale MPC832x MDS"
|
||||
@ -12,13 +18,13 @@ config MPC832x_MDS
|
||||
help
|
||||
This option enables support for the MPC832x MDS evaluation board.
|
||||
|
||||
config MPC834x_SYS
|
||||
bool "Freescale MPC834x SYS"
|
||||
config MPC834x_MDS
|
||||
bool "Freescale MPC834x MDS"
|
||||
select DEFAULT_UIMAGE
|
||||
help
|
||||
This option enables support for the MPC 834x SYS evaluation board.
|
||||
This option enables support for the MPC 834x MDS evaluation board.
|
||||
|
||||
Be aware that PCI buses can only function when SYS board is plugged
|
||||
Be aware that PCI buses can only function when MDS board is plugged
|
||||
into the PIB (Platform IO Board) board from Freescale which provide
|
||||
3 PCI slots. The PIBs PCI initialization is the bootloader's
|
||||
responsibility.
|
||||
@ -41,6 +47,12 @@ config MPC8360E_PB
|
||||
|
||||
endchoice
|
||||
|
||||
config PPC_MPC831x
|
||||
bool
|
||||
select PPC_UDBG_16550
|
||||
select PPC_INDIRECT_PCI
|
||||
default y if MPC8313_RDB
|
||||
|
||||
config PPC_MPC832x
|
||||
bool
|
||||
select PPC_UDBG_16550
|
||||
@ -51,7 +63,7 @@ config MPC834x
|
||||
bool
|
||||
select PPC_UDBG_16550
|
||||
select PPC_INDIRECT_PCI
|
||||
default y if MPC834x_SYS || MPC834x_ITX
|
||||
default y if MPC834x_MDS || MPC834x_ITX
|
||||
|
||||
config PPC_MPC836x
|
||||
bool
|
||||
|
@ -3,7 +3,8 @@
|
||||
#
|
||||
obj-y := misc.o
|
||||
obj-$(CONFIG_PCI) += pci.o
|
||||
obj-$(CONFIG_MPC834x_SYS) += mpc834x_sys.o
|
||||
obj-$(CONFIG_MPC8313_RDB) += mpc8313_rdb.o
|
||||
obj-$(CONFIG_MPC834x_MDS) += mpc834x_mds.o
|
||||
obj-$(CONFIG_MPC834x_ITX) += mpc834x_itx.o
|
||||
obj-$(CONFIG_MPC8360E_PB) += mpc8360e_pb.o
|
||||
obj-$(CONFIG_MPC832x_MDS) += mpc832x_mds.o
|
||||
|
99
arch/powerpc/platforms/83xx/mpc8313_rdb.c
Normal file
99
arch/powerpc/platforms/83xx/mpc8313_rdb.c
Normal file
@ -0,0 +1,99 @@
|
||||
/*
|
||||
* arch/powerpc/platforms/83xx/mpc8313_rdb.c
|
||||
*
|
||||
* Description: MPC8313x RDB board specific routines.
|
||||
* This file is based on mpc834x_sys.c
|
||||
* Author: Lo Wlison <r43300@freescale.com>
|
||||
*
|
||||
* Copyright (C) Freescale Semiconductor, Inc. 2006. All rights reserved.
|
||||
*
|
||||
* 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 <linux/pci.h>
|
||||
|
||||
#include <asm/time.h>
|
||||
#include <asm/ipic.h>
|
||||
#include <asm/udbg.h>
|
||||
|
||||
#include "mpc83xx.h"
|
||||
|
||||
#undef DEBUG
|
||||
#ifdef DEBUG
|
||||
#define DBG(fmt...) udbg_printf(fmt)
|
||||
#else
|
||||
#define DBG(fmt...)
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_PCI
|
||||
unsigned long isa_io_base = 0;
|
||||
unsigned long isa_mem_base = 0;
|
||||
#endif
|
||||
|
||||
/* ************************************************************************
|
||||
*
|
||||
* Setup the architecture
|
||||
*
|
||||
*/
|
||||
static void __init mpc8313_rdb_setup_arch(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
|
||||
if (ppc_md.progress)
|
||||
ppc_md.progress("mpc8313_rdb_setup_arch()", 0);
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
|
||||
add_bridge(np);
|
||||
|
||||
ppc_md.pci_exclude_device = mpc83xx_exclude_device;
|
||||
#endif
|
||||
}
|
||||
|
||||
void __init mpc8313_rdb_init_IRQ(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
|
||||
np = of_find_node_by_type(NULL, "ipic");
|
||||
if (!np)
|
||||
return;
|
||||
|
||||
ipic_init(np, 0);
|
||||
|
||||
/* Initialize the default interrupt mapping priorities,
|
||||
* in case the boot rom changed something on us.
|
||||
*/
|
||||
ipic_set_default_priority();
|
||||
}
|
||||
|
||||
/*
|
||||
* Called very early, MMU is off, device-tree isn't unflattened
|
||||
*/
|
||||
static int __init mpc8313_rdb_probe(void)
|
||||
{
|
||||
char *model = of_get_flat_dt_prop(of_get_flat_dt_root(),
|
||||
"model", NULL);
|
||||
if (model == NULL)
|
||||
return 0;
|
||||
if (strcmp(model, "MPC8313ERDB"))
|
||||
return 0;
|
||||
|
||||
DBG("MPC8313 RDB found\n");
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
define_machine(mpc8313_rdb) {
|
||||
.name = "MPC8313 RDB",
|
||||
.probe = mpc8313_rdb_probe,
|
||||
.setup_arch = mpc8313_rdb_setup_arch,
|
||||
.init_IRQ = mpc8313_rdb_init_IRQ,
|
||||
.get_irq = ipic_get_irq,
|
||||
.restart = mpc83xx_restart,
|
||||
.time_init = mpc83xx_time_init,
|
||||
.calibrate_decr = generic_calibrate_decr,
|
||||
.progress = udbg_progress,
|
||||
};
|
@ -38,8 +38,6 @@
|
||||
|
||||
#include "mpc83xx.h"
|
||||
|
||||
#include <platforms/83xx/mpc834x_sys.h>
|
||||
|
||||
#ifndef CONFIG_PCI
|
||||
unsigned long isa_io_base = 0;
|
||||
unsigned long isa_mem_base = 0;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* arch/powerpc/platforms/83xx/mpc834x_sys.c
|
||||
* arch/powerpc/platforms/83xx/mpc834x_mds.c
|
||||
*
|
||||
* MPC834x SYS board specific routines
|
||||
* MPC834x MDS board specific routines
|
||||
*
|
||||
* Maintainer: Kumar Gala <galak@kernel.crashing.org>
|
||||
*
|
||||
@ -43,17 +43,87 @@ unsigned long isa_io_base = 0;
|
||||
unsigned long isa_mem_base = 0;
|
||||
#endif
|
||||
|
||||
#define BCSR5_INT_USB 0x02
|
||||
/* Note: This is only for PB, not for PB+PIB
|
||||
* On PB only port0 is connected using ULPI */
|
||||
static int mpc834x_usb_cfg(void)
|
||||
{
|
||||
unsigned long sccr, sicrl;
|
||||
void __iomem *immap;
|
||||
void __iomem *bcsr_regs = NULL;
|
||||
u8 bcsr5;
|
||||
struct device_node *np = NULL;
|
||||
int port0_is_dr = 0;
|
||||
|
||||
if ((np = of_find_compatible_node(np, "usb", "fsl-usb2-dr")) != NULL)
|
||||
port0_is_dr = 1;
|
||||
if ((np = of_find_compatible_node(np, "usb", "fsl-usb2-mph")) != NULL){
|
||||
if (port0_is_dr) {
|
||||
printk(KERN_WARNING
|
||||
"There is only one USB port on PB board! \n");
|
||||
return -1;
|
||||
} else if (!port0_is_dr)
|
||||
/* No usb port enabled */
|
||||
return -1;
|
||||
}
|
||||
|
||||
immap = ioremap(get_immrbase(), 0x1000);
|
||||
if (!immap)
|
||||
return -1;
|
||||
|
||||
/* Configure clock */
|
||||
sccr = in_be32(immap + MPC83XX_SCCR_OFFS);
|
||||
if (port0_is_dr)
|
||||
sccr |= MPC83XX_SCCR_USB_DRCM_11; /* 1:3 */
|
||||
else
|
||||
sccr |= MPC83XX_SCCR_USB_MPHCM_11; /* 1:3 */
|
||||
out_be32(immap + MPC83XX_SCCR_OFFS, sccr);
|
||||
|
||||
/* Configure Pin */
|
||||
sicrl = in_be32(immap + MPC83XX_SICRL_OFFS);
|
||||
/* set port0 only */
|
||||
if (port0_is_dr)
|
||||
sicrl |= MPC83XX_SICRL_USB0;
|
||||
else
|
||||
sicrl &= ~(MPC83XX_SICRL_USB0);
|
||||
out_be32(immap + MPC83XX_SICRL_OFFS, sicrl);
|
||||
|
||||
iounmap(immap);
|
||||
|
||||
/* Map BCSR area */
|
||||
np = of_find_node_by_name(NULL, "bcsr");
|
||||
if (np != 0) {
|
||||
struct resource res;
|
||||
|
||||
of_address_to_resource(np, 0, &res);
|
||||
bcsr_regs = ioremap(res.start, res.end - res.start + 1);
|
||||
of_node_put(np);
|
||||
}
|
||||
if (!bcsr_regs)
|
||||
return -1;
|
||||
|
||||
/*
|
||||
* if MDS board is plug into PIB board,
|
||||
* force to use the PHY on MDS board
|
||||
*/
|
||||
bcsr5 = in_8(bcsr_regs + 5);
|
||||
if (!(bcsr5 & BCSR5_INT_USB))
|
||||
out_8(bcsr_regs + 5, (bcsr5 | BCSR5_INT_USB));
|
||||
iounmap(bcsr_regs);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* ************************************************************************
|
||||
*
|
||||
* Setup the architecture
|
||||
*
|
||||
*/
|
||||
static void __init mpc834x_sys_setup_arch(void)
|
||||
static void __init mpc834x_mds_setup_arch(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
|
||||
if (ppc_md.progress)
|
||||
ppc_md.progress("mpc834x_sys_setup_arch()", 0);
|
||||
ppc_md.progress("mpc834x_mds_setup_arch()", 0);
|
||||
|
||||
np = of_find_node_by_type(NULL, "cpu");
|
||||
if (np != 0) {
|
||||
@ -65,6 +135,7 @@ static void __init mpc834x_sys_setup_arch(void)
|
||||
loops_per_jiffy = 50000000 / HZ;
|
||||
of_node_put(np);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
|
||||
add_bridge(np);
|
||||
@ -72,6 +143,8 @@ static void __init mpc834x_sys_setup_arch(void)
|
||||
ppc_md.pci_exclude_device = mpc83xx_exclude_device;
|
||||
#endif
|
||||
|
||||
mpc834x_usb_cfg();
|
||||
|
||||
#ifdef CONFIG_ROOT_NFS
|
||||
ROOT_DEV = Root_NFS;
|
||||
#else
|
||||
@ -79,7 +152,7 @@ static void __init mpc834x_sys_setup_arch(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void __init mpc834x_sys_init_IRQ(void)
|
||||
static void __init mpc834x_mds_init_IRQ(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
|
||||
@ -119,7 +192,7 @@ late_initcall(mpc834x_rtc_hookup);
|
||||
/*
|
||||
* Called very early, MMU is off, device-tree isn't unflattened
|
||||
*/
|
||||
static int __init mpc834x_sys_probe(void)
|
||||
static int __init mpc834x_mds_probe(void)
|
||||
{
|
||||
/* We always match for now, eventually we should look at the flat
|
||||
dev tree to ensure this is the board we are suppose to run on
|
||||
@ -127,11 +200,11 @@ static int __init mpc834x_sys_probe(void)
|
||||
return 1;
|
||||
}
|
||||
|
||||
define_machine(mpc834x_sys) {
|
||||
.name = "MPC834x SYS",
|
||||
.probe = mpc834x_sys_probe,
|
||||
.setup_arch = mpc834x_sys_setup_arch,
|
||||
.init_IRQ = mpc834x_sys_init_IRQ,
|
||||
define_machine(mpc834x_mds) {
|
||||
.name = "MPC834x MDS",
|
||||
.probe = mpc834x_mds_probe,
|
||||
.setup_arch = mpc834x_mds_setup_arch,
|
||||
.init_IRQ = mpc834x_mds_init_IRQ,
|
||||
.get_irq = ipic_get_irq,
|
||||
.restart = mpc83xx_restart,
|
||||
.time_init = mpc83xx_time_init,
|
@ -1,23 +0,0 @@
|
||||
/*
|
||||
* arch/powerpc/platforms/83xx/mpc834x_sys.h
|
||||
*
|
||||
* MPC834X SYS common board definitions
|
||||
*
|
||||
* Maintainer: Kumar Gala <galak@kernel.crashing.org>
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __MACH_MPC83XX_SYS_H__
|
||||
#define __MACH_MPC83XX_SYS_H__
|
||||
|
||||
#define PIRQA MPC83xx_IRQ_EXT4
|
||||
#define PIRQB MPC83xx_IRQ_EXT5
|
||||
#define PIRQC MPC83xx_IRQ_EXT6
|
||||
#define PIRQD MPC83xx_IRQ_EXT7
|
||||
|
||||
#endif /* __MACH_MPC83XX_SYS_H__ */
|
@ -4,6 +4,24 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/device.h>
|
||||
|
||||
/* System Clock Control Register */
|
||||
#define MPC83XX_SCCR_OFFS 0xA08
|
||||
#define MPC83XX_SCCR_USB_MPHCM_11 0x00c00000
|
||||
#define MPC83XX_SCCR_USB_MPHCM_01 0x00400000
|
||||
#define MPC83XX_SCCR_USB_MPHCM_10 0x00800000
|
||||
#define MPC83XX_SCCR_USB_DRCM_11 0x00300000
|
||||
#define MPC83XX_SCCR_USB_DRCM_01 0x00100000
|
||||
#define MPC83XX_SCCR_USB_DRCM_10 0x00200000
|
||||
|
||||
/* system i/o configuration register low */
|
||||
#define MPC83XX_SICRL_OFFS 0x114
|
||||
#define MPC83XX_SICRL_USB0 0x40000000
|
||||
#define MPC83XX_SICRL_USB1 0x20000000
|
||||
|
||||
/* system i/o configuration register high */
|
||||
#define MPC83XX_SICRH_OFFS 0x118
|
||||
#define MPC83XX_SICRH_USB_UTMI 0x00020000
|
||||
|
||||
/*
|
||||
* Declaration for the various functions exported by the
|
||||
* mpc83xx_* files. Mostly for use by mpc83xx_setup
|
||||
|
@ -45,8 +45,7 @@ unsigned long isa_mem_base = 0;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
int
|
||||
mpc85xx_exclude_device(u_char bus, u_char devfn)
|
||||
static int mpc85xx_exclude_device(u_char bus, u_char devfn)
|
||||
{
|
||||
if (bus == 0 && PCI_SLOT(devfn) == 0)
|
||||
return PCIBIOS_DEVICE_NOT_FOUND;
|
||||
@ -69,7 +68,7 @@ static void cpm2_cascade(unsigned int irq, struct irq_desc *desc)
|
||||
|
||||
#endif /* CONFIG_CPM2 */
|
||||
|
||||
void __init mpc85xx_ads_pic_init(void)
|
||||
static void __init mpc85xx_ads_pic_init(void)
|
||||
{
|
||||
struct mpic *mpic;
|
||||
struct resource r;
|
||||
@ -254,7 +253,7 @@ static void __init mpc85xx_ads_setup_arch(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
void mpc85xx_ads_show_cpuinfo(struct seq_file *m)
|
||||
static void mpc85xx_ads_show_cpuinfo(struct seq_file *m)
|
||||
{
|
||||
uint pvid, svid, phid1;
|
||||
uint memsize = total_memory;
|
||||
|
@ -56,7 +56,6 @@ unsigned long isa_mem_base = 0;
|
||||
static int cds_pci_slot = 2;
|
||||
static volatile u8 *cadmus;
|
||||
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
|
||||
#define ARCADIA_HOST_BRIDGE_IDSEL 17
|
||||
@ -64,8 +63,7 @@ static volatile u8 *cadmus;
|
||||
|
||||
extern int mpc85xx_pci2_busno;
|
||||
|
||||
int
|
||||
mpc85xx_exclude_device(u_char bus, u_char devfn)
|
||||
static int mpc85xx_exclude_device(u_char bus, u_char devfn)
|
||||
{
|
||||
if (bus == 0 && PCI_SLOT(devfn) == 0)
|
||||
return PCIBIOS_DEVICE_NOT_FOUND;
|
||||
@ -81,8 +79,7 @@ mpc85xx_exclude_device(u_char bus, u_char devfn)
|
||||
return PCIBIOS_SUCCESSFUL;
|
||||
}
|
||||
|
||||
void __init
|
||||
mpc85xx_cds_pcibios_fixup(void)
|
||||
static void __init mpc85xx_cds_pcibios_fixup(void)
|
||||
{
|
||||
struct pci_dev *dev;
|
||||
u_char c;
|
||||
@ -144,7 +141,7 @@ static void mpc85xx_8259_cascade(unsigned int irq, struct irq_desc *desc)
|
||||
#endif /* PPC_I8259 */
|
||||
#endif /* CONFIG_PCI */
|
||||
|
||||
void __init mpc85xx_cds_pic_init(void)
|
||||
static void __init mpc85xx_cds_pic_init(void)
|
||||
{
|
||||
struct mpic *mpic;
|
||||
struct resource r;
|
||||
@ -224,12 +221,10 @@ void __init mpc85xx_cds_pic_init(void)
|
||||
#endif /* CONFIG_PPC_I8259 */
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Setup the architecture
|
||||
*/
|
||||
static void __init
|
||||
mpc85xx_cds_setup_arch(void)
|
||||
static void __init mpc85xx_cds_setup_arch(void)
|
||||
{
|
||||
struct device_node *cpu;
|
||||
#ifdef CONFIG_PCI
|
||||
@ -276,9 +271,7 @@ mpc85xx_cds_setup_arch(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
mpc85xx_cds_show_cpuinfo(struct seq_file *m)
|
||||
static void mpc85xx_cds_show_cpuinfo(struct seq_file *m)
|
||||
{
|
||||
uint pvid, svid, phid1;
|
||||
uint memsize = total_memory;
|
||||
|
@ -13,7 +13,6 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/root_dev.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
|
||||
#include <asm/time.h>
|
||||
@ -91,17 +90,6 @@ static void __init linkstation_setup_arch(void)
|
||||
ARRAY_SIZE(linkstation_physmap_partitions));
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BLK_DEV_INITRD
|
||||
if (initrd_start)
|
||||
ROOT_DEV = Root_RAM0;
|
||||
else
|
||||
#endif
|
||||
#ifdef CONFIG_ROOT_NFS
|
||||
ROOT_DEV = Root_NFS;
|
||||
#else
|
||||
ROOT_DEV = Root_HDA1;
|
||||
#endif
|
||||
|
||||
/* Lookup PCI host bridges */
|
||||
for (np = NULL; (np = of_find_node_by_type(np, "pci")) != NULL;)
|
||||
add_bridge(np);
|
||||
|
@ -441,7 +441,8 @@ static int __init fsl_usb_of_init(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
unsigned int i;
|
||||
struct platform_device *usb_dev_mph = NULL, *usb_dev_dr = NULL;
|
||||
struct platform_device *usb_dev_mph = NULL, *usb_dev_dr_host = NULL,
|
||||
*usb_dev_dr_client = NULL;
|
||||
int ret;
|
||||
|
||||
for (np = NULL, i = 0;
|
||||
@ -507,33 +508,72 @@ static int __init fsl_usb_of_init(void)
|
||||
|
||||
of_irq_to_resource(np, 0, &r[1]);
|
||||
|
||||
usb_dev_dr =
|
||||
platform_device_register_simple("fsl-ehci", i, r, 2);
|
||||
if (IS_ERR(usb_dev_dr)) {
|
||||
ret = PTR_ERR(usb_dev_dr);
|
||||
prop = get_property(np, "dr_mode", NULL);
|
||||
|
||||
if (!prop || !strcmp(prop, "host")) {
|
||||
usb_data.operating_mode = FSL_USB2_DR_HOST;
|
||||
usb_dev_dr_host = platform_device_register_simple(
|
||||
"fsl-ehci", i, r, 2);
|
||||
if (IS_ERR(usb_dev_dr_host)) {
|
||||
ret = PTR_ERR(usb_dev_dr_host);
|
||||
goto err;
|
||||
}
|
||||
} else if (prop && !strcmp(prop, "peripheral")) {
|
||||
usb_data.operating_mode = FSL_USB2_DR_DEVICE;
|
||||
usb_dev_dr_client = platform_device_register_simple(
|
||||
"fsl-usb2-udc", i, r, 2);
|
||||
if (IS_ERR(usb_dev_dr_client)) {
|
||||
ret = PTR_ERR(usb_dev_dr_client);
|
||||
goto err;
|
||||
}
|
||||
} else if (prop && !strcmp(prop, "otg")) {
|
||||
usb_data.operating_mode = FSL_USB2_DR_OTG;
|
||||
usb_dev_dr_host = platform_device_register_simple(
|
||||
"fsl-ehci", i, r, 2);
|
||||
if (IS_ERR(usb_dev_dr_host)) {
|
||||
ret = PTR_ERR(usb_dev_dr_host);
|
||||
goto err;
|
||||
}
|
||||
usb_dev_dr_client = platform_device_register_simple(
|
||||
"fsl-usb2-udc", i, r, 2);
|
||||
if (IS_ERR(usb_dev_dr_client)) {
|
||||
ret = PTR_ERR(usb_dev_dr_client);
|
||||
goto err;
|
||||
}
|
||||
} else {
|
||||
ret = -EINVAL;
|
||||
goto err;
|
||||
}
|
||||
|
||||
usb_dev_dr->dev.coherent_dma_mask = 0xffffffffUL;
|
||||
usb_dev_dr->dev.dma_mask = &usb_dev_dr->dev.coherent_dma_mask;
|
||||
|
||||
usb_data.operating_mode = FSL_USB2_DR_HOST;
|
||||
|
||||
prop = get_property(np, "phy_type", NULL);
|
||||
usb_data.phy_mode = determine_usb_phy(prop);
|
||||
|
||||
ret =
|
||||
platform_device_add_data(usb_dev_dr, &usb_data,
|
||||
sizeof(struct
|
||||
fsl_usb2_platform_data));
|
||||
if (ret)
|
||||
goto unreg_dr;
|
||||
if (usb_dev_dr_host) {
|
||||
usb_dev_dr_host->dev.coherent_dma_mask = 0xffffffffUL;
|
||||
usb_dev_dr_host->dev.dma_mask = &usb_dev_dr_host->
|
||||
dev.coherent_dma_mask;
|
||||
if ((ret = platform_device_add_data(usb_dev_dr_host,
|
||||
&usb_data, sizeof(struct
|
||||
fsl_usb2_platform_data))))
|
||||
goto unreg_dr;
|
||||
}
|
||||
if (usb_dev_dr_client) {
|
||||
usb_dev_dr_client->dev.coherent_dma_mask = 0xffffffffUL;
|
||||
usb_dev_dr_client->dev.dma_mask = &usb_dev_dr_client->
|
||||
dev.coherent_dma_mask;
|
||||
if ((ret = platform_device_add_data(usb_dev_dr_client,
|
||||
&usb_data, sizeof(struct
|
||||
fsl_usb2_platform_data))))
|
||||
goto unreg_dr;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
||||
unreg_dr:
|
||||
if (usb_dev_dr)
|
||||
platform_device_unregister(usb_dev_dr);
|
||||
if (usb_dev_dr_host)
|
||||
platform_device_unregister(usb_dev_dr_host);
|
||||
if (usb_dev_dr_client)
|
||||
platform_device_unregister(usb_dev_dr_client);
|
||||
unreg_mph:
|
||||
if (usb_dev_mph)
|
||||
platform_device_unregister(usb_dev_mph);
|
||||
@ -699,7 +739,7 @@ static int __init fs_enet_of_init(void)
|
||||
if (ret)
|
||||
goto unreg;
|
||||
}
|
||||
|
||||
|
||||
of_node_put(phy);
|
||||
of_node_put(mdio);
|
||||
|
||||
|
@ -179,7 +179,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
|
||||
uccs->us_info = us_info;
|
||||
uccs->saved_uccm = 0;
|
||||
uccs->p_rx_frame = 0;
|
||||
uccs->us_regs = us_info->us_regs;
|
||||
uccs->us_regs = us_info->regs;
|
||||
us_regs = uccs->us_regs;
|
||||
uccs->p_ucce = (u16 *) & (us_regs->ucce);
|
||||
uccs->p_uccm = (u16 *) & (us_regs->uccm);
|
||||
@ -206,7 +206,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
|
||||
uccs->us_pram = qe_muram_addr(uccs->us_pram_offset);
|
||||
|
||||
/* Init Guemr register */
|
||||
if ((ret = ucc_init_guemr((struct ucc_common *) (us_info->us_regs)))) {
|
||||
if ((ret = ucc_init_guemr((struct ucc_common *) (us_info->regs)))) {
|
||||
uccs_err("ucc_slow_init: Could not init the guemr register.");
|
||||
ucc_slow_free(uccs);
|
||||
return ret;
|
||||
@ -214,7 +214,7 @@ int ucc_slow_init(struct ucc_slow_info * us_info, struct ucc_slow_private ** ucc
|
||||
|
||||
/* Set UCC to slow type */
|
||||
if ((ret = ucc_set_type(us_info->ucc_num,
|
||||
(struct ucc_common *) (us_info->us_regs),
|
||||
(struct ucc_common *) (us_info->regs),
|
||||
UCC_SPEED_TYPE_SLOW))) {
|
||||
uccs_err("ucc_slow_init: Could not init the guemr register.");
|
||||
ucc_slow_free(uccs);
|
||||
|
@ -271,7 +271,7 @@ EXPORT_SYMBOL(mmu_hash_lock); /* For MOL */
|
||||
extern long *intercept_table;
|
||||
EXPORT_SYMBOL(intercept_table);
|
||||
#endif /* CONFIG_PPC_STD_MMU */
|
||||
#if defined(CONFIG_40x) || defined(CONFIG_BOOKE)
|
||||
#ifdef CONFIG_PPC_DCR_NATIVE
|
||||
EXPORT_SYMBOL(__mtdcr);
|
||||
EXPORT_SYMBOL(__mfdcr);
|
||||
#endif
|
||||
|
@ -314,7 +314,7 @@ void __init mapin_ram(void)
|
||||
}
|
||||
|
||||
/* is x a power of 4? */
|
||||
#define is_power_of_4(x) is_power_of_2(x) && (ffs(x) & 1))
|
||||
#define is_power_of_4(x) is_power_of_2(x) && (ffs(x) & 1)
|
||||
|
||||
/*
|
||||
* Set up a mapping for a block of I/O.
|
||||
|
@ -150,7 +150,7 @@ struct ucc_slow_info {
|
||||
int ucc_num;
|
||||
enum qe_clock rx_clock;
|
||||
enum qe_clock tx_clock;
|
||||
struct ucc_slow *us_regs;
|
||||
struct ucc_slow *regs;
|
||||
int irq;
|
||||
u16 uccm_mask;
|
||||
int data_mem_part;
|
||||
|
Loading…
Reference in New Issue
Block a user