Dan Malek wrote: > On Apr 4, 2005, at 11:17 AM, Ulrich Eckhardt wrote: > > [2] Based on DB1100. Are there any pointers on how to port to a new > > board, btw? > > One of the discussion items is always how to keep a "generic" > driver and still provide unique setup/control for different types of > boards. I guess if we can discuss other board ports, it will be > more clear how to do this. OK, I'll be more concrete: The board I'm talking about has different peripherals than the DB1100. In particular, it doesn't have any BCSRs, it only has a single flash-chip with 2 MB RAM on board, a CAN bus interface and a rather peculiar way to generate the clocks for attached displays. Most of this is easily remedied by only compiling a selected driver in and I'm doing rather fine loading a DB1100 config and modifying it a bit to get the board running. There are a few things though where I could really use a preprocessor check for that board: - the layout table for the on-board flash RAM. The current driver only checks for a handful of layouts supported by the DB1x/PB1x boards, but those don't fit. This needs more research though. - a default configuration file would be nice, but optional. - the mentioned BCSRs are used to control some peripherals. Code that uses them needs to be changed. All in all, I'd just write a different board_setup() routine than the one for DB1100 and have a few #ifdef HAVE_DB1x00_BCSR and be done. I'd even make this a subtype of the 'standard' DB1100 configuration, because of its strong similarities, but there are a few cases where I simply need to determine the type in the code. I'd send a patch for discussion, but I'm far from finished yet. If there are any pitfalls I should watch out for or you have any suggestion how to tackle this problem, I'm all open ears. thanks Uli