From hs at denx.de Wed Feb 1 00:40:24 2012 From: hs at denx.de (Heiko Schocher) Date: Wed, 01 Feb 2012 07:40:24 +0100 Subject: [PATCH v3] ARM: davinci: map default_queue to edma channels In-Reply-To: References: <1326956721-25158-1-git-send-email-hs@denx.de> Message-ID: <4F28DE58.3040902@denx.de> Hello Nori, Nori, Sekhar wrote: > Hi Heiko, > > On Thu, Jan 19, 2012 at 12:35:21, Heiko Schocher wrote: >> Default queue is expected to be a low-priority queue. >> This way, long transfers on the default queue started >> by the codec engine will not cause audio defects. >> >> Signed-off-by: Heiko Schocher > >> Signed-off-by: juha.kuikka at gmail.com >> Reported-by: juha.kuikka at gmail.com > > Sign-off should include real name, so I changed these > two lines to: > > Signed-off-by: Juha Kuikka > Reported-by: Juha Kuikka Thanks! > before applying. Let me know if anyone has objections. I saw no objections, so can this patch go in now? Thanks! bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany From sshtylyov at mvista.com Wed Feb 1 04:20:13 2012 From: sshtylyov at mvista.com (Sergei Shtylyov) Date: Wed, 01 Feb 2012 14:20:13 +0400 Subject: [RFC PATCH 7/7] ARM: davinci: add support for the am1808 based enbw_cmc board In-Reply-To: <4F27E6E0.1050608@denx.de> References: <1327308967-8092-1-git-send-email-hs@denx.de> <1327308967-8092-8-git-send-email-hs@denx.de> <20120130203252.GX28397@ponder.secretlab.ca> <4F27E6E0.1050608@denx.de> Message-ID: <4F2911DD.6010405@mvista.com> Hello. On 31-01-2012 17:04, Heiko Schocher wrote: >> On Mon, Jan 23, 2012 at 09:56:07AM +0100, Heiko Schocher wrote: >>> - AM1808 based board >>> - 64 MiB DDR ram >>> - 2 MiB Nor flash >>> - 128 MiB NAND flash >>> - use internal RTC >>> - I2C support >>> - hwmon lm75 support >>> - UBI/UBIFS support >>> - MMC support >>> - USB OTG support >>> Signed-off-by: Heiko Schocher >>> Cc: linux-arm-kernel at lists.infradead.org >>> Cc: devicetree-discuss at lists.ozlabs.org >>> Cc: davinci-linux-open-source at linux.davincidsp.com >>> Cc: linux-mtd at lists.infradead.org >>> Cc: linux-i2c at vger.kernel.org >>> Cc: netdev at vger.kernel.org >>> Cc: David Woodhouse >>> Cc: Ben Dooks >>> Cc: Wolfram Sang >>> Cc: Sekhar Nori >>> Cc: Kevin Hilman >>> Cc: Wolfgang Denk >>> --- >>> - post this board support with USB support, even though >>> USB is only working with the 10 ms "workaround", posted here: >>> http://comments.gmane.org/gmane.linux.usb.general/54505 >>> I see this issue also on the AM1808 TMDXEXP1808L evalboard. >>> - MMC and USB are not using OF support yet, ideas how to port >>> this are welcome. I need for USB and MMC boards board >>> specific callbacks, how to solve this with OF support? [...] >>> diff --git a/arch/arm/boot/dts/enbw_cmc.dts b/arch/arm/boot/dts/enbw_cmc.dts >>> new file mode 100644 >>> index 0000000..e5995ce >>> --- /dev/null >>> +++ b/arch/arm/boot/dts/enbw_cmc.dts [...] >>> + compatible = "ns16550a"; >> Should include a string for the specific device. Something like: >> compatible = "ti,da800", "ns16550a"; > added. Note that there's no DA800 chip, only DA828, DA830, and DA850 AFAIK. WBR, Sergei From m-karicheri2 at ti.com Wed Feb 1 09:10:33 2012 From: m-karicheri2 at ti.com (Karicheri, Muralidharan) Date: Wed, 1 Feb 2012 15:10:33 +0000 Subject: UBIFS with davinci NAND driver - ECC error In-Reply-To: References: <3E54258959B69E4282D79E01AB1F32B72747DF@DFLE34.ent.ti.com> Message-ID: <3E54258959B69E4282D79E01AB1F32B727515C@DFLE34.ent.ti.com> Sudhakar, Thanks for your response. I will look into this and hope it will help. Murali Karicheri Software Design Engineer email: m-karicheri2 at ti.com Phone: (301) 407 9583 >> -----Original Message----- >> From: Rajashekhara, Sudhakar >> Sent: Tuesday, January 31, 2012 11:48 PM >> To: Karicheri, Muralidharan; davinci-linux-open-source at linux.davincidsp.com; >> Nori, Sekhar >> Subject: RE: UBIFS with davinci NAND driver - ECC error >> >> Hi Murali, >> >> On Wed, Feb 01, 2012 at 02:51:03, Karicheri, Muralidharan wrote: >> > Hi, >> > >> > I am trying to use UBIFS in my project and we are using the davinci >> > nand driver with a flash part that has page size of 2048, block size >> > of 128KiB and size of 128MiB. I have done following to boot the kernel >> > with a UBIFS rootfs. >> > >> >> Please refer to http://processors.wiki.ti.com/index.php/UBIFS_Support >> which has steps to get UBIFS working on AM335x. But I followed these >> steps and was able to get UBIFS working on OMAP-L138. The bootargs I >> used from U-Boot are as below: >> >> setenv bootargs mem=32M console=ttyS2,115200n8 root=ubi0:rootfs rw >> rootfstype=ubifs ubi.mtd=4,2048 ip=dhcp >> >> Note that I also faced similar booting issues when I was using mkfs.ubifs >> version 1.3 on the host system to generate the UBIFS file system. The >> issue went away when I used v 1.4.8. >> >> Thanks, >> Sudhakar From m-karicheri2 at ti.com Wed Feb 1 10:47:55 2012 From: m-karicheri2 at ti.com (Karicheri, Muralidharan) Date: Wed, 1 Feb 2012 16:47:55 +0000 Subject: UBIFS with davinci NAND driver - ECC error In-Reply-To: References: <3E54258959B69E4282D79E01AB1F32B72747DF@DFLE34.ent.ti.com> Message-ID: <3E54258959B69E4282D79E01AB1F32B727529A@DFLE34.ent.ti.com> Sudhakhar, Did you fix anything on the Linux NAND and u-boot NAND driver to disable sub page writes? Murali Karicheri Software Design Engineer email: m-karicheri2 at ti.com Phone: (301) 407 9583 >> -----Original Message----- >> From: Rajashekhara, Sudhakar >> Sent: Tuesday, January 31, 2012 11:48 PM >> To: Karicheri, Muralidharan; davinci-linux-open-source at linux.davincidsp.com; >> Nori, Sekhar >> Subject: RE: UBIFS with davinci NAND driver - ECC error >> >> Hi Murali, >> >> On Wed, Feb 01, 2012 at 02:51:03, Karicheri, Muralidharan wrote: >> > Hi, >> > >> > I am trying to use UBIFS in my project and we are using the davinci >> > nand driver with a flash part that has page size of 2048, block size >> > of 128KiB and size of 128MiB. I have done following to boot the kernel >> > with a UBIFS rootfs. >> > >> >> Please refer to http://processors.wiki.ti.com/index.php/UBIFS_Support >> which has steps to get UBIFS working on AM335x. But I followed these >> steps and was able to get UBIFS working on OMAP-L138. The bootargs I >> used from U-Boot are as below: >> >> setenv bootargs mem=32M console=ttyS2,115200n8 root=ubi0:rootfs rw >> rootfstype=ubifs ubi.mtd=4,2048 ip=dhcp >> >> Note that I also faced similar booting issues when I was using mkfs.ubifs >> version 1.3 on the host system to generate the UBIFS file system. The >> issue went away when I used v 1.4.8. >> >> Thanks, >> Sudhakar From m-karicheri2 at ti.com Wed Feb 1 11:07:03 2012 From: m-karicheri2 at ti.com (Karicheri, Muralidharan) Date: Wed, 1 Feb 2012 17:07:03 +0000 Subject: UBIFS with davinci NAND driver - ECC error In-Reply-To: <3E54258959B69E4282D79E01AB1F32B727529A@DFLE34.ent.ti.com> References: <3E54258959B69E4282D79E01AB1F32B72747DF@DFLE34.ent.ti.com> <3E54258959B69E4282D79E01AB1F32B727529A@DFLE34.ent.ti.com> Message-ID: <3E54258959B69E4282D79E01AB1F32B7275321@DFLE34.ent.ti.com> Also what version of kernel and u-boot are you using for OMAP? Murali Karicheri Software Design Engineer email: m-karicheri2 at ti.com Phone: (301) 407 9583 >> -----Original Message----- >> From: davinci-linux-open-source-bounces at linux.davincidsp.com [mailto:davinci- >> linux-open-source-bounces at linux.davincidsp.com] On Behalf Of Karicheri, >> Muralidharan >> Sent: Wednesday, February 01, 2012 11:48 AM >> To: Rajashekhara, Sudhakar; davinci-linux-open-source at linux.davincidsp.com; >> Nori, Sekhar >> Cc: Zhang, Hao >> Subject: RE: UBIFS with davinci NAND driver - ECC error >> >> Sudhakhar, >> >> Did you fix anything on the Linux NAND and u-boot NAND driver to disable sub >> page writes? >> >> Murali Karicheri >> Software Design Engineer >> email: m-karicheri2 at ti.com >> Phone: (301) 407 9583 >> >> >> >> -----Original Message----- >> >> From: Rajashekhara, Sudhakar >> >> Sent: Tuesday, January 31, 2012 11:48 PM >> >> To: Karicheri, Muralidharan; davinci-linux-open- >> source at linux.davincidsp.com; >> >> Nori, Sekhar >> >> Subject: RE: UBIFS with davinci NAND driver - ECC error >> >> >> >> Hi Murali, >> >> >> >> On Wed, Feb 01, 2012 at 02:51:03, Karicheri, Muralidharan wrote: >> >> > Hi, >> >> > >> >> > I am trying to use UBIFS in my project and we are using the davinci >> >> > nand driver with a flash part that has page size of 2048, block size >> >> > of 128KiB and size of 128MiB. I have done following to boot the kernel >> >> > with a UBIFS rootfs. >> >> > >> >> >> >> Please refer to http://processors.wiki.ti.com/index.php/UBIFS_Support >> >> which has steps to get UBIFS working on AM335x. But I followed these >> >> steps and was able to get UBIFS working on OMAP-L138. The bootargs I >> >> used from U-Boot are as below: >> >> >> >> setenv bootargs mem=32M console=ttyS2,115200n8 root=ubi0:rootfs rw >> >> rootfstype=ubifs ubi.mtd=4,2048 ip=dhcp >> >> >> >> Note that I also faced similar booting issues when I was using mkfs.ubifs >> >> version 1.3 on the host system to generate the UBIFS file system. The >> >> issue went away when I used v 1.4.8. >> >> >> >> Thanks, >> >> Sudhakar >> _______________________________________________ >> Davinci-linux-open-source mailing list >> Davinci-linux-open-source at linux.davincidsp.com >> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source From grant.likely at secretlab.ca Wed Feb 1 18:17:30 2012 From: grant.likely at secretlab.ca (Grant Likely) Date: Wed, 1 Feb 2012 17:17:30 -0700 Subject: [RFC PATCH 7/7] ARM: davinci: add support for the am1808 based enbw_cmc board In-Reply-To: <4F2911DD.6010405@mvista.com> References: <1327308967-8092-1-git-send-email-hs@denx.de> <1327308967-8092-8-git-send-email-hs@denx.de> <20120130203252.GX28397@ponder.secretlab.ca> <4F27E6E0.1050608@denx.de> <4F2911DD.6010405@mvista.com> Message-ID: <20120202001730.GF15343@ponder.secretlab.ca> On Wed, Feb 01, 2012 at 02:20:13PM +0400, Sergei Shtylyov wrote: > Hello. > > On 31-01-2012 17:04, Heiko Schocher wrote: > > >>On Mon, Jan 23, 2012 at 09:56:07AM +0100, Heiko Schocher wrote: > >>>- AM1808 based board > >>>- 64 MiB DDR ram > >>>- 2 MiB Nor flash > >>>- 128 MiB NAND flash > >>>- use internal RTC > >>>- I2C support > >>>- hwmon lm75 support > >>>- UBI/UBIFS support > >>>- MMC support > >>>- USB OTG support > > >>>Signed-off-by: Heiko Schocher > >>>Cc: linux-arm-kernel at lists.infradead.org > >>>Cc: devicetree-discuss at lists.ozlabs.org > >>>Cc: davinci-linux-open-source at linux.davincidsp.com > >>>Cc: linux-mtd at lists.infradead.org > >>>Cc: linux-i2c at vger.kernel.org > >>>Cc: netdev at vger.kernel.org > >>>Cc: David Woodhouse > >>>Cc: Ben Dooks > >>>Cc: Wolfram Sang > >>>Cc: Sekhar Nori > >>>Cc: Kevin Hilman > >>>Cc: Wolfgang Denk > > >>>--- > >>>- post this board support with USB support, even though > >>> USB is only working with the 10 ms "workaround", posted here: > >>> http://comments.gmane.org/gmane.linux.usb.general/54505 > >>> I see this issue also on the AM1808 TMDXEXP1808L evalboard. > >>>- MMC and USB are not using OF support yet, ideas how to port > >>> this are welcome. I need for USB and MMC boards board > >>> specific callbacks, how to solve this with OF support? > > [...] > > >>>diff --git a/arch/arm/boot/dts/enbw_cmc.dts b/arch/arm/boot/dts/enbw_cmc.dts > >>>new file mode 100644 > >>>index 0000000..e5995ce > >>>--- /dev/null > >>>+++ b/arch/arm/boot/dts/enbw_cmc.dts > [...] > > >>>+ compatible = "ns16550a"; > > >>Should include a string for the specific device. Something like: > > >> compatible = "ti,da800", "ns16550a"; > > >added. > > Note that there's no DA800 chip, only DA828, DA830, and DA850 AFAIK. Right, so the compatible string should reflect that. g. From grant.likely at secretlab.ca Wed Feb 1 18:19:55 2012 From: grant.likely at secretlab.ca (Grant Likely) Date: Wed, 1 Feb 2012 17:19:55 -0700 Subject: [RFC PATCH 4/7] ARM: davinci: net: davinci_emac: add OF support In-Reply-To: <4F27D00F.4040807@denx.de> References: <1327308967-8092-1-git-send-email-hs@denx.de> <1327308967-8092-5-git-send-email-hs@denx.de> <20120130202208.GW28397@ponder.secretlab.ca> <4F27D00F.4040807@denx.de> Message-ID: <20120202001955.GG15343@ponder.secretlab.ca> On Tue, Jan 31, 2012 at 12:27:11PM +0100, Heiko Schocher wrote: > Hello Grant, > > Grant Likely wrote: > > On Mon, Jan 23, 2012 at 09:56:04AM +0100, Heiko Schocher wrote: > >> add of support for the davinci_emac driver. > >> > >> Signed-off-by: Heiko Schocher > >> Cc: davinci-linux-open-source at linux.davincidsp.com > >> Cc: linux-arm-kernel at lists.infradead.org > >> Cc: devicetree-discuss at lists.ozlabs.org > >> Cc: netdev at vger.kernel.org > >> Cc: Grant Likely > >> Cc: Sekhar Nori > >> Cc: Wolfgang Denk > >> --- > >> .../bindings/arm/davinci/davinci_emac.txt | 46 ++++++++ > >> drivers/net/ethernet/ti/davinci_emac.c | 111 +++++++++++++++++++- > >> 2 files changed, 156 insertions(+), 1 deletions(-) > >> create mode 100644 Documentation/devicetree/bindings/arm/davinci/davinci_emac.txt > >> > >> diff --git a/Documentation/devicetree/bindings/arm/davinci/davinci_emac.txt b/Documentation/devicetree/bindings/arm/davinci/davinci_emac.txt > >> new file mode 100644 > >> index 0000000..4e5dc8d > >> --- /dev/null > >> +++ b/Documentation/devicetree/bindings/arm/davinci/davinci_emac.txt > >> @@ -0,0 +1,46 @@ > >> +* Texas Instruments Davinci EMAC > >> + > >> +This file provides information, what the davice node > >> +for the davinci_emac interface contain. > >> + > >> +Required properties: > >> +- compatible: "ti,davinci-emac"; > >> +- reg: Offset and length of the register set for the device > >> +- ctrl_reg_offset: offset to control register > >> +- ctrl_mod_reg_offset: offset to control module register > >> +- ctrl_ram_offset: offset to control module ram > > > > Should these be explicit properties, or can they be discerned from the > > compatible string (which should include the hardware version; see > > below). > > Hmm.. I do not know all davinci SoCs ... maybe someone from TI > could answer this? But I think, we could discern this from > the compatible string. I prepare this for v2. Maybe it is Ok, > if I do this only for my hardwareversion and others add this, > if needed? (maybe the better approach, as I can code it, but > have no hw for testing it ... so it maybe is buggy) > > > Also, any custom properties that are specific to a binding really > > should include a vendor prefix ('ti,') to avoid namespace collisions > > with common bindings. > > Yep, is "ti,davinci-" ok? Also I should use dashes instead > underscores, right? Correct. > > >> +- hw_ram_addr: hardware ram addr > > > > Can this be added as a second tuple in the reg property? > > No, if I know this right, this is used for DMA, and also could be RAM. Not getting what you mean here. The second tuple could be omitted if there isn't a physical address for hardware ram. From grant.likely at secretlab.ca Wed Feb 1 22:54:59 2012 From: grant.likely at secretlab.ca (Grant Likely) Date: Wed, 1 Feb 2012 21:54:59 -0700 Subject: [RFC PATCH 1/7] ARM: davinci, intc: Add OF support for TI interrupt controller In-Reply-To: <1327308967-8092-2-git-send-email-hs@denx.de> References: <1327308967-8092-1-git-send-email-hs@denx.de> <1327308967-8092-2-git-send-email-hs@denx.de> Message-ID: <20120202045459.GI15343@ponder.secretlab.ca> On Mon, Jan 23, 2012 at 09:56:01AM +0100, Heiko Schocher wrote: > Add a function to initialize the davinci interrupt controller (INTC) > using a device tree node. > > Signed-off-by: Heiko Schocher > Cc: davinci-linux-open-source at linux.davincidsp.com > Cc: linux-arm-kernel at lists.infradead.org > Cc: devicetree-discuss at lists.ozlabs.org > Cc: Grant Likely > Cc: Sekhar Nori > Cc: Wolfgang Denk > --- > .../devicetree/bindings/arm/davinci/intc.txt | 26 ++++++++++ > arch/arm/mach-davinci/cp_intc.c | 51 ++++++++++++++++++++ > arch/arm/mach-davinci/include/mach/cp_intc.h | 1 + > 3 files changed, 78 insertions(+), 0 deletions(-) > create mode 100644 Documentation/devicetree/bindings/arm/davinci/intc.txt > > diff --git a/Documentation/devicetree/bindings/arm/davinci/intc.txt b/Documentation/devicetree/bindings/arm/davinci/intc.txt > new file mode 100644 > index 0000000..dac2f69 > --- /dev/null > +++ b/Documentation/devicetree/bindings/arm/davinci/intc.txt > @@ -0,0 +1,26 @@ > +* TI Davinci Interrupt Controller > + > +davinci are using a TI interrupt controller that can support several > +configurable number of interrupts. > + > +Main node required properties: > + > +- compatible : should be: > + "ti,davinci-intc" > +- interrupt-controller : Identifies the node as an interrupt controller > +- #interrupt-cells : Specifies the number of cells needed to encode an > + interrupt source. The type shall be a and the value shall be 1. > + > + The cell contains the interrupt number in the range [0-128]. > +- ti,intc-size: Number of interrupts handled by the interrupt controller. > +- reg: physical base address and size of the intc registers map. > + > +Example: > + > + intc: interrupt-controller at 1 { > + compatible = "ti,davinci-intc"; > + interrupt-controller; > + #interrupt-cells = <1>; > + ti,intc-size = <101>; > + reg = <0xfffee000 0x2000>; > + }; > diff --git a/arch/arm/mach-davinci/cp_intc.c b/arch/arm/mach-davinci/cp_intc.c > index f83152d..2c6e2e4 100644 > --- a/arch/arm/mach-davinci/cp_intc.c > +++ b/arch/arm/mach-davinci/cp_intc.c > @@ -11,7 +11,11 @@ > > #include > #include > +#include > #include > +#include > +#include > +#include > > #include > #include > @@ -175,3 +179,50 @@ void __init cp_intc_init(void) > /* Enable global interrupt */ > cp_intc_write(1, CP_INTC_GLOBAL_ENABLE); > } > + > +#ifdef CONFIG_OF > +int __init dv_intc_of_init(struct device_node *node, struct device_node *parent) > +{ > + struct resource res; > + u32 nr_irqs; > + > + if (WARN_ON(!node)) > + return -ENODEV; > + > + if (of_address_to_resource(node, 0, &res)) { > + WARN(1, "unable to get intc registers\n"); > + return -EINVAL; > + } > + > + davinci_soc_info.intc_base = res.start; > + if (WARN_ON(!davinci_soc_info.intc_base)) > + return -EINVAL; > + > + if (of_property_read_u32(node, "ti,intc-size", &nr_irqs)) { > + WARN(1, "unable to get intc-size\n"); > + return -EINVAL; > + } > + davinci_soc_info.intc_irq_num = nr_irqs; > + davinci_soc_info.intc_type = DAVINCI_INTC_TYPE_CP_INTC; > + > + cp_intc_init(); > + irq_domain_add_simple(node, 0); Take a look at the irq_domain patches that will be (probably) merged in v3.4. Instead of calling irq_domain_add_simple(), you should migrate the whole interrupt controller to natively use an irq_domain for hwirq <--> irq mapping. g. From nsekhar at ti.com Thu Feb 2 13:53:11 2012 From: nsekhar at ti.com (Nori, Sekhar) Date: Thu, 2 Feb 2012 19:53:11 +0000 Subject: [PATCH v3] ARM: davinci: map default_queue to edma channels In-Reply-To: <4F28DE58.3040902@denx.de> References: <1326956721-25158-1-git-send-email-hs@denx.de> <4F28DE58.3040902@denx.de> Message-ID: Hi Heiko, On Wed, Feb 01, 2012 at 12:10:24, Heiko Schocher wrote: > Hello Nori, > > Nori, Sekhar wrote: > > Hi Heiko, > > > > On Thu, Jan 19, 2012 at 12:35:21, Heiko Schocher wrote: > >> Default queue is expected to be a low-priority queue. > >> This way, long transfers on the default queue started > >> by the codec engine will not cause audio defects. > >> > >> Signed-off-by: Heiko Schocher > > > >> Signed-off-by: juha.kuikka at gmail.com > >> Reported-by: juha.kuikka at gmail.com > > > > Sign-off should include real name, so I changed these > > two lines to: > > > > Signed-off-by: Juha Kuikka > > Reported-by: Juha Kuikka > > Thanks! > > > before applying. Let me know if anyone has objections. > > I saw no objections, so can this patch go in now? Queuing this for v3.4. Thanks for the reminder. Regards, Sekhar From m-karicheri2 at ti.com Thu Feb 2 17:39:27 2012 From: m-karicheri2 at ti.com (Karicheri, Muralidharan) Date: Thu, 2 Feb 2012 23:39:27 +0000 Subject: UBIFS with davinci NAND driver - ECC error In-Reply-To: <3E54258959B69E4282D79E01AB1F32B7275321@DFLE34.ent.ti.com> References: <3E54258959B69E4282D79E01AB1F32B72747DF@DFLE34.ent.ti.com> <3E54258959B69E4282D79E01AB1F32B727529A@DFLE34.ent.ti.com> <3E54258959B69E4282D79E01AB1F32B7275321@DFLE34.ent.ti.com> Message-ID: <3E54258959B69E4282D79E01AB1F32B72764B7@DFLE34.ent.ti.com> Sudhakar, The good news is that I am able to get UBIFS working as per your procedure. But I have to make following changes as well:- 1) Disable sub-page write in Linux kernel nand driver and u-boot nand driver. Have you done this at your end? 2) Use a sub page size of 2048 in mkfs and ubinize commands. Your procdure still shows -s 512 though the procedure mention about disabling sub page writes. With these I can ubiformat a partition for rootfs from Linux and boot Linux using the rootfs volume. But following steps still doesn't work when you try the same from u-boot 1) nand erase.part 2) nand write 0x88000000 3) Boot using rootfs volume. We see ECC error when Linux boots up. Have you made any changes To u-boot code? Is there a step missing between 1) and 2) similar to ubiformat? Murali Karicheri Software Design Engineer email: m-karicheri2 at ti.com Phone: (301) 407 9583 >> -----Original Message----- >> From: Karicheri, Muralidharan >> Sent: Wednesday, February 01, 2012 12:07 PM >> To: Karicheri, Muralidharan; Rajashekhara, Sudhakar; davinci-linux-open- >> source at linux.davincidsp.com; Nori, Sekhar >> Cc: Zhang, Hao >> Subject: RE: UBIFS with davinci NAND driver - ECC error >> >> Also what version of kernel and u-boot are you using for OMAP? >> >> Murali Karicheri >> Software Design Engineer >> email: m-karicheri2 at ti.com >> Phone: (301) 407 9583 >> >> >> >> -----Original Message----- >> >> From: davinci-linux-open-source-bounces at linux.davincidsp.com >> [mailto:davinci- >> >> linux-open-source-bounces at linux.davincidsp.com] On Behalf Of Karicheri, >> >> Muralidharan >> >> Sent: Wednesday, February 01, 2012 11:48 AM >> >> To: Rajashekhara, Sudhakar; davinci-linux-open- >> source at linux.davincidsp.com; >> >> Nori, Sekhar >> >> Cc: Zhang, Hao >> >> Subject: RE: UBIFS with davinci NAND driver - ECC error >> >> >> >> Sudhakhar, >> >> >> >> Did you fix anything on the Linux NAND and u-boot NAND driver to disable >> sub >> >> page writes? >> >> >> >> Murali Karicheri >> >> Software Design Engineer >> >> email: m-karicheri2 at ti.com >> >> Phone: (301) 407 9583 >> >> >> >> >> >> >> -----Original Message----- >> >> >> From: Rajashekhara, Sudhakar >> >> >> Sent: Tuesday, January 31, 2012 11:48 PM >> >> >> To: Karicheri, Muralidharan; davinci-linux-open- >> >> source at linux.davincidsp.com; >> >> >> Nori, Sekhar >> >> >> Subject: RE: UBIFS with davinci NAND driver - ECC error >> >> >> >> >> >> Hi Murali, >> >> >> >> >> >> On Wed, Feb 01, 2012 at 02:51:03, Karicheri, Muralidharan wrote: >> >> >> > Hi, >> >> >> > >> >> >> > I am trying to use UBIFS in my project and we are using the davinci >> >> >> > nand driver with a flash part that has page size of 2048, block size >> >> >> > of 128KiB and size of 128MiB. I have done following to boot the >> kernel >> >> >> > with a UBIFS rootfs. >> >> >> > >> >> >> >> >> >> Please refer to http://processors.wiki.ti.com/index.php/UBIFS_Support >> >> >> which has steps to get UBIFS working on AM335x. But I followed these >> >> >> steps and was able to get UBIFS working on OMAP-L138. The bootargs I >> >> >> used from U-Boot are as below: >> >> >> >> >> >> setenv bootargs mem=32M console=ttyS2,115200n8 root=ubi0:rootfs rw >> >> >> rootfstype=ubifs ubi.mtd=4,2048 ip=dhcp >> >> >> >> >> >> Note that I also faced similar booting issues when I was using >> mkfs.ubifs >> >> >> version 1.3 on the host system to generate the UBIFS file system. The >> >> >> issue went away when I used v 1.4.8. >> >> >> >> >> >> Thanks, >> >> >> Sudhakar >> >> _______________________________________________ >> >> Davinci-linux-open-source mailing list >> >> Davinci-linux-open-source at linux.davincidsp.com >> >> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source From sudhakar.raj at ti.com Thu Feb 2 23:09:44 2012 From: sudhakar.raj at ti.com (Rajashekhara, Sudhakar) Date: Fri, 3 Feb 2012 05:09:44 +0000 Subject: UBIFS with davinci NAND driver - ECC error In-Reply-To: <3E54258959B69E4282D79E01AB1F32B72764B7@DFLE34.ent.ti.com> References: <3E54258959B69E4282D79E01AB1F32B72747DF@DFLE34.ent.ti.com> <3E54258959B69E4282D79E01AB1F32B727529A@DFLE34.ent.ti.com> <3E54258959B69E4282D79E01AB1F32B7275321@DFLE34.ent.ti.com> <3E54258959B69E4282D79E01AB1F32B72764B7@DFLE34.ent.ti.com> Message-ID: Hi Murali, On Fri, Feb 03, 2012 at 05:09:27, Karicheri, Muralidharan wrote: > Sudhakar, > > The good news is that I am able to get UBIFS working as per your > procedure. But I have to make following changes as well:- > > 1) Disable sub-page write in Linux kernel nand driver and u-boot > nand driver. Have you done this at your end? > 2) Use a sub page size of 2048 in mkfs and ubinize commands. Your > procdure still shows -s 512 though the procedure mention about disabling > sub page writes. > > With these I can ubiformat a partition for rootfs from Linux and boot > Linux using the rootfs volume. But following steps still doesn't work when > you try the same from u-boot > > 1) nand erase.part > 2) nand write 0x88000000 > 3) Boot using rootfs volume. > > We see ECC error when Linux boots up. Have you made any changes > To u-boot code? Is there a step missing between 1) and 2) similar to ubiformat? > I have not tried it from u-boot. But we were able to boot the AM335x EVM when UBIFS was flashed from u-boot. The only thing to be taken care of is that both u-boot and Linux kernel should be following same ECC layout. Thanks, Sudhakar From sakari.ailus at iki.fi Sun Feb 5 03:13:06 2012 From: sakari.ailus at iki.fi (Sakari Ailus) Date: Sun, 5 Feb 2012 11:13:06 +0200 Subject: [PATCH v2 2/2] v4l2: add new pixel formats supported on dm365 In-Reply-To: <1327065739-3362-3-git-send-email-manjunath.hadli@ti.com> References: <1327065739-3362-1-git-send-email-manjunath.hadli@ti.com> <1327065739-3362-3-git-send-email-manjunath.hadli@ti.com> Message-ID: <20120205091306.GC7784@valkosipuli.localdomain> Hi Manju, On Fri, Jan 20, 2012 at 06:52:19PM +0530, Manjunath Hadli wrote: > add new macro V4L2_PIX_FMT_SGRBG10ALAW8 and associated formats > to represent Bayer format frames compressed by A-LAW alogorithm, > add V4L2_PIX_FMT_UV8 to represent storage of C data (UV interleved) > only. The patch is finally here: Cheers, -- Sakari Ailus e-mail: sakari.ailus at iki.fi jabber/XMPP/Gmail: sailus at retiisi.org.uk From snjw23 at gmail.com Sun Feb 5 14:44:01 2012 From: snjw23 at gmail.com (Sylwester Nawrocki) Date: Sun, 05 Feb 2012 21:44:01 +0100 Subject: [RFC PATCH 5/7] ARM: davinci: i2c: add OF support In-Reply-To: <20120130201307.GV28397@ponder.secretlab.ca> References: <1327308967-8092-1-git-send-email-hs@denx.de> <1327308967-8092-6-git-send-email-hs@denx.de> <4F1DC480.4010603@gmail.com> <4F1E5B44.4090200@denx.de> <4F1E7F36.50505@samsung.com> <20120130201307.GV28397@ponder.secretlab.ca> Message-ID: <4F2EEA11.9080807@gmail.com> Hi Grant, On 01/30/2012 09:13 PM, Grant Likely wrote: > The whole 'cell-index' or 'id' thing is a BadIdea(tm). Don't use it, and tell > others not to do it when you see it. There are some legacy uses in powerpc, > but those were written before I and others knew better. > > The *only* situation where cell-index is acceptable is when the driver > absolutely must know which hardware instance it is driving because it > needs to calculate offsets in a shared register or something, and even > then it should not be used to set the pdev->id field. That situation > does not look to be the case here. Thanks a lot for the clarification. Some media device drivers use the pdev->id field to enumerate hardware entities which are shown to user space libraries/ applications through the media device interface: The entity name is initialized from dev_name(&pdev->dev), which in DT case will be rather random string AFAICS. Is using 'cell-index' property justified in such cases ? > If you're using the DT, then let the core code dynamically assign the > i2c adapter number. Then it means that all uses if i2c_get_adapter() that take an I2C adapter number as an argument need to be converted accordingly, e.g. we need an OF version of i2c_get_adapter() ? The V4L core provides v4l2_i2c_new_subdev_board() function which is used by the video bridge drivers to register its sub-devices - I2C clients (usually image sensors or video encoders). The I2C bus ids are usually provided as platform data to the bridge driver. Sounds like all this will need to be reworked quite significantly for DT support. --- Thanks, Sylwester From hs at denx.de Mon Feb 6 00:36:11 2012 From: hs at denx.de (Heiko Schocher) Date: Mon, 06 Feb 2012 07:36:11 +0100 Subject: [RFC PATCH 1/7] ARM: davinci, intc: Add OF support for TI interrupt controller In-Reply-To: <20120202045459.GI15343@ponder.secretlab.ca> References: <1327308967-8092-1-git-send-email-hs@denx.de> <1327308967-8092-2-git-send-email-hs@denx.de> <20120202045459.GI15343@ponder.secretlab.ca> Message-ID: <4F2F74DB.7010604@denx.de> Hello Grant, Grant Likely wrote: > On Mon, Jan 23, 2012 at 09:56:01AM +0100, Heiko Schocher wrote: >> Add a function to initialize the davinci interrupt controller (INTC) >> using a device tree node. >> >> Signed-off-by: Heiko Schocher >> Cc: davinci-linux-open-source at linux.davincidsp.com >> Cc: linux-arm-kernel at lists.infradead.org >> Cc: devicetree-discuss at lists.ozlabs.org >> Cc: Grant Likely >> Cc: Sekhar Nori >> Cc: Wolfgang Denk >> --- >> .../devicetree/bindings/arm/davinci/intc.txt | 26 ++++++++++ >> arch/arm/mach-davinci/cp_intc.c | 51 ++++++++++++++++++++ >> arch/arm/mach-davinci/include/mach/cp_intc.h | 1 + >> 3 files changed, 78 insertions(+), 0 deletions(-) >> create mode 100644 Documentation/devicetree/bindings/arm/davinci/intc.txt [...] >> diff --git a/arch/arm/mach-davinci/cp_intc.c b/arch/arm/mach-davinci/cp_intc.c >> index f83152d..2c6e2e4 100644 >> --- a/arch/arm/mach-davinci/cp_intc.c >> +++ b/arch/arm/mach-davinci/cp_intc.c [...] >> + cp_intc_init(); >> + irq_domain_add_simple(node, 0); > > Take a look at the irq_domain patches that will be (probably) merged > in v3.4. Instead of calling irq_domain_add_simple(), you should > migrate the whole interrupt controller to natively use an irq_domain > for hwirq <--> irq mapping. I rebased my hole patchset to: git://git.secretlab.ca/git/linux-2.6.git irqdomain/next and reworked the arch/arm/mach-davinci/cp_intc.c irq driver to use irq_domain, works good on the enbw_cmc board :-) Waiting for your comment to my question to the [RFC PATCH 7/7] ARM: davinci: add support for the am1808 based enbw_cmc board patch, see: http://www.mail-archive.com/linux-i2c at vger.kernel.org/msg07132.html and resend the hole reworked patchserie. Is it OK, if I use the above branch as base for sending this patchserie, or should I use another tree/branch for it? bye, Heiko -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany From manjunath.hadli at ti.com Mon Feb 6 01:24:52 2012 From: manjunath.hadli at ti.com (Hadli, Manjunath) Date: Mon, 6 Feb 2012 07:24:52 +0000 Subject: [GIT PULL] davinci vpif pull request In-Reply-To: References: Message-ID: Mauro, A gentle reminder for the pull request. Cheers, -Manju On Fri, Jan 27, 2012 at 15:43:00, Hadli, Manjunath wrote: > Hi Mauro, > Can you please pull the following patch for v3.3-rc1 which removes some unnecessary inclusion of machine specific header files from the main driver files? > > This patch has undergone sufficient review already. It is just a cleanup patch and I don't expect any functionality to break because of this. > > Thanks and Regards, > -Manju > > > The following changes since commit 74ea15d909b31158f9b63190a95b52bc05586d4b: > Linus Torvalds (1): > Merge branch 'v4l_for_linus' of git://git.kernel.org/.../mchehab/linux-media > > > are available in the git repository at: > > > git://linuxtv.org/mhadli/v4l-dvb-davinci_devices.git for-mauro-v3.3 > > Manjunath Hadli (1): > davinci: vpif: remove machine specific header file inclusion from the driver > > > drivers/media/video/davinci/vpif.h | 2 -- > drivers/media/video/davinci/vpif_display.c | 2 -- > include/media/davinci/vpif_types.h | 2 ++ > 3 files changed, 2 insertions(+), 4 deletions(-) > From prabhakar.csengg at gmail.com Tue Feb 7 01:09:30 2012 From: prabhakar.csengg at gmail.com (Prabhakar Lad) Date: Tue, 7 Feb 2012 12:39:30 +0530 Subject: videobuf2 porting Message-ID: Hi folks, I was trying to port a existing driver to videobuf2 framework, I had a hurdle in between the driver I was trying to port supports user pointer, How does videobuf2 support this thing ? Regards, --Prabhakar Lad -------------- next part -------------- An HTML attachment was scrubbed... URL: From manjunath.hadli at ti.com Tue Feb 7 04:05:12 2012 From: manjunath.hadli at ti.com (Manjunath Hadli) Date: Tue, 7 Feb 2012 15:35:12 +0530 Subject: [PATCH v3 0/2] add dm365 specific media formats Message-ID: <1328609114-5487-1-git-send-email-manjunath.hadli@ti.com> add mediabus formats and pixel formats supported as part of dm365 vpfe device. The device supports media formats(transfer and storage) which include- 1: ALAW compressed bayer. 2: UV interleaved without Y (for resizer). 3: YDYC. Changes for v3: 1: Added 4cc code for A-law compressed format as per specified in documentation, http://www.spinics.net/lists/linux-media/msg43890.html Changes for v2: 1: Added entries in subdev-formats.xml for V4L2_MBUS_FMT_YDYC8_1X16, V4L2_MBUS_FMT_UV8_1X8, V4L2_MBUS_FMT_SBGGR10_ALAW8_1X8, V4L2_MBUS_FMT_SGBRG10_ALAW8_1X8, V4L2_MBUS_FMT_SGRBG10_ALAW8_1X8, V4L2_MBUS_FMT_SRGGB10_ALAW8_1X8. 2: Added documentation of ALAW and UV8 pix format. Manjunath Hadli (2): media: add new mediabus format enums for dm365 v4l2: add new pixel formats supported on dm365 .../DocBook/media/v4l/pixfmt-srggb10alaw8.xml | 34 ++++ Documentation/DocBook/media/v4l/pixfmt-uv8.xml | 62 +++++++ Documentation/DocBook/media/v4l/pixfmt.xml | 2 + Documentation/DocBook/media/v4l/subdev-formats.xml | 171 ++++++++++++++++++++ include/linux/v4l2-mediabus.h | 10 +- include/linux/videodev2.h | 9 + 6 files changed, 286 insertions(+), 2 deletions(-) create mode 100644 Documentation/DocBook/media/v4l/pixfmt-srggb10alaw8.xml create mode 100644 Documentation/DocBook/media/v4l/pixfmt-uv8.xml From manjunath.hadli at ti.com Tue Feb 7 04:05:13 2012 From: manjunath.hadli at ti.com (Manjunath Hadli) Date: Tue, 7 Feb 2012 15:35:13 +0530 Subject: [PATCH v3 1/2] media: add new mediabus format enums for dm365 In-Reply-To: <1328609114-5487-1-git-send-email-manjunath.hadli@ti.com> References: <1328609114-5487-1-git-send-email-manjunath.hadli@ti.com> Message-ID: <1328609114-5487-2-git-send-email-manjunath.hadli@ti.com> add new enum entries for supporting the media-bus formats on dm365. These include some bayer and some non-bayer formats. V4L2_MBUS_FMT_YDYC8_1X16 and V4L2_MBUS_FMT_UV8_1X8 are used internal to the hardware by the resizer. V4L2_MBUS_FMT_SBGGR10_ALAW8_1X8 represents the bayer ALAW format that is supported by dm365 hardware. Signed-off-by: Manjunath Hadli Cc: Laurent Pinchart --- Documentation/DocBook/media/v4l/subdev-formats.xml | 171 ++++++++++++++++++++ include/linux/v4l2-mediabus.h | 10 +- 2 files changed, 179 insertions(+), 2 deletions(-) diff --git a/Documentation/DocBook/media/v4l/subdev-formats.xml b/Documentation/DocBook/media/v4l/subdev-formats.xml index 49c532e..48d92bb 100644 --- a/Documentation/DocBook/media/v4l/subdev-formats.xml +++ b/Documentation/DocBook/media/v4l/subdev-formats.xml @@ -356,6 +356,9 @@ If the pixel components are DPCM-compressed, a mention of the DPCM compression and the number of bits per compressed pixel component. + If the pixel components are ALAW-compressed, a mention of the + ALAW compression and the number of bits per compressed pixel component. + The number of bus samples per pixel. Pixels that are wider than the bus width must be transferred in multiple samples. Common values are 1 and 2. @@ -572,6 +575,74 @@ r1 r0 + + V4L2_MBUS_FMT_SBGGR10_ALAW8_1X8 + 0x3015 + + - + - + - + - + b7 + b6 + b5 + b4 + b3 + b2 + b1 + b0 + + + V4L2_MBUS_FMT_SGBRG10_ALAW8_1X8 + 0x3016 + + - + - + - + - + g7 + g6 + g5 + g4 + g3 + g2 + g1 + g0 + + + V4L2_MBUS_FMT_SGRBG10_ALAW8_1X8 + 0x3017 + + - + - + - + - + g7 + g6 + g5 + g4 + g3 + g2 + g1 + g0 + + + V4L2_MBUS_FMT_SRGGB10_ALAW8_1X8 + 0x3018 + + - + - + - + - + r7 + r6 + r5 + r4 + r3 + r2 + r1 + r0 + V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_BE 0x3003 @@ -965,6 +1036,56 @@ y1 y0 + + V4L2_MBUS_FMT_UV8_1X8 + 0x2015 + + - + - + - + - + - + - + - + - + - + - + - + - + u7 + u6 + u5 + u4 + u3 + u2 + u1 + u0 + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + v7 + v6 + v5 + v4 + v3 + v2 + v1 + v0 + V4L2_MBUS_FMT_UYVY8_1_5X8 0x2002 @@ -2415,6 +2536,56 @@ u1 u0 + + V4L2_MBUS_FMT_YDYC8_1X16 + 0x2014 + + - + - + - + - + y7 + y6 + y5 + y4 + y3 + y2 + y1 + y0 + d7 + d6 + d5 + d4 + d3 + d2 + d1 + d0 + + + + + + - + - + - + - + y7 + y6 + y5 + y4 + y3 + y2 + y1 + y0 + c7 + c6 + c5 + c4 + c3 + c2 + c1 + c0 + V4L2_MBUS_FMT_YUYV10_1X20 0x200d diff --git a/include/linux/v4l2-mediabus.h b/include/linux/v4l2-mediabus.h index 5ea7f75..8d68fa1 100644 --- a/include/linux/v4l2-mediabus.h +++ b/include/linux/v4l2-mediabus.h @@ -47,8 +47,9 @@ enum v4l2_mbus_pixelcode { V4L2_MBUS_FMT_RGB565_2X8_BE = 0x1007, V4L2_MBUS_FMT_RGB565_2X8_LE = 0x1008, - /* YUV (including grey) - next is 0x2014 */ + /* YUV (including grey) - next is 0x2016 */ V4L2_MBUS_FMT_Y8_1X8 = 0x2001, + V4L2_MBUS_FMT_UV8_1X8 = 0x2015, V4L2_MBUS_FMT_UYVY8_1_5X8 = 0x2002, V4L2_MBUS_FMT_VYUY8_1_5X8 = 0x2003, V4L2_MBUS_FMT_YUYV8_1_5X8 = 0x2004, @@ -65,10 +66,11 @@ enum v4l2_mbus_pixelcode { V4L2_MBUS_FMT_VYUY8_1X16 = 0x2010, V4L2_MBUS_FMT_YUYV8_1X16 = 0x2011, V4L2_MBUS_FMT_YVYU8_1X16 = 0x2012, + V4L2_MBUS_FMT_YDYC8_1X16 = 0x2014, V4L2_MBUS_FMT_YUYV10_1X20 = 0x200d, V4L2_MBUS_FMT_YVYU10_1X20 = 0x200e, - /* Bayer - next is 0x3015 */ + /* Bayer - next is 0x3019 */ V4L2_MBUS_FMT_SBGGR8_1X8 = 0x3001, V4L2_MBUS_FMT_SGBRG8_1X8 = 0x3013, V4L2_MBUS_FMT_SGRBG8_1X8 = 0x3002, @@ -77,6 +79,10 @@ enum v4l2_mbus_pixelcode { V4L2_MBUS_FMT_SGBRG10_DPCM8_1X8 = 0x300c, V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8 = 0x3009, V4L2_MBUS_FMT_SRGGB10_DPCM8_1X8 = 0x300d, + V4L2_MBUS_FMT_SBGGR10_ALAW8_1X8 = 0x3015, + V4L2_MBUS_FMT_SGBRG10_ALAW8_1X8 = 0x3016, + V4L2_MBUS_FMT_SGRBG10_ALAW8_1X8 = 0x3017, + V4L2_MBUS_FMT_SRGGB10_ALAW8_1X8 = 0x3018, V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_BE = 0x3003, V4L2_MBUS_FMT_SBGGR10_2X8_PADHI_LE = 0x3004, V4L2_MBUS_FMT_SBGGR10_2X8_PADLO_BE = 0x3005, -- 1.6.2.4 From manjunath.hadli at ti.com Tue Feb 7 04:05:14 2012 From: manjunath.hadli at ti.com (Manjunath Hadli) Date: Tue, 7 Feb 2012 15:35:14 +0530 Subject: [PATCH v3 2/2] v4l2: add new pixel formats supported on dm365 In-Reply-To: <1328609114-5487-1-git-send-email-manjunath.hadli@ti.com> References: <1328609114-5487-1-git-send-email-manjunath.hadli@ti.com> Message-ID: <1328609114-5487-3-git-send-email-manjunath.hadli@ti.com> add new macro V4L2_PIX_FMT_SGRBG10ALAW8 and associated formats to represent Bayer format frames compressed by A-LAW algorithm, add V4L2_PIX_FMT_UV8 to represent storage of C data (UV interleaved) only. Signed-off-by: Manjunath Hadli Cc: Laurent Pinchart --- .../DocBook/media/v4l/pixfmt-srggb10alaw8.xml | 34 +++++++++++ Documentation/DocBook/media/v4l/pixfmt-uv8.xml | 62 ++++++++++++++++++++ Documentation/DocBook/media/v4l/pixfmt.xml | 2 + include/linux/videodev2.h | 9 +++ 4 files changed, 107 insertions(+), 0 deletions(-) create mode 100644 Documentation/DocBook/media/v4l/pixfmt-srggb10alaw8.xml create mode 100644 Documentation/DocBook/media/v4l/pixfmt-uv8.xml diff --git a/Documentation/DocBook/media/v4l/pixfmt-srggb10alaw8.xml b/Documentation/DocBook/media/v4l/pixfmt-srggb10alaw8.xml new file mode 100644 index 0000000..b20f525 --- /dev/null +++ b/Documentation/DocBook/media/v4l/pixfmt-srggb10alaw8.xml @@ -0,0 +1,34 @@ + + + + V4L2_PIX_FMT_SRGGB10ALAW8 ('aRA8'), + V4L2_PIX_FMT_SGBRG10ALAW8 ('aGA8'), + V4L2_PIX_FMT_SGRBG10ALAW8 ('agA8'), + V4L2_PIX_FMT_SBGGR10ALAW8 ('aBA8'), + + &manvol; + + + + V4L2_PIX_FMT_SRGGB10ALAW8 + + + V4L2_PIX_FMT_SGRBG10ALAW8 + + + V4L2_PIX_FMT_SGBRG10ALAW8 + + + V4L2_PIX_FMT_SBGGR10ALAW8 + + 10-bit Bayer formats compressed to 8 bits + + + Description + The following four pixel formats are raw sRGB / Bayer + formats with 10 bits per colour compressed to 8 bits each, + using the A-LAW algorithm. Each colour component consumes 8 + bits of memory. In other respects this format is similar to + . + + diff --git a/Documentation/DocBook/media/v4l/pixfmt-uv8.xml b/Documentation/DocBook/media/v4l/pixfmt-uv8.xml new file mode 100644 index 0000000..e3e6b11 --- /dev/null +++ b/Documentation/DocBook/media/v4l/pixfmt-uv8.xml @@ -0,0 +1,62 @@ + + + V4L2_PIX_FMT_UV8 ('UV8') + &manvol; + + + V4L2_PIX_FMT_UV8 + UV plane interleaved + + + Description + In this format there is no Y plane, Only C plane. ie + (UV interleaved) + + + <constant>V4L2_PIX_FMT_UV8</constant> + pixel image + + + + Byte Order. + Each cell is one byte. + + + + + + start + 0: + Cb00 + Cr00 + Cb01 + Cr01 + + + start + 4: + Cb10 + Cr10 + Cb11 + Cr11 + + + start + 8: + Cb20 + Cr20 + Cb21 + Cr21 + + + start + 12: + Cb30 + Cr30 + Cb31 + Cr31 + + + + + + + + + diff --git a/Documentation/DocBook/media/v4l/pixfmt.xml b/Documentation/DocBook/media/v4l/pixfmt.xml index 9ddc57c..0b62750 100644 --- a/Documentation/DocBook/media/v4l/pixfmt.xml +++ b/Documentation/DocBook/media/v4l/pixfmt.xml @@ -673,6 +673,7 @@ access the palette, this must be done with ioctls of the Linux framebuffer API.< &sub-srggb8; &sub-sbggr16; &sub-srggb10; + &sub-srggb10alaw8; &sub-srggb12; @@ -696,6 +697,7 @@ information. &sub-packed-yuv; &sub-grey; + &sub-uv8; &sub-y10; &sub-y12; &sub-y10b; diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 012a296..8e6b3f2 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h @@ -338,6 +338,9 @@ struct v4l2_pix_format { #define V4L2_PIX_FMT_HM12 v4l2_fourcc('H', 'M', '1', '2') /* 8 YUV 4:2:0 16x16 macroblocks */ #define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */ +/* Chrominance formats */ +#define V4L2_PIX_FMT_UV8 v4l2_fourcc('U', 'V', '8', ' ') /* 8 UV 4:4 */ + /* two planes -- one Y, one Cr + Cb interleaved */ #define V4L2_PIX_FMT_NV12 v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */ #define V4L2_PIX_FMT_NV21 v4l2_fourcc('N', 'V', '2', '1') /* 12 Y/CrCb 4:2:0 */ @@ -366,6 +369,12 @@ struct v4l2_pix_format { #define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */ /* 10bit raw bayer DPCM compressed to 8 bits */ #define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0') + /* 10bit raw bayer a-law compressed to 8 bits */ +#define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8') +#define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8') +#define V4L2_PIX_FMT_SGRBG10ALAW8 v4l2_fourcc('a', 'g', 'A', '8') +#define V4L2_PIX_FMT_SRGGB10ALAW8 v4l2_fourcc('a', 'R', 'A', '8') + /* * 10bit raw bayer, expanded to 16 bits * xxxxrrrrrrrrrrxxxxgggggggggg xxxxggggggggggxxxxbbbbbbbbbb... -- 1.6.2.4 From prakash.pm at ti.com Tue Feb 7 09:11:50 2012 From: prakash.pm at ti.com (Manjunathappa, Prakash) Date: Tue, 7 Feb 2012 20:41:50 +0530 Subject: [PATCH v3 0/3] Moving EMIF driver to MFD framework Message-ID: <1328627513-30134-1-git-send-email-prakash.pm@ti.com> Patch series are based on the discussion and concerns expressed in davinci-linux-open-source community. Here is the link for the same: http://davinci-linux-open-source.1494791.n2.nabble.com/PATCH-arm-davinci-configure-davinci-aemif-chipselects-through-OF-tt7059739.html#none Manjunathappa, Prakash (3): arm:davinci: prepare to move aemif driver to drivers/mfd arm:davinci: Move emif driver to drivers/mfd from mach-davinci folder arm:davinci: move NAND and NOR devices as aemif MFD slaves arch/arm/Kconfig | 1 + arch/arm/mach-davinci/Makefile | 2 +- arch/arm/mach-davinci/aemif.c | 133 ------------- arch/arm/mach-davinci/board-da830-evm.c | 33 +++- arch/arm/mach-davinci/board-da850-evm.c | 56 +++--- arch/arm/mach-davinci/board-dm355-evm.c | 33 +++- arch/arm/mach-davinci/board-dm355-leopard.c | 35 +++- arch/arm/mach-davinci/board-dm365-evm.c | 34 +++- arch/arm/mach-davinci/board-dm644x-evm.c | 175 ++++++++++------- arch/arm/mach-davinci/board-dm646x-evm.c | 32 +++- arch/arm/mach-davinci/board-mityomapl138.c | 34 +++- arch/arm/mach-davinci/board-neuros-osd2.c | 1 + arch/arm/mach-davinci/board-sffsdr.c | 34 +++- drivers/mfd/Makefile | 1 + drivers/mfd/davinci_aemif.c | 206 ++++++++++++++++++++ drivers/mtd/nand/davinci_nand.c | 2 +- .../aemif.h => include/linux/mfd/davinci_aemif.h | 14 ++ 17 files changed, 527 insertions(+), 299 deletions(-) delete mode 100644 arch/arm/mach-davinci/aemif.c create mode 100644 drivers/mfd/davinci_aemif.c rename arch/arm/mach-davinci/include/mach/aemif.h => include/linux/mfd/davinci_aemif.h (74%) From prakash.pm at ti.com Tue Feb 7 09:11:51 2012 From: prakash.pm at ti.com (Manjunathappa, Prakash) Date: Tue, 7 Feb 2012 20:41:51 +0530 Subject: [PATCH v3 1/3] arm:davinci: prepare to move aemif driver to drivers/mfd In-Reply-To: <1328627513-30134-1-git-send-email-prakash.pm@ti.com> References: <1328627513-30134-1-git-send-email-prakash.pm@ti.com> Message-ID: <1328627513-30134-2-git-send-email-prakash.pm@ti.com> Patch moves emif header file appropriately as a part preparation to move emif driver from arch/arm/mach-davinci/ to drivers/mfd folder. There by it isolates modifications in emif interface depicting as platform code change. Signed-off-by: Manjunathappa, Prakash --- Since v2: No change Since v1: Patch generated using -M option. arch/arm/mach-davinci/aemif.c | 2 +- arch/arm/mach-davinci/board-da830-evm.c | 2 +- arch/arm/mach-davinci/board-da850-evm.c | 2 +- arch/arm/mach-davinci/board-dm644x-evm.c | 2 +- arch/arm/mach-davinci/board-dm646x-evm.c | 2 +- drivers/mtd/nand/davinci_nand.c | 2 +- .../aemif.h => include/linux/mfd/davinci_aemif.h | 0 7 files changed, 6 insertions(+), 6 deletions(-) rename arch/arm/mach-davinci/include/mach/aemif.h => include/linux/mfd/davinci_aemif.h (100%) diff --git a/arch/arm/mach-davinci/aemif.c b/arch/arm/mach-davinci/aemif.c index 1ce70a9..b67c115 100644 --- a/arch/arm/mach-davinci/aemif.c +++ b/arch/arm/mach-davinci/aemif.c @@ -15,7 +15,7 @@ #include #include -#include +#include /* Timing value configuration */ diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c index dc1afe5..0b43554 100644 --- a/arch/arm/mach-davinci/board-da830-evm.c +++ b/arch/arm/mach-davinci/board-da830-evm.c @@ -31,7 +31,7 @@ #include #include #include -#include +#include #include #define DA830_EVM_PHY_ID "" diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index d508890..9f2a544 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c @@ -41,7 +41,7 @@ #include #include #include -#include +#include #include #define DA850_EVM_PHY_ID "davinci_mdio-0:00" diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index 1247ecd..99a6639 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c @@ -38,7 +38,7 @@ #include #include #include -#include +#include #define DM644X_EVM_PHY_ID "davinci_mdio-0:01" #define LXT971_PHY_ID (0x001378e2) diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c index 872ac69..af55a9d 100644 --- a/arch/arm/mach-davinci/board-dm646x-evm.c +++ b/arch/arm/mach-davinci/board-dm646x-evm.c @@ -43,7 +43,7 @@ #include #include #include -#include +#include #include "clock.h" diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c index 6e56615..f19151b 100644 --- a/drivers/mtd/nand/davinci_nand.c +++ b/drivers/mtd/nand/davinci_nand.c @@ -35,7 +35,7 @@ #include #include -#include +#include /* * This is a device driver for the NAND flash controller found on the diff --git a/arch/arm/mach-davinci/include/mach/aemif.h b/include/linux/mfd/davinci_aemif.h similarity index 100% rename from arch/arm/mach-davinci/include/mach/aemif.h rename to include/linux/mfd/davinci_aemif.h -- 1.7.1 From prakash.pm at ti.com Tue Feb 7 09:11:52 2012 From: prakash.pm at ti.com (Manjunathappa, Prakash) Date: Tue, 7 Feb 2012 20:41:52 +0530 Subject: [PATCH v3 2/3] arm:davinci: Move emif driver to drivers/mfd from mach-davinci folder In-Reply-To: <1328627513-30134-1-git-send-email-prakash.pm@ti.com> References: <1328627513-30134-1-git-send-email-prakash.pm@ti.com> Message-ID: <1328627513-30134-3-git-send-email-prakash.pm@ti.com> Move aemif kernel module from arch/arm/mach-davinci/ to multi functional devices frame work. "davinci_aemif" MFD driver adds "davinci_nand" and "physmap-flash" slave devices. Signed-off-by: Manjunathappa, Prakash --- Since v2: Modified emif MFD driver to load multiple instance of NAND/NOR devices. Since v1: Patch generated using -M option. arch/arm/Kconfig | 1 + arch/arm/mach-davinci/Makefile | 2 +- drivers/mfd/Makefile | 1 + .../aemif.c => drivers/mfd/davinci_aemif.c | 75 +++++++++++++++++++- include/linux/mfd/davinci_aemif.h | 14 ++++ 5 files changed, 91 insertions(+), 2 deletions(-) rename arch/arm/mach-davinci/aemif.c => drivers/mfd/davinci_aemif.c (66%) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a48aecc..09dcb94 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -934,6 +934,7 @@ config ARCH_DAVINCI select GENERIC_ALLOCATOR select GENERIC_IRQ_CHIP select ARCH_HAS_HOLES_MEMORYMODEL + select MFD_CORE help Support for TI's DaVinci platform. diff --git a/arch/arm/mach-davinci/Makefile b/arch/arm/mach-davinci/Makefile index 2db78bd..8bab47c 100644 --- a/arch/arm/mach-davinci/Makefile +++ b/arch/arm/mach-davinci/Makefile @@ -5,7 +5,7 @@ # Common objects obj-y := time.o clock.o serial.o psc.o \ - dma.o usb.o common.o sram.o aemif.o + dma.o usb.o common.o sram.o obj-$(CONFIG_DAVINCI_MUX) += mux.o diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile index b953bab..54fc267 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -11,6 +11,7 @@ obj-$(CONFIG_HTC_EGPIO) += htc-egpio.o obj-$(CONFIG_HTC_PASIC3) += htc-pasic3.o obj-$(CONFIG_HTC_I2CPLD) += htc-i2cpld.o +obj-${CONFIG_ARCH_DAVINCI} += davinci_aemif.o obj-$(CONFIG_MFD_DAVINCI_VOICECODEC) += davinci_voicecodec.o obj-$(CONFIG_MFD_DM355EVM_MSP) += dm355evm_msp.o obj-$(CONFIG_MFD_TI_SSP) += ti-ssp.o diff --git a/arch/arm/mach-davinci/aemif.c b/drivers/mfd/davinci_aemif.c similarity index 66% rename from arch/arm/mach-davinci/aemif.c rename to drivers/mfd/davinci_aemif.c index b67c115..5fb490d 100644 --- a/arch/arm/mach-davinci/aemif.c +++ b/drivers/mfd/davinci_aemif.c @@ -14,8 +14,13 @@ #include #include #include - #include +#include +#include +#include + +static char *name[] = {"davinci_nand", "physmap-flash",}; +#define MAX ARRAY_SIZE(name) /* Timing value configuration */ @@ -131,3 +136,71 @@ int davinci_aemif_setup_timing(struct davinci_aemif_timing *t, return 0; } EXPORT_SYMBOL(davinci_aemif_setup_timing); + +static int __init davinci_aemif_probe(struct platform_device *pdev) +{ + struct davinci_aemif_devices *davinci_aemif_devices = + pdev->dev.platform_data; + struct platform_device *devices; + struct mfd_cell *cells; + int ret, i, j, count; + + devices = davinci_aemif_devices->devices; + + cells = kzalloc(sizeof(struct mfd_cell) * + davinci_aemif_devices->num_devices, GFP_KERNEL); + + for (j = 0, count = 0; j < MAX; j++) { + for (i = 0; i < davinci_aemif_devices->num_devices; i++) { + if (strcmp(devices[i].name, name[j])) + continue; + cells[count].name = name[j]; + cells[count].platform_data = + devices[i].dev.platform_data; + cells[count].pdata_size = + sizeof(struct davinci_nand_pdata); + cells[count].id = devices[i].id; + cells[count].resources = devices[i].resource; + cells[count].num_resources = devices[i].num_resources; + count++; + } + } + + ret = mfd_add_devices(&pdev->dev, 0, cells, + count, NULL, 0); + if (ret != 0) + dev_err(&pdev->dev, "fail to register client devices\n"); + + return 0; +} + +static int __devexit davinci_aemif_remove(struct platform_device *pdev) +{ + mfd_remove_devices(&pdev->dev); + return 0; +} + +static struct platform_driver davinci_aemif_driver = { + .driver = { + .name = "davinci_aemif", + .owner = THIS_MODULE, + }, + .remove = __devexit_p(davinci_aemif_remove), +}; + +static int __init davinci_aemif_init(void) +{ + return platform_driver_probe(&davinci_aemif_driver, + davinci_aemif_probe); +} +module_init(davinci_aemif_init); + +static void __exit davinci_aemif_exit(void) +{ + platform_driver_unregister(&davinci_aemif_driver); +} +module_exit(davinci_aemif_exit); + +MODULE_AUTHOR("Prakash Manjunathappa"); +MODULE_DESCRIPTION("Texas Instruments AEMIF Interface"); +MODULE_LICENSE("GPL"); diff --git a/include/linux/mfd/davinci_aemif.h b/include/linux/mfd/davinci_aemif.h index 05b2934..18650c3 100644 --- a/include/linux/mfd/davinci_aemif.h +++ b/include/linux/mfd/davinci_aemif.h @@ -10,6 +10,10 @@ #ifndef _MACH_DAVINCI_AEMIF_H #define _MACH_DAVINCI_AEMIF_H +#include +#include +#include + #define NRCSR_OFFSET 0x00 #define AWCCR_OFFSET 0x04 #define A1CR_OFFSET 0x10 @@ -18,6 +22,16 @@ #define ACR_EW_MASK BIT(30) #define ACR_SS_MASK BIT(31) +enum davinci_emif_cells { + DAVINCI_NAND_DEVICE_CELL, + DAVINCI_NOR_FLASH_CELL, +}; + +struct davinci_aemif_devices { + struct platform_device *devices; + unsigned int num_devices; +}; + /* All timings in nanoseconds */ struct davinci_aemif_timing { u8 wsetup; -- 1.7.1 From prakash.pm at ti.com Tue Feb 7 09:11:53 2012 From: prakash.pm at ti.com (Manjunathappa, Prakash) Date: Tue, 7 Feb 2012 20:41:53 +0530 Subject: [PATCH v3 3/3] arm:davinci: move NAND and NOR devices as aemif MFD slaves In-Reply-To: <1328627513-30134-1-git-send-email-prakash.pm@ti.com> References: <1328627513-30134-1-git-send-email-prakash.pm@ti.com> Message-ID: <1328627513-30134-4-git-send-email-prakash.pm@ti.com> NAND and NOR device are made as aemif device slaves, hence all DaVinci board NAND/NOR device registration achieved via aemif MFD driver. Signed-off-by: Manjunathappa, Prakash --- Since v2: Make changes for all DaVinci boards in single patch. Since v1: Patch generated using -M option. arch/arm/mach-davinci/board-da830-evm.c | 31 ++++-- arch/arm/mach-davinci/board-da850-evm.c | 54 +++++---- arch/arm/mach-davinci/board-dm355-evm.c | 33 ++++-- arch/arm/mach-davinci/board-dm355-leopard.c | 35 ++++-- arch/arm/mach-davinci/board-dm365-evm.c | 34 ++++-- arch/arm/mach-davinci/board-dm644x-evm.c | 173 +++++++++++++++------------ arch/arm/mach-davinci/board-dm646x-evm.c | 30 ++++-- arch/arm/mach-davinci/board-mityomapl138.c | 34 ++++-- arch/arm/mach-davinci/board-neuros-osd2.c | 1 + arch/arm/mach-davinci/board-sffsdr.c | 34 ++++-- 10 files changed, 299 insertions(+), 160 deletions(-) diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c index 0b43554..0ad3662 100644 --- a/arch/arm/mach-davinci/board-da830-evm.c +++ b/arch/arm/mach-davinci/board-da830-evm.c @@ -396,14 +396,29 @@ static struct resource da830_evm_nand_resources[] = { }, }; -static struct platform_device da830_evm_nand_device = { - .name = "davinci_nand", - .id = 1, - .dev = { - .platform_data = &da830_evm_nand_pdata, +static struct platform_device da830_evm_devices[] __initdata = { + { + .name = "davinci_nand", + .id = 1, + .dev = { + .platform_data = &da830_evm_nand_pdata, + }, + .num_resources = ARRAY_SIZE(da830_evm_nand_resources), + .resource = da830_evm_nand_resources, + }, +}; + +static struct davinci_aemif_devices da830_emif_devices = { + .devices = da830_evm_devices, + .num_devices = ARRAY_SIZE(da830_evm_devices), +}; + +static struct platform_device davinci_emif_device = { + .name = "davinci_aemif", + .id = -1, + .dev = { + .platform_data = &da830_emif_devices, }, - .num_resources = ARRAY_SIZE(da830_evm_nand_resources), - .resource = da830_evm_nand_resources, }; static inline void da830_evm_init_nand(int mux_mode) @@ -422,7 +437,7 @@ static inline void da830_evm_init_nand(int mux_mode) pr_warning("da830_evm_init: emif25 mux setup failed: %d\n", ret); - ret = platform_device_register(&da830_evm_nand_device); + ret = platform_device_register(&davinci_emif_device); if (ret) pr_warning("da830_evm_init: NAND device not registered.\n"); diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c index 9f2a544..49ab16d 100644 --- a/arch/arm/mach-davinci/board-da850-evm.c +++ b/arch/arm/mach-davinci/board-da850-evm.c @@ -181,16 +181,6 @@ static struct resource da850_evm_norflash_resource[] = { }, }; -static struct platform_device da850_evm_norflash_device = { - .name = "physmap-flash", - .id = 0, - .dev = { - .platform_data = &da850_evm_norflash_data, - }, - .num_resources = 1, - .resource = da850_evm_norflash_resource, -}; - static struct davinci_pm_config da850_pm_pdata = { .sleepcount = 128, }; @@ -273,19 +263,39 @@ static struct resource da850_evm_nandflash_resource[] = { }, }; -static struct platform_device da850_evm_nandflash_device = { - .name = "davinci_nand", - .id = 1, - .dev = { - .platform_data = &da850_evm_nandflash_data, +static struct platform_device da850_evm_devices[] __initdata = { + { + .name = "davinci_nand", + .id = 1, + .dev = { + .platform_data = &da850_evm_nandflash_data, + }, + .num_resources = ARRAY_SIZE(da850_evm_nandflash_resource), + .resource = da850_evm_nandflash_resource, }, - .num_resources = ARRAY_SIZE(da850_evm_nandflash_resource), - .resource = da850_evm_nandflash_resource, + { + .name = "physmap-flash", + .id = 0, + .dev = { + .platform_data = &da850_evm_norflash_data, + }, + .num_resources = 1, + .resource = da850_evm_norflash_resource, + + }, + +}; +static struct davinci_aemif_devices da850_emif_devices = { + .devices = da850_evm_devices, + .num_devices = ARRAY_SIZE(da850_evm_devices), }; -static struct platform_device *da850_evm_devices[] __initdata = { - &da850_evm_nandflash_device, - &da850_evm_norflash_device, +static struct platform_device davinci_emif_device = { + .name = "davinci_aemif", + .id = -1, + .dev = { + .platform_data = &da850_emif_devices, + }, }; #define DA8XX_AEMIF_CE2CFG_OFFSET 0x10 @@ -352,9 +362,7 @@ static inline void da850_evm_setup_nor_nand(void) ret); da850_evm_init_nor(); - - platform_add_devices(da850_evm_devices, - ARRAY_SIZE(da850_evm_devices)); + platform_device_register(&davinci_emif_device); } } diff --git a/arch/arm/mach-davinci/board-dm355-evm.c b/arch/arm/mach-davinci/board-dm355-evm.c index 275341f..e7359e8 100644 --- a/arch/arm/mach-davinci/board-dm355-evm.c +++ b/arch/arm/mach-davinci/board-dm355-evm.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -93,15 +94,16 @@ static struct resource davinci_nand_resources[] = { }, }; -static struct platform_device davinci_nand_device = { - .name = "davinci_nand", - .id = 0, - - .num_resources = ARRAY_SIZE(davinci_nand_resources), - .resource = davinci_nand_resources, +static struct platform_device dm355_evm_devices[] __initdata = { + { + .name = "davinci_nand", + .id = 0, - .dev = { - .platform_data = &davinci_nand_data, + .resource = davinci_nand_resources, + .num_resources = ARRAY_SIZE(davinci_nand_resources), + .dev = { + .platform_data = &davinci_nand_data, + }, }, }; @@ -241,9 +243,22 @@ static struct vpfe_config vpfe_cfg = { .ccdc = "DM355 CCDC", }; +static struct davinci_aemif_devices davinci_emif_devices = { + .devices = dm355_evm_devices, + .num_devices = ARRAY_SIZE(dm355_evm_devices), +}; + +static struct platform_device davinci_emif_device = { + .name = "davinci_aemif", + .id = -1, + .dev = { + .platform_data = &davinci_emif_devices, + }, +}; + static struct platform_device *davinci_evm_devices[] __initdata = { &dm355evm_dm9000, - &davinci_nand_device, + &davinci_emif_device, }; static struct davinci_uart_config uart_config __initdata = { diff --git a/arch/arm/mach-davinci/board-dm355-leopard.c b/arch/arm/mach-davinci/board-dm355-leopard.c index e99db28..ec057b6 100644 --- a/arch/arm/mach-davinci/board-dm355-leopard.c +++ b/arch/arm/mach-davinci/board-dm355-leopard.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -89,15 +90,16 @@ static struct resource davinci_nand_resources[] = { }, }; -static struct platform_device davinci_nand_device = { - .name = "davinci_nand", - .id = 0, - - .num_resources = ARRAY_SIZE(davinci_nand_resources), - .resource = davinci_nand_resources, - - .dev = { - .platform_data = &davinci_nand_data, +static struct platform_device dm355_evm_devices[] __initdata = { + { + .name = "davinci_nand", + .id = 0, + + .resource = davinci_nand_resources, + .num_resources = ARRAY_SIZE(davinci_nand_resources), + .dev = { + .platform_data = &davinci_nand_data, + }, }, }; @@ -166,9 +168,22 @@ static struct platform_device dm355leopard_dm9000 = { .num_resources = ARRAY_SIZE(dm355leopard_dm9000_rsrc), }; +static struct davinci_aemif_devices davinci_emif_devices = { + .devices = dm355_evm_devices, + .num_devices = ARRAY_SIZE(dm355_evm_devices), +}; + +static struct platform_device davinci_emif_device = { + .name = "davinci_aemif", + .id = -1, + .dev = { + .platform_data = &davinci_emif_devices, + }, +}; + static struct platform_device *davinci_leopard_devices[] __initdata = { &dm355leopard_dm9000, - &davinci_nand_device, + &davinci_emif_device, }; static struct davinci_uart_config uart_config __initdata = { diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c index 849311d..f97d67d 100644 --- a/arch/arm/mach-davinci/board-dm365-evm.c +++ b/arch/arm/mach-davinci/board-dm365-evm.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -155,13 +156,16 @@ static struct resource davinci_nand_resources[] = { }, }; -static struct platform_device davinci_nand_device = { - .name = "davinci_nand", - .id = 0, - .num_resources = ARRAY_SIZE(davinci_nand_resources), - .resource = davinci_nand_resources, - .dev = { - .platform_data = &davinci_nand_data, +static struct platform_device dm365_emif_devices[] __initdata = { + { + .name = "davinci_nand", + .id = 0, + + .resource = davinci_nand_resources, + .num_resources = ARRAY_SIZE(davinci_nand_resources), + .dev = { + .platform_data = &davinci_nand_data, + }, }, }; @@ -379,8 +383,17 @@ static void __init evm_init_i2c(void) i2c_register_board_info(1, i2c_info, ARRAY_SIZE(i2c_info)); } -static struct platform_device *dm365_evm_nand_devices[] __initdata = { - &davinci_nand_device, +static struct davinci_aemif_devices davinci_emif_devices = { + .devices = dm365_emif_devices, + .num_devices = ARRAY_SIZE(dm365_emif_devices), +}; + +static struct platform_device davinci_emif_device = { + .name = "davinci_aemif", + .id = -1, + .dev = { + .platform_data = &davinci_emif_devices, + }, }; static inline int have_leds(void) @@ -502,8 +515,7 @@ fail: /* external keypad mux */ mux |= BIT(7); - platform_add_devices(dm365_evm_nand_devices, - ARRAY_SIZE(dm365_evm_nand_devices)); + platform_device_register(&davinci_emif_device); } else { /* no OneNAND support yet */ } diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index 99a6639..ad4c944 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c @@ -44,61 +44,21 @@ #define LXT971_PHY_ID (0x001378e2) #define LXT971_PHY_MASK (0xfffffff0) -static struct mtd_partition davinci_evm_norflash_partitions[] = { - /* bootloader (UBL, U-Boot, etc) in first 5 sectors */ - { - .name = "bootloader", - .offset = 0, - .size = 5 * SZ_64K, - .mask_flags = MTD_WRITEABLE, /* force read-only */ - }, - /* bootloader params in the next 1 sectors */ - { - .name = "params", - .offset = MTDPART_OFS_APPEND, - .size = SZ_64K, - .mask_flags = 0, - }, - /* kernel */ - { - .name = "kernel", - .offset = MTDPART_OFS_APPEND, - .size = SZ_2M, - .mask_flags = 0 - }, - /* file system */ - { - .name = "filesystem", - .offset = MTDPART_OFS_APPEND, - .size = MTDPART_SIZ_FULL, - .mask_flags = 0 - } -}; - -static struct physmap_flash_data davinci_evm_norflash_data = { - .width = 2, - .parts = davinci_evm_norflash_partitions, - .nr_parts = ARRAY_SIZE(davinci_evm_norflash_partitions), -}; - -/* NOTE: CFI probe will correctly detect flash part as 32M, but EMIF - * limits addresses to 16M, so using addresses past 16M will wrap */ -static struct resource davinci_evm_norflash_resource = { - .start = DM644X_ASYNC_EMIF_DATA_CE0_BASE, - .end = DM644X_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1, - .flags = IORESOURCE_MEM, -}; +#if defined(CONFIG_MTD_PHYSMAP) || \ + defined(CONFIG_MTD_PHYSMAP_MODULE) +#define HAS_NOR 1 +#else +#define HAS_NOR 0 +#endif -static struct platform_device davinci_evm_norflash_device = { - .name = "physmap-flash", - .id = 0, - .dev = { - .platform_data = &davinci_evm_norflash_data, - }, - .num_resources = 1, - .resource = &davinci_evm_norflash_resource, -}; +#if defined(CONFIG_MTD_NAND_DAVINCI) || \ + defined(CONFIG_MTD_NAND_DAVINCI_MODULE) +#define HAS_NAND 1 +#else +#define HAS_NAND 0 +#endif +#if (HAS_NAND == 1) /* DM644x EVM includes a 64 MByte small-page NAND flash (16K blocks). * It may used instead of the (default) NOR chip to boot, using TI's * tools to install the secondary boot loader (UBL) and U-Boot. @@ -166,15 +126,79 @@ static struct resource davinci_evm_nandflash_resource[] = { .flags = IORESOURCE_MEM, }, }; +#elif (HAS_NOR == 1) +static struct mtd_partition davinci_evm_norflash_partitions[] = { + /* bootloader (UBL, U-Boot, etc) in first 5 sectors */ + { + .name = "bootloader", + .offset = 0, + .size = 5 * SZ_64K, + .mask_flags = MTD_WRITEABLE, /* force read-only */ + }, + /* bootloader params in the next 1 sectors */ + { + .name = "params", + .offset = MTDPART_OFS_APPEND, + .size = SZ_64K, + .mask_flags = 0, + }, + /* kernel */ + { + .name = "kernel", + .offset = MTDPART_OFS_APPEND, + .size = SZ_2M, + .mask_flags = 0 + }, + /* file system */ + { + .name = "filesystem", + .offset = MTDPART_OFS_APPEND, + .size = MTDPART_SIZ_FULL, + .mask_flags = 0 + } +}; + +static struct physmap_flash_data davinci_evm_norflash_data = { + .width = 2, + .parts = davinci_evm_norflash_partitions, + .nr_parts = ARRAY_SIZE(davinci_evm_norflash_partitions), +}; + +/* NOTE: CFI probe will correctly detect flash part as 32M, but EMIF + * limits addresses to 16M, so using addresses past 16M will wrap */ +static struct resource davinci_evm_norflash_resource[] = { + { + .start = DM644X_ASYNC_EMIF_DATA_CE0_BASE, + .end = DM644X_ASYNC_EMIF_DATA_CE0_BASE + SZ_16M - 1, + .flags = IORESOURCE_MEM, + }, +}; +#endif -static struct platform_device davinci_evm_nandflash_device = { - .name = "davinci_nand", - .id = 0, - .dev = { - .platform_data = &davinci_evm_nandflash_data, +static struct platform_device dm644x_emif_devices[] __initdata = { +#if (HAS_NAND == 1) + { + .name = "davinci_nand", + .id = 0, + .resource = davinci_evm_nandflash_resource, + .num_resources = + ARRAY_SIZE(davinci_evm_nandflash_resource), + .dev = { + .platform_data = &davinci_evm_nandflash_data, + }, }, - .num_resources = ARRAY_SIZE(davinci_evm_nandflash_resource), - .resource = davinci_evm_nandflash_resource, +#elif (HAS_NOR == 1) + { + .name = "physmap-flash", + .id = 0, + .resource = davinci_evm_norflash_resource, + .num_resources = + ARRAY_SIZE(davinci_evm_norflash_resource), + .dev = { + .platform_data = &davinci_evm_norflash_data, + }, + }, +#endif }; static u64 davinci_fb_dma_mask = DMA_BIT_MASK(32); @@ -649,19 +673,19 @@ static int davinci_phy_fixup(struct phy_device *phydev) #define HAS_ATA 0 #endif -#if defined(CONFIG_MTD_PHYSMAP) || \ - defined(CONFIG_MTD_PHYSMAP_MODULE) -#define HAS_NOR 1 -#else -#define HAS_NOR 0 -#endif +static struct davinci_aemif_devices davinci_emif_devices = { + .devices = dm644x_emif_devices, + .num_devices = ARRAY_SIZE(dm644x_emif_devices), +}; + +static struct platform_device davinci_emif_device = { + .name = "davinci_aemif", + .id = -1, + .dev = { + .platform_data = &davinci_emif_devices, + }, +}; -#if defined(CONFIG_MTD_NAND_DAVINCI) || \ - defined(CONFIG_MTD_NAND_DAVINCI_MODULE) -#define HAS_NAND 1 -#else -#define HAS_NAND 0 -#endif static __init void davinci_evm_init(void) { @@ -683,13 +707,12 @@ static __init void davinci_evm_init(void) /* only one device will be jumpered and detected */ if (HAS_NAND) { - platform_device_register(&davinci_evm_nandflash_device); evm_leds[7].default_trigger = "nand-disk"; if (HAS_NOR) pr_warning("WARNING: both NAND and NOR flash " "are enabled; disable one of them.\n"); - } else if (HAS_NOR) - platform_device_register(&davinci_evm_norflash_device); + } + platform_device_register(&davinci_emif_device); } platform_add_devices(davinci_evm_devices, diff --git a/arch/arm/mach-davinci/board-dm646x-evm.c b/arch/arm/mach-davinci/board-dm646x-evm.c index af55a9d..34bc4af 100644 --- a/arch/arm/mach-davinci/board-dm646x-evm.c +++ b/arch/arm/mach-davinci/board-dm646x-evm.c @@ -104,15 +104,29 @@ static struct resource davinci_nand_resources[] = { }, }; -static struct platform_device davinci_nand_device = { - .name = "davinci_nand", - .id = 0, +static struct platform_device dm646x_emif_devices[] __initdata = { + { + .name = "davinci_nand", + .id = 0, + + .resource = davinci_nand_resources, + .num_resources = ARRAY_SIZE(davinci_nand_resources), + .dev = { + .platform_data = &davinci_nand_data, + }, + }, +}; - .num_resources = ARRAY_SIZE(davinci_nand_resources), - .resource = davinci_nand_resources, +static struct davinci_aemif_devices davinci_emif_devices = { + .devices = dm646x_emif_devices, + .num_devices = ARRAY_SIZE(dm646x_emif_devices), +}; - .dev = { - .platform_data = &davinci_nand_data, +static struct platform_device davinci_emif_device = { + .name = "davinci_aemif", + .id = -1, + .dev = { + .platform_data = &davinci_emif_devices, }, }; @@ -782,7 +796,7 @@ static __init void evm_init(void) if (machine_is_davinci_dm6467tevm()) davinci_nand_data.timing = &dm6467tevm_nandflash_timing; - platform_device_register(&davinci_nand_device); + platform_device_register(&davinci_emif_device); dm646x_init_edma(dm646x_edma_rsv); diff --git a/arch/arm/mach-davinci/board-mityomapl138.c b/arch/arm/mach-davinci/board-mityomapl138.c index 672d820..bb29b7a 100644 --- a/arch/arm/mach-davinci/board-mityomapl138.c +++ b/arch/arm/mach-davinci/board-mityomapl138.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -414,18 +415,35 @@ static struct resource mityomapl138_nandflash_resource[] = { }, }; -static struct platform_device mityomapl138_nandflash_device = { - .name = "davinci_nand", - .id = 1, - .dev = { - .platform_data = &mityomapl138_nandflash_data, +static struct platform_device mityomapl138_emif_devices[] __initdata = { + { + .name = "davinci_nand", + .id = 0, + + .resource = mityomapl138_nandflash_resource, + .num_resources = + ARRAY_SIZE(mityomapl138_nandflash_resource), + .dev = { + .platform_data = &mityomapl138_nandflash_data, + }, + }, +}; + +static struct davinci_aemif_devices davinci_emif_devices = { + .devices = mityomapl138_emif_devices, + .num_devices = ARRAY_SIZE(mityomapl138_emif_devices), +}; + +static struct platform_device davinci_emif_device = { + .name = "davinci_aemif", + .id = -1, + .dev = { + .platform_data = &davinci_emif_devices, }, - .num_resources = ARRAY_SIZE(mityomapl138_nandflash_resource), - .resource = mityomapl138_nandflash_resource, }; static struct platform_device *mityomapl138_devices[] __initdata = { - &mityomapl138_nandflash_device, + &davinci_emif_device, }; static void __init mityomapl138_setup_nand(void) diff --git a/arch/arm/mach-davinci/board-neuros-osd2.c b/arch/arm/mach-davinci/board-neuros-osd2.c index 8d34f51..c1c6fa1 100644 --- a/arch/arm/mach-davinci/board-neuros-osd2.c +++ b/arch/arm/mach-davinci/board-neuros-osd2.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include diff --git a/arch/arm/mach-davinci/board-sffsdr.c b/arch/arm/mach-davinci/board-sffsdr.c index 31da3c5..ac36320 100644 --- a/arch/arm/mach-davinci/board-sffsdr.c +++ b/arch/arm/mach-davinci/board-sffsdr.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -81,14 +82,31 @@ static struct resource davinci_sffsdr_nandflash_resource[] = { }, }; -static struct platform_device davinci_sffsdr_nandflash_device = { - .name = "davinci_nand", /* Name of driver */ - .id = 0, - .dev = { - .platform_data = &davinci_sffsdr_nandflash_data, +static struct platform_device davinci_sffsdr_emif_devices[] __initdata = { + { + .name = "davinci_nand", + .id = 0, + + .resource = davinci_sffsdr_nandflash_resource, + .num_resources = + ARRAY_SIZE(davinci_sffsdr_nandflash_resource), + .dev = { + .platform_data = &davinci_sffsdr_nandflash_data, + }, + }, +}; + +static struct davinci_aemif_devices davinci_emif_devices = { + .devices = davinci_sffsdr_emif_devices, + .num_devices = ARRAY_SIZE(davinci_sffsdr_emif_devices), +}; + +static struct platform_device davinci_emif_device = { + .name = "davinci_aemif", + .id = -1, + .dev = { + .platform_data = &davinci_emif_devices, }, - .num_resources = ARRAY_SIZE(davinci_sffsdr_nandflash_resource), - .resource = davinci_sffsdr_nandflash_resource, }; static struct at24_platform_data eeprom_info = { @@ -121,7 +139,7 @@ static void __init sffsdr_init_i2c(void) } static struct platform_device *davinci_sffsdr_devices[] __initdata = { - &davinci_sffsdr_nandflash_device, + &davinci_emif_device, }; static struct davinci_uart_config uart_config __initdata = { -- 1.7.1 From michael.williamson at criticallink.com Tue Feb 7 10:45:33 2012 From: michael.williamson at criticallink.com (Michael Williamson) Date: Tue, 07 Feb 2012 11:45:33 -0500 Subject: [PATCH v3 3/3] arm:davinci: move NAND and NOR devices as aemif MFD slaves In-Reply-To: <1328627513-30134-4-git-send-email-prakash.pm@ti.com> References: <1328627513-30134-1-git-send-email-prakash.pm@ti.com> <1328627513-30134-4-git-send-email-prakash.pm@ti.com> Message-ID: <4F31552D.9060505@criticallink.com> Hello Prakash, On 2/7/2012 10:11 AM, Manjunathappa, Prakash wrote: > NAND and NOR device are made as aemif device slaves, hence all DaVinci > board NAND/NOR device registration achieved via aemif MFD driver. > > Signed-off-by: Manjunathappa, Prakash > --- > Since v2: > Make changes for all DaVinci boards in single patch. [...] > diff --git a/arch/arm/mach-davinci/board-mityomapl138.c b/arch/arm/mach-davinci/board-mityomapl138.c > index 672d820..bb29b7a 100644 > --- a/arch/arm/mach-davinci/board-mityomapl138.c > +++ b/arch/arm/mach-davinci/board-mityomapl138.c > @@ -19,6 +19,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -414,18 +415,35 @@ static struct resource mityomapl138_nandflash_resource[] = { > }, > }; > > -static struct platform_device mityomapl138_nandflash_device = { > - .name = "davinci_nand", > - .id = 1, > - .dev = { > - .platform_data = &mityomapl138_nandflash_data, > +static struct platform_device mityomapl138_emif_devices[] __initdata = { > + { > + .name = "davinci_nand", > + .id = 0, Pretty sure this still needs to be a 1. The nand is on chip select 3, EMA_CS3, which I believe is the same as the da850 EVM. -Mike From olof at lixom.net Tue Feb 7 19:18:58 2012 From: olof at lixom.net (Olof Johansson) Date: Tue, 7 Feb 2012 17:18:58 -0800 Subject: ARM/ARM-SoC plans for v3.4 merge window In-Reply-To: <4F266C13.5080302@atmel.com> References: <20120123114902.GY1068@n2100.arm.linux.org.uk> <20120124095009.GS16726@n2100.arm.linux.org.uk> <20120126212319.GE11941@n2100.arm.linux.org.uk> <4F266C13.5080302@atmel.com> Message-ID: Hi, On Mon, Jan 30, 2012 at 2:08 AM, Nicolas Ferre wrote: > On 01/29/2012 12:57 AM, Olof Johansson : >> Hi, >> >> >> On Thu, Jan 26, 2012 at 1:23 PM, Russell King - ARM Linux >> wrote: >> >> >>> And we're now there. ?So... >>> >>> Arnd, Olaf, >>> >>> Please incorporate the latest ARM (for-armsoc branch) changes, which can be found at: >>> >>> ? ? ? ?git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-arm.git for-armsoc >>> >>> with SHA1 dcf81c1af839b77b44404453ecae6e5ac5a75f05. >> >> Thanks. I have added this as depends/rmk/for-armsoc in the arm-soc repo. >> >> Any next/ branch we start will have this as the base of said branch, >> so any vendor branches must either already be developed against this >> stable branch, or merge on top of this with minimal conflicts. > > Ok, great. > > I just let you know that there is a conflict between the current Linus' > tree (with recently updated at91 fixes) and this rmk/for-armsoc branch. > > I can give you the resolution of this conflict easily but I would like > to know which way I execute the merge: > > I use this rmk/for-armsoc as a baseline and merge the fixes already in > Linus' tree on top of it or the other way around? > > Maybe it is preferable that I wait for 3.3-rc2 and merge rmk/for-armsoc > on top of it. This result can be the base of our AT91 work for 3.4 > preparation. > > Your thought? I missed replying to this email until now when I started looking at picking up branches for the 3.4 staging, sorry for the delay. Russell, would you prefer merging in v3.3-rc2 into your branch so I can pull the exact same resolution from there, or should we do it locally in arm-soc? It probably makes sense for you to do it so there's no more conflicts from there on out for dependent branches. -Olof From prakash.pm at ti.com Tue Feb 7 22:00:13 2012 From: prakash.pm at ti.com (Manjunathappa, Prakash) Date: Wed, 8 Feb 2012 04:00:13 +0000 Subject: [PATCH v3 3/3] arm:davinci: move NAND and NOR devices as aemif MFD slaves In-Reply-To: <4F31552D.9060505@criticallink.com> References: <1328627513-30134-1-git-send-email-prakash.pm@ti.com> <1328627513-30134-4-git-send-email-prakash.pm@ti.com> <4F31552D.9060505@criticallink.com> Message-ID: Hi Mike, On Tue, Feb 07, 2012 at 22:15:33, Michael Williamson wrote: > Hello Prakash, > > On 2/7/2012 10:11 AM, Manjunathappa, Prakash wrote: > > > NAND and NOR device are made as aemif device slaves, hence all DaVinci > > board NAND/NOR device registration achieved via aemif MFD driver. > > > > Signed-off-by: Manjunathappa, Prakash > > --- > > Since v2: > > Make changes for all DaVinci boards in single patch. > > > > [...] > > > diff --git a/arch/arm/mach-davinci/board-mityomapl138.c b/arch/arm/mach-davinci/board-mityomapl138.c > > index 672d820..bb29b7a 100644 > > --- a/arch/arm/mach-davinci/board-mityomapl138.c > > +++ b/arch/arm/mach-davinci/board-mityomapl138.c > > @@ -19,6 +19,7 @@ > > #include > > #include > > #include > > +#include > > > > #include > > #include > > @@ -414,18 +415,35 @@ static struct resource mityomapl138_nandflash_resource[] = { > > }, > > }; > > > > -static struct platform_device mityomapl138_nandflash_device = { > > - .name = "davinci_nand", > > - .id = 1, > > - .dev = { > > - .platform_data = &mityomapl138_nandflash_data, > > +static struct platform_device mityomapl138_emif_devices[] __initdata = { > > + { > > + .name = "davinci_nand", > > + .id = 0, > > > > Pretty sure this still needs to be a 1. The nand is on chip select 3, > EMA_CS3, which I believe is the same as the da850 EVM. Yes I could not test on this board. I will make id as 1. Thanks, Prakash > > -Mike > > > From nicolas.ferre at atmel.com Wed Feb 8 05:52:51 2012 From: nicolas.ferre at atmel.com (Nicolas Ferre) Date: Wed, 08 Feb 2012 12:52:51 +0100 Subject: ARM/ARM-SoC plans for v3.4 merge window In-Reply-To: References: <20120123114902.GY1068@n2100.arm.linux.org.uk> <20120124095009.GS16726@n2100.arm.linux.org.uk> <20120126212319.GE11941@n2100.arm.linux.org.uk> <4F266C13.5080302@atmel.com> Message-ID: <4F326213.3030500@atmel.com> On 02/08/2012 02:18 AM, Olof Johansson : > Hi, > > On Mon, Jan 30, 2012 at 2:08 AM, Nicolas Ferre wrote: >> On 01/29/2012 12:57 AM, Olof Johansson : >>> Hi, >>> >>> >>> On Thu, Jan 26, 2012 at 1:23 PM, Russell King - ARM Linux >>> wrote: >>> >>> >>>> And we're now there. So... >>>> >>>> Arnd, Olaf, >>>> >>>> Please incorporate the latest ARM (for-armsoc branch) changes, which can be found at: >>>> >>>> git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-arm.git for-armsoc >>>> >>>> with SHA1 dcf81c1af839b77b44404453ecae6e5ac5a75f05. >>> >>> Thanks. I have added this as depends/rmk/for-armsoc in the arm-soc repo. >>> >>> Any next/ branch we start will have this as the base of said branch, >>> so any vendor branches must either already be developed against this >>> stable branch, or merge on top of this with minimal conflicts. >> >> Ok, great. >> >> I just let you know that there is a conflict between the current Linus' >> tree (with recently updated at91 fixes) and this rmk/for-armsoc branch. >> >> I can give you the resolution of this conflict easily but I would like >> to know which way I execute the merge: >> >> I use this rmk/for-armsoc as a baseline and merge the fixes already in >> Linus' tree on top of it or the other way around? >> >> Maybe it is preferable that I wait for 3.3-rc2 and merge rmk/for-armsoc >> on top of it. This result can be the base of our AT91 work for 3.4 >> preparation. >> >> Your thought? > > I missed replying to this email until now when I started looking at > picking up branches for the 3.4 staging, sorry for the delay. > > Russell, would you prefer merging in v3.3-rc2 into your branch so I > can pull the exact same resolution from there, or should we do it > locally in arm-soc? It probably makes sense for you to do it so > there's no more conflicts from there on out for dependent branches. Olof, For your information the conflict resolution is already present in linux-next (and in my 3.4 preparation branches actually). Best regards, -- Nicolas Ferre From manjunath.hadli at ti.com Wed Feb 8 06:41:14 2012 From: manjunath.hadli at ti.com (Hadli, Manjunath) Date: Wed, 8 Feb 2012 12:41:14 +0000 Subject: [RESEND PATCH] davinci: CQ93VC: remove machine specific header file inclusion from codec driver In-Reply-To: <20120110184741.GG7164@opensource.wolfsonmicro.com> References: <1326194863-31194-1-git-send-email-manjunath.hadli@ti.com> <20120110184741.GG7164@opensource.wolfsonmicro.com> Message-ID: Mark, On Wed, Jan 11, 2012 at 00:17:41, Mark Brown wrote: > On Tue, Jan 10, 2012 at 04:57:43PM +0530, Manjunath Hadli wrote: > > remove unnecessary inclusion of machine specific header file > > mach/dm365.h from cq93vc.c voice codec driver which comes in the way > > of platform code consolidation. > > Applied but please do try to use a subject line appropriate for the subsystem you're contributing to. I still can't find this patch in the mainline, any issues? Regards, --Manju > From broonie at opensource.wolfsonmicro.com Wed Feb 8 06:52:04 2012 From: broonie at opensource.wolfsonmicro.com (Mark Brown) Date: Wed, 8 Feb 2012 12:52:04 +0000 Subject: [RESEND PATCH] davinci: CQ93VC: remove machine specific header file inclusion from codec driver In-Reply-To: References: <1326194863-31194-1-git-send-email-manjunath.hadli@ti.com> <20120110184741.GG7164@opensource.wolfsonmicro.com> Message-ID: <20120208125204.GA5943@opensource.wolfsonmicro.com> On Wed, Feb 08, 2012 at 12:41:14PM +0000, Hadli, Manjunath wrote: > On Wed, Jan 11, 2012 at 00:17:41, Mark Brown wrote: Fix your mailer, not only is it not word wrapping within paragraphs it's adding such problems to quoted text. > > Applied but please do try to use a subject line appropriate for the subsystem you're contributing to. > I still can't find this patch in the mainline, any issues? It will go into mainline in the next merge window. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: From olof at lixom.net Wed Feb 8 19:19:21 2012 From: olof at lixom.net (Olof Johansson) Date: Wed, 8 Feb 2012 17:19:21 -0800 Subject: ARM/ARM-SoC plans for v3.4 merge window In-Reply-To: <4F326213.3030500@atmel.com> References: <20120123114902.GY1068@n2100.arm.linux.org.uk> <20120124095009.GS16726@n2100.arm.linux.org.uk> <20120126212319.GE11941@n2100.arm.linux.org.uk> <4F266C13.5080302@atmel.com> <4F326213.3030500@atmel.com> Message-ID: On Wed, Feb 8, 2012 at 3:52 AM, Nicolas Ferre wrote: > On 02/08/2012 02:18 AM, Olof Johansson : >> Hi, >> >> On Mon, Jan 30, 2012 at 2:08 AM, Nicolas Ferre wrote: >>> On 01/29/2012 12:57 AM, Olof Johansson : >>>> Hi, >>>> >>>> >>>> On Thu, Jan 26, 2012 at 1:23 PM, Russell King - ARM Linux >>>> wrote: >>>> >>>> >>>>> And we're now there. ?So... >>>>> >>>>> Arnd, Olaf, >>>>> >>>>> Please incorporate the latest ARM (for-armsoc branch) changes, which can be found at: >>>>> >>>>> ? ? ? ?git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-arm.git for-armsoc >>>>> >>>>> with SHA1 dcf81c1af839b77b44404453ecae6e5ac5a75f05. >>>> >>>> Thanks. I have added this as depends/rmk/for-armsoc in the arm-soc repo. >>>> >>>> Any next/ branch we start will have this as the base of said branch, >>>> so any vendor branches must either already be developed against this >>>> stable branch, or merge on top of this with minimal conflicts. >>> >>> Ok, great. >>> >>> I just let you know that there is a conflict between the current Linus' >>> tree (with recently updated at91 fixes) and this rmk/for-armsoc branch. >>> >>> I can give you the resolution of this conflict easily but I would like >>> to know which way I execute the merge: >>> >>> I use this rmk/for-armsoc as a baseline and merge the fixes already in >>> Linus' tree on top of it or the other way around? >>> >>> Maybe it is preferable that I wait for 3.3-rc2 and merge rmk/for-armsoc >>> on top of it. This result can be the base of our AT91 work for 3.4 >>> preparation. >>> >>> Your thought? >> >> I missed replying to this email until now when I started looking at >> picking up branches for the 3.4 staging, sorry for the delay. >> >> Russell, would you prefer merging in v3.3-rc2 into your branch so I >> can pull the exact same resolution from there, or should we do it >> locally in arm-soc? It probably makes sense for you to do it so >> there's no more conflicts from there on out for dependent branches. > > Olof, > > For your information the conflict resolution is already present in > linux-next (and in my 3.4 preparation branches actually). Yeah, it's just convenient if it's resolved once in the base branch instead of every time we pull in something based on it. I've pulled in and resolved the conflict with v3.3-rc2 into depends/rmk/for-armsoc now so it should be covered for anyone basing new branches off of it. Thanks, -Olof From prakash.pm at ti.com Wed Feb 8 23:04:38 2012 From: prakash.pm at ti.com (Manjunathappa, Prakash) Date: Thu, 9 Feb 2012 10:34:38 +0530 Subject: [PATCH] video: da8xx-fb: Fix build warning on unused label Message-ID: <1328763879-16345-1-git-send-email-prakash.pm@ti.com> Patch fixes build warning on label "err_cpu_freq" when CONFIG_CPU_FREQ is not defined. Signed-off-by: Manjunathappa, Prakash --- drivers/video/da8xx-fb.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c index 29577bf..f360d62 100644 --- a/drivers/video/da8xx-fb.c +++ b/drivers/video/da8xx-fb.c @@ -1264,8 +1264,8 @@ static int __devinit fb_probe(struct platform_device *device) irq_freq: #ifdef CONFIG_CPU_FREQ lcd_da8xx_cpufreq_deregister(par); -#endif err_cpu_freq: +#endif unregister_framebuffer(da8xx_fb_info); err_dealloc_cmap: -- 1.7.1 From prakash.pm at ti.com Wed Feb 8 23:04:39 2012 From: prakash.pm at ti.com (Manjunathappa, Prakash) Date: Thu, 9 Feb 2012 10:34:39 +0530 Subject: [PATCH] video:da8xx-fb: calculate pixel clock period for the panel In-Reply-To: <1328763879-16345-1-git-send-email-prakash.pm@ti.com> References: <1328763879-16345-1-git-send-email-prakash.pm@ti.com> Message-ID: <1328763879-16345-2-git-send-email-prakash.pm@ti.com> Patch calculates pixel clock period in pico seconds and updates the same in variable screen information structure. fbset utility uses this information. Signed-off-by: Manjunathappa, Prakash --- drivers/video/da8xx-fb.c | 21 ++++++++++++++++++++- 1 files changed, 20 insertions(+), 1 deletions(-) diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c index f360d62..8b0a174 100644 --- a/drivers/video/da8xx-fb.c +++ b/drivers/video/da8xx-fb.c @@ -32,6 +32,7 @@ #include #include #include