Path: blob/master/arch/arm/mach-mv78xx0/rd78x00-masa-setup.c
10817 views
/*1* arch/arm/mach-mv78x00/rd78x00-masa-setup.c2*3* Marvell RD-78x00-mASA Development Board Setup4*5* This file is licensed under the terms of the GNU General Public6* License version 2. This program is licensed "as is" without any7* warranty of any kind, whether express or implied.8*/910#include <linux/kernel.h>11#include <linux/init.h>12#include <linux/platform_device.h>13#include <linux/ata_platform.h>14#include <linux/mv643xx_eth.h>15#include <linux/ethtool.h>16#include <mach/mv78xx0.h>17#include <asm/mach-types.h>18#include <asm/mach/arch.h>19#include "common.h"2021static struct mv643xx_eth_platform_data rd78x00_masa_ge00_data = {22.phy_addr = MV643XX_ETH_PHY_ADDR(8),23};2425static struct mv643xx_eth_platform_data rd78x00_masa_ge01_data = {26.phy_addr = MV643XX_ETH_PHY_ADDR(9),27};2829static struct mv643xx_eth_platform_data rd78x00_masa_ge10_data = {30};3132static struct mv643xx_eth_platform_data rd78x00_masa_ge11_data = {33};3435static struct mv_sata_platform_data rd78x00_masa_sata_data = {36.n_ports = 2,37};3839static void __init rd78x00_masa_init(void)40{41/*42* Basic MV78x00 setup. Needs to be called early.43*/44mv78xx0_init();4546/*47* Partition on-chip peripherals between the two CPU cores.48*/49if (mv78xx0_core_index() == 0) {50mv78xx0_ehci0_init();51mv78xx0_ehci1_init();52mv78xx0_ge00_init(&rd78x00_masa_ge00_data);53mv78xx0_ge10_init(&rd78x00_masa_ge10_data);54mv78xx0_sata_init(&rd78x00_masa_sata_data);55mv78xx0_uart0_init();56mv78xx0_uart2_init();57} else {58mv78xx0_ehci2_init();59mv78xx0_ge01_init(&rd78x00_masa_ge01_data);60mv78xx0_ge11_init(&rd78x00_masa_ge11_data);61mv78xx0_uart1_init();62mv78xx0_uart3_init();63}64}6566static int __init rd78x00_pci_init(void)67{68/*69* Assign all PCIe devices to CPU core #0.70*/71if (machine_is_rd78x00_masa() && mv78xx0_core_index() == 0)72mv78xx0_pcie_init(1, 1);7374return 0;75}76subsys_initcall(rd78x00_pci_init);7778MACHINE_START(RD78X00_MASA, "Marvell RD-78x00-MASA Development Board")79/* Maintainer: Lennert Buytenhek <[email protected]> */80.boot_params = 0x00000100,81.init_machine = rd78x00_masa_init,82.map_io = mv78xx0_map_io,83.init_early = mv78xx0_init_early,84.init_irq = mv78xx0_init_irq,85.timer = &mv78xx0_timer,86MACHINE_END878889