[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-m68k
Subject: Re: [PATCH] dmaengine: mcf-edma: add ColdFire mcf5441x eDMA support
From: Angelo Dureghello <angelo () sysam ! it>
Date: 2018-05-30 20:59:13
Message-ID: 20180530205913.GB17648 () jerusalem
[Download RAW message or body]
Hi Vinod,
On Mon, May 28, 2018 at 09:31:23AM +0530, Vinod wrote:
> Hi Angelo,
>
> On 26-05-18, 22:50, Angelo Dureghello wrote:
>
> > > wouldn't it be easier to just make common parts and then add edma specific code.
> > > If I was doing this it would be my apprach and that way code edma specific will
> > > be lesser and faster review
> > >
> >
> > I tried to set up a common module, but couldn't reach any good point.
> >
> > Issues are:
> > 1) Edma register set between 32 and 64ch is similar, but some offsets/names
> > are not matching between the 2 variants, some registers names are swapped over
> > the reg. address range,
> > 2) interrupt numbers and scheme is still different, handler implementation comes
> > different,
> > 3) as a corollary of the above, all the common functions that needs to access
> > edma registers should use same structure pointers. I could use a union
> > someway but points where register are accessed are many, and i should
> > differentiate the access in each case, referencing to a different structure
> > in each case.
> >
> > If you have any idea on how i could reach a common module, with 2 different
> > registers set, that's welcome.
> > I stay on the thought that a separate 64-channel module is the best
> > way to go here.
> >
> > Currently, as Freescale "edma" variants, i know:
> >
> > Vybrid VFXXX 32ch DMA multiplexer reg.set 1
> > Kynetis K70 (CortexM4) 32ch DMA multiplexer reg.set 1
> > imx8xx (coming) 32ch no multiplexer reg.set 1
> > MPC57xxk 32ch DMA multiplexer reg.set 1
> > ColdFire mcf5441x 64ch no multiplexer reg.set 2 <---
> >
> > There may me other cpu using this fsl edma module but not in my knowledge
> > right now.
> >
> > So i still think at the end, to have 2 separate drivers for the 32 and 64
> > variant is good and probably the most ordered/clean solution.
>
> Okay there are few ways we can do this. One is to use helpers for register
> access and these helpers are different for the variant you are loaded on.
>
> Another is to use register offsets which are set based on the variant loaded..
>
Ok i try with register offsets. Lets' see.
Thanks,
Angelo
> HTH
> --
> ~Vinod
> --
> To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic