linux-media.vger.kernel.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).