diff mbox series

usb: usb251xb: add boost-up property support

Message ID 20220121232612.7283-1-tomm.merciai@gmail.com
State New
Headers show
Series usb: usb251xb: add boost-up property support | expand

Commit Message

Tommaso Merciai Jan. 21, 2022, 11:26 p.m. UTC
Add u8 property to support boost-up register of usb251xb hub.
boost-up property control USB electrical drive strenght
This register can be set:

 - Normal mode -> 0x00
 - Low         -> 0x01
 - Medium      -> 0x10
 - High        -> 0x11

(Normal Default)

References:
 - http://www.mouser.com/catalog/specsheets/2514.pdf p29

Signed-off-by: Tommaso Merciai <tomm.merciai@gmail.com>
---
 drivers/usb/misc/usb251xb.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Comments

Tommaso Merciai Jan. 25, 2022, 9:42 p.m. UTC | #1
On Mon, Jan 24, 2022 at 07:03:57AM +0000, Richard Leitner - SKIDATA wrote:
> Hi Tommaso,
> 
> thanks for implementing the boost up register.
> 
> On Sat, Jan 22, 2022 at 12:26:12AM +0100, Tommaso Merciai wrote:
> > Add u8 property to support boost-up register of usb251xb hub.
> > boost-up property control USB electrical drive strenght
> > This register can be set:
> > 
> >  - Normal mode -> 0x00
> >  - Low         -> 0x01
> >  - Medium      -> 0x10
> >  - High        -> 0x11
> > 
> > (Normal Default)
> > 
> > References:
> >  - http://www.mouser.com/catalog/specsheets/2514.pdf p29
> > 
> > Signed-off-by: Tommaso Merciai <tomm.merciai@gmail.com>
> > ---
> >  drivers/usb/misc/usb251xb.c | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/usb/misc/usb251xb.c b/drivers/usb/misc/usb251xb.c
> > index 507deef1f709..74fd8ac0c303 100644
> > --- a/drivers/usb/misc/usb251xb.c
> > +++ b/drivers/usb/misc/usb251xb.c
> > @@ -402,6 +402,7 @@ static int usb251xb_get_ofdata(struct usb251xb *hub,
> >  	struct device_node *np = dev->of_node;
> >  	int len, err;
> >  	u32 property_u32 = 0;
> > +	u8 property_u8 = 0;
> >  	const char *cproperty_char;
> >  	char str[USB251XB_STRING_BUFSIZE / 2];
> >  
> > @@ -543,6 +544,12 @@ static int usb251xb_get_ofdata(struct usb251xb *hub,
> >  	if (of_property_read_u16_array(np, "language-id", &hub->lang_id, 1))
> >  		hub->lang_id = USB251XB_DEF_LANGUAGE_ID;
> >  
> > +	if (!of_property_read_u8(np, "boost-up", &property_u8)){
> > +		hub->boost_up = property_u8;
> 
> IMHO we don't need the property_u8 var here as you could pass
> &hub->boost_up directly to of_property_read_u8() ?

Hi Richard,
Thanks for your reply. You mean like:

if (!of_property_read_u8(np, "boost-up", &hub->boost_up))

Let me know. I'll fix that in v2.

Thanks,
Tommaso
> 
> regards;rl
Richard Leitner Jan. 26, 2022, 7:08 a.m. UTC | #2
On Tue, Jan 25, 2022 at 10:42:45PM +0100, Tommaso Merciai wrote:
> On Mon, Jan 24, 2022 at 07:03:57AM +0000, Richard Leitner - SKIDATA wrote:
> > On Sat, Jan 22, 2022 at 12:26:12AM +0100, Tommaso Merciai wrote:
> > >  
> > > +	if (!of_property_read_u8(np, "boost-up", &property_u8)){
> > > +		hub->boost_up = property_u8;
> > 
> > IMHO we don't need the property_u8 var here as you could pass
> > &hub->boost_up directly to of_property_read_u8() ?
> 
> Hi Richard,
> Thanks for your reply. You mean like:
> 
> if (!of_property_read_u8(np, "boost-up", &hub->boost_up))

exactly.

> 
> Let me know. I'll fix that in v2.
> 

great!

thanks & regards;rl
Tommaso Merciai Jan. 27, 2022, 5:53 p.m. UTC | #3
On Wed, Jan 26, 2022 at 08:08:48AM +0100, Richard Leitner wrote:
> On Tue, Jan 25, 2022 at 10:42:45PM +0100, Tommaso Merciai wrote:
> > On Mon, Jan 24, 2022 at 07:03:57AM +0000, Richard Leitner - SKIDATA wrote:
> > > On Sat, Jan 22, 2022 at 12:26:12AM +0100, Tommaso Merciai wrote:
> > > >  
> > > > +	if (!of_property_read_u8(np, "boost-up", &property_u8)){
> > > > +		hub->boost_up = property_u8;
> > > 
> > > IMHO we don't need the property_u8 var here as you could pass
> > > &hub->boost_up directly to of_property_read_u8() ?
> > 
> > Hi Richard,
> > Thanks for your reply. You mean like:
> > 
> > if (!of_property_read_u8(np, "boost-up", &hub->boost_up))
> 
> exactly.

Thanks Richard,
I'll send v2.

Thanks,
Tommaso

> 
> > 
> > Let me know. I'll fix that in v2.
> > 
> 
> great!
> 
> thanks & regards;rl
Sergei Shtylyov Jan. 28, 2022, 3:31 p.m. UTC | #4
Hello!

On 1/22/22 2:26 AM, Tommaso Merciai wrote:

> Add u8 property to support boost-up register of usb251xb hub.
> boost-up property control USB electrical drive strenght

  Strength.

> This register can be set:
> 
>  - Normal mode -> 0x00
>  - Low         -> 0x01
>  - Medium      -> 0x10
>  - High        -> 0x11
> 
> (Normal Default)
> 
> References:
>  - http://www.mouser.com/catalog/specsheets/2514.pdf p29
> 
> Signed-off-by: Tommaso Merciai <tomm.merciai@gmail.com>
> ---
>  drivers/usb/misc/usb251xb.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/misc/usb251xb.c b/drivers/usb/misc/usb251xb.c
> index 507deef1f709..74fd8ac0c303 100644
> --- a/drivers/usb/misc/usb251xb.c
> +++ b/drivers/usb/misc/usb251xb.c
> @@ -543,6 +544,12 @@ static int usb251xb_get_ofdata(struct usb251xb *hub,
>  	if (of_property_read_u16_array(np, "language-id", &hub->lang_id, 1))
>  		hub->lang_id = USB251XB_DEF_LANGUAGE_ID;
>  
> +	if (!of_property_read_u8(np, "boost-up", &property_u8)){
> +		hub->boost_up = property_u8;
> +	} else {
> +		hub->boost_up = USB251XB_DEF_BOOST_UP;
> +	}

   No need for {} here at all.

[...]

MBR, Sergey
diff mbox series

Patch

diff --git a/drivers/usb/misc/usb251xb.c b/drivers/usb/misc/usb251xb.c
index 507deef1f709..74fd8ac0c303 100644
--- a/drivers/usb/misc/usb251xb.c
+++ b/drivers/usb/misc/usb251xb.c
@@ -402,6 +402,7 @@  static int usb251xb_get_ofdata(struct usb251xb *hub,
 	struct device_node *np = dev->of_node;
 	int len, err;
 	u32 property_u32 = 0;
+	u8 property_u8 = 0;
 	const char *cproperty_char;
 	char str[USB251XB_STRING_BUFSIZE / 2];
 
@@ -543,6 +544,12 @@  static int usb251xb_get_ofdata(struct usb251xb *hub,
 	if (of_property_read_u16_array(np, "language-id", &hub->lang_id, 1))
 		hub->lang_id = USB251XB_DEF_LANGUAGE_ID;
 
+	if (!of_property_read_u8(np, "boost-up", &property_u8)){
+		hub->boost_up = property_u8;
+	} else {
+		hub->boost_up = USB251XB_DEF_BOOST_UP;
+	}
+
 	cproperty_char = of_get_property(np, "manufacturer", NULL);
 	strlcpy(str, cproperty_char ? : USB251XB_DEF_MANUFACTURER_STRING,
 		sizeof(str));
@@ -584,7 +591,6 @@  static int usb251xb_get_ofdata(struct usb251xb *hub,
 	 * may be as soon as needed.
 	 */
 	hub->bat_charge_en = USB251XB_DEF_BATTERY_CHARGING_ENABLE;
-	hub->boost_up = USB251XB_DEF_BOOST_UP;
 	hub->boost_57 = USB251XB_DEF_BOOST_57;
 	hub->boost_14 = USB251XB_DEF_BOOST_14;
 	hub->port_map12 = USB251XB_DEF_PORT_MAP_12;