Message ID | 1443635458-8873-2-git-send-email-codekipper@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, Sep 30, 2015 at 07:50:55PM +0200, codekipper@gmail.com wrote: > From: Marcus Cooper <codekipper@gmail.com> > > Add devicetree bindings for the SPDIF transceiver found on > found on Allwinners A10, A20 and A31 SoCs. > > Signed-off-by: Marcus Cooper <codekipper@gmail.com> > --- > .../devicetree/bindings/sound/sunxi,spdif.txt | 49 ++++++++++++++++++++++ > 1 file changed, 49 insertions(+) > create mode 100644 Documentation/devicetree/bindings/sound/sunxi,spdif.txt > > diff --git a/Documentation/devicetree/bindings/sound/sunxi,spdif.txt b/Documentation/devicetree/bindings/sound/sunxi,spdif.txt > new file mode 100644 > index 0000000..1868722 > --- /dev/null > +++ b/Documentation/devicetree/bindings/sound/sunxi,spdif.txt > @@ -0,0 +1,49 @@ > +Allwinner Sony/Philips Digital Interface Format (S/PDIF) Controller > + > +The Allwinner S/PDIF audio block is a transceiver that allows the > +processor to receive and transmit digital audio via an coaxial cable or > +a fibre cable. > + > +Required properties: > + > + - compatible : should be one of the following: > + - "allwinner,sun4i-a10-spdif": for the Allwinner A10 SoC > + - "allwinner,sun7i-a20-spdif": for the Allwinner A20 SoC > + - "allwinner,sun6i-a31-spdif": for the Allwinner A31 SoC Are all these compatibles really work? Is there any significant difference between the controller on all these SoCs? Thanks, Maxime
>> + >> + - compatible : should be one of the following: >> + - "allwinner,sun4i-a10-spdif": for the Allwinner A10 SoC >> + - "allwinner,sun7i-a20-spdif": for the Allwinner A20 SoC >> + - "allwinner,sun6i-a31-spdif": for the Allwinner A31 SoC > > Are all these compatibles really work? Is there any significant > difference between the controller on all these SoCs? Let us assume that there isn't any difference. Remember SPDIF details for all of these devices is sketchy. In the A10 User Manual, it's not even mentioned although devices such as the Mele A2000 which I use come with the physical connector. It's only when the A20 Manual was released that we see the pin details and related components. We didn't see a SPDIF block spec until the H3 User Manual was released. Looking at the SDK code I've only seen fifo level settings to be different for the sun6i family. It was this release that also showed Rx rotines. The fact of the matter is we won't know until these SoCs have been tested and with that in mind I'm happy to remove all capabilities for now until then. BR, CK > > Thanks, > Maxime > > -- > Maxime Ripard, Free Electrons > Embedded Linux, Kernel and Android engineering > http://free-electrons.com
On Fri, Oct 02, 2015 at 07:24:20AM +0200, Code Kipper wrote: > >> + > >> + - compatible : should be one of the following: > >> + - "allwinner,sun4i-a10-spdif": for the Allwinner A10 SoC > >> + - "allwinner,sun7i-a20-spdif": for the Allwinner A20 SoC > >> + - "allwinner,sun6i-a31-spdif": for the Allwinner A31 SoC > > > > Are all these compatibles really work? Is there any significant > > difference between the controller on all these SoCs? > > Let us assume that there isn't any difference. Remember SPDIF details > for all of these devices is sketchy. In the A10 User Manual, it's not > even mentioned although devices such as the Mele A2000 which I use > come with the physical connector. It's only when the A20 Manual was > released that we see the pin details and related components. We didn't > see a SPDIF block spec until the H3 User Manual was released. > > Looking at the SDK code I've only seen fifo level settings to be > different for the sun6i family. It was this release that also showed > Rx rotines. The fact of the matter is we won't know until these SoCs > have been tested and with that in mind I'm happy to remove all > capabilities for now until then. The point was more that you document compatibles that you are not actually supporting. You've only tested it on one SoC (and it actually works only on one SoC, or at least with one compatible), so only document that. Maxime
On 5 October 2015 at 10:41, Maxime Ripard <maxime.ripard@free-electrons.com> wrote: > On Fri, Oct 02, 2015 at 07:24:20AM +0200, Code Kipper wrote: >> >> + >> >> + - compatible : should be one of the following: >> >> + - "allwinner,sun4i-a10-spdif": for the Allwinner A10 SoC >> >> + - "allwinner,sun7i-a20-spdif": for the Allwinner A20 SoC >> >> + - "allwinner,sun6i-a31-spdif": for the Allwinner A31 SoC >> > >> > Are all these compatibles really work? Is there any significant >> > difference between the controller on all these SoCs? >> >> Let us assume that there isn't any difference. Remember SPDIF details >> for all of these devices is sketchy. In the A10 User Manual, it's not >> even mentioned although devices such as the Mele A2000 which I use >> come with the physical connector. It's only when the A20 Manual was >> released that we see the pin details and related components. We didn't >> see a SPDIF block spec until the H3 User Manual was released. >> >> Looking at the SDK code I've only seen fifo level settings to be >> different for the sun6i family. It was this release that also showed >> Rx rotines. The fact of the matter is we won't know until these SoCs >> have been tested and with that in mind I'm happy to remove all >> capabilities for now until then. > > The point was more that you document compatibles that you are not > actually supporting. > > You've only tested it on one SoC (and it actually works only on one > SoC, or at least with one compatible), so only document that. Fixed, Thanks, CK > > Maxime > > -- > Maxime Ripard, Free Electrons > Embedded Linux, Kernel and Android engineering > http://free-electrons.com
diff --git a/Documentation/devicetree/bindings/sound/sunxi,spdif.txt b/Documentation/devicetree/bindings/sound/sunxi,spdif.txt new file mode 100644 index 0000000..1868722 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/sunxi,spdif.txt @@ -0,0 +1,49 @@ +Allwinner Sony/Philips Digital Interface Format (S/PDIF) Controller + +The Allwinner S/PDIF audio block is a transceiver that allows the +processor to receive and transmit digital audio via an coaxial cable or +a fibre cable. + +Required properties: + + - compatible : should be one of the following: + - "allwinner,sun4i-a10-spdif": for the Allwinner A10 SoC + - "allwinner,sun7i-a20-spdif": for the Allwinner A20 SoC + - "allwinner,sun6i-a31-spdif": for the Allwinner A31 SoC + + - reg : Offset and length of the register set for the device. + + - interrupts : Contains the spdif interrupt. + + - dmas : Generic dma devicetree binding as described in + Documentation/devicetree/bindings/dma/dma.txt. + + - dma-names : Two dmas have to be defined, "tx" and "rx". + + - clocks : Contains an entry for each entry in clock-names. + + - clock-names : Includes the following entries: + "apb" clock for the spdif bus. + "audio" clock from the audio pll. + "spdif" clock for spdif controller. + +Optional: + + - spdif-in : Enable block for capturing an SPDIF signal. + + - spdif-out : Enable block for transmitting an SPDIF signal. + +Example: + +spdif: spdif@01c21000 { + compatible = "allwinner,sun4i-a10-spdif"; + reg = <0x01c21000 0x40>; + interrupts = <13>; + clocks = <&apb0_gates 1>, <&pll2 0>, <&spdif_clk>; + clock-names = "apb", "audio", "spdif"; + dmas = <&dma 0 2>, <&dma 0 2>; + dma-names = "rx", "tx"; + spdif-in = "disabled"; + spdif-out = "okay"; + status = "okay"; +};