On Wednesday 20 January 2016 11:48:39 Peter Chen wrote: > > > > > Alternatively, you could use one of the high bits of the 'reg' value > > > to indicate which root hub is used. I'm sure that would work as > > > well, but be less obvious. > > > > It's probably best to stick with the same numbering that the hardware > > uses. > > Seems we are talking about root hub, not the device in the > root hub. So for multiple ports controller, we have to own node for > root hub. Assume your example, there is a genesys HUB at physical > port 1, I suggest a dts node description like below, please correct > me if anything wrong. > > &usb1 { > roothub_1: nxp@1 { > compatible = "usb15a2,007d"; > reg = <0x01>; > > hub: genesys@1 { > compatible = "usb05e3,0608"; > reg = <0x01>; > }; > }; > > roothub_2: nxp@2 { > compatible = "usb15a2,007d"; > reg = <0x02>; > }; > > ... > > roothub_7: nxp@7 { > compatible = "usb15a2,007d"; > reg = <0x07>; > > hub: genesys@1 { > compatible = "usb05e3,0608"; > reg = <0x01>; > }; > }; > > ... > > roothub_9: nxp@9 { > compatible = "usb15a2,007d"; > reg = <0x09>; > }; > }; This looks wrong to me: if I understand it right, you are now modeling each port of the root hub as a separate hub, so you end up with a total of 11 hub nodes when there should only be one or two. Arnd -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html