|
@@ -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;
|