forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
arm/versatile: Add device tree support
For testing the dt work, define a dt-enabled versatile platform. This patch adds a new versatile platform for when using the device tree. Add platform and amba devices are discovered and registered by parsing the device tree. Clocks and initial io mappings are still configured statically. This patch still depends on some static platform_data for a few devices which is passed via the auxdata structure to of_platform_populate(), but it is a viable starting point until the drivers can get all configuration data out of the device tree. Signed-off-by: Grant Likely <[email protected]>
- Loading branch information
Showing
11 changed files
with
414 additions
and
0 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 |
---|---|---|
@@ -0,0 +1,20 @@ | ||
ARM Versatile Application and Platform Baseboards | ||
------------------------------------------------- | ||
ARM's development hardware platform with connectors for customizable | ||
core tiles. The hardware configuration of the Versatile boards is | ||
highly customizable. | ||
|
||
Required properties (in root node): | ||
compatible = "arm,versatile-ab"; /* Application baseboard */ | ||
compatible = "arm,versatile-pb"; /* Platform baseboard */ | ||
|
||
Interrupt controllers: | ||
- VIC required properties: | ||
compatible = "arm,versatile-vic"; | ||
interrupt-controller; | ||
#interrupt-cells = <1>; | ||
|
||
- SIC required properties: | ||
compatible = "arm,versatile-sic"; | ||
interrupt-controller; | ||
#interrupt-cells = <1>; |
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,10 @@ | ||
i2c Controller on ARM Versatile platform: | ||
|
||
Required properties: | ||
- compatible : Must be "arm,versatile-i2c"; | ||
- reg | ||
- #address-cells = <1>; | ||
- #size-cells = <0>; | ||
|
||
Optional properties: | ||
- Child nodes conforming to i2c bus binding |
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,8 @@ | ||
Flash device on ARM Versatile board | ||
|
||
Required properties: | ||
- compatible : must be "arm,versatile-flash"; | ||
- bank-width : width in bytes of flash interface. | ||
|
||
Optional properties: | ||
- Subnode partition map from mtd flash binding |
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,10 @@ | ||
SMSC LAN91c111 Ethernet mac | ||
|
||
Required properties: | ||
- compatible = "smsc,lan91c111"; | ||
- reg : physical address and size of registers | ||
- interrupts : interrupt connection | ||
|
||
Optional properties: | ||
- phy-device : phandle to Ethernet phy | ||
- local-mac-address : Ethernet mac address to use |
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,192 @@ | ||
/dts-v1/; | ||
/include/ "skeleton.dtsi" | ||
|
||
/ { | ||
model = "ARM Versatile AB"; | ||
compatible = "arm,versatile-ab"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
interrupt-parent = <&vic>; | ||
|
||
aliases { | ||
serial0 = &uart0; | ||
serial1 = &uart1; | ||
serial2 = &uart2; | ||
i2c0 = &i2c0; | ||
}; | ||
|
||
memory { | ||
reg = <0x0 0x08000000>; | ||
}; | ||
|
||
flash@34000000 { | ||
compatible = "arm,versatile-flash"; | ||
reg = <0x34000000 0x4000000>; | ||
bank-width = <4>; | ||
}; | ||
|
||
i2c0: i2c@10002000 { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
compatible = "arm,versatile-i2c"; | ||
reg = <0x10002000 0x1000>; | ||
|
||
rtc@68 { | ||
compatible = "dallas,ds1338"; | ||
reg = <0x68>; | ||
}; | ||
}; | ||
|
||
net@10010000 { | ||
compatible = "smsc,lan91c111"; | ||
reg = <0x10010000 0x10000>; | ||
interrupts = <25>; | ||
}; | ||
|
||
lcd@10008000 { | ||
compatible = "arm,versatile-lcd"; | ||
reg = <0x10008000 0x1000>; | ||
}; | ||
|
||
amba { | ||
compatible = "arm,amba-bus"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
ranges; | ||
|
||
vic: intc@10140000 { | ||
compatible = "arm,versatile-vic"; | ||
interrupt-controller; | ||
#interrupt-cells = <1>; | ||
reg = <0x10140000 0x1000>; | ||
}; | ||
|
||
sic: intc@10003000 { | ||
compatible = "arm,versatile-sic"; | ||
interrupt-controller; | ||
#interrupt-cells = <1>; | ||
reg = <0x10003000 0x1000>; | ||
interrupt-parent = <&vic>; | ||
interrupts = <31>; /* Cascaded to vic */ | ||
}; | ||
|
||
dma@10130000 { | ||
compatible = "arm,pl081", "arm,primecell"; | ||
reg = <0x10130000 0x1000>; | ||
interrupts = <17>; | ||
}; | ||
|
||
uart0: uart@101f1000 { | ||
compatible = "arm,pl011", "arm,primecell"; | ||
reg = <0x101f1000 0x1000>; | ||
interrupts = <12>; | ||
}; | ||
|
||
uart1: uart@101f2000 { | ||
compatible = "arm,pl011", "arm,primecell"; | ||
reg = <0x101f2000 0x1000>; | ||
interrupts = <13>; | ||
}; | ||
|
||
uart2: uart@101f3000 { | ||
compatible = "arm,pl011", "arm,primecell"; | ||
reg = <0x101f3000 0x1000>; | ||
interrupts = <14>; | ||
}; | ||
|
||
smc@10100000 { | ||
compatible = "arm,primecell"; | ||
reg = <0x10100000 0x1000>; | ||
}; | ||
|
||
mpmc@10110000 { | ||
compatible = "arm,primecell"; | ||
reg = <0x10110000 0x1000>; | ||
}; | ||
|
||
display@10120000 { | ||
compatible = "arm,pl110", "arm,primecell"; | ||
reg = <0x10120000 0x1000>; | ||
interrupts = <16>; | ||
}; | ||
|
||
sctl@101e0000 { | ||
compatible = "arm,primecell"; | ||
reg = <0x101e0000 0x1000>; | ||
}; | ||
|
||
watchdog@101e1000 { | ||
compatible = "arm,primecell"; | ||
reg = <0x101e1000 0x1000>; | ||
interrupts = <0>; | ||
}; | ||
|
||
gpio0: gpio@101e4000 { | ||
compatible = "arm,pl061", "arm,primecell"; | ||
reg = <0x101e4000 0x1000>; | ||
gpio-controller; | ||
interrupts = <6>; | ||
#gpio-cells = <2>; | ||
interrupt-controller; | ||
#interrupt-cells = <2>; | ||
}; | ||
|
||
gpio1: gpio@101e5000 { | ||
compatible = "arm,pl061", "arm,primecell"; | ||
reg = <0x101e5000 0x1000>; | ||
interrupts = <7>; | ||
gpio-controller; | ||
#gpio-cells = <2>; | ||
interrupt-controller; | ||
#interrupt-cells = <2>; | ||
}; | ||
|
||
rtc@101e8000 { | ||
compatible = "arm,pl030", "arm,primecell"; | ||
reg = <0x101e8000 0x1000>; | ||
interrupts = <10>; | ||
}; | ||
|
||
sci@101f0000 { | ||
compatible = "arm,primecell"; | ||
reg = <0x101f0000 0x1000>; | ||
interrupts = <15>; | ||
}; | ||
|
||
ssp@101f4000 { | ||
compatible = "arm,pl022", "arm,primecell"; | ||
reg = <0x101f4000 0x1000>; | ||
interrupts = <11>; | ||
}; | ||
|
||
fpga { | ||
compatible = "arm,versatile-fpga", "simple-bus"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
ranges = <0 0x10000000 0x10000>; | ||
|
||
aaci@4000 { | ||
compatible = "arm,primecell"; | ||
reg = <0x4000 0x1000>; | ||
interrupts = <24>; | ||
}; | ||
mmc@5000 { | ||
compatible = "arm,primecell"; | ||
reg = < 0x5000 0x1000>; | ||
interrupts = <22>; | ||
}; | ||
kmi@6000 { | ||
compatible = "arm,pl050", "arm,primecell"; | ||
reg = <0x6000 0x1000>; | ||
interrupt-parent = <&sic>; | ||
interrupts = <3>; | ||
}; | ||
kmi@7000 { | ||
compatible = "arm,pl050", "arm,primecell"; | ||
reg = <0x7000 0x1000>; | ||
interrupt-parent = <&sic>; | ||
interrupts = <4>; | ||
}; | ||
}; | ||
}; | ||
}; |
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,48 @@ | ||
/include/ "versatile-ab.dts" | ||
|
||
/ { | ||
model = "ARM Versatile PB"; | ||
compatible = "arm,versatile-pb"; | ||
|
||
amba { | ||
gpio2: gpio@101e6000 { | ||
compatible = "arm,pl061", "arm,primecell"; | ||
reg = <0x101e6000 0x1000>; | ||
interrupts = <8>; | ||
gpio-controller; | ||
#gpio-cells = <2>; | ||
interrupt-controller; | ||
#interrupt-cells = <2>; | ||
}; | ||
|
||
gpio3: gpio@101e7000 { | ||
compatible = "arm,pl061", "arm,primecell"; | ||
reg = <0x101e7000 0x1000>; | ||
interrupts = <9>; | ||
gpio-controller; | ||
#gpio-cells = <2>; | ||
interrupt-controller; | ||
#interrupt-cells = <2>; | ||
}; | ||
|
||
fpga { | ||
uart@9000 { | ||
compatible = "arm,pl011", "arm,primecell"; | ||
reg = <0x9000 0x1000>; | ||
interrupt-parent = <&sic>; | ||
interrupts = <6>; | ||
}; | ||
sci@a000 { | ||
compatible = "arm,primecell"; | ||
reg = <0xa000 0x1000>; | ||
interrupt-parent = <&sic>; | ||
interrupts = <5>; | ||
}; | ||
mmc@b000 { | ||
compatible = "arm,primecell"; | ||
reg = <0xb000 0x1000>; | ||
interrupts = <23>; | ||
}; | ||
}; | ||
}; | ||
}; |
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
Oops, something went wrong.