From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Frysinger Date: Wed, 15 Sep 2010 14:06:32 -0400 Subject: [U-Boot] [PATCH] S5P: new spi gpio bitbang driver In-Reply-To: <4C90565C.3000404@samsung.com> References: <1284449891-19678-1-git-send-email-dh09.lee@samsung.com> <201009140748.10627.vapier@gentoo.org> <4C90565C.3000404@samsung.com> Message-ID: <201009151406.33814.vapier@gentoo.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wednesday, September 15, 2010 01:15:08 Donghwa Lee wrote: > On Tuesday, September 14, 2010 20:48:11 Mike Frysinger wrote: > > On Tuesday, September 14, 2010 03:38:11 Donghwa Lee wrote: > >> This patch adds basic support for spi mode 0~3 by control gpio bitbang > >> in S5P. Original name of this patch was "support spi gpio driver by > >> control gpio bitbang". But, it had arch-specific features, S5P, so > >> changed to this name. > > > > so why arent you implementing this with the common spi API ? then any of > > the code in the tree would be able to use this spi driver without having > > to change to your arch-specific API. > > I think common spi API is not appropriate for S5P arch. For example, > arch-S5P gpio framework consists of many gpio bank structure, and gpio > number. From here, gpio bank structures are groups of many gpio pin and > gpio number indicates specific gpio pin of gpio bank group. To control any > gpio pin in arch S5P, must know about gpio bank and its specific number. > But, existing spi API is different from avobe. > For example, spi_setup_slave() function, consists of 4 function parameter, > bus, cs, max_hz and mode. bus and cs is specific gpio number that not gpio > bank group. so I think it is hard to control gpio without modifying API > format. i dont see how this matters. implement the common gpio api and handle the binding of a unique number to specific bank/pin there. then the spi/gpio layer need not care about how gpios are implement on any arch. the Blackfin port already does this. each variant has a different number of gpio ports with a different number of pins in each bank. you can see in arch/blackfin/include/asm/mach-*/gpio.h how we then normalize the banks/pins into numbers from 0 to . then spi layer simply says "give me gpio 12" and the gpio layer takes care of the port/pin layer. -mike -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part. Url : http://lists.denx.de/pipermail/u-boot/attachments/20100915/d0cb6e27/attachment.pgp