
On Tue, Jan 24, 2017 at 05:27:50PM +0100, Marcin Niestroj wrote:
On 23.01.2017 18:07, Tom Rini wrote:
On Mon, Jan 23, 2017 at 05:27:09PM +0100, Marcin Niestroj wrote:
Hi, Thanks for review! See my comment below.
On 23.01.2017 16:56, Tom Rini wrote:
On Mon, Jan 23, 2017 at 02:39:15PM +0100, Marcin Niestroj wrote:
chiliSOM is a System On Module (http://http://grinn-global.com/chilisom/). It can't exists on its own, but will be used as part of other boards.
Hardware specification:
- TI AM335x processor
- 128M, 256M or 512M DDR3 memory
- up to 256M NAND
Here we treat SOM similar to SOC, so we place it inside arch/arm/mach-* directory and make it possible to reuse initialization code (i.e. DDR, NAND init) for all boards that use it. This approach is similar as for liteSOM module.
Signed-off-by: Marcin Niestroj m.niestroj@grinn-global.com
arch/arm/Kconfig | 2 + arch/arm/Makefile | 1 + arch/arm/mach-chilisom/Kconfig | 4 + arch/arm/mach-chilisom/Makefile | 6 + arch/arm/mach-chilisom/chilisom.c | 185 +++++++++++++++++++++++++ arch/arm/mach-chilisom/include/mach/chilisom.h | 15 ++ 6 files changed, 213 insertions(+)
These don't belong in a new mach directory, this should end up in board/grinn/common/ instead, thanks!
This will work for all grinn boards. But the idea is that some other vendor can make a board that will use chilisom as it's base. And in that case sources from board/grinn/common/ directory won't compile. Do you have any idea how to bypass this restriction?
Good question. I think the full answer here is that oops, arch/arm/mach-litesom shouldn't have been ACK'd as other SoMs (say board/solidrun/mx6cuboxi/) just keep everything central to the board directory and expect that derivations will just copy the directory and edit in-place. That said, that is indeed not optimal, especially since you've already done the leg-work to split things for SoM and carrier. Perhaps arch/arm/mach-omap2/am33xx/chilisom.c (depends on CONFIG_AM33XX_CHILISOM, which gets select'd by the boards in question). And then a similar change for mach-litesom into arch/arm/cpu/armv7/mx6/ (which will get moved to arch/arm/mach-imx at some point I believe). Thanks!
Ok, so I will move source to arch/arm/mach-omap2/am33xx/chilisom.c as you suggested. What about chilisom.h? Should it go to arch/arm/mach-omap2/include/mach/ (which is not existing right now) or should it be in arch/arm/include/asm/arch-am33xx/ as other headers?
It should go in arch/arm/include/asm/arch-am33xx/ and then please also do a follow-up series to change litesom, thanks again!