]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
ARM: 7519/1: integrator: convert platform devices to Device Tree
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 6 Sep 2012 08:09:11 +0000 (09:09 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 17 Sep 2012 22:20:23 +0000 (23:20 +0100)
This moves the physmap flash and SMSC91x ethernet devices
over to the device tree, moving the static board code down
into the #ifndef CONFIG_OF section.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/boot/dts/integrator.dtsi
arch/arm/boot/dts/integratorcp.dts
arch/arm/mach-integrator/integrator_ap.c
arch/arm/mach-integrator/integrator_cp.c

index 9bcc09d54457e20b41aaf094bcad4c4957f70a98..813b91d7bea25f58288e1a5dc783734af0789f2c 100644 (file)
                clear-mask = <0xffffffff>;
        };
 
+       flash@24000000 {
+               compatible = "cfi-flash";
+               reg = <0x24000000 0x02000000>;
+       };
+
        fpga {
                compatible = "arm,amba-bus", "simple-bus";
                #address-cells = <1>;
index 7bd49466cb0da8ed1211aa976ebe0cc81f1a0530..2dd5e4e48481bf386ee42691bce1ebe4d679aff4 100644 (file)
                valid-mask = <0x00000fff>;
        };
 
+       ethernet@c8000000 {
+               compatible = "smsc,lan91c111";
+               reg = <0xc8000000 0x10>;
+               interrupt-parent = <&pic>;
+               interrupts = <27>;
+       };
+
        fpga {
                /*
                 * These PrimeCells are at the same location and using
index 8cd05607435a061d3a3e62fe7c8781f37a2d4828..ff1255ae712151fb0df7331f7f68a07870cf099d 100644 (file)
@@ -256,22 +256,6 @@ static struct physmap_flash_data ap_flash_data = {
        .set_vpp        = ap_flash_set_vpp,
 };
 
-static struct resource cfi_flash_resource = {
-       .start          = INTEGRATOR_FLASH_BASE,
-       .end            = INTEGRATOR_FLASH_BASE + INTEGRATOR_FLASH_SIZE - 1,
-       .flags          = IORESOURCE_MEM,
-};
-
-static struct platform_device cfi_flash_device = {
-       .name           = "physmap-flash",
-       .id             = 0,
-       .dev            = {
-               .platform_data  = &ap_flash_data,
-       },
-       .num_resources  = 1,
-       .resource       = &cfi_flash_resource,
-};
-
 /*
  * Where is the timer (VA)?
  */
@@ -476,6 +460,8 @@ static struct of_dev_auxdata ap_auxdata_lookup[] __initdata = {
                "kmi0", NULL),
        OF_DEV_AUXDATA("arm,primecell", KMI1_BASE,
                "kmi1", NULL),
+       OF_DEV_AUXDATA("cfi-flash", INTEGRATOR_FLASH_BASE,
+               "physmap-flash", &ap_flash_data),
        { /* sentinel */ },
 };
 
@@ -487,8 +473,6 @@ static void __init ap_init_of(void)
        of_platform_populate(NULL, of_default_bus_match_table,
                        ap_auxdata_lookup, NULL);
 
-       platform_device_register(&cfi_flash_device);
-
        sc_dec = readl(VA_SC_BASE + INTEGRATOR_SC_DEC_OFFSET);
        for (i = 0; i < 4; i++) {
                struct lm_device *lmdev;
@@ -537,6 +521,22 @@ MACHINE_END
  * for eventual deletion.
  */
 
+static struct resource cfi_flash_resource = {
+       .start          = INTEGRATOR_FLASH_BASE,
+       .end            = INTEGRATOR_FLASH_BASE + INTEGRATOR_FLASH_SIZE - 1,
+       .flags          = IORESOURCE_MEM,
+};
+
+static struct platform_device cfi_flash_device = {
+       .name           = "physmap-flash",
+       .id             = 0,
+       .dev            = {
+               .platform_data  = &ap_flash_data,
+       },
+       .num_resources  = 1,
+       .resource       = &cfi_flash_resource,
+};
+
 static void __init ap_init_timer(void)
 {
        struct clk *clk;
index f032238c1f9ff24cd95b314d54b8ba088d7b4f6d..f51363e2d6feb0f7e22179c89c15b1d27e30d683 100644 (file)
 #include "common.h"
 
 #define INTCP_PA_FLASH_BASE            0x24000000
-#define INTCP_FLASH_SIZE               SZ_32M
 
 #define INTCP_PA_CLCD_BASE             0xc0000000
 
-#define INTCP_ETH_SIZE                 0x10
-
 #define INTCP_VA_CTRL_BASE             IO_ADDRESS(INTEGRATOR_CP_CTL_BASE)
 #define INTCP_FLASHPROG                        0x04
 #define CINTEGRATOR_FLASHPROG_FLVPPEN  (1 << 0)
@@ -184,47 +181,6 @@ static struct physmap_flash_data intcp_flash_data = {
        .set_vpp        = intcp_flash_set_vpp,
 };
 
-static struct resource intcp_flash_resource = {
-       .start          = INTCP_PA_FLASH_BASE,
-       .end            = INTCP_PA_FLASH_BASE + INTCP_FLASH_SIZE - 1,
-       .flags          = IORESOURCE_MEM,
-};
-
-static struct platform_device intcp_flash_device = {
-       .name           = "physmap-flash",
-       .id             = 0,
-       .dev            = {
-               .platform_data  = &intcp_flash_data,
-       },
-       .num_resources  = 1,
-       .resource       = &intcp_flash_resource,
-};
-
-static struct resource smc91x_resources[] = {
-       [0] = {
-               .start  = INTEGRATOR_CP_ETH_BASE,
-               .end    = INTEGRATOR_CP_ETH_BASE + INTCP_ETH_SIZE - 1,
-               .flags  = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start  = IRQ_CP_ETHINT,
-               .end    = IRQ_CP_ETHINT,
-               .flags  = IORESOURCE_IRQ,
-       },
-};
-
-static struct platform_device smc91x_device = {
-       .name           = "smc91x",
-       .id             = 0,
-       .num_resources  = ARRAY_SIZE(smc91x_resources),
-       .resource       = smc91x_resources,
-};
-
-static struct platform_device *intcp_devs[] __initdata = {
-       &intcp_flash_device,
-       &smc91x_device,
-};
-
 /*
  * It seems that the card insertion interrupt remains active after
  * we've acknowledged it.  We therefore ignore the interrupt, and
@@ -375,6 +331,8 @@ static struct of_dev_auxdata intcp_auxdata_lookup[] __initdata = {
                "aaci", &mmc_data),
        OF_DEV_AUXDATA("arm,primecell", INTCP_PA_CLCD_BASE,
                "clcd", &clcd_data),
+       OF_DEV_AUXDATA("cfi-flash", INTCP_PA_FLASH_BASE,
+               "physmap-flash", &intcp_flash_data),
        { /* sentinel */ },
 };
 
@@ -382,7 +340,6 @@ static void __init intcp_init_of(void)
 {
        of_platform_populate(NULL, of_default_bus_match_table,
                        intcp_auxdata_lookup, NULL);
-       platform_add_devices(intcp_devs, ARRAY_SIZE(intcp_devs));
 }
 
 static const char * intcp_dt_board_compat[] = {
@@ -412,6 +369,51 @@ MACHINE_END
  * for eventual deletion.
  */
 
+#define INTCP_FLASH_SIZE               SZ_32M
+
+static struct resource intcp_flash_resource = {
+       .start          = INTCP_PA_FLASH_BASE,
+       .end            = INTCP_PA_FLASH_BASE + INTCP_FLASH_SIZE - 1,
+       .flags          = IORESOURCE_MEM,
+};
+
+static struct platform_device intcp_flash_device = {
+       .name           = "physmap-flash",
+       .id             = 0,
+       .dev            = {
+               .platform_data  = &intcp_flash_data,
+       },
+       .num_resources  = 1,
+       .resource       = &intcp_flash_resource,
+};
+
+#define INTCP_ETH_SIZE                 0x10
+
+static struct resource smc91x_resources[] = {
+       [0] = {
+               .start  = INTEGRATOR_CP_ETH_BASE,
+               .end    = INTEGRATOR_CP_ETH_BASE + INTCP_ETH_SIZE - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+       [1] = {
+               .start  = IRQ_CP_ETHINT,
+               .end    = IRQ_CP_ETHINT,
+               .flags  = IORESOURCE_IRQ,
+       },
+};
+
+static struct platform_device smc91x_device = {
+       .name           = "smc91x",
+       .id             = 0,
+       .num_resources  = ARRAY_SIZE(smc91x_resources),
+       .resource       = smc91x_resources,
+};
+
+static struct platform_device *intcp_devs[] __initdata = {
+       &intcp_flash_device,
+       &smc91x_device,
+};
+
 #define INTCP_VA_CIC_BASE              __io_address(INTEGRATOR_HDR_BASE + 0x40)
 #define INTCP_VA_PIC_BASE              __io_address(INTEGRATOR_IC_BASE)
 #define INTCP_VA_SIC_BASE              __io_address(INTEGRATOR_CP_SIC_BASE)