From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sascha Hauer Date: Wed, 18 Jun 2008 17:58:22 +0200 Subject: [U-Boot-Users] [Patch 0/9] U-boot-V2: Introduce I2C support for SDP3430 In-Reply-To: <48592C32.60900@freescale.com> References: <7A436F7769CA33409C6B44B358BFFF0CD3192BBC@dlee02.ent.ti.com> <485921CE.7060901@freescale.com> <7A436F7769CA33409C6B44B358BFFF0CD3192D75@dlee02.ent.ti.com> <48592C32.60900@freescale.com> Message-ID: <20080618155822.GF6603@pengutronix.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wed, Jun 18, 2008 at 10:39:30AM -0500, Timur Tabi wrote: > Menon, Nishanth wrote: > > > Please see U-boot v2 here: > > Sorry, I didn't notice that your patch is for U-Boot V2. > > > It does not have i2c support. And IMHO, using kernel like i2c addition in U-Boot v2 is appropriate. Why this is not a bloat U-Boot v2? > > If it isn't, then it means that U-Boot V2 will be pretty bloated in general. > > > A) Now, if you just want i2c_transfer without any device interface, you don't need to compile in the CHARDEV. > > B) Since we use a different linking strategy in U-Boot-v2 which uses gcc link stage to decide which functions be retained and which not, it is pretty neat to see all unused functionality disappear. > > C) kernel has additional bus and class types which are useful when we think in terms of varied features, in u-boot v2, we don't have a bus and class, just a plain device+driver interface like the kernel + ioctls to allow "apps" to invoke functionality within the driver for the device. Very linux like, call it a micro-linux ;). So kernel i2c architecture fits u_boot v2 better that u-boot v1's architecture. > > D) U-boot v2 has insmod + rmmod -> though this is still to be fixed, once it is fully functioning, you can loadb just the module feature you need. In fact, you could even have a filesystem with just modules.... > > E) Ofcourse, we work in a single threaded, no interrupt mode in u-boot v2+ don't care for any power management -> more savings there > > Sounds to me like U-Boot V2 is just a repacked Linux kernel. We could probably > save ourselves a lot of trouble if we just took the DDR and CPU register > initialization code in U-Boot and moved it to the kernel. I've thought about going this way... But the Linux Kernel typically has around 1M and still you don't have a shell. U-Boot-v2 is not bigger in code size than V1 with similar functionality. You're right, I took a lot of code (and ideas) from the Linux Kernel, but I'm too unsure if it's a good idea to adopt full-featured frameworks like I2C from the kernel. BTW U-Boot-v1 does the same thing with NAND support for example. Sascha -- Pengutronix e.K. - Linux Solutions for Science and Industry ----------------------------------------------------------- Kontakt-Informationen finden Sie im Header dieser Mail oder auf der Webseite -> http://www.pengutronix.de/impressum/ <-