[U-Boot] [PATCH 1/1] socfpga: Consolidating reset code into reset_manager.c. Also separating reset configuration for virtual target and real hardware Cyclone V development kit

Pavel Machek pavel at denx.de
Mon Jul 1 12:46:15 CEST 2013


Hi!

> > > @@ -21,6 +21,7 @@
> > >  void reset_cpu(ulong addr);
> > >  void reset_deassert_peripherals_handoff(void);
> > > 
> > > +#if defined(CONFIG_SOCFPGA_VIRTUAL_TARGET)
> > >  struct socfpga_reset_manager {
> > >      u32    padding1;
> > >      u32    ctrl;
> > > @@ -31,7 +32,23 @@ struct socfpga_reset_manager {
> > >      u32    per2_mod_reset;
> > >      u32    brg_mod_reset;
> > >  };
> > > +#else
> > > +struct socfpga_reset_manager {
> > > +    u32    status;
> > > +    u32    ctrl;
> > > +    u32    counts;
> > > +    u32    padding1;
> > > +    u32    mpu_mod_reset;
> > > +    u32    per_mod_reset;
> > > +    u32    per2_mod_reset;
> > > +    u32    brg_mod_reset;
> > > +};
> > > +#endif
> > > 
> > 
> > Is it really needed to have two definitions of the struct? AFAICT,
> > structures are same, except that some padding fields have names on
> > real hardware. Thus, if we simply use "real-hardware" version on the
> > emulator, it should work. Perhaps with some comments "this is not
> > emulated on virtual target"...?
> 
> We decided to leave the Virtual Platform code support within existing
> code. We need to do that as we have some discrepancy between the real
> hardware and the virtual platform. But this is only applicable for
> Altera specific IP. :)

That is okay... But notice that structure is same on both real
hardware and virtual platform... (Just some fields have "paddingX"
instead of name on virtual platform). If you remove the #ifdef it will
work just fine.

(You could add /* this is unimplemented on virtual platform */, or
maybe even per-field ifdef. It will still be more readable.)

Thanks,
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


More information about the U-Boot mailing list