All of lore.kernel.org
 help / color / mirror / Atom feed
* sun4i-i2s: Wrong quirks for Allwinner A64 ?
@ 2019-04-21 12:35 ` Clément Péron
  0 siblings, 0 replies; 4+ messages in thread
From: Clément Péron @ 2019-04-21 12:35 UTC (permalink / raw)
  To: Marcus Cooper, Vasily Khoruzhick, Icenowy Zheng
  Cc: alsa-devel, linux-arm-kernel

Hi,

I'm looking to port the sun4i-i2s drivers for Allwinner H6, but
regarding the quirks I found strange that H3 and A64 was so different.

I have analyzed the datasheet and using human reading comparison, I
have found only 3 minor differences in the registers.

H3 reference i have used : H3 Datasheet(Revision 1.0)
For A64 : A64 User Manual(Revision 1.1)

H3 is identical to A64 except H3 has new :
LRCKR_OUT bit(16) in PCM_CONTROL_REG
SDI_sync_sel Bit(31) in PCM_FMT0_REG
LRCKR_PERIOD Mask(29:20) in PCM_FMT0_REG

Regarding the quirks struct in the drivers and the commit log
sha1: 66ecce3325383c8304063e7d5a30f4374ef5a33e
ASoC: sun4i-i2s: Add compatibility with A64 codec I2S

    The I2S block used for the audio codec in the A64 differs from other 3
    I2S modules in A64 and isn't compatible with H3. But it is very similar
    to what is found in A10(sun4i). However, its TX FIFO is
    located at a different address.

It said that A64 is really different which I disagree, for me the H3
use the same IP as A64 with a little improvement.
Which seems logical because "The A64 is basically an Allwinner H3 with
the Cortex-A7 cores replaced with Cortex-A53 cores" (source
linux-sunxi.org)

I'm okay to send a patch to fix that but I don't have an H3 nor A64 to
test the modification.

Thanks,
Clement

^ permalink raw reply	[flat|nested] 4+ messages in thread

* sun4i-i2s: Wrong quirks for Allwinner A64 ?
@ 2019-04-21 12:35 ` Clément Péron
  0 siblings, 0 replies; 4+ messages in thread
From: Clément Péron @ 2019-04-21 12:35 UTC (permalink / raw)
  To: Marcus Cooper, Vasily Khoruzhick, Icenowy Zheng
  Cc: alsa-devel, linux-arm-kernel

Hi,

I'm looking to port the sun4i-i2s drivers for Allwinner H6, but
regarding the quirks I found strange that H3 and A64 was so different.

I have analyzed the datasheet and using human reading comparison, I
have found only 3 minor differences in the registers.

H3 reference i have used : H3 Datasheet(Revision 1.0)
For A64 : A64 User Manual(Revision 1.1)

H3 is identical to A64 except H3 has new :
LRCKR_OUT bit(16) in PCM_CONTROL_REG
SDI_sync_sel Bit(31) in PCM_FMT0_REG
LRCKR_PERIOD Mask(29:20) in PCM_FMT0_REG

Regarding the quirks struct in the drivers and the commit log
sha1: 66ecce3325383c8304063e7d5a30f4374ef5a33e
ASoC: sun4i-i2s: Add compatibility with A64 codec I2S

    The I2S block used for the audio codec in the A64 differs from other 3
    I2S modules in A64 and isn't compatible with H3. But it is very similar
    to what is found in A10(sun4i). However, its TX FIFO is
    located at a different address.

It said that A64 is really different which I disagree, for me the H3
use the same IP as A64 with a little improvement.
Which seems logical because "The A64 is basically an Allwinner H3 with
the Cortex-A7 cores replaced with Cortex-A53 cores" (source
linux-sunxi.org)

I'm okay to send a patch to fix that but I don't have an H3 nor A64 to
test the modification.

Thanks,
Clement

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: sun4i-i2s: Wrong quirks for Allwinner A64 ?
  2019-04-21 12:35 ` Clément Péron
  (?)
@ 2019-04-22  2:35 ` Vasily Khoruzhick
  2019-04-22 17:48   ` Clément Péron
  -1 siblings, 1 reply; 4+ messages in thread
From: Vasily Khoruzhick @ 2019-04-22  2:35 UTC (permalink / raw)
  To: Clément Péron
  Cc: Marcus Cooper, Linux-ALSA, linux-arm-kernel, Icenowy Zheng

On Sun, Apr 21, 2019 at 5:35 AM Clément Péron <peron.clem@gmail.com> wrote:
>
> Hi,
>
> I'm looking to port the sun4i-i2s drivers for Allwinner H6, but
> regarding the quirks I found strange that H3 and A64 was so different.
>
> I have analyzed the datasheet and using human reading comparison, I
> have found only 3 minor differences in the registers.
>
> H3 reference i have used : H3 Datasheet(Revision 1.0)
> For A64 : A64 User Manual(Revision 1.1)
>
> H3 is identical to A64 except H3 has new :
> LRCKR_OUT bit(16) in PCM_CONTROL_REG
> SDI_sync_sel Bit(31) in PCM_FMT0_REG
> LRCKR_PERIOD Mask(29:20) in PCM_FMT0_REG
>
> Regarding the quirks struct in the drivers and the commit log
> sha1: 66ecce3325383c8304063e7d5a30f4374ef5a33e
> ASoC: sun4i-i2s: Add compatibility with A64 codec I2S

Note that it mentions *codec* I2S. A64 has 4 I2S, 3 are pretty much
like H3, but the other (one that is used with built-in audio codec) is
totally different.

See 3.20.4 in A64 user manual, regs 0x00-0x3c are codec I2S.

>
>     The I2S block used for the audio codec in the A64 differs from other 3
>     I2S modules in A64 and isn't compatible with H3. But it is very similar
>     to what is found in A10(sun4i). However, its TX FIFO is
>     located at a different address.
>
> It said that A64 is really different which I disagree, for me the H3
> use the same IP as A64 with a little improvement.
> Which seems logical because "The A64 is basically an Allwinner H3 with
> the Cortex-A7 cores replaced with Cortex-A53 cores" (source
> linux-sunxi.org)
>
> I'm okay to send a patch to fix that but I don't have an H3 nor A64 to
> test the modification.
>
> Thanks,
> Clement

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: sun4i-i2s: Wrong quirks for Allwinner A64 ?
  2019-04-22  2:35 ` Vasily Khoruzhick
@ 2019-04-22 17:48   ` Clément Péron
  0 siblings, 0 replies; 4+ messages in thread
From: Clément Péron @ 2019-04-22 17:48 UTC (permalink / raw)
  To: Vasily Khoruzhick
  Cc: Marcus Cooper, Linux-ALSA, linux-arm-kernel, Icenowy Zheng

Hi Vasily,

On Mon, 22 Apr 2019 at 04:35, Vasily Khoruzhick <anarsoul@gmail.com> wrote:
>
> On Sun, Apr 21, 2019 at 5:35 AM Clément Péron <peron.clem@gmail.com> wrote:
> >
> > Hi,
> >
> > I'm looking to port the sun4i-i2s drivers for Allwinner H6, but
> > regarding the quirks I found strange that H3 and A64 was so different.
> >
> > I have analyzed the datasheet and using human reading comparison, I
> > have found only 3 minor differences in the registers.
> >
> > H3 reference i have used : H3 Datasheet(Revision 1.0)
> > For A64 : A64 User Manual(Revision 1.1)
> >
> > H3 is identical to A64 except H3 has new :
> > LRCKR_OUT bit(16) in PCM_CONTROL_REG
> > SDI_sync_sel Bit(31) in PCM_FMT0_REG
> > LRCKR_PERIOD Mask(29:20) in PCM_FMT0_REG
> >
> > Regarding the quirks struct in the drivers and the commit log
> > sha1: 66ecce3325383c8304063e7d5a30f4374ef5a33e
> > ASoC: sun4i-i2s: Add compatibility with A64 codec I2S
>
> Note that it mentions *codec* I2S. A64 has 4 I2S, 3 are pretty much
> like H3, but the other (one that is used with built-in audio codec) is
> totally different.

Indeed... Not sure why my brain skip this word when I read the commit log.
But its well explained and obvious when looking at the device-tree.

Thanks for the reply,
Clement

>
> See 3.20.4 in A64 user manual, regs 0x00-0x3c are codec I2S.
>
> >
> >     The I2S block used for the audio codec in the A64 differs from other 3
> >     I2S modules in A64 and isn't compatible with H3. But it is very similar
> >     to what is found in A10(sun4i). However, its TX FIFO is
> >     located at a different address.
> >
> > It said that A64 is really different which I disagree, for me the H3
> > use the same IP as A64 with a little improvement.
> > Which seems logical because "The A64 is basically an Allwinner H3 with
> > the Cortex-A7 cores replaced with Cortex-A53 cores" (source
> > linux-sunxi.org)
> >
> > I'm okay to send a patch to fix that but I don't have an H3 nor A64 to
> > test the modification.
> >
> > Thanks,
> > Clement

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-04-22 17:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-21 12:35 sun4i-i2s: Wrong quirks for Allwinner A64 ? Clément Péron
2019-04-21 12:35 ` Clément Péron
2019-04-22  2:35 ` Vasily Khoruzhick
2019-04-22 17:48   ` Clément Péron

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.