usb: usb251xb: Add US port lanes inversion property
authorSerge Semin <fancer.lancer@gmail.com>
Wed, 24 Apr 2019 21:12:07 +0000 (00:12 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 May 2019 17:28:56 +0000 (19:28 +0200)
The driver bindings already declare the "swap-dx-lanes" property to
invert the downstream ports lanes polarity. The similar config
can be defined for a single upstream port - "swap-us-lanes". It's
going to be boolean since there is only one upstream port
on the hub.

Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Acked-by: Richard Leitner <richard.leitner@skidata.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/misc/usb251xb.c

index 119aeb658c816550291117a572590c465df45fac..4d6ae3795a883845548dad31bb3e9d82f7436f48 100644 (file)
@@ -574,6 +574,8 @@ static int usb251xb_get_ofdata(struct usb251xb *hub,
        hub->port_swap = USB251XB_DEF_PORT_SWAP;
        usb251xb_get_ports_field(hub, "swap-dx-lanes", data->port_cnt,
                                 &hub->port_swap);
+       if (of_get_property(np, "swap-us-lanes", NULL))
+               hub->port_swap |= BIT(0);
 
        /* The following parameters are currently not exposed to devicetree, but
         * may be as soon as needed.