From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Nelson Date: Tue, 17 Jan 2012 18:44:59 -0700 Subject: [U-Boot] [PATCH 2/6] mx6q: Add support for ECSPI through mxc_spi driver In-Reply-To: <201201180227.17414.marek.vasut@gmail.com> References: <1326838190-13746-1-git-send-email-eric.nelson@boundarydevices.com> <201201180019.44633.marek.vasut@gmail.com> <4F1613FF.8060700@boundarydevices.com> <201201180227.17414.marek.vasut@gmail.com> Message-ID: <4F16241B.5050007@boundarydevices.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 01/17/2012 06:27 PM, Marek Vasut wrote: >> On 01/17/2012 04:19 PM, Marek Vasut wrote: >>>> Signed-off-by: Eric Nelson >>>> +/* ECSPI registers */ >>>> +struct cspi_regs { >>>> + u32 rxdata; >>>> + u32 txdata; >>>> + u32 ctrl; >>>> + u32 cfg; >>>> + u32 intr; >>>> + u32 dma; >>>> + u32 stat; >>>> + u32 period; >>>> +}; >>> >>> Sigh ... it's no fun I can have only one remark :-) >>> >>> Is this part common for all imx-es ? >> >> All i.MX6's >> >> This is a cut& paste from MX51. >> >> I was tempted to introduce an 'mxc_ecspi.h' to merge the declaration >> for i.MX5x and i.MX6 which share the ECSPI peripheral and 'mxc_cspi.h' >> for i.MX31 and i.MX35 that share the CSPI peripheral. > > But you don't even need this outside of the spi driver so just put it into the > spi driver and be done with it. That'll solve your duplication issue. > > M > I'll defer to Stefano on this one, since I did this in response to his request: > Right - and we already discussed in the past how to avoid to put > specific SOC code inside the driver. In fact, the cspi_regs structure > was already moved into the specific SOC header (imx-regs.h) - but the > definitions of the single bits of the registers are still inside the > driver, as well as the base address of the (e)cspi controllers. > > They should also be moved - take into acoount by implementing your > changes for i.mx6 The struct cspi_regs is already present in mx31, mx35, and mx51 headers, so I'm not breaking new ground here, only in the bitfield declarations. http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/include/asm/arch-mx31/imx-regs.h;h=6a517ddd931ca0d1e598bd7456c4c611741602eb;hb=HEAD#l60 http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/include/asm/arch-mx35/imx-regs.h;h=df74508a93ee87ae986f7c2f48f6c5fb36626070;hb=HEAD#l279 http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/include/asm/arch-mx5/imx-regs.h;h=0ee88d25b7800ae9e6aed809d02dd19d9cac9c82;hb=HEAD#l423 My interpretation of Stefano's intent is to clean up the driver at the expense of extra defines in the arch-specific headers. Regards, Eric