Hi folks,
I'm writing a driver for the usb2514 USB hub chip. It supports a small feature
set, mostly:
* Up to 7 ports, with any individual ports disabled
* Ports can be marked as hardwired
* Device may appear as a composite device
* per-port O/C GPIO outputs.
My initial though was to copy the 3503 driver, which is similar, but the fact
that ports can be arbitrarily disabled makes me think that a better approach is
needed.
Is there a way to specify USB ports in device-tree, similar to how hdmi ports
are?
Rather than something messy like this:
usb2514@2c {
compatible = "smsc,usb2514";
reg = <0x2c>;
disabled-ports = <3>;
overcurrent-gpios = <&gpio4 19 0>; # Which port does this
belong to?
non-removable-ports = <1>;
reset-gpio = <&gpio4 20 0>;
};
I'd prefer to have something like:
usb2514@2c {
compatible = "smsc,usb2514";
reset-gpio = <&gpio4 20 0>;
reg = <0x2c>;
usb-port@0 {
# No O/C sensing
hardwired;
status = "okay";
};
usb-port@1 {
overcurrent-gpio = <&gpio4 19 1>;
status = "okay";
};
usb-port@2 {
status = "disabled";
};
usb-port@3 {
# No O/C sensing
status = "okay";
};
};
Or would something like:
usb2514@2c {
compatible = "smsc,usb2514";
reset-gpio = <&gpio4 20 0>;
reg = <0x2c>;
usb-port@0 {
# No O/C sensing
hard-port-no = <0>;
hardwired;
status = "okay";
};
usb-port@1 {
hard-port-no = <1>;
overcurrent-gpio = <&gpio4 19 1>;
status = "okay";
};
usb-port@2 {
hard-port-no = <3>;
# No O/C sensing
status = "okay";
};
};
Be better?
Whats the best way to handle this?
-Ian
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html