All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Frank Schäfer" <fschaefer.oss@googlemail.com>
To: Alban Browaeys <alban.browaeys@gmail.com>
Cc: m.chehab@samsung.com, linux-media@vger.kernel.org,
	Alban Browaeys <prahal@yahoo.com>
Subject: Re: [PATCH 3/4] [media] em28xx: usb power config is in the low byte.
Date: Wed, 24 Jul 2013 17:33:54 +0200	[thread overview]
Message-ID: <51EFF3E2.4080707@googlemail.com> (raw)
In-Reply-To: <CAMhY2AUZAFPykoxt+fw7XzzNPftcOOAXws4mwMOJrq7hzpdvUw@mail.gmail.com>

[2nd try - vger.kernel.org rejects html content]

Am 24.07.2013 16:16, schrieb Alban Browaeys:
> sorry the weater is getting really warm there. I will take a closer
> look at that . But mind that we grab two bytes and '<usb config for
> audio and power> <usb transfer rates>' thus I guessed we had to shift
> 4 bits the left byte (08H) to get 0:3 .

True, but with le16_to_cpu conversion everything is fine. ;)
Apart from that: a byte usually has 8 bits, not 4... ;)

Regards,
Frank

>
>
> 2013/7/24 Alban Browaeys <alban.browaeys@gmail.com
> <mailto:alban.browaeys@gmail.com>>
>
>     Agreed 4:7 are fo usb "audio" class config cofiguration and 0:3
>     are for usb configuration ... that is wat I told and what I coded
>     i the patch:
>     08H Chip Configuration Low Byte
>     D[7] Class audio or vendor audio
>     0 – Inform the host that the chip is USB audio class device
>     1 – Inform the host that the chip is vendor specific audio device
>     D[6] USB audio class volume control capability when audio source
>     is I2S device.
>     When audio source is AC97, the chip is always capable of volume
>     control
>     regardless of the state of this bit.
>     0 – Inform the host that the chip is not capable of volume control.
>     1 – Inform the host that the chip is capable of volume control.
>     D[5:4] Audio Configuration
>     00 – No audio on board.
>     01 – AC97 audio on board with 5 sample rates: 48K, 44.1K, 32K,
>     16K, and 8K.
>     2
>     10 – I S audio on board with 3 sample rate: 32K, 16K, and 8K.
>     11 – I2S audio on board with 5 sample rates: 48K, 44.1K, and 32K,
>     16K, and 8K.
>     D[3] USB Remote Wakeup Capable when set to 1
>     D[2] USB Self Power Capable when set to 1. If the chip is
>     configured to be Self Power
>     Capable, PIO7 becomes self power status input.
>     D[1:0] USB Max Power Select
>     00 – USB Max Power 500 mA
>     01 – USB Max Power 400 mA
>     10 – USB Max Power 300 mA
>     11 – USB Max Power 200 mA
>
>
>     But you current code attempt to read the usb configuration 09H . 
>
>
>     2013/7/18 Frank Schäfer <fschaefer.oss@googlemail.com
>     <mailto:fschaefer.oss@googlemail.com>>
>
>         Am 17.07.2013 01:06, schrieb Alban Browaeys:
>         > According to the em2860 datasheet, eeprom byte 08H is Chip
>         > Configuration Low Byte and 09H is High Byte.
>         > Usb power configuration is in the Low byte (same as the usb
>         audio
>         >  class config).
>         >
>         > Signed-off-by: Alban Browaeys <prahal@yahoo.com
>         <mailto:prahal@yahoo.com>>
>         > ---
>         >  drivers/media/usb/em28xx/em28xx-i2c.c | 6 +++---
>         >  1 file changed, 3 insertions(+), 3 deletions(-)
>         >
>         > diff --git a/drivers/media/usb/em28xx/em28xx-i2c.c
>         b/drivers/media/usb/em28xx/em28xx-i2c.c
>         > index c4ff973..6ff7415 100644
>         > --- a/drivers/media/usb/em28xx/em28xx-i2c.c
>         > +++ b/drivers/media/usb/em28xx/em28xx-i2c.c
>         > @@ -743,13 +743,13 @@ static int em28xx_i2c_eeprom(struct
>         em28xx *dev, unsigned bus,
>         >               break;
>         >       }
>         >
>         > -     if (le16_to_cpu(dev_config->chip_conf) & 1 << 3)
>         > +     if (le16_to_cpu(dev_config->chip_conf) >> 4 & 1 << 3)
>         >               em28xx_info("\tUSB Remote wakeup capable\n");
>         >
>         > -     if (le16_to_cpu(dev_config->chip_conf) & 1 << 2)
>         > +     if (le16_to_cpu(dev_config->chip_conf) >> 4 & 1 << 2)
>         >               em28xx_info("\tUSB Self power capable\n");
>         >
>         > -     switch (le16_to_cpu(dev_config->chip_conf) & 0x3) {
>         > +     switch (le16_to_cpu(dev_config->chip_conf) >> 4 & 0x3) {
>         >       case 0:
>         >               em28xx_info("\t500mA max power\n");
>         >               break;
>
>         NACK.
>         According to my datasheet excerpt (EM2860 Hardware Specification
>         8/18/2004), bits 0:3 are used for USB configuration and bits
>         4:7 for
>         audio configuration.
>         So the current code is correct.
>
>         Regards,
>         Frank
>
>
>


      parent reply	other threads:[~2013-07-24 15:31 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-16 23:06 [PATCH 3/4] [media] em28xx: usb power config is in the low byte Alban Browaeys
2013-07-18 15:27 ` Frank Schäfer
     [not found]   ` <CAMhY2AXOk+poaxcqTiDvGCWcUEQFTT025=h3WdhrOB3bQKPEoQ@mail.gmail.com>
     [not found]     ` <CAMhY2AUZAFPykoxt+fw7XzzNPftcOOAXws4mwMOJrq7hzpdvUw@mail.gmail.com>
2013-07-24 15:33       ` Frank Schäfer [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51EFF3E2.4080707@googlemail.com \
    --to=fschaefer.oss@googlemail.com \
    --cc=alban.browaeys@gmail.com \
    --cc=linux-media@vger.kernel.org \
    --cc=m.chehab@samsung.com \
    --cc=prahal@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.