usb: usb251xb: Add max power/current dts property support
authorSerge Semin <fancer.lancer@gmail.com>
Sun, 22 Oct 2017 20:38:11 +0000 (23:38 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Nov 2017 16:14:21 +0000 (17:14 +0100)
This parameters may be varied in accordance with hardware specifics.
So lets add the corresponding settings to the usb251xb driver dts
specification.

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

index 333f61b..11ec78e 100644 (file)
@@ -499,6 +499,26 @@ static int usb251xb_get_ofdata(struct usb251xb *hub,
                }
        }
 
+       hub->max_power_sp = USB251XB_DEF_MAX_POWER_SELF;
+       if (!of_property_read_u32(np, "sp-max-total-current-microamp",
+           &property_u32))
+               hub->max_power_sp = min_t(u8, property_u32 / 2000, 50);
+
+       hub->max_power_bp = USB251XB_DEF_MAX_POWER_BUS;
+       if (!of_property_read_u32(np, "bp-max-total-current-microamp",
+           &property_u32))
+               hub->max_power_bp = min_t(u8, property_u32 / 2000, 255);
+
+       hub->max_current_sp = USB251XB_DEF_MAX_CURRENT_SELF;
+       if (!of_property_read_u32(np, "sp-max-removable-current-microamp",
+           &property_u32))
+               hub->max_current_sp = min_t(u8, property_u32 / 2000, 50);
+
+       hub->max_current_bp = USB251XB_DEF_MAX_CURRENT_BUS;
+       if (!of_property_read_u32(np, "bp-max-removable-current-microamp",
+           &property_u32))
+               hub->max_current_bp = min_t(u8, property_u32 / 2000, 255);
+
        hub->power_on_time = USB251XB_DEF_POWER_ON_TIME;
        if (!of_property_read_u32(np, "power-on-time-ms", &property_u32))
                hub->power_on_time = min_t(u8, property_u32 / 2, 255);
@@ -538,10 +558,6 @@ static int usb251xb_get_ofdata(struct usb251xb *hub,
        /* The following parameters are currently not exposed to devicetree, but
         * may be as soon as needed.
         */
-       hub->max_power_sp = USB251XB_DEF_MAX_POWER_SELF;
-       hub->max_power_bp = USB251XB_DEF_MAX_POWER_BUS;
-       hub->max_current_sp = USB251XB_DEF_MAX_CURRENT_SELF;
-       hub->max_current_bp = USB251XB_DEF_MAX_CURRENT_BUS;
        hub->bat_charge_en = USB251XB_DEF_BATTERY_CHARGING_ENABLE;
        hub->boost_up = USB251XB_DEF_BOOST_UP;
        hub->boost_57 = USB251XB_DEF_BOOST_57;