Dear Stefano Babic, > On 23/01/2013 02:01, Marek Vasut wrote: > > The MX23 has less channels for the APBH DMA, sligtly different register > > layout and some bits in those registers are placed differently. Reflect > > this in the driver. This patch fixes MMC/DMA issue on MX23. > > > > Signed-off-by: Marek Vasut <[email protected]> > > Cc: Otavio Salvador <[email protected]> > > Cc: Fabio Estevam <[email protected]> > > Cc: Stefano Babic <[email protected]> > > --- > > > > arch/arm/include/asm/arch-mxs/regs-apbh.h | 121 > > +++++++++++++++++++++++++++++ drivers/dma/apbh_dma.c > > | 10 ++- > > 2 files changed, 129 insertions(+), 2 deletions(-) > > > > diff --git a/arch/arm/include/asm/arch-mxs/regs-apbh.h > > b/arch/arm/include/asm/arch-mxs/regs-apbh.h index e18e677..fcef4b8 > > 100644 > > --- a/arch/arm/include/asm/arch-mxs/regs-apbh.h > > +++ b/arch/arm/include/asm/arch-mxs/regs-apbh.h > > @@ -29,6 +29,87 @@ > > > > #include <asm/arch/regs-common.h> > > > > #ifndef __ASSEMBLY__ > > > > + > > +#if defined(CONFIG_MX23) > > +struct mxs_apbh_regs { > > + mxs_reg_32(hw_apbh_ctrl0) > > + mxs_reg_32(hw_apbh_ctrl1) > > + mxs_reg_32(hw_apbh_ctrl2) > > + mxs_reg_32(hw_apbh_channel_ctrl) > > I see there are diffrent definitions, but why do not we set a common > name (as an alias) ? > > Such as: > #define hw_ahph_ctrl_set hw_apbh_ctrl0 > > > +#if defined(CONFIG_MX23) > > + uint32_t setreg = (uint32_t)(&apbh_regs->hw_apbh_ctrl0_set); > > + uint32_t offset = APBH_CTRL0_RESET_CHANNEL_OFFSET; > > and we could drop the #ifdef in the driver file.
Oh this junk. On mx23, this bitfield is located in ctrl0 at offset 16 ; on mx28 there's a dedicated register for this bitfield (since mx28 has 16 dma channels, mx23 has only 8). So it's a bit confusing, but that's how it has to be done. Best regards, Marek Vasut _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

