The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/sound/st,sti-asoc-card.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 STMicroelectronics sti ASoC cards
    2 
    3 The sti ASoC Sound Card can be used, for all sti SoCs using internal sti-sas
    4 codec or external codecs.
    5 
    6 sti sound drivers allows to expose sti SoC audio interface through the
    7 generic ASoC simple card. For details about sound card declaration please refer to
    8 Documentation/devicetree/bindings/sound/simple-card.yaml.
    9 
   10 1) sti-uniperiph-dai: audio dai device.
   11 ---------------------------------------
   12 
   13 Required properties:
   14   - compatible: "st,stih407-uni-player-hdmi", "st,stih407-uni-player-pcm-out",
   15                 "st,stih407-uni-player-dac", "st,stih407-uni-player-spdif",
   16                 "st,stih407-uni-reader-pcm_in", "st,stih407-uni-reader-hdmi",
   17 
   18   - st,syscfg: phandle to boot-device system configuration registers
   19 
   20   - clock-names: name of the clocks listed in clocks property in the same order
   21 
   22   - reg: CPU DAI IP Base address and size entries, listed  in same
   23          order than the CPU_DAI properties.
   24 
   25   - reg-names: names of the mapped memory regions listed in regs property in
   26                the same order.
   27 
   28   - interrupts: CPU_DAI interrupt line, listed in the same order than the
   29                 CPU_DAI properties.
   30 
   31   - dma: CPU_DAI DMA controller phandle and DMA request line, listed in the same
   32          order than the CPU_DAI properties.
   33 
   34   - dma-names: identifier string for each DMA request line in the dmas property.
   35         "tx" for "st,sti-uni-player" compatibility
   36         "rx" for "st,sti-uni-reader" compatibility
   37 
   38 Required properties ("st,sti-uni-player" compatibility only):
   39   - clocks: CPU_DAI IP clock source, listed in the same order than the
   40             CPU_DAI properties.
   41 
   42 Optional properties:
   43   - pinctrl-0: defined for CPU_DAI@1 and CPU_DAI@4 to describe I2S PIOs for
   44                external codecs connection.
   45 
   46   - pinctrl-names: should contain only one value - "default".
   47 
   48   - st,tdm-mode: to declare to set TDM mode for unireader and uniplayer IPs.
   49         Only compartible with IPs in charge of the external I2S/TDM bus.
   50         Should be declared depending on associated codec.
   51 
   52 Example:
   53 
   54         sti_uni_player1: sti-uni-player@8d81000 {
   55                 compatible = "st,stih407-uni-player-hdmi";
   56                 #sound-dai-cells = <0>;
   57                 st,syscfg = <&syscfg_core>;
   58                 clocks = <&clk_s_d0_flexgen CLK_PCM_1>;
   59                 reg = <0x8D81000 0x158>;
   60                 interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
   61                 dmas = <&fdma0 3 0 1>;
   62                 dma-names = "tx";
   63                 st,tdm-mode = <1>;
   64         };
   65 
   66         sti_uni_player2: sti-uni-player@8d82000 {
   67                 compatible = "st,stih407-uni-player-pcm-out";
   68                 #sound-dai-cells = <0>;
   69                 st,syscfg = <&syscfg_core>;
   70                 clocks = <&clk_s_d0_flexgen CLK_PCM_2>;
   71                 reg = <0x8D82000 0x158>;
   72                 interrupts = <GIC_SPI 86 IRQ_TYPE_NONE>;
   73                 dmas = <&fdma0 4 0 1>;
   74                 dma-names = "tx";
   75         };
   76 
   77         sti_uni_player3: sti-uni-player@8d85000 {
   78                 compatible = "st,stih407-uni-player-spdif";
   79                 #sound-dai-cells = <0>;
   80                 st,syscfg = <&syscfg_core>;
   81                 clocks = <&clk_s_d0_flexgen CLK_SPDIFF>;
   82                 reg = <0x8D85000 0x158>;
   83                 interrupts = <GIC_SPI 89 IRQ_TYPE_NONE>;
   84                 dmas = <&fdma0 7 0 1>;
   85                 dma-names = "tx";
   86         };
   87 
   88         sti_uni_reader1: sti-uni-reader@8d84000 {
   89                 compatible = "st,stih407-uni-reader-hdmi";
   90                 #sound-dai-cells = <0>;
   91                 st,syscfg = <&syscfg_core>;
   92                 reg = <0x8D84000 0x158>;
   93                 interrupts = <GIC_SPI 88 IRQ_TYPE_NONE>;
   94                 dmas = <&fdma0 6 0 1>;
   95                 dma-names = "rx";
   96         };
   97 
   98 2) sti-sas-codec: internal audio codec IPs driver
   99 -------------------------------------------------
  100 
  101 Required properties:
  102   - compatible: "st,sti<chip>-sas-codec" .
  103         Should be chip "st,stih416-sas-codec" or "st,stih407-sas-codec"
  104 
  105   - st,syscfg: phandle to boot-device system configuration registers.
  106 
  107   - pinctrl-0: SPDIF PIO description.
  108 
  109   - pinctrl-names: should contain only one value - "default".
  110 
  111 Example:
  112         sti_sas_codec: sti-sas-codec {
  113                 compatible = "st,stih407-sas-codec";
  114                 #sound-dai-cells = <1>;
  115                 st,reg_audio = <&syscfg_core>;
  116                 pinctrl-names = "default";
  117                 pinctrl-0 = <&pinctrl_spdif_out >;
  118         };
  119 
  120 Example of audio card declaration:
  121         sound {
  122                 compatible = "simple-audio-card";
  123                 simple-audio-card,name = "sti audio card";
  124 
  125                 simple-audio-card,dai-link@0 {
  126                         /* DAC */
  127                         format = "i2s";
  128                         dai-tdm-slot-width = <32>;
  129                         cpu {
  130                                 sound-dai = <&sti_uni_player2>;
  131                         };
  132 
  133                         codec {
  134                                 sound-dai = <&sti_sasg_codec 1>;
  135                         };
  136                 };
  137                 simple-audio-card,dai-link@1 {
  138                         /* SPDIF */
  139                         format = "left_j";
  140                         cpu {
  141                                 sound-dai = <&sti_uni_player3>;
  142                         };
  143 
  144                         codec {
  145                                 sound-dai = <&sti_sasg_codec 0>;
  146                         };
  147                 };
  148                 simple-audio-card,dai-link@2 {
  149                         /* TDM playback  */
  150                         format = "left_j";
  151                         frame-inversion = <1>;
  152                         cpu {
  153                                 sound-dai = <&sti_uni_player1>;
  154                                 dai-tdm-slot-num = <16>;
  155                                 dai-tdm-slot-width = <16>;
  156                                 dai-tdm-slot-tx-mask =
  157                                         <1 1 1 1 0 0 0 0 0 0 1 1 0 0 1 1>;
  158                         };
  159 
  160                         codec {
  161                                 sound-dai = <&sti_sasg_codec 3>;
  162                         };
  163                 };
  164         };

Cache object: 4264927e4503044be0a18e50e5873ae7


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.