Hi Clement, On Mon, Apr 15, 2019 at 10:30:38AM +0200, Clément Péron wrote: > On Mon, 15 Apr 2019 at 10:18, Maxime Ripard <maxime.ripard@xxxxxxxxxxx> wrote: > > > > On Mon, Apr 15, 2019 at 10:09:11AM +0200, Clément Péron wrote: > > > Hi, > > > > > > On Mon, 15 Apr 2019 at 10:04, Maxime Ripard <maxime.ripard@xxxxxxxxxxx> wrote: > > > > > > > > Hi, > > > > > > > > On Thu, Apr 11, 2019 at 11:44:19PM +0200, Clément Péron wrote: > > > > > Allwinner H6 has a SPDIF controller with an increase of the fifo > > > > > size and the possibility to output the master clock. > > > > > However it's still compatible with the already existing driver for > > > > > Allwiner H3. > > > > > > > > > > Add this compatible in the device-tree bindings documentation. > > > > > > > > How was this tested? > > > > > > Using Alsa utils on a Beelink GS1 and I check correct output sound on > > > my home cinema. > > > > > > > After looking at the datasheet, it looks like it's still significantly > > > > different. In particular: > > > > > > > > - The MCLK divider isn't at the same offset > > > > > > We don't use the MCLK > > > > > > > - The bits to flush the FIFO aren't at the same offset > > > > - The FIFO trigger levels aren't at the same offset > > > > - The FIFO status register layout is almost entirely different > > > > > > We use DMA not FIFO > > > > Well, DMA still uses the FIFOs. And even then, you're kind of missing > > the point. The device tree's compatible is about whether a particular > > device can be used as another one. How you are using it in the driver > > is completely irrelevant. > > Sorry I meant " We use DMA not PIO". > > I didn't change the driver and the SPDIF is working what's irrelevant > in declaring the driver as compatible ? > > If some feature are missing they can be introduce later as there is a > special binding for H6 no ? You have to drop fallback to allwinner,sun8i-h3-spdif at the very least: + #sound-dai-cells = <0>; + compatible = "allwinner,sun50i-h6-spdif", + "allwinner,sun8i-h3-spdif"; + reg = <0x05093000 0x400>; If the H6 hardware doesn't just implement some optional superset of what H3 does. regards, o. > Clement > > > > > Maxime > > > > -- > > Maxime Ripard, Bootlin > > Embedded Linux and Kernel engineering > > https://bootlin.com > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel