-
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.
ARM: SPEAr3xx: Add device-tree support to SPEAr3xx architecture
This patch adds a generic target for SPEAr3xx machines that can be configured via the device-tree. Currently the following devices are supported via the devicetree: - VIC interrupts - PL011 UART - PL061 GPIO - PL110 CLCD - SP805 WDT - Synopsys DW I2C - Synopsys DW ethernet - ST FSMC-NAND - ST SPEAR-SMI - ST SPEAR-KEYBOARD - ST SPEAR-RTC - ARASAN SDHCI-SPEAR - SPEAR-EHCI - SPEAR-OHCI Other peripheral devices will follow in later patches. This also removes IO_ADDRESS macro and creates 16 MB static mappings instead of 4K for individual peripherals. This is done to have efficient TLB lookup for any I/O windows that are located closely together. ioremap() on this range will return this mapping only instead of creating another. Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
- Loading branch information
Viresh Kumar
authored and
Arnd Bergmann
committed
Apr 22, 2012
1 parent
5fb00f9
commit c5fa4fd
Showing
24 changed files
with
1,222 additions
and
486 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
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,179 @@ | ||
/* | ||
* DTS file for SPEAr300 Evaluation Baord | ||
* | ||
* Copyright 2012 Viresh Kumar <viresh.kumar@st.com> | ||
* | ||
* The code contained herein is licensed under the GNU General Public | ||
* License. You may obtain a copy of the GNU General Public License | ||
* Version 2 or later at the following locations: | ||
* | ||
* http://www.opensource.org/licenses/gpl-license.html | ||
* http://www.gnu.org/copyleft/gpl.html | ||
*/ | ||
|
||
/dts-v1/; | ||
/include/ "spear300.dtsi" | ||
|
||
/ { | ||
model = "ST SPEAr300 Evaluation Board"; | ||
compatible = "st,spear300-evb", "st,spear300"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
memory { | ||
reg = <0 0x40000000>; | ||
}; | ||
|
||
ahb { | ||
clcd@60000000 { | ||
status = "okay"; | ||
}; | ||
|
||
fsmc: flash@94000000 { | ||
status = "okay"; | ||
}; | ||
|
||
gmac: eth@e0800000 { | ||
status = "okay"; | ||
}; | ||
|
||
sdhci@70000000 { | ||
int-gpio = <&gpio1 0 0>; | ||
power-gpio = <&gpio1 2 1>; | ||
status = "okay"; | ||
}; | ||
|
||
smi: flash@fc000000 { | ||
status = "okay"; | ||
}; | ||
|
||
spi0: spi@d0100000 { | ||
status = "okay"; | ||
}; | ||
|
||
ehci@e1800000 { | ||
status = "okay"; | ||
}; | ||
|
||
ohci@e1900000 { | ||
status = "okay"; | ||
}; | ||
|
||
ohci@e2100000 { | ||
status = "okay"; | ||
}; | ||
|
||
apb { | ||
gpio0: gpio@fc980000 { | ||
status = "okay"; | ||
}; | ||
|
||
gpio1: gpio@a9000000 { | ||
status = "okay"; | ||
}; | ||
|
||
i2c0: i2c@d0180000 { | ||
status = "okay"; | ||
}; | ||
|
||
kbd@a0000000 { | ||
linux,keymap = < 0x00010000 | ||
0x00020100 | ||
0x00030200 | ||
0x00040300 | ||
0x00050400 | ||
0x00060500 | ||
0x00070600 | ||
0x00080700 | ||
0x00090800 | ||
0x000a0001 | ||
0x000c0101 | ||
0x000d0201 | ||
0x000e0301 | ||
0x000f0401 | ||
0x00100501 | ||
0x00110601 | ||
0x00120701 | ||
0x00130801 | ||
0x00140002 | ||
0x00150102 | ||
0x00160202 | ||
0x00170302 | ||
0x00180402 | ||
0x00190502 | ||
0x001a0602 | ||
0x001b0702 | ||
0x001c0802 | ||
0x001d0003 | ||
0x001e0103 | ||
0x001f0203 | ||
0x00200303 | ||
0x00210403 | ||
0x00220503 | ||
0x00230603 | ||
0x00240703 | ||
0x00250803 | ||
0x00260004 | ||
0x00270104 | ||
0x00280204 | ||
0x00290304 | ||
0x002a0404 | ||
0x002b0504 | ||
0x002c0604 | ||
0x002d0704 | ||
0x002e0804 | ||
0x002f0005 | ||
0x00300105 | ||
0x00310205 | ||
0x00320305 | ||
0x00330405 | ||
0x00340505 | ||
0x00350605 | ||
0x00360705 | ||
0x00370805 | ||
0x00380006 | ||
0x00390106 | ||
0x003a0206 | ||
0x003b0306 | ||
0x003c0406 | ||
0x003d0506 | ||
0x003e0606 | ||
0x003f0706 | ||
0x00400806 | ||
0x00410007 | ||
0x00420107 | ||
0x00430207 | ||
0x00440307 | ||
0x00450407 | ||
0x00460507 | ||
0x00470607 | ||
0x00480707 | ||
0x00490807 | ||
0x004a0008 | ||
0x004b0108 | ||
0x004c0208 | ||
0x004d0308 | ||
0x004e0408 | ||
0x004f0508 | ||
0x00500608 | ||
0x00510708 | ||
0x00520808 >; | ||
autorepeat; | ||
st,mode = <0>; | ||
status = "okay"; | ||
}; | ||
|
||
rtc@fc900000 { | ||
status = "okay"; | ||
}; | ||
|
||
serial@d0000000 { | ||
status = "okay"; | ||
}; | ||
|
||
wdt@fc880000 { | ||
status = "okay"; | ||
}; | ||
}; | ||
}; | ||
}; |
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,72 @@ | ||
/* | ||
* DTS file for SPEAr300 SoC | ||
* | ||
* Copyright 2012 Viresh Kumar <viresh.kumar@st.com> | ||
* | ||
* The code contained herein is licensed under the GNU General Public | ||
* License. You may obtain a copy of the GNU General Public License | ||
* Version 2 or later at the following locations: | ||
* | ||
* http://www.opensource.org/licenses/gpl-license.html | ||
* http://www.gnu.org/copyleft/gpl.html | ||
*/ | ||
|
||
/include/ "spear3xx.dtsi" | ||
|
||
/ { | ||
ahb { | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
compatible = "simple-bus"; | ||
ranges = <0x60000000 0x60000000 0x50000000 | ||
0xd0000000 0xd0000000 0x30000000>; | ||
|
||
clcd@60000000 { | ||
compatible = "arm,clcd-pl110", "arm,primecell"; | ||
reg = <0x60000000 0x1000>; | ||
interrupts = <30>; | ||
status = "disabled"; | ||
}; | ||
|
||
fsmc: flash@94000000 { | ||
compatible = "st,spear600-fsmc-nand"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
reg = <0x94000000 0x1000 /* FSMC Register */ | ||
0x80000000 0x0010>; /* NAND Base */ | ||
reg-names = "fsmc_regs", "nand_data"; | ||
st,ale-off = <0x20000>; | ||
st,cle-off = <0x10000>; | ||
status = "disabled"; | ||
}; | ||
|
||
sdhci@70000000 { | ||
compatible = "st,sdhci-spear"; | ||
reg = <0x70000000 0x100>; | ||
interrupts = <1>; | ||
status = "disabled"; | ||
}; | ||
|
||
apb { | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
compatible = "simple-bus"; | ||
ranges = <0xa0000000 0xa0000000 0x10000000 | ||
0xd0000000 0xd0000000 0x30000000>; | ||
|
||
gpio1: gpio@a9000000 { | ||
#gpio-cells = <2>; | ||
compatible = "arm,pl061", "arm,primecell"; | ||
gpio-controller; | ||
reg = <0xa9000000 0x1000>; | ||
status = "disabled"; | ||
}; | ||
|
||
kbd@a0000000 { | ||
compatible = "st,spear300-kbd"; | ||
reg = <0xa0000000 0x1000>; | ||
status = "disabled"; | ||
}; | ||
}; | ||
}; | ||
}; |
Oops, something went wrong.