dm driver probe and dm question

Heinrich Schuchardt xypron.glpk at gmx.de
Sat Feb 26 08:31:53 CET 2022


On 2/26/22 02:51, Tim Harvey wrote:
> Greetings,
>
> I've got an octeontx board which uses driver model
> (CONFIG_DM/CONFIG_DM_I2C) but I find that the 'i2c_octeon' driver does
> not probe automatically on boot until I do something like an 'i2c dev
> 0 && i2c probe'.
>
> What would cause the i2c_octeon driver to not automatically probe?

It is the general design of U-Boot's driver model to use late probing.
This reduces the boot time.

Cf.
https://u-boot.readthedocs.io/en/latest/develop/driver-model/design.html#driver-lifecycle

Best regards

Heinrich

>
> Here is a dm tree of the board:
> Marvell> dm tree
>   Class     Index  Probed  Driver                Name
> -----------------------------------------------------------
>   root          0  [ + ]   root_driver           root_driver
>   rsa_mod_ex    0  [   ]   mod_exp_sw            |-- mod_exp_sw
>   firmware      0  [   ]   psci                  |-- psci
>   regulator     0  [ + ]   regulator_fixed       |-- mmc_supply_3v3
>   simple_bus    0  [ + ]   simple_bus            `-- soc at 0
>   clk           0  [ + ]   fixed_clock               |-- refclkuaa
>   clk           1  [ + ]   fixed_clock               |-- sclk
>   clk           2  [   ]   fixed_clock               |-- can20m
>   serial        0  [ + ]   serial_pl01x              |-- serial at 87e028000000
>   serial        1  [   ]   serial_pl01x              |-- serial at 87e029000000
>   serial        2  [   ]   serial_pl01x              |-- serial at 87e02a000000
>   serial        3  [   ]   serial_pl01x              |-- serial at 87e02b000000
>   watchdog      0  [ + ]   sbsa_gwdt                 |-- watch-dog at 8440000a0000
>   pci           0  [ + ]   pci_octeontx              `-- pci at 848000000000
>   pci           1  [ + ]   pci_bridge_drv                |-- mrml-bridge0 at 1,0
>   misc          0  [ + ]   octeontx_smi                  |   |-- mdio-nexus at 1,3
>   misc          1  [ + ]   octeontx_hsmmc_host           |   |-- mmc at 1,4
>   mmc           0  [ + ]   octeontx_hsmmc_slot           |   |   `--
> octeontx-mmc0
>   blk           0  [ + ]   mmc_blk                       |   |
> `-- octeontx-mmc0.blk
>   i2c           0  [   ]   i2c_octeon                    |   |-- i2c at 9,0
>   misc          2  [   ]   gsc                           |   |   `-- gsc at 20
>   i2c           1  [   ]   i2c_octeon                    |   |-- i2c at 9,1
>   pci_generi    5  [   ]   pci_generic_drv               |   |-- pci_1:0.0
>   pci_generi    6  [   ]   pci_generic_drv               |   |-- pci_1:0.1
>   pci_generi    7  [   ]   pci_generic_drv               |   |-- pci_1:1.7
>   pci_generi    8  [   ]   pci_generic_drv               |   |-- pci_1:2.0
>   pci_generi    9  [   ]   pci_generic_drv               |   |-- pci_1:6.0
>   pci_generi   10  [   ]   pci_generic_drv               |   |-- pci_1:7.0
>   pci_generi   11  [   ]   pci_generic_drv               |   |-- pci_1:7.4
>   pci_generi   12  [   ]   pci_generic_drv               |   |-- pci_1:a.0
>   pci_generi   13  [   ]   pci_generic_drv               |   |-- pci_1:c.0
>   pci_generi   14  [   ]   pci_generic_drv               |   |-- pci_1:c.1
>   pci_generi   15  [   ]   pci_generic_drv               |   |-- pci_1:d.0
>   misc          3  [ + ]   octeontx_bgx                  |   |-- octeontx_bgx
>   misc          4  [ + ]   octeontx_bgx                  |   `-- octeontx_bgx
>   gpio          0  [ + ]   octeon_gpio                   |-- gpio0 at 6,0
>   pci_generi    0  [   ]   pci_generic_drv               |-- pci_0:7.0
>   pci_generi    1  [   ]   pci_generic_drv               |-- pci_0:8.0
>   pci           2  [ + ]   pci_bridge_drv                |-- pci_0:9.0
>   pci_generi   16  [   ]   pci_generic_drv               |   `-- pci_2:0.0
>   pci           3  [ + ]   pci_bridge_drv                |-- pci_0:a.0
>   pci_generi   17  [   ]   pci_generic_drv               |   `-- pci_3:0.0
>   pci_generi    2  [   ]   pci_generic_drv               |-- pci_0:b.0
>   pci           4  [ + ]   pci_bridge_drv                |-- pci_0:c.0
>   pci_generi   18  [   ]   pci_generic_drv               |   `-- pci_4:0.0
>   pci_generi    3  [   ]   pci_generic_drv               |-- pci_0:d.0
>   pci_generi    4  [   ]   pci_generic_drv               |-- pci_0:e.0
>   pci           5  [ + ]   pci_bridge_drv                |-- pci_0:f.0
>   misc          5  [ + ]   octeontx_nic                  |   |-- octeontx_nic
>   ethernet      0  [ + ]   vnic                          |   |-- vnic0
>   ethernet      1  [ + ]   vnic                          |   `-- vnic1
>   usb           0  [   ]   xhci_pci                      |-- xhci_pci
>   usb           1  [   ]   xhci_pci                      `-- xhci_pci
>
> Best regards,
>
> Tim



More information about the U-Boot mailing list