On Thu, Mar 16, 2017 at 5:50 AM, Olivier MOYSAN <olivier.moysan@xxxxxx> wrote: > Hello Rob, > > Thanks for your feedback. > > On 03/15/2017 06:46 PM, Rob Herring wrote: >> On Tue, Mar 07, 2017 at 10:44:31AM +0100, olivier moysan wrote: >>> This patch adds documentation of device tree bindings for the >>> STM32 SAI ASoC driver. >>> >>> Signed-off-by: olivier moysan <olivier.moysan@xxxxxx> >>> --- >>> .../devicetree/bindings/sound/st,stm32-sai.txt | 79 ++++++++++++++++++++++ >>> 1 file changed, 79 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/sound/st,stm32-sai.txt >>> >>> diff --git a/Documentation/devicetree/bindings/sound/st,stm32-sai.txt b/Documentation/devicetree/bindings/sound/st,stm32-sai.txt >>> new file mode 100644 >>> index 0000000..b3be26d >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/sound/st,stm32-sai.txt >>> @@ -0,0 +1,79 @@ >>> +STMicroelectronics STM32 Serial Audio Interface (SAI). >>> + >>> +The SAI interface (Serial Audio Interface) offers a wide set of audio protocols >>> +as I2S standards, LSB or MSB-justified, PCM/DSP, TDM, and AC'97. >>> +The SAI contains two independent audio sub-blocks. Each sub-block has >>> +its own clock generator and I/O lines controller. >>> + >>> +Required properties: >>> + - compatible: Should be "st,stm32f4-sai" >>> + - reg: Base address and size of SAI common register set. >>> + - clocks: Must contain phandle and clock specifier pairs for each entry >>> + in clock-names. >>> + - clock-names: Must contain "clk_x8k" and "clk_x11k" >>> + "clk_x8k": SAI parent clock for sampling rates multiple of 8kHz. >>> + "clk_x11k": SAI parent clock for sampling rates multiple of 11.025kHz. >> >> clk_ is redundant. >> > > Do you mean, removing clk_ prefix ? Yes. > >>> + - interrupts: cpu DAI interrupt line shared by SAI sub-blocks >>> + >>> +Note: Each SAI controller should have an alias correctly numbered >>> +in "aliases" node, to provide explicit name to CPU DAI. >> >> No, it shouldn't. Why do you need that? >> > > Yes, this is not mandatory. This is convenient to identify sai > controller, as we may have up to 8 instances. > I can make it optional, or remove it if you think it is not relevant. Remove it. > >> >>> + >>> +Optional properties: >>> + - resets: Reference to a reset controller asserting the SAI >>> + >>> +SAI subnodes: >>> +Two subnodes corresponding to SAI sub-block instances A et B can be defined. >>> +Subnode can be omitted for unsused sub-block. >>> + >>> +SAI subnodes required properties: >>> + - compatible: Should be "st,stm32-sai-sub-a" or "st,stm32-sai-sub-b" >>> + for SAI sub-block A or B respectively. >>> + - reg: Base address and size of SAI sub-block register set. >>> + - clocks: Must contain one phandle and clock specifier pair >>> + for sai_ck which feeds the internal clock generator. >>> + - clock-names: Must contain "sai_ck". >>> + - dmas: see Documentation/devicetree/bindings/dma/stm32-dma.txt >>> + - dma-names: identifier string for each DMA request line >>> + "tx": if sai sub-block is configured as playback DAI >>> + "rx": if sai sub-block is configured as capture DAI >>> + - pinctrl-names: should contain only value "default" >>> + - pinctrl-0: see Documentation/devicetree/bindings/pinctrl/pinctrl-stm32.txt >>> + >>> +Example: >>> +sai1: sai1@40015800 { >>> + compatible = "st,stm32f4-sai"; >>> + reg = <0x40015800 0x400>; > > reg = <0x40015800 0x4>; > >>> + clocks = <&rcc 1 CLK_SAIQ_PDIV>, <&rcc 1 CLK_I2SQ_PDIV>; >>> + clock-names = "clk_x8k", "clk_x11k"; >>> + interrupts = <87>; >>> + resets = <&rcc 310>; >>> + >>> + sai1b: sai@1 { >> >> unit address needs a reg property. >> >> audio-controller@1 >> > > Right. This needs to be updated as follows: > sai1b: sai1b@40015824 { audio-controller@... > ... > reg = <0x40015824 0x1C>; > ... > }; > >>> + #sound-dai-cells = <0>; >>> + compatible = "st,stm32-sai-sub-b"; >>> + clocks = <&rcc 1 CLK_SAI2>; >>> + clock-names = "sai_ck"; >>> + dmas = <&dma2 5 0 0x400 0x1>; >>> + dma-names = "tx"; >>> + }; >>> +}; >>> + >>> +sound { >>> + compatible = "simple-audio-card"; >> >> Perhaps you want to use the graph-card here. It's getting close to >> merging. >> > > mclk-fs property is required when SAI is configured as master. > It seems that mclk-fs is not supported in current version > of audio graph card. So I thing I should keep simple card for the time > being. Anyway, I plan further updates for SAI, so I will > have opportunity to change to graph card at that time. Well, it's not easy to switch later and maintain compatibility. Is it complicated to add mclk-fs property? The intent is graph-card supports everything simple-card supports. Rob -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html