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@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html