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
>
>
>
prev 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).