[U-Boot] [PATCH 1/2] sunxi: fix i2c support for sunxi H3/H5

Jernej Škrabec jernej.skrabec at siol.net
Tue Jan 23 16:01:09 UTC 2018


Hi,

Dne ponedeljek, 22. januar 2018 ob 19:41:31 CET je Nuno Gonçalves napisal(a):
> I have tried for a while to make it work with DM_I2C but so far nothing.

I'm not DM I2C expert, but if I recall correctly you have to have I2C child 
device defined in DT and successfully probed if you want I2C bus driver to be 
probed.

Can you show your DT changes you made? Currently I don't remember any H3 or H5 
board, which would have connected anything to I2C besides voltage regulator, 
which doesn't have DM aware driver in U-Boot.

Best regards,
Jernej

> 
> => i2c bus
> Bus -1: i2c at 01c2ac00
> Bus -1: i2c at 01c2b000
> => dm tree
>  Class      Probed  Driver      Name
> ----------------------------------------
>  root       [ + ]   root_drive  root_driver
>  simple_bus [ + ]   generic_si  `-- soc
>  usb        [ + ]   ehci_sunxi      |-- usb at 01c1b000
>  usb_hub    [ + ]   usb_hub         |   `-- usb_hub
>  usb        [ + ]   ohci_sunxi      |-- usb at 01c1b400
>  gpio       [ + ]   gpio_sunxi      |-- pinctrl at 01c20800
>  gpio       [ + ]   gpio_sunxi      |   |-- PA
>  gpio       [ + ]   gpio_sunxi      |   |-- PB
>  gpio       [ + ]   gpio_sunxi      |   |-- PC
>  gpio       [ + ]   gpio_sunxi      |   |-- PD
>  gpio       [ + ]   gpio_sunxi      |   |-- PE
>  gpio       [ + ]   gpio_sunxi      |   |-- PF
>  gpio       [ + ]   gpio_sunxi      |   |-- PG
>  gpio       [ + ]   gpio_sunxi      |   |-- PH
>  gpio       [ + ]   gpio_sunxi      |   `-- PI
>  serial     [ + ]   ns16550_se      |-- serial at 01c28000
>  i2c        [   ]   i2c_mvtwsi      |-- i2c at 01c2ac00
>  i2c        [   ]   i2c_mvtwsi      |-- i2c at 01c2b000
>  eth        [ + ]   eth_sun8i_      |-- ethernet at 1c30000
>  gpio       [ + ]   gpio_sunxi      `-- pinctrl at 01f02c00
>  gpio       [ + ]   gpio_sunxi          `-- PL
> 
> Is there any typical cause for this driver not to be probed?
> 
> Thanks
> 
> On Mon, Jan 22, 2018 at 10:18 AM, Nuno Gonçalves <nunojpg at gmail.com> wrote:
> > On Fri, Jan 19, 2018 at 9:35 PM, Jernej Škrabec <jernej.skrabec at siol.net> 
wrote:
> >> Hi,
> >> 
> >> Dne petek, 19. januar 2018 ob 19:38:52 CET je Nuno Gonçalves napisal(a):
> >>> Sorry, there is only 1 patch in this series.
> >>> 
> >>> I would like comments regarding removing DM_I2C for MACH_SUNXI_H3_H5,
> >>> as I didn't found a reason for it to be defined.
> >> 
> >> there is good reason to be there. When H3/H5 board has DE2/HDMI enabled,
> >> warning is shown when configuring, if DM_I2C is not selected. Since there
> >> should be no warning, DM_I2C has to stay.
> >> 
> >> This means that whatever you want to have attached to I2C, you have to
> >> have an entry in DT for it. Since there is no DM pinctrl driver, you
> >> have to put code somewhere, like you already done.
> >> 
> >> Besides, U-Boot wants to migrate towards DM drivers, no other way around.
> >> Last time I checked, DM I2C driver for H3/H5 should work, although it
> >> wasn't thoroughly tested from my side. So if there are issues with DM
> >> I2C driver, you have to fix it.
> >> 
> >> Best regards,
> >> Jernej
> > 
> > Thanks Jernej. In fact I didn't manage to get it working with DM_I2C,
> > even after adding the devices to the DT.
> > 
> > Maybe you can give me some hints to bring it to work, as I am a uboot
> > ousider.
> > 
> > Is DM_I2C_COMPAT supposed to be defined?
> > 
> > The i2c device should be in the DT but since there is no pinctrl
> > driver I must also include the  "sunxi_gpio_set_cfgpin()" already in
> > my patch?
> > 
> > Thanks,
> > Nuno






More information about the U-Boot mailing list