linux-stable/arch/arm/boot/dts/kirkwood-mplcec4.dts
Ezequiel Garcia 54397d8534 ARM: kirkwood: Relocate PCIe device tree nodes
Now that mbus has been added to the device tree, it's possible to
move the PCIe nodes out of the ocp node, placing it directly
below the mbus. This is a more accurate representation of the hardware.

Moving the PCIe nodes, we now need to introduce an extra cell to
encode the window target ID and attribute. Since this depends on
the PCIe port, we split the ranges translation entries, to
correspond to each MBus window.

In addition, we encode the PCIe memory and I/O apertures in the MBus
node, according to the MBus DT binding specification. The choice made
is 0xe0000000-0xf0000000 for memory space, and 0xf200000-0xf2100000 for
I/O space. These apertures can be changed in each per-board DT file.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2013-08-06 14:11:53 +00:00

196 lines
4 KiB
Text

/dts-v1/;
#include "kirkwood.dtsi"
#include "kirkwood-6281.dtsi"
/ {
model = "MPL CEC4";
compatible = "mpl,cec4-10", "mpl,cec4", "marvell,kirkwood-88f6281", "marvell,kirkwood";
memory {
device_type = "memory";
reg = <0x00000000 0x20000000>;
};
chosen {
bootargs = "console=ttyS0,115200n8 earlyprintk";
};
mbus {
ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>;
pcie-controller {
status = "okay";
pcie@1,0 {
status = "okay";
};
};
};
ocp@f1000000 {
pinctrl: pinctrl@10000 {
pmx_led_health: pmx-led-health {
marvell,pins = "mpp7";
marvell,function = "gpo";
};
pmx_sata1: pmx-sata1 {
marvell,pins = "mpp34";
marvell,function = "sata1";
};
pmx_sata0: pmx-sata0 {
marvell,pins = "mpp35";
marvell,function = "sata0";
};
pmx_led_user1o: pmx-led-user1o {
marvell,pins = "mpp40";
marvell,function = "gpio";
};
pmx_led_user1g: pmx-led-user1g {
marvell,pins = "mpp41";
marvell,function = "gpio";
};
pmx_led_user0o: pmx-led-user0o {
marvell,pins = "mpp44";
marvell,function = "gpio";
};
pmx_led_user0g: pmx-led-user0g {
marvell,pins = "mpp45";
marvell,function = "gpio";
};
pmx_led_misc: pmx-led-misc {
marvell,pins = "mpp46";
marvell,function = "gpio";
};
pmx_sdio_cd: pmx-sdio-cd {
marvell,pins = "mpp47";
marvell,function = "gpio";
};
};
i2c@11000 {
status = "okay";
rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
};
eeprom@57 {
compatible = "atmel,24c02";
reg = <0x57>;
};
};
serial@12000 {
status = "ok";
pinctrl-0 = <&pmx_uart0>;
pinctrl-names = "default";
};
nand@3000000 {
pinctrl-0 = <&pmx_nand>;
pinctrl-names = "default";
status = "okay";
partition@0 {
label = "uboot";
reg = <0x0000000 0x100000>;
};
partition@100000 {
label = "env";
reg = <0x100000 0x80000>;
};
partition@180000 {
label = "fdt";
reg = <0x180000 0x80000>;
};
partition@200000 {
label = "kernel";
reg = <0x200000 0x400000>;
};
partition@600000 {
label = "rootfs";
reg = <0x600000 0x1fa00000>;
};
};
rtc@10300 {
status = "disabled";
};
sata@80000 {
pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
pinctrl-names = "default";
nr-ports = <2>;
status = "okay";
};
mvsdio@90000 {
pinctrl-0 = <&pmx_sdio &pmx_sdio_cd>;
pinctrl-names = "default";
status = "okay";
cd-gpios = <&gpio1 15 1>;
/* No WP GPIO */
};
};
gpio-leds {
compatible = "gpio-leds";
pinctrl-0 = < &pmx_led_health
&pmx_led_user1o
&pmx_led_user1g &pmx_led_user0o
&pmx_led_user0g &pmx_led_misc
>;
pinctrl-names = "default";
health {
label = "status:green:health";
gpios = <&gpio0 7 1>;
};
user1o {
label = "user1:orange";
gpios = <&gpio1 8 1>;
default-state = "on";
};
user1g {
label = "user1:green";
gpios = <&gpio1 9 1>;
default-state = "on";
};
user0o {
label = "user0:orange";
gpios = <&gpio1 12 1>;
default-state = "on";
};
user0g {
label = "user0:green";
gpios = <&gpio1 13 1>;
default-state = "on";
};
misc {
label = "status:orange:misc";
gpios = <&gpio1 14 1>;
default-state = "on";
};
};
};