From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Warren Date: Tue, 06 May 2008 10:49:35 -0700 Subject: [U-Boot-Users] SoC Drivers: Where do they go? In-Reply-To: <1210090863.8220.16.camel@mcmullan-linux.cifs.lab.netapp.com> References: <1210090863.8220.16.camel@mcmullan-linux.cifs.lab.netapp.com> Message-ID: <48209A2F.20408@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Jason, McMullan, Jason wrote: > I'm writing the drivers for a MIPS 4KEc based SoC, and was wondering > where they should go in the source code tree. > > Having done ARM in the past, my first guess would be (calling the SoC > 'qux', made by company 'foo', and a 'bar' eval board for now): > > cpu/mips/qux > spi.c > nand.c > ether.c > > It's definitely preferable to put drivers in the 'drivers' directory than tied to the CPU. You'll see subdirectories for spi, mtd/nand and net. > And register header files go in: > > include/asm-mips/arch-qux > ddr.h > spi.h > nand.h > ether.h > > Network driver headers typically go with the C code (drivers/net). I'll let other people chime in about the other peripherals, because I'm not clear on the preferred approach. > And the board-specific stuff (like DDR configs, PHY addresses, etc) > would go in: > > board/foo/bar > config.mk > ether.c > ddr.c > ... > > In general this is correct, although a lot of board-specific stuff is #defined in config files. > I only ask, because there is no SoC directories under 'cpu/mips', nor > any SoC directories under 'include/asm-mips' > > > Jason McMullan > MTS SW > System Firmware > > NetApp > 724.741.5011 Fax > 724.741.5166 Direct > 412.656.3519 Mobile > jason.mcmullan at netapp.com > www.netapp.com > > regards, Ben