From d0119f6ea0f0726e6977400e9e8ab189b203713b Mon Sep 17 00:00:00 2001 From: Zhao Chenhui Date: Fri, 20 Jul 2012 20:47:01 +0800 Subject: [PATCH] --- yaml --- r: 330372 b: refs/heads/master c: e6651de9cc701ab4829b3a11a7ace85a79405d32 h: refs/heads/master v: v3 --- [refs] | 2 +- .../devicetree/bindings/misc/ifm-csi.txt | 41 ------ trunk/arch/powerpc/boot/dts/o2d.dts | 47 ------ trunk/arch/powerpc/boot/dts/o2d.dtsi | 139 ------------------ trunk/arch/powerpc/boot/dts/o2d300.dts | 52 ------- trunk/arch/powerpc/boot/dts/o2dnt2.dts | 48 ------ trunk/arch/powerpc/boot/dts/o2i.dts | 33 ----- trunk/arch/powerpc/boot/dts/o2mnt.dts | 33 ----- trunk/arch/powerpc/boot/dts/o3dnt.dts | 48 ------ trunk/arch/powerpc/include/asm/mpc52xx.h | 2 - trunk/arch/powerpc/kernel/smp.c | 2 +- trunk/arch/powerpc/platforms/512x/Kconfig | 1 - trunk/arch/powerpc/platforms/512x/clock.c | 6 +- .../powerpc/platforms/512x/mpc512x_shared.c | 6 + .../powerpc/platforms/52xx/mpc5200_simple.c | 1 - .../powerpc/platforms/52xx/mpc52xx_lpbfifo.c | 35 +---- 16 files changed, 11 insertions(+), 485 deletions(-) delete mode 100644 trunk/Documentation/devicetree/bindings/misc/ifm-csi.txt delete mode 100644 trunk/arch/powerpc/boot/dts/o2d.dts delete mode 100644 trunk/arch/powerpc/boot/dts/o2d.dtsi delete mode 100644 trunk/arch/powerpc/boot/dts/o2d300.dts delete mode 100644 trunk/arch/powerpc/boot/dts/o2dnt2.dts delete mode 100644 trunk/arch/powerpc/boot/dts/o2i.dts delete mode 100644 trunk/arch/powerpc/boot/dts/o2mnt.dts delete mode 100644 trunk/arch/powerpc/boot/dts/o3dnt.dts diff --git a/[refs] b/[refs] index 2dc56d66b15b..ca34930aab30 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9aae341287f55d5fc71f8a884e671f9058ad3388 +refs/heads/master: e6651de9cc701ab4829b3a11a7ace85a79405d32 diff --git a/trunk/Documentation/devicetree/bindings/misc/ifm-csi.txt b/trunk/Documentation/devicetree/bindings/misc/ifm-csi.txt deleted file mode 100644 index 5bdfffb0b9f7..000000000000 --- a/trunk/Documentation/devicetree/bindings/misc/ifm-csi.txt +++ /dev/null @@ -1,41 +0,0 @@ -IFM camera sensor interface on mpc5200 LocalPlus bus - -Required properties: -- compatible: "ifm,o2d-csi" -- reg: specifies sensor chip select number and associated address range -- interrupts: external interrupt line number and interrupt sense mode - of the interrupt line signaling frame valid events -- gpios: three gpio-specifiers for "capture", "reset" and "master enable" - GPIOs (strictly in this order). -- ifm,csi-clk-handle: the phandle to a node in the DT describing the sensor - clock generator. This node is usually a general purpose timer controller. -- ifm,csi-addr-bus-width: address bus width (valid values are 16, 24, 25) -- ifm,csi-data-bus-width: data bus width (valid values are 8 and 16) -- ifm,csi-wait-cycles: sensor bus wait cycles - -Optional properties: -- ifm,csi-byte-swap: if this property is present, the byte swapping on - the bus will be enabled. - -Example: - - csi@3,0 { - compatible = "ifm,o2d-csi"; - reg = <3 0 0x00100000>; /* CS 3, 1 MiB range */ - interrupts = <1 1 2>; /* IRQ1, edge falling */ - - ifm,csi-clk-handle = <&timer7>; - gpios = <&gpio_simple 23 0 /* image_capture */ - &gpio_simple 26 0 /* image_reset */ - &gpio_simple 29 0>; /* image_master_en */ - - ifm,csi-addr-bus-width = <24>; - ifm,csi-data-bus-width = <8>; - ifm,csi-wait-cycles = <0>; - }; - -The base address of the used chip select is specified in the -ranges property of the parent localbus node, for example: - - ranges = <0 0 0xff000000 0x01000000 - 3 0 0xe3000000 0x00100000>; diff --git a/trunk/arch/powerpc/boot/dts/o2d.dts b/trunk/arch/powerpc/boot/dts/o2d.dts deleted file mode 100644 index 9f6dd4d889b3..000000000000 --- a/trunk/arch/powerpc/boot/dts/o2d.dts +++ /dev/null @@ -1,47 +0,0 @@ -/* - * O2D Device Tree Source - * - * Copyright (C) 2012 DENX Software Engineering - * Anatolij Gustschin - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ - -/include/ "o2d.dtsi" - -/ { - model = "ifm,o2d"; - compatible = "ifm,o2d"; - - memory { - reg = <0x00000000 0x08000000>; // 128MB - }; - - localbus { - ranges = <0 0 0xfc000000 0x02000000 - 3 0 0xe3000000 0x00100000>; - - flash@0,0 { - compatible = "cfi-flash"; - reg = <0 0 0x02000000>; - bank-width = <2>; - device-width = <2>; - #size-cells = <1>; - #address-cells = <1>; - - partition@60000 { - label = "kernel"; - reg = <0x00060000 0x00260000>; - read-only; - }; - /* o2d specific partitions */ - partition@2c0000 { - label = "o2d user defined"; - reg = <0x002c0000 0x01d40000>; - }; - }; - }; -}; diff --git a/trunk/arch/powerpc/boot/dts/o2d.dtsi b/trunk/arch/powerpc/boot/dts/o2d.dtsi deleted file mode 100644 index 3444eb8f0ade..000000000000 --- a/trunk/arch/powerpc/boot/dts/o2d.dtsi +++ /dev/null @@ -1,139 +0,0 @@ -/* - * O2D base Device Tree Source - * - * Copyright (C) 2012 DENX Software Engineering - * Anatolij Gustschin - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ - -/include/ "mpc5200b.dtsi" - -/ { - model = "ifm,o2d"; - compatible = "ifm,o2d"; - - memory { - reg = <0x00000000 0x04000000>; // 64MB - }; - - soc5200@f0000000 { - - gpio_simple: gpio@b00 { - }; - - timer@600 { // General Purpose Timer - #gpio-cells = <2>; - gpio-controller; - fsl,has-wdt; - fsl,wdt-on-boot = <0>; - }; - - timer@610 { - #gpio-cells = <2>; - gpio-controller; - }; - - timer7: timer@670 { - }; - - rtc@800 { - status = "disabled"; - }; - - psc@2000 { // PSC1 - compatible = "fsl,mpc5200b-psc-spi","fsl,mpc5200-psc-spi"; - #address-cells = <1>; - #size-cells = <0>; - cell-index = <0>; - - spidev@0 { - compatible = "spidev"; - spi-max-frequency = <250000>; - reg = <0>; - }; - }; - - psc@2200 { // PSC2 - status = "disabled"; - }; - - psc@2400 { // PSC3 - status = "disabled"; - }; - - psc@2600 { // PSC4 - compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; - }; - - psc@2800 { // PSC5 - compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; - }; - - psc@2c00 { // PSC6 - status = "disabled"; - }; - - ethernet@3000 { - phy-handle = <&phy0>; - }; - - mdio@3000 { - phy0: ethernet-phy@0 { - reg = <0>; - }; - }; - - sclpc@3c00 { - compatible = "fsl,mpc5200-lpbfifo"; - reg = <0x3c00 0x60>; - interrupts = <3 23 0>; - }; - }; - - localbus { - ranges = <0 0 0xff000000 0x01000000 - 3 0 0xe3000000 0x00100000>; - - // flash device at LocalPlus Bus CS0 - flash@0,0 { - compatible = "cfi-flash"; - reg = <0 0 0x01000000>; - bank-width = <1>; - device-width = <2>; - #size-cells = <1>; - #address-cells = <1>; - no-unaligned-direct-access; - - /* common layout for all machines */ - partition@0 { - label = "u-boot"; - reg = <0x00000000 0x00040000>; - read-only; - }; - partition@40000 { - label = "env"; - reg = <0x00040000 0x00020000>; - read-only; - }; - }; - - csi@3,0 { - compatible = "ifm,o2d-csi"; - reg = <3 0 0x00100000>; - ifm,csi-clk-handle = <&timer7>; - gpios = <&gpio_simple 23 0 /* imag_capture */ - &gpio_simple 26 0 /* imag_reset */ - &gpio_simple 29 0>; /* imag_master_en */ - - interrupts = <1 1 2>; /* IRQ1, edge falling */ - - ifm,csi-addr-bus-width = <24>; - ifm,csi-data-bus-width = <8>; - ifm,csi-wait-cycles = <0>; - }; - }; -}; diff --git a/trunk/arch/powerpc/boot/dts/o2d300.dts b/trunk/arch/powerpc/boot/dts/o2d300.dts deleted file mode 100644 index 29affe0f0da3..000000000000 --- a/trunk/arch/powerpc/boot/dts/o2d300.dts +++ /dev/null @@ -1,52 +0,0 @@ -/* - * O2D300 Device Tree Source - * - * Copyright (C) 2012 DENX Software Engineering - * Anatolij Gustschin - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ - -/include/ "o2d.dtsi" - -/ { - model = "ifm,o2d300"; - compatible = "ifm,o2d"; - - localbus { - ranges = <0 0 0xfc000000 0x02000000 - 3 0 0xe3000000 0x00100000>; - flash@0,0 { - compatible = "cfi-flash"; - reg = <0 0 0x02000000>; - bank-width = <2>; - device-width = <2>; - #size-cells = <1>; - #address-cells = <1>; - - partition@40000 { - label = "env_1"; - reg = <0x00040000 0x00020000>; - read-only; - }; - partition@60000 { - label = "env_2"; - reg = <0x00060000 0x00020000>; - read-only; - }; - partition@80000 { - label = "kernel"; - reg = <0x00080000 0x00260000>; - read-only; - }; - /* o2d300 specific partitions */ - partition@2e0000 { - label = "o2d300 user defined"; - reg = <0x002e0000 0x01d20000>; - }; - }; - }; -}; diff --git a/trunk/arch/powerpc/boot/dts/o2dnt2.dts b/trunk/arch/powerpc/boot/dts/o2dnt2.dts deleted file mode 100644 index a0f5b97a4f06..000000000000 --- a/trunk/arch/powerpc/boot/dts/o2dnt2.dts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * O2DNT2 Device Tree Source - * - * Copyright (C) 2012 DENX Software Engineering - * Anatolij Gustschin - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ - -/include/ "o2d.dtsi" - -/ { - model = "ifm,o2dnt2"; - compatible = "ifm,o2d"; - - memory { - reg = <0x00000000 0x08000000>; // 128MB - }; - - localbus { - ranges = <0 0 0xfc000000 0x02000000 - 3 0 0xe3000000 0x00100000>; - - flash@0,0 { - compatible = "cfi-flash"; - reg = <0 0 0x02000000>; - bank-width = <2>; - device-width = <2>; - #size-cells = <1>; - #address-cells = <1>; - - partition@60000 { - label = "kernel"; - reg = <0x00060000 0x00260000>; - read-only; - }; - - /* o2dnt2 specific partitions */ - partition@2c0000 { - label = "o2dnt2 user defined"; - reg = <0x002c0000 0x01d40000>; - }; - }; - }; -}; diff --git a/trunk/arch/powerpc/boot/dts/o2i.dts b/trunk/arch/powerpc/boot/dts/o2i.dts deleted file mode 100644 index e3cc99d1360b..000000000000 --- a/trunk/arch/powerpc/boot/dts/o2i.dts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * O2I Device Tree Source - * - * Copyright (C) 2012 DENX Software Engineering - * Anatolij Gustschin - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ - -/include/ "o2d.dtsi" - -/ { - model = "ifm,o2i"; - compatible = "ifm,o2d"; - - localbus { - flash@0,0 { - partition@60000 { - label = "kernel"; - reg = <0x00060000 0x00260000>; - read-only; - }; - /* o2i specific partitions */ - partition@2c0000 { - label = "o2i user defined"; - reg = <0x002c0000 0x00d40000>; - }; - }; - }; -}; diff --git a/trunk/arch/powerpc/boot/dts/o2mnt.dts b/trunk/arch/powerpc/boot/dts/o2mnt.dts deleted file mode 100644 index d91859a9e940..000000000000 --- a/trunk/arch/powerpc/boot/dts/o2mnt.dts +++ /dev/null @@ -1,33 +0,0 @@ -/* - * O2MNT Device Tree Source - * - * Copyright (C) 2012 DENX Software Engineering - * Anatolij Gustschin - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ - -/include/ "o2d.dtsi" - -/ { - model = "ifm,o2mnt"; - compatible = "ifm,o2d"; - - localbus { - flash@0,0 { - partition@60000 { - label = "kernel"; - reg = <0x00060000 0x00260000>; - read-only; - }; - /* add o2mnt specific partitions */ - partition@2c0000 { - label = "o2mnt user defined"; - reg = <0x002c0000 0x00d40000>; - }; - }; - }; -}; diff --git a/trunk/arch/powerpc/boot/dts/o3dnt.dts b/trunk/arch/powerpc/boot/dts/o3dnt.dts deleted file mode 100644 index acce49326491..000000000000 --- a/trunk/arch/powerpc/boot/dts/o3dnt.dts +++ /dev/null @@ -1,48 +0,0 @@ -/* - * O3DNT Device Tree Source - * - * Copyright (C) 2012 DENX Software Engineering - * Anatolij Gustschin - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ - -/include/ "o2d.dtsi" - -/ { - model = "ifm,o3dnt"; - compatible = "ifm,o2d"; - - memory { - reg = <0x00000000 0x04000000>; // 64MB - }; - - localbus { - ranges = <0 0 0xfc000000 0x01000000 - 3 0 0xe3000000 0x00100000>; - - flash@0,0 { - compatible = "cfi-flash"; - reg = <0 0 0x01000000>; - bank-width = <2>; - device-width = <2>; - #size-cells = <1>; - #address-cells = <1>; - - partition@60000 { - label = "kernel"; - reg = <0x00060000 0x00260000>; - read-only; - }; - - /* o3dnt specific partitions */ - partition@2c0000 { - label = "o3dnt user defined"; - reg = <0x002c0000 0x00d40000>; - }; - }; - }; -}; diff --git a/trunk/arch/powerpc/include/asm/mpc52xx.h b/trunk/arch/powerpc/include/asm/mpc52xx.h index 0acc7c7c28d1..1f41382eda38 100644 --- a/trunk/arch/powerpc/include/asm/mpc52xx.h +++ b/trunk/arch/powerpc/include/asm/mpc52xx.h @@ -307,7 +307,6 @@ struct mpc52xx_lpbfifo_request { size_t size; size_t pos; /* current position of transfer */ int flags; - int defer_xfer_start; /* What to do when finished */ void (*callback)(struct mpc52xx_lpbfifo_request *); @@ -324,7 +323,6 @@ struct mpc52xx_lpbfifo_request { extern int mpc52xx_lpbfifo_submit(struct mpc52xx_lpbfifo_request *req); extern void mpc52xx_lpbfifo_abort(struct mpc52xx_lpbfifo_request *req); extern void mpc52xx_lpbfifo_poll(void); -extern int mpc52xx_lpbfifo_start_xfer(struct mpc52xx_lpbfifo_request *req); /* mpc52xx_pic.c */ extern void mpc52xx_init_irq(void); diff --git a/trunk/arch/powerpc/kernel/smp.c b/trunk/arch/powerpc/kernel/smp.c index a51ed205016e..2b952b5386fd 100644 --- a/trunk/arch/powerpc/kernel/smp.c +++ b/trunk/arch/powerpc/kernel/smp.c @@ -171,7 +171,7 @@ int smp_request_message_ipi(int virq, int msg) } #endif err = request_irq(virq, smp_ipi_action[msg], - IRQF_PERCPU | IRQF_NO_THREAD, + IRQF_PERCPU | IRQF_NO_THREAD | IRQF_NO_SUSPEND, smp_ipi_name[msg], 0); WARN(err < 0, "unable to request_irq %d for %s (rc %d)\n", virq, smp_ipi_name[msg], err); diff --git a/trunk/arch/powerpc/platforms/512x/Kconfig b/trunk/arch/powerpc/platforms/512x/Kconfig index b62508b113db..c16999802ecf 100644 --- a/trunk/arch/powerpc/platforms/512x/Kconfig +++ b/trunk/arch/powerpc/platforms/512x/Kconfig @@ -2,7 +2,6 @@ config PPC_MPC512x bool "512x-based boards" depends on 6xx select FSL_SOC - select FB_FSL_DIU select IPIC select PPC_CLOCK select PPC_PCI_CHOICE diff --git a/trunk/arch/powerpc/platforms/512x/clock.c b/trunk/arch/powerpc/platforms/512x/clock.c index 9f771e05457c..1d8700ff60b0 100644 --- a/trunk/arch/powerpc/platforms/512x/clock.c +++ b/trunk/arch/powerpc/platforms/512x/clock.c @@ -54,16 +54,14 @@ static DEFINE_MUTEX(clocks_mutex); static struct clk *mpc5121_clk_get(struct device *dev, const char *id) { struct clk *p, *clk = ERR_PTR(-ENOENT); - int dev_match; - int id_match; + int dev_match = 0; + int id_match = 0; if (dev == NULL || id == NULL) return clk; mutex_lock(&clocks_mutex); list_for_each_entry(p, &clocks, node) { - dev_match = id_match = 0; - if (dev == p->dev) dev_match++; if (strcmp(id, p->name) == 0) diff --git a/trunk/arch/powerpc/platforms/512x/mpc512x_shared.c b/trunk/arch/powerpc/platforms/512x/mpc512x_shared.c index 1650e090ef3a..cfe958e94e1e 100644 --- a/trunk/arch/powerpc/platforms/512x/mpc512x_shared.c +++ b/trunk/arch/powerpc/platforms/512x/mpc512x_shared.c @@ -191,6 +191,8 @@ mpc512x_valid_monitor_port(enum fsl_diu_monitor_port port) static struct fsl_diu_shared_fb __attribute__ ((__aligned__(8))) diu_shared_fb; +#if defined(CONFIG_FB_FSL_DIU) || \ + defined(CONFIG_FB_FSL_DIU_MODULE) static inline void mpc512x_free_bootmem(struct page *page) { __ClearPageReserved(page); @@ -218,6 +220,7 @@ void mpc512x_release_bootmem(void) } diu_ops.release_bootmem = NULL; } +#endif /* * Check if DIU was pre-initialized. If so, perform steps @@ -320,12 +323,15 @@ void __init mpc512x_setup_diu(void) } } +#if defined(CONFIG_FB_FSL_DIU) || \ + defined(CONFIG_FB_FSL_DIU_MODULE) diu_ops.get_pixel_format = mpc512x_get_pixel_format; diu_ops.set_gamma_table = mpc512x_set_gamma_table; diu_ops.set_monitor_port = mpc512x_set_monitor_port; diu_ops.set_pixel_clock = mpc512x_set_pixel_clock; diu_ops.valid_monitor_port = mpc512x_valid_monitor_port; diu_ops.release_bootmem = mpc512x_release_bootmem; +#endif } void __init mpc512x_init_IRQ(void) diff --git a/trunk/arch/powerpc/platforms/52xx/mpc5200_simple.c b/trunk/arch/powerpc/platforms/52xx/mpc5200_simple.c index 9cf36020cf0d..c0aa04068d69 100644 --- a/trunk/arch/powerpc/platforms/52xx/mpc5200_simple.c +++ b/trunk/arch/powerpc/platforms/52xx/mpc5200_simple.c @@ -52,7 +52,6 @@ static void __init mpc5200_simple_setup_arch(void) static const char *board[] __initdata = { "anonymous,a4m072", "anon,charon", - "ifm,o2d", "intercontrol,digsy-mtc", "manroland,mucmc52", "manroland,uc101", diff --git a/trunk/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c b/trunk/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c index 2351f9e0fb6f..d61fb1c0c1a0 100644 --- a/trunk/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c +++ b/trunk/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c @@ -170,8 +170,7 @@ static void mpc52xx_lpbfifo_kick(struct mpc52xx_lpbfifo_request *req) out_be32(lpbfifo.regs + LPBFIFO_REG_CONTROL, bit_fields); /* Kick it off */ - if (!lpbfifo.req->defer_xfer_start) - out_8(lpbfifo.regs + LPBFIFO_REG_PACKET_SIZE, 0x01); + out_8(lpbfifo.regs + LPBFIFO_REG_PACKET_SIZE, 0x01); if (dma) bcom_enable(lpbfifo.bcom_cur_task); } @@ -422,38 +421,6 @@ int mpc52xx_lpbfifo_submit(struct mpc52xx_lpbfifo_request *req) } EXPORT_SYMBOL(mpc52xx_lpbfifo_submit); -int mpc52xx_lpbfifo_start_xfer(struct mpc52xx_lpbfifo_request *req) -{ - unsigned long flags; - - if (!lpbfifo.regs) - return -ENODEV; - - spin_lock_irqsave(&lpbfifo.lock, flags); - - /* - * If the req pointer is already set and a transfer was - * started on submit, then this transfer is in progress - */ - if (lpbfifo.req && !lpbfifo.req->defer_xfer_start) { - spin_unlock_irqrestore(&lpbfifo.lock, flags); - return -EBUSY; - } - - /* - * If the req was previously submitted but not - * started, start it now - */ - if (lpbfifo.req && lpbfifo.req == req && - lpbfifo.req->defer_xfer_start) { - out_8(lpbfifo.regs + LPBFIFO_REG_PACKET_SIZE, 0x01); - } - - spin_unlock_irqrestore(&lpbfifo.lock, flags); - return 0; -} -EXPORT_SYMBOL(mpc52xx_lpbfifo_start_xfer); - void mpc52xx_lpbfifo_abort(struct mpc52xx_lpbfifo_request *req) { unsigned long flags;