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/ti,j721e-cpb-audio.yaml

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 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
    2 # Copyright (C) 2020 Texas Instruments Incorporated
    3 # Author: Peter Ujfalusi <peter.ujfalusi@ti.com>
    4 %YAML 1.2
    5 ---
    6 $id: http://devicetree.org/schemas/sound/ti,j721e-cpb-audio.yaml#
    7 $schema: http://devicetree.org/meta-schemas/core.yaml#
    8 
    9 title: Texas Instruments J721e Common Processor Board Audio Support
   10 
   11 maintainers:
   12   - Peter Ujfalusi <peter.ujfalusi@gmail.com>
   13 
   14 description: |
   15   The audio support on the board is using pcm3168a codec connected to McASP10
   16   serializers in parallel setup.
   17   The pcm3168a SCKI clock is sourced from j721e AUDIO_REFCLK2 pin.
   18   In order to support 48KHz and 44.1KHz family of sampling rates the parent
   19   clock for AUDIO_REFCLK2 needs to be changed between PLL4 (for 48KHz) and
   20   PLL15 (for 44.1KHz). The same PLLs are used for McASP10's AUXCLK clock via
   21   different HSDIVIDER.
   22 
   23   Clocking setup for j721e:
   24     48KHz family:
   25     PLL4 ---> PLL4_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk
   26           |-> PLL4_HSDIV2 ---> AUDIO_REFCLK2  ---> pcm3168a.SCKI
   27 
   28     44.1KHz family:
   29     PLL15 ---> PLL15_HSDIV0 ---> MCASP10_AUXCLK ---> McASP10.auxclk
   30            |-> PLL15_HSDIV2 ---> AUDIO_REFCLK2  ---> pcm3168a.SCKI
   31 
   32   Clocking setup for j7200:
   33     48KHz family:
   34     PLL4 ---> PLL4_HSDIV0 ---> MCASP0_AUXCLK ---> McASP0.auxclk
   35           |-> PLL4_HSDIV2 ---> AUDIO_REFCLK2  ---> pcm3168a.SCKI
   36 
   37 properties:
   38   compatible:
   39     enum:
   40       - ti,j721e-cpb-audio
   41       - ti,j7200-cpb-audio
   42 
   43   model:
   44     $ref: /schemas/types.yaml#/definitions/string
   45     description: User specified audio sound card name
   46 
   47   ti,cpb-mcasp:
   48     description: phandle to McASP used on CPB
   49     $ref: /schemas/types.yaml#/definitions/phandle
   50 
   51   ti,cpb-codec:
   52     description: phandle to the pcm3168a codec used on the CPB
   53     $ref: /schemas/types.yaml#/definitions/phandle
   54 
   55   clocks:
   56     minItems: 4
   57     maxItems: 6
   58 
   59   clock-names:
   60     minItems: 4
   61     maxItems: 6
   62 
   63 required:
   64   - compatible
   65   - model
   66   - ti,cpb-mcasp
   67   - ti,cpb-codec
   68   - clocks
   69   - clock-names
   70 
   71 additionalProperties: false
   72 
   73 allOf:
   74   - if:
   75       properties:
   76         compatible:
   77           contains:
   78             const: ti,j721e-cpb-audio
   79 
   80     then:
   81       properties:
   82         clocks:
   83           items:
   84             - description: AUXCLK clock for McASP used by CPB audio
   85             - description: Parent for CPB_McASP auxclk (for 48KHz)
   86             - description: Parent for CPB_McASP auxclk (for 44.1KHz)
   87             - description: SCKI clock for the pcm3168a codec on CPB
   88             - description: Parent for CPB_SCKI clock (for 48KHz)
   89             - description: Parent for CPB_SCKI clock (for 44.1KHz)
   90 
   91         clock-names:
   92           items:
   93             - const: cpb-mcasp-auxclk
   94             - const: cpb-mcasp-auxclk-48000
   95             - const: cpb-mcasp-auxclk-44100
   96             - const: cpb-codec-scki
   97             - const: cpb-codec-scki-48000
   98             - const: cpb-codec-scki-44100
   99 
  100   - if:
  101       properties:
  102         compatible:
  103           contains:
  104             const: ti,j7200-cpb-audio
  105 
  106     then:
  107       properties:
  108         clocks:
  109           items:
  110             - description: AUXCLK clock for McASP used by CPB audio
  111             - description: Parent for CPB_McASP auxclk (for 48KHz)
  112             - description: SCKI clock for the pcm3168a codec on CPB
  113             - description: Parent for CPB_SCKI clock (for 48KHz)
  114 
  115         clock-names:
  116           items:
  117             - const: cpb-mcasp-auxclk
  118             - const: cpb-mcasp-auxclk-48000
  119             - const: cpb-codec-scki
  120             - const: cpb-codec-scki-48000
  121 
  122 examples:
  123   - |+
  124     sound {
  125         compatible = "ti,j721e-cpb-audio";
  126         model = "j721e-cpb";
  127 
  128         ti,cpb-mcasp = <&mcasp10>;
  129         ti,cpb-codec = <&pcm3168a_1>;
  130 
  131         clocks = <&k3_clks 184 1>,
  132                  <&k3_clks 184 2>, <&k3_clks 184 4>,
  133                  <&k3_clks 157 371>,
  134                  <&k3_clks 157 400>, <&k3_clks 157 401>;
  135         clock-names = "cpb-mcasp-auxclk",
  136                       "cpb-mcasp-auxclk-48000", "cpb-mcasp-auxclk-44100",
  137                       "cpb-codec-scki",
  138                       "cpb-codec-scki-48000", "cpb-codec-scki-44100";
  139     };

Cache object: 3bb6ad46297c17bd098e766d20664620


[ 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.