
Hi, everyone.
I wonder if I'm dreaming or the U-Boot is fundamentally broken...
It looks like there is no support for multiple devices of a same kind at all.
I'm porting U-Boot to my new MPC8548-based board and it pops up everywhere...
The first case was I2C subsystem that does not provide for several I2C adapters except rudimentary hacks for fsl_i2c.
Now it is USB. I have 2 OHCI USB controllers on the board, OHCI module in NXP ISP1563 and OHCI controller in Silicon Motion SM502 MFD. The former is supported in drivers/usb/usb_ohci.c, the latter is kinda trivial to add, BUT...
It looks like nobody even considered the case when a board can have several controllers... Looking at usb_lowlevel_init() I can see it only works for the first device found, there is absolutely no provision for several devices. And things are getting even nastier if there are devices of the same type with different interfaces (e.g. on-SoC USB controller and a PCI one.)
And this seems to be the case for each and every device type. Am I missing something or U-Boot is actually flawed in FUNDAMENTAL way and it is time to start a new one from scratch?
--- ****************************************************************** * KSI@home KOI8 Net < > The impossible we do immediately. * * Las Vegas NV, USA < > Miracles require 24-hour notice. * ******************************************************************