[ARM] Orion: move EHCI/I2C/UART peripheral init into board code
This patch moves initialisation of EHCI/I2C/UART platform devices from the common orion5x_init() into the board support code. The rationale behind this is that only the board support code knows whether certain peripherals have been brought out on the board, and not initialising peripherals that haven't been brought out is desirable for example: - to reduce user confusion (e.g. seeing both 'eth0' and 'eth1' appear while there is only one ethernet port on the board); and - to allow for future power savings (peripherals that have not been brought out can be clock gated off entirely). Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Acked-by: Russell King <linux@arm.linux.org.uk>
此提交包含在:
@@ -241,11 +241,6 @@ static struct mv_sata_platform_data rd88f5182_sata_data = {
|
||||
/*****************************************************************************
|
||||
* General Setup
|
||||
****************************************************************************/
|
||||
|
||||
static struct platform_device *rd88f5182_devices[] __initdata = {
|
||||
&rd88f5182_nor_flash,
|
||||
};
|
||||
|
||||
static void __init rd88f5182_init(void)
|
||||
{
|
||||
/*
|
||||
@@ -253,13 +248,6 @@ static void __init rd88f5182_init(void)
|
||||
*/
|
||||
orion5x_init();
|
||||
|
||||
/*
|
||||
* Setup the CPU address decode windows for our devices
|
||||
*/
|
||||
orion5x_setup_dev_boot_win(RD88F5182_NOR_BOOT_BASE,
|
||||
RD88F5182_NOR_BOOT_SIZE);
|
||||
orion5x_setup_dev1_win(RD88F5182_NOR_BASE, RD88F5182_NOR_SIZE);
|
||||
|
||||
/*
|
||||
* Open a special address decode windows for the PCIe WA.
|
||||
*/
|
||||
@@ -296,10 +284,23 @@ static void __init rd88f5182_init(void)
|
||||
|
||||
orion5x_gpio_set_valid_pins(0x000000fb);
|
||||
|
||||
platform_add_devices(rd88f5182_devices, ARRAY_SIZE(rd88f5182_devices));
|
||||
i2c_register_board_info(0, &rd88f5182_i2c_rtc, 1);
|
||||
/*
|
||||
* Configure peripherals.
|
||||
*/
|
||||
orion5x_ehci0_init();
|
||||
orion5x_ehci1_init();
|
||||
orion5x_eth_init(&rd88f5182_eth_data);
|
||||
orion5x_i2c_init();
|
||||
orion5x_sata_init(&rd88f5182_sata_data);
|
||||
orion5x_uart0_init();
|
||||
|
||||
orion5x_setup_dev_boot_win(RD88F5182_NOR_BOOT_BASE,
|
||||
RD88F5182_NOR_BOOT_SIZE);
|
||||
|
||||
orion5x_setup_dev1_win(RD88F5182_NOR_BASE, RD88F5182_NOR_SIZE);
|
||||
platform_device_register(&rd88f5182_nor_flash);
|
||||
|
||||
i2c_register_board_info(0, &rd88f5182_i2c_rtc, 1);
|
||||
}
|
||||
|
||||
MACHINE_START(RD88F5182, "Marvell Orion-NAS Reference Design")
|
||||
|
新增問題並參考
封鎖使用者