-
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: kirkwood: add support for OpenBlocks A7 platform
The OpenBlocks A7 board is designed and sold by PlatHome, and based on a Kirkwood 6283 Marvell SoC. It is quite similar to the OpenBlocks A6 already supported in the kernel, with the following main differences: - The A6 uses a RTC on I2C, while the A7 uses the internal SoC RTC. - The A6 has one Ethernet port, while the A7 has two Ethernet ports - The A6 has only one USB port, while the A7 integrates a USB hub, which provides two front-side USB port, and an internal USB port as well. - The A6 has 512 MB of RAM, while the A7 has 1 GB of RAM. - Slightly different GPIOs for some functions. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Andrew Lunn <andrew@lunn.ch> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
- Loading branch information
Thomas Petazzoni
authored and
Jason Cooper
committed
Oct 30, 2013
1 parent
f039dfb
commit f24b56c
Showing
2 changed files
with
226 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
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,223 @@ | ||
/* | ||
* Device Tree file for OpenBlocks A7 board | ||
* | ||
* Copyright (C) 2013 Free Electrons | ||
* | ||
* Thomas Petazzoni <thomas.petazzoni@free-electrons.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. | ||
*/ | ||
|
||
/dts-v1/; | ||
|
||
#include "kirkwood.dtsi" | ||
#include "kirkwood-6282.dtsi" | ||
|
||
/ { | ||
model = "Plat'Home OpenBlocksA7"; | ||
compatible = "plathome,openblocks-a7", "marvell,kirkwood-88f6283", "marvell,kirkwood"; | ||
|
||
memory { | ||
device_type = "memory"; | ||
reg = <0x00000000 0x40000000>; /* 1 GB */ | ||
}; | ||
|
||
chosen { | ||
bootargs = "console=ttyS0,115200n8 earlyprintk"; | ||
}; | ||
|
||
ocp@f1000000 { | ||
serial@12000 { | ||
status = "ok"; | ||
pinctrl-0 = <&pmx_uart0>; | ||
pinctrl-names = "default"; | ||
}; | ||
|
||
serial@12100 { | ||
status = "ok"; | ||
pinctrl-0 = <&pmx_uart1>; | ||
pinctrl-names = "default"; | ||
}; | ||
|
||
sata@80000 { | ||
nr-ports = <1>; | ||
status = "okay"; | ||
}; | ||
|
||
i2c@11100 { | ||
status = "okay"; | ||
pinctrl-0 = <&pmx_twsi1>; | ||
pinctrl-names = "default"; | ||
|
||
s24c02: s24c02@50 { | ||
compatible = "24c02"; | ||
reg = <0x50>; | ||
}; | ||
}; | ||
|
||
pinctrl: pinctrl@10000 { | ||
pinctrl-0 = <&pmx_dip_switches &pmx_gpio_header>; | ||
pinctrl-names = "default"; | ||
|
||
pmx_uart0: pmx-uart0 { | ||
marvell,pins = "mpp10", "mpp11", "mpp15", | ||
"mpp16"; | ||
marvell,function = "uart0"; | ||
}; | ||
|
||
pmx_uart1: pmx-uart1 { | ||
marvell,pins = "mpp13", "mpp14", "mpp8", | ||
"mpp9"; | ||
marvell,function = "uart1"; | ||
}; | ||
|
||
pmx_sysrst: pmx-sysrst { | ||
marvell,pins = "mpp6"; | ||
marvell,function = "sysrst"; | ||
}; | ||
|
||
pmx_dip_switches: pmx-dip-switches { | ||
marvell,pins = "mpp44", "mpp45", "mpp46", "mpp47"; | ||
marvell,function = "gpio"; | ||
}; | ||
|
||
/* | ||
* Accessible on connector J202. The MPP | ||
* listed below are pin 1-7, pin 8 is unused, | ||
* pin 9 is external reset input and pin 10 is | ||
* ground. | ||
*/ | ||
pmx_gpio_header: pmx-gpio-header { | ||
marvell,pins = "mpp17", "mpp7", "mpp29", "mpp28", | ||
"mpp35", "mpp34", "mpp40"; | ||
marvell,function = "gpio"; | ||
}; | ||
|
||
pmx_gpio_init: pmx-init { | ||
marvell,pins = "mpp38"; | ||
marvell,function = "gpio"; | ||
}; | ||
|
||
pmx_usb_oc: pmx-usb-oc { | ||
marvell,pins = "mpp39"; | ||
marvell,function = "gpio"; | ||
}; | ||
|
||
pmx_leds: pmx-leds { | ||
marvell,pins = "mpp41", "mpp42", "mpp43"; | ||
marvell,function = "gpio"; | ||
}; | ||
|
||
pmx_ge1: pmx-ge1 { | ||
marvell,pins = "mpp20", "mpp21", "mpp22", "mpp23", | ||
"mpp24", "mpp25", "mpp26", "mpp27", | ||
"mpp30", "mpp31", "mpp32", "mpp33"; | ||
marvell,function = "ge1"; | ||
}; | ||
}; | ||
}; | ||
|
||
gpio-leds { | ||
compatible = "gpio-leds"; | ||
pinctrl-0 = <&pmx_leds>; | ||
pinctrl-names = "default"; | ||
|
||
led-red { | ||
label = "obsa7:red:stat"; | ||
gpios = <&gpio1 9 1>; | ||
}; | ||
|
||
led-green { | ||
label = "obsa7:green:stat"; | ||
gpios = <&gpio1 10 1>; | ||
}; | ||
|
||
led-yellow { | ||
label = "obsa7:yellow:stat"; | ||
gpios = <&gpio1 11 1>; | ||
}; | ||
}; | ||
|
||
gpio_keys { | ||
compatible = "gpio-keys"; | ||
pinctrl-0 = <&pmx_gpio_init>; | ||
pinctrl-names = "default"; | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
|
||
button@1 { | ||
label = "Init Button"; | ||
linux,code = <116>; | ||
gpios = <&gpio1 6 0>; | ||
}; | ||
}; | ||
}; | ||
|
||
&nand { | ||
chip-delay = <25>; | ||
status = "okay"; | ||
pinctrl-0 = <&pmx_nand>; | ||
pinctrl-names = "default"; | ||
|
||
partition@0 { | ||
label = "uboot"; | ||
reg = <0x0 0x1c0000>; | ||
}; | ||
|
||
partition@1c0000 { | ||
label = "env"; | ||
reg = <0x1c0000 0x2c0000>; | ||
}; | ||
|
||
partition@480000 { | ||
label = "test"; | ||
reg = <0x480000 0x160000>; | ||
}; | ||
|
||
partition@5e0000 { | ||
label = "conf"; | ||
reg = <0x5e0000 0x540000>; | ||
}; | ||
|
||
partition@b20000 { | ||
label = "linux"; | ||
reg = <0xb20000 0x3d40000>; | ||
}; | ||
|
||
partition@4860000 { | ||
label = "user"; | ||
reg = <0x4860000 0xb7a0000>; | ||
}; | ||
}; | ||
|
||
&mdio { | ||
status = "okay"; | ||
|
||
ethphy0: ethernet-phy@0 { | ||
device_type = "ethernet-phy"; | ||
reg = <0>; | ||
}; | ||
|
||
ethphy1: ethernet-phy@1 { | ||
device_type = "ethernet-phy"; | ||
reg = <1>; | ||
}; | ||
}; | ||
|
||
ð0 { | ||
status = "okay"; | ||
ethernet0-port@0 { | ||
phy-handle = <ðphy0>; | ||
}; | ||
}; | ||
|
||
ð1 { | ||
status = "okay"; | ||
pinctrl-0 = <&pmx_ge1>; | ||
pinctrl-names = "default"; | ||
ethernet1-port@0 { | ||
phy-handle = <ðphy1>; | ||
}; | ||
}; |