Hi, On 6 April 2015 at 02:43, Hans de Goede <hdego...@redhat.com> wrote: > Hi Simon and Paul, > > On 05-04-15 22:56, Paul Kocialkowski wrote: >> >> Le dimanche 05 avril 2015 à 12:31 -0600, Simon Glass a écrit : >>> >>> Hi Paul, >>> >>> On 4 April 2015 at 14:49, Paul Kocialkowski <cont...@paulk.fr> wrote: >>>> >>>> Sunxi platforms come with at least 3 TWI (I2C) controllers and some >>>> platforms >>>> even have up to 5. This adds support for every controller on each >>>> supported >>>> platform, which is especially useful when using expansion ports on >>>> single-board- >>>> computers. >>>> >>>> Signed-off-by: Paul Kocialkowski <cont...@paulk.fr> >>>> --- >>>> arch/arm/include/asm/arch-sunxi/cpu_sun4i.h | 7 +++ >>>> arch/arm/include/asm/arch-sunxi/gpio.h | 15 +++++- >>>> arch/arm/include/asm/arch-sunxi/i2c.h | 13 +++++ >>>> board/sunxi/Kconfig | 31 ++++++++++++ >>>> board/sunxi/board.c | 75 >>>> ++++++++++++++++++++++++++++- >>>> 5 files changed, 138 insertions(+), 3 deletions(-) >>>> > > <snip> > > >>>> diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig >>>> index ccc2080..d3b5bad 100644 >>>> --- a/board/sunxi/Kconfig >>>> +++ b/board/sunxi/Kconfig >>>> @@ -269,6 +269,37 @@ config USB2_VBUS_PIN >>>> ---help--- >>>> See USB1_VBUS_PIN help text. >>>> >>>> +config I2C1_ENABLE >>>> + bool "Enable I2C/TWI controller 1" >>>> + default n >>>> + ---help--- >>>> + This allows enabling I2C/TWI controller 1 by muxing its pins, >>>> enabling >>>> + its clock and setting up the bus. This is especially useful on >>>> devices >>>> + with slaves connected to the bus or with pins exposed through >>>> e.g. an >>>> + expansion port/header. >>>> + >>>> +config I2C2_ENABLE >>>> + bool "Enable I2C/TWI controller 2" >>>> + default n >>>> + ---help--- >>>> + See I2C1_ENABLE help text. >>>> + >>>> +if MACH_SUN6I || MACH_SUN7I >>>> +config I2C3_ENABLE >>>> + bool "Enable I2C/TWI controller 3" >>>> + default n >>>> + ---help--- >>>> + See I2C1_ENABLE help text. >>>> +endif >>>> + >>>> +if MACH_SUN7I >>>> +config I2C4_ENABLE >>>> + bool "Enable I2C/TWI controller 4" >>>> + default n >>>> + ---help--- >>>> + See I2C1_ENABLE help text. >>>> +endif >>> >>> >>> It seems wrong to me to add these when they are already in the device >>> tree for the board. Can we not use that? >> >> >> Well, Hans has a point when saying that some users may use those pins as >> GPIO while some others may use the TWI/I2C functions, so it makes sense >> to make this configurable via Kconfig instead of being statically >> defined. >> >>> If you would rather wait until we have driver model I2C on sunxi >>> (mvtwsi, I think) then I'd be happy to do the conversion. It's pretty >>> easy. >> >> >> I would be happy to see U-Boot on sunxi use devicetree and driver model >> for TWI/I2C as well (provided users can still configure what busses to >> enable). Still, I'd like to see this getting merged as a short term >> solution. >> >>> How can we get sunxi moved over before there is an explosion of these >>> sorts of things (as we have already seen with video options)? > > > I fully support moving sunxi over the devicemodel + devicetree in my > mind the following steps need to be taken: > > 0) Get the devicemode usb patches merged in to u-boot-dm/next > Then on top pf u-boot-dm/next: > > 1) Move all the sunxi boards over to use dm + dt like we're already > doing for the pcduino
This could be a bit tricky unless someone has all the boards. I suppose if we do it at the very start of the merge window and then we have time to fix any problems. > > 2) Start using dm for usb on sunxi > > 3) Enable ohci support on sunxi boards next to ehci That's not currently supported, but I could perhaps take a look at it. > > 4) Move other stuff over on a step by step basis > > Note that we will likely have a mix of Kconfig + devicetree for > quite a while though since certain things which we support in > u-boot are not supported in the kernel yet so they do not have > stable devicetree bindings yet, video being the big one here. Yes that makes things tricky. > >> I think Hans will know better (than myself) how to do this right. > > > Not really, other then having the the generic outline above in my head, > I do not really have much experience with the devicemodel in u-boot yet, > also I do not have all that much time to work one this, so help on > this from you would certainly be very welcome. I can answer any sunxi > questions you may have, and I believe it is safe to say that Simon > can answer any device-model questions you may have. > > Regards, > > Hans > > p.s. > > Paul I'm still fine with taking your i2c patchset upstream for now, > but I do agree with Simon that we need to move to the device model > and the sooner we do that the better. Yes - the problem is that no one person can pay the 'tax' of moving over, so we need to try to spread the effort on individuals who send patches... Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot