This commit converts the Marvell DB-88F6281/DB-88F6282 board to the Device Tree. In fact, the code was supporting two different boards: one with the 6281 SoC variant, and one with the 6282 SoC variant. The difference between the two being that the 6281 has one PCIe interface, and the 6282 has two PCIe interfaces. In order to handle that with the Device Tree, we create a 'kirkwood-db.dtsi' file that contains the definitions common to both boards, and 'kirkwood-db-88f6281.dts' and 'kirkwood-db-88f6282.dts' for the definitions specific to each board. This is similar to what is done for the QNAP TS219 Kirkwood platform. We have kept one single Kconfig option, just like it was before. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>tirimbino
parent
259e234608
commit
0d0632f523
@ -0,0 +1,30 @@ |
||||
/* |
||||
* Marvell DB-88F6281-BP Development Board Setup |
||||
* |
||||
* Saeed Bishara <saeed@marvell.com> |
||||
* 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-db.dtsi" |
||||
/include/ "kirkwood-6281.dtsi" |
||||
|
||||
/ { |
||||
model = "Marvell DB-88F6281-BP Development Board"; |
||||
compatible = "marvell,db-88f6281-bp", "marvell,kirkwood-88f6281", "marvell,kirkwood"; |
||||
|
||||
ocp@f1000000 { |
||||
pcie-controller { |
||||
status = "okay"; |
||||
|
||||
pcie@1,0 { |
||||
status = "okay"; |
||||
}; |
||||
}; |
||||
}; |
||||
}; |
@ -0,0 +1,34 @@ |
||||
/* |
||||
* Marvell DB-88F6282-BP Development Board Setup |
||||
* |
||||
* Saeed Bishara <saeed@marvell.com> |
||||
* 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-db.dtsi" |
||||
/include/ "kirkwood-6282.dtsi" |
||||
|
||||
/ { |
||||
model = "Marvell DB-88F6282-BP Development Board"; |
||||
compatible = "marvell,db-88f6282-bp", "marvell,kirkwood-88f6282", "marvell,kirkwood"; |
||||
|
||||
ocp@f1000000 { |
||||
pcie-controller { |
||||
status = "okay"; |
||||
|
||||
pcie@1,0 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
pcie@2,0 { |
||||
status = "okay"; |
||||
}; |
||||
}; |
||||
}; |
||||
}; |
@ -0,0 +1,89 @@ |
||||
/* |
||||
* Marvell DB-{88F6281,88F6282}-BP Development Board Setup |
||||
* |
||||
* Saeed Bishara <saeed@marvell.com> |
||||
* 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. |
||||
* |
||||
* This file contains the definitions that are common between the 6281 |
||||
* and 6282 variants of the Marvell Kirkwood Development Board. |
||||
*/ |
||||
|
||||
/include/ "kirkwood.dtsi" |
||||
|
||||
/ { |
||||
memory { |
||||
device_type = "memory"; |
||||
reg = <0x00000000 0x20000000>; /* 512 MB */ |
||||
}; |
||||
|
||||
chosen { |
||||
bootargs = "console=ttyS0,115200n8 earlyprintk"; |
||||
}; |
||||
|
||||
ocp@f1000000 { |
||||
pinctrl@10000 { |
||||
pmx_sdio_gpios: pmx-sdio-gpios { |
||||
marvell,pins = "mpp37", "mpp38"; |
||||
marvell,function = "gpio"; |
||||
}; |
||||
}; |
||||
|
||||
serial@12000 { |
||||
pinctrl-0 = <&pmx_uart0>; |
||||
pinctrl-names = "default"; |
||||
clock-frequency = <200000000>; |
||||
status = "ok"; |
||||
}; |
||||
|
||||
nand@3000000 { |
||||
pinctrl-0 = <&pmx_nand>; |
||||
pinctrl-names = "default"; |
||||
chip-delay = <25>; |
||||
status = "okay"; |
||||
|
||||
partition@0 { |
||||
label = "uboot"; |
||||
reg = <0x0 0x100000>; |
||||
}; |
||||
|
||||
partition@100000 { |
||||
label = "uImage"; |
||||
reg = <0x100000 0x400000>; |
||||
}; |
||||
|
||||
partition@500000 { |
||||
label = "root"; |
||||
reg = <0x500000 0x1fb00000>; |
||||
}; |
||||
}; |
||||
|
||||
sata@80000 { |
||||
nr-ports = <2>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
ehci@50000 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
mvsdio@90000 { |
||||
pinctrl-0 = <&pmx_sdio_gpios>; |
||||
pinctrl-names = "default"; |
||||
wp-gpios = <&gpio1 5 0>; |
||||
cd-gpios = <&gpio1 6 0>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
pcie-controller { |
||||
status = "okay"; |
||||
|
||||
pcie@1,0 { |
||||
status = "okay"; |
||||
}; |
||||
}; |
||||
}; |
||||
}; |
@ -0,0 +1,24 @@ |
||||
/*
|
||||
* Saeed Bishara <saeed@marvell.com> |
||||
* |
||||
* Marvell DB-88F628{1,2}-BP Development Board Setup |
||||
* |
||||
* 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. |
||||
*/ |
||||
|
||||
#include <linux/kernel.h> |
||||
#include <linux/init.h> |
||||
#include <linux/of.h> |
||||
#include <linux/mv643xx_eth.h> |
||||
#include "common.h" |
||||
|
||||
static struct mv643xx_eth_platform_data db88f628x_ge00_data = { |
||||
.phy_addr = MV643XX_ETH_PHY_ADDR(8), |
||||
}; |
||||
|
||||
void __init db88f628x_init(void) |
||||
{ |
||||
kirkwood_ge00_init(&db88f628x_ge00_data); |
||||
} |
@ -1,108 +0,0 @@ |
||||
/*
|
||||
* arch/arm/mach-kirkwood/db88f6281-bp-setup.c |
||||
* |
||||
* Marvell DB-88F6281-BP Development Board Setup |
||||
* |
||||
* 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. |
||||
*/ |
||||
|
||||
#include <linux/kernel.h> |
||||
#include <linux/init.h> |
||||
#include <linux/sizes.h> |
||||
#include <linux/platform_device.h> |
||||
#include <linux/mtd/partitions.h> |
||||
#include <linux/ata_platform.h> |
||||
#include <linux/mv643xx_eth.h> |
||||
#include <asm/mach-types.h> |
||||
#include <asm/mach/arch.h> |
||||
#include <mach/kirkwood.h> |
||||
#include <linux/platform_data/mmc-mvsdio.h> |
||||
#include "common.h" |
||||
#include "mpp.h" |
||||
|
||||
static struct mtd_partition db88f6281_nand_parts[] = { |
||||
{ |
||||
.name = "u-boot", |
||||
.offset = 0, |
||||
.size = SZ_1M |
||||
}, { |
||||
.name = "uImage", |
||||
.offset = MTDPART_OFS_NXTBLK, |
||||
.size = SZ_4M |
||||
}, { |
||||
.name = "root", |
||||
.offset = MTDPART_OFS_NXTBLK, |
||||
.size = MTDPART_SIZ_FULL |
||||
}, |
||||
}; |
||||
|
||||
static struct mv643xx_eth_platform_data db88f6281_ge00_data = { |
||||
.phy_addr = MV643XX_ETH_PHY_ADDR(8), |
||||
}; |
||||
|
||||
static struct mv_sata_platform_data db88f6281_sata_data = { |
||||
.n_ports = 2, |
||||
}; |
||||
|
||||
static struct mvsdio_platform_data db88f6281_mvsdio_data = { |
||||
.gpio_write_protect = 37, |
||||
.gpio_card_detect = 38, |
||||
}; |
||||
|
||||
static unsigned int db88f6281_mpp_config[] __initdata = { |
||||
MPP0_NF_IO2, |
||||
MPP1_NF_IO3, |
||||
MPP2_NF_IO4, |
||||
MPP3_NF_IO5, |
||||
MPP4_NF_IO6, |
||||
MPP5_NF_IO7, |
||||
MPP18_NF_IO0, |
||||
MPP19_NF_IO1, |
||||
MPP37_GPIO, |
||||
MPP38_GPIO, |
||||
0 |
||||
}; |
||||
|
||||
static void __init db88f6281_init(void) |
||||
{ |
||||
/*
|
||||
* Basic setup. Needs to be called early. |
||||
*/ |
||||
kirkwood_init(); |
||||
kirkwood_mpp_conf(db88f6281_mpp_config); |
||||
|
||||
kirkwood_nand_init(ARRAY_AND_SIZE(db88f6281_nand_parts), 25); |
||||
kirkwood_ehci_init(); |
||||
kirkwood_ge00_init(&db88f6281_ge00_data); |
||||
kirkwood_sata_init(&db88f6281_sata_data); |
||||
kirkwood_uart0_init(); |
||||
kirkwood_sdio_init(&db88f6281_mvsdio_data); |
||||
} |
||||
|
||||
static int __init db88f6281_pci_init(void) |
||||
{ |
||||
if (machine_is_db88f6281_bp()) { |
||||
u32 dev, rev; |
||||
|
||||
kirkwood_pcie_id(&dev, &rev); |
||||
if (dev == MV88F6282_DEV_ID) |
||||
kirkwood_pcie_init(KW_PCIE1 | KW_PCIE0); |
||||
else |
||||
kirkwood_pcie_init(KW_PCIE0); |
||||
} |
||||
return 0; |
||||
} |
||||
subsys_initcall(db88f6281_pci_init); |
||||
|
||||
MACHINE_START(DB88F6281_BP, "Marvell DB-88F6281-BP Development Board") |
||||
/* Maintainer: Saeed Bishara <saeed@marvell.com> */ |
||||
.atag_offset = 0x100, |
||||
.init_machine = db88f6281_init, |
||||
.map_io = kirkwood_map_io, |
||||
.init_early = kirkwood_init_early, |
||||
.init_irq = kirkwood_init_irq, |
||||
.init_time = kirkwood_timer_init, |
||||
.restart = kirkwood_restart, |
||||
MACHINE_END |
Loading…
Reference in new issue