1*61c4878aSAndroid Build Coastguard Worker.. _module-pw_clock_tree_mcuxpresso: 2*61c4878aSAndroid Build Coastguard Worker 3*61c4878aSAndroid Build Coastguard Worker=========================== 4*61c4878aSAndroid Build Coastguard Workerpw_clock_tree_mcuxpresso 5*61c4878aSAndroid Build Coastguard Worker=========================== 6*61c4878aSAndroid Build Coastguard Worker.. pigweed-module:: 7*61c4878aSAndroid Build Coastguard Worker :name: pw_clock_tree_mcuxpresso 8*61c4878aSAndroid Build Coastguard Worker 9*61c4878aSAndroid Build Coastguard Worker``pw_clock_tree_mcuxpresso`` implements the ``pw_clock_tree`` interface using the 10*61c4878aSAndroid Build Coastguard WorkerNXP MCUXpresso SDK. It provides class implementations for the following clock tree elements 11*61c4878aSAndroid Build Coastguard Workerthat can be directly instantiated: 12*61c4878aSAndroid Build Coastguard Worker 13*61c4878aSAndroid Build Coastguard Worker.. inclusive-language: disable 14*61c4878aSAndroid Build Coastguard Worker 15*61c4878aSAndroid Build Coastguard Worker* Free-Running Oscillator (FRO) 16*61c4878aSAndroid Build Coastguard Worker* 32 kHz RTC Oscillator 17*61c4878aSAndroid Build Coastguard Worker* Low-power Oscillator 18*61c4878aSAndroid Build Coastguard Worker* Master Clock 19*61c4878aSAndroid Build Coastguard Worker* External Clock Input as clock source for SYSOSCBYPASS clock selector to generate OSC_CLK 20*61c4878aSAndroid Build Coastguard Worker* Fractional Rate Generator (FRG) for Flexcomm Interfaces 21*61c4878aSAndroid Build Coastguard Worker* Clock Source Selector 22*61c4878aSAndroid Build Coastguard Worker* Clock Divider 23*61c4878aSAndroid Build Coastguard Worker* Audio PLL 24*61c4878aSAndroid Build Coastguard Worker* RTC 25*61c4878aSAndroid Build Coastguard Worker* ClockIp 26*61c4878aSAndroid Build Coastguard Worker 27*61c4878aSAndroid Build Coastguard Worker.. inclusive-language: enable 28*61c4878aSAndroid Build Coastguard Worker 29*61c4878aSAndroid Build Coastguard Worker.. cpp:namespace-push:: pw::clock_tree::Element 30*61c4878aSAndroid Build Coastguard Worker 31*61c4878aSAndroid Build Coastguard WorkerOther clock tree components such as PLLs can be instantiated by deriving custom class implementations 32*61c4878aSAndroid Build Coastguard Workerfrom the abstract class :cpp:class:`DependentElement` and overwriting :cpp:func:`DoEnable` and 33*61c4878aSAndroid Build Coastguard Worker:cpp:func:`DoDisable` methods. 34*61c4878aSAndroid Build Coastguard Worker 35*61c4878aSAndroid Build Coastguard Worker.. cpp:namespace-pop:: 36*61c4878aSAndroid Build Coastguard Worker 37*61c4878aSAndroid Build Coastguard Worker.. cpp:namespace-push:: pw::clock_tree::ClockTree 38*61c4878aSAndroid Build Coastguard Worker 39*61c4878aSAndroid Build Coastguard WorkerWhen enabling clock tree elements sourced from the audio PLL or the SYS PLL it is necessary 40*61c4878aSAndroid Build Coastguard Workerto use the :cpp:func:`AcquireWith` method. 41*61c4878aSAndroid Build Coastguard Worker 42*61c4878aSAndroid Build Coastguard Worker.. cpp:namespace-pop:: 43*61c4878aSAndroid Build Coastguard Worker 44*61c4878aSAndroid Build Coastguard WorkerExamples 45*61c4878aSAndroid Build Coastguard Worker======== 46*61c4878aSAndroid Build Coastguard Worker 47*61c4878aSAndroid Build Coastguard Worker---------------------------------------- 48*61c4878aSAndroid Build Coastguard WorkerEnd-to-end Mcuxpresso clock tree example 49*61c4878aSAndroid Build Coastguard Worker---------------------------------------- 50*61c4878aSAndroid Build Coastguard Worker 51*61c4878aSAndroid Build Coastguard WorkerDefinition of clock tree elements: 52*61c4878aSAndroid Build Coastguard Worker 53*61c4878aSAndroid Build Coastguard Worker.. mermaid:: 54*61c4878aSAndroid Build Coastguard Worker 55*61c4878aSAndroid Build Coastguard Worker flowchart LR 56*61c4878aSAndroid Build Coastguard Worker A(fro_div_4) -->B(frg_0) 57*61c4878aSAndroid Build Coastguard Worker B-->C(flexcomm_selector_0) 58*61c4878aSAndroid Build Coastguard Worker C-->D(flexcomm_0) 59*61c4878aSAndroid Build Coastguard Worker style A fill:#0f0,stroke:#333,stroke-width:2px 60*61c4878aSAndroid Build Coastguard Worker style B fill:#0f0,stroke:#333,stroke-width:2px 61*61c4878aSAndroid Build Coastguard Worker style C fill:#0f0,stroke:#333,stroke-width:2px 62*61c4878aSAndroid Build Coastguard Worker style D fill:#0f0,stroke:#333,stroke-width:2px 63*61c4878aSAndroid Build Coastguard Worker 64*61c4878aSAndroid Build Coastguard Worker.. cpp:namespace-push:: pw::clock_tree::ClockTree 65*61c4878aSAndroid Build Coastguard Worker 66*61c4878aSAndroid Build Coastguard WorkerPlease note that the clock tree element ``flexcomm_0`` is only required if the SDK is compiled with 67*61c4878aSAndroid Build Coastguard Workerthe define ``FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL`` set, and that the connection between 68*61c4878aSAndroid Build Coastguard Worker``flexcomm_selector_0`` and ``flexcomm_0`` represents only a logical dependency connection between 69*61c4878aSAndroid Build Coastguard Workerthe two clock tree elements. The ``flexcomm_0`` :cpp:class:`ClockMcuxpressoClockIp` gates the register 70*61c4878aSAndroid Build Coastguard Workeraccess to the ``Flexcomm 0`` IP block, but it doesn't gate the ``Flexcomm 0`` clock source itself. 71*61c4878aSAndroid Build Coastguard WorkerNevertheless, to use ``Flexcomm 0`` the ``Flexcomm 0`` IP block and ``Flexcomm 0`` clock source need 72*61c4878aSAndroid Build Coastguard Workerto be enabled, hence we established the dependency between ``flexcomm_selector_0`` and ``flexcomm_0``, 73*61c4878aSAndroid Build Coastguard Workerso that enabling ``flexcomm_0`` enabled the ``Flexcomm 0`` IP block and clock source. 74*61c4878aSAndroid Build Coastguard Worker 75*61c4878aSAndroid Build Coastguard Worker.. cpp:namespace-pop:: 76*61c4878aSAndroid Build Coastguard Worker 77*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 78*61c4878aSAndroid Build Coastguard Worker :language: cpp 79*61c4878aSAndroid Build Coastguard Worker :linenos: 80*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-ClockTreeElementDefs-Flexcomm0] 81*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-ClockTreeElementDefs-Flexcomm0] 82*61c4878aSAndroid Build Coastguard Worker 83*61c4878aSAndroid Build Coastguard Worker.. mermaid:: 84*61c4878aSAndroid Build Coastguard Worker 85*61c4878aSAndroid Build Coastguard Worker flowchart LR 86*61c4878aSAndroid Build Coastguard Worker D(fro_div_8)--> E(i3c0_selector) 87*61c4878aSAndroid Build Coastguard Worker E --> F(i3c0_divider) 88*61c4878aSAndroid Build Coastguard Worker F --> G(i3c0) 89*61c4878aSAndroid Build Coastguard Worker style D fill:#f0f,stroke:#333,stroke-width:2px 90*61c4878aSAndroid Build Coastguard Worker style E fill:#f0f,stroke:#333,stroke-width:2px 91*61c4878aSAndroid Build Coastguard Worker style F fill:#f0f,stroke:#333,stroke-width:2px 92*61c4878aSAndroid Build Coastguard Worker style G fill:#f0f,stroke:#333,stroke-width:2px 93*61c4878aSAndroid Build Coastguard Worker 94*61c4878aSAndroid Build Coastguard Worker.. cpp:namespace-push:: pw::clock_tree::ClockTree 95*61c4878aSAndroid Build Coastguard Worker 96*61c4878aSAndroid Build Coastguard WorkerPlease note that the clock tree element ``i3c0`` is only required if the SDK is compiled with 97*61c4878aSAndroid Build Coastguard Workerthe define ``FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL`` set, and that the connection between 98*61c4878aSAndroid Build Coastguard Worker``i3c0_selector`` and ``i3c0`` represents only a logical dependency connection between 99*61c4878aSAndroid Build Coastguard Workerthe two clock tree elements. The ``i3c0`` :cpp:class:`ClockMcuxpressoClockIp` gates the register 100*61c4878aSAndroid Build Coastguard Workeraccess to the ``I3C`` IP block, but it doesn't gate the ``I3C`` clock source itself. 101*61c4878aSAndroid Build Coastguard WorkerNevertheless, to use ``I3C`` the ``I3C`` IP block and ``I3C`` clock source need 102*61c4878aSAndroid Build Coastguard Workerto be enabled, hence we established the dependency between ``i3c0_selector`` and ``i3c0``, 103*61c4878aSAndroid Build Coastguard Workerso that enabling ``i3c0`` enabled the ``I3C`` IP block and clock source. 104*61c4878aSAndroid Build Coastguard Worker 105*61c4878aSAndroid Build Coastguard Worker.. cpp:namespace-pop:: 106*61c4878aSAndroid Build Coastguard Worker 107*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 108*61c4878aSAndroid Build Coastguard Worker :language: cpp 109*61c4878aSAndroid Build Coastguard Worker :linenos: 110*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-ClockTreeElementDefs-fro_div8] 111*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-ClockTreeElementDefs-fro_div8] 112*61c4878aSAndroid Build Coastguard Worker 113*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 114*61c4878aSAndroid Build Coastguard Worker :language: cpp 115*61c4878aSAndroid Build Coastguard Worker :linenos: 116*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-ClockTreeElementDefs-i3c0] 117*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-ClockTreeElementDefs-i3c0] 118*61c4878aSAndroid Build Coastguard Worker 119*61c4878aSAndroid Build Coastguard Worker.. mermaid:: 120*61c4878aSAndroid Build Coastguard Worker 121*61c4878aSAndroid Build Coastguard Worker flowchart LR 122*61c4878aSAndroid Build Coastguard Worker G(mclk) --> H(ctimer_selector_0) 123*61c4878aSAndroid Build Coastguard Worker H --> I(ctimer_0) 124*61c4878aSAndroid Build Coastguard Worker style G fill:#0ff,stroke:#333,stroke-width:2px 125*61c4878aSAndroid Build Coastguard Worker style H fill:#0ff,stroke:#333,stroke-width:2px 126*61c4878aSAndroid Build Coastguard Worker style I fill:#0ff,stroke:#333,stroke-width:2px 127*61c4878aSAndroid Build Coastguard Worker 128*61c4878aSAndroid Build Coastguard Worker.. cpp:namespace-push:: pw::clock_tree::ClockTree 129*61c4878aSAndroid Build Coastguard Worker 130*61c4878aSAndroid Build Coastguard WorkerPlease note that the clock tree element ``ctimer_0`` is only required if the SDK is compiled with 131*61c4878aSAndroid Build Coastguard Workerthe define ``FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL`` set, and that the connection between 132*61c4878aSAndroid Build Coastguard Worker``ctimer_selector_0`` and ``ctimer_0`` represents only a logical dependency connection between 133*61c4878aSAndroid Build Coastguard Workerthe two clock tree elements. The ``ctimer_0`` :cpp:class:`ClockMcuxpressoClockIp` gates the register 134*61c4878aSAndroid Build Coastguard Workeraccess to the ``CTimer 0`` IP block, but it doesn't gate the ``CTimer 0`` clock source itself. 135*61c4878aSAndroid Build Coastguard WorkerNevertheless, to use ``CTimer 0`` the ``CTimer 0`` IP block and ``CTimer 0`` clock source need 136*61c4878aSAndroid Build Coastguard Workerto be enabled, hence we established the dependency between ``ctimer_selector_0`` and ``ctimer_0``, 137*61c4878aSAndroid Build Coastguard Workerso that enabling ``ctimer_0`` enabled the ``CTimer 0`` IP block and clock source. 138*61c4878aSAndroid Build Coastguard Worker 139*61c4878aSAndroid Build Coastguard Worker.. cpp:namespace-pop:: 140*61c4878aSAndroid Build Coastguard Worker 141*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 142*61c4878aSAndroid Build Coastguard Worker :language: cpp 143*61c4878aSAndroid Build Coastguard Worker :linenos: 144*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-ClkTreeElemDefs-ClockSourceNoOp] 145*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-ClkTreeElemDefs-ClockSourceNoOp] 146*61c4878aSAndroid Build Coastguard Worker 147*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 148*61c4878aSAndroid Build Coastguard Worker :language: cpp 149*61c4878aSAndroid Build Coastguard Worker :linenos: 150*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-ClockTreeElementDefs-Ctimer0] 151*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-ClockTreeElementDefs-Ctimer0] 152*61c4878aSAndroid Build Coastguard Worker 153*61c4878aSAndroid Build Coastguard Worker.. mermaid:: 154*61c4878aSAndroid Build Coastguard Worker 155*61c4878aSAndroid Build Coastguard Worker flowchart LR 156*61c4878aSAndroid Build Coastguard Worker I(lposc) 157*61c4878aSAndroid Build Coastguard Worker style I fill:#ff0,stroke:#333,stroke-width:2px 158*61c4878aSAndroid Build Coastguard Worker 159*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 160*61c4878aSAndroid Build Coastguard Worker :language: cpp 161*61c4878aSAndroid Build Coastguard Worker :linenos: 162*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-ClockTreeElementDefs-LpOsc] 163*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-ClockTreeElementDefs-LpOsc] 164*61c4878aSAndroid Build Coastguard Worker 165*61c4878aSAndroid Build Coastguard WorkerDefinition of clock tree: 166*61c4878aSAndroid Build Coastguard Worker 167*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 168*61c4878aSAndroid Build Coastguard Worker :language: cpp 169*61c4878aSAndroid Build Coastguard Worker :linenos: 170*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-ClockTreeDef] 171*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-ClockTreeDef] 172*61c4878aSAndroid Build Coastguard Worker 173*61c4878aSAndroid Build Coastguard WorkerExample usage of ``clock_tree`` APIs: 174*61c4878aSAndroid Build Coastguard Worker 175*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 176*61c4878aSAndroid Build Coastguard Worker :language: cpp 177*61c4878aSAndroid Build Coastguard Worker :linenos: 178*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-UseExample] 179*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-UseExample] 180*61c4878aSAndroid Build Coastguard Worker 181*61c4878aSAndroid Build Coastguard Worker------------------ 182*61c4878aSAndroid Build Coastguard WorkerAudio PLL examples 183*61c4878aSAndroid Build Coastguard Worker------------------ 184*61c4878aSAndroid Build Coastguard Worker 185*61c4878aSAndroid Build Coastguard Worker.. cpp:namespace-push:: pw::clock_tree::ClockTree 186*61c4878aSAndroid Build Coastguard Worker 187*61c4878aSAndroid Build Coastguard WorkerThe :cpp:class:`ClockMcuxpressoAudioPll` can be configured in two different ways, 188*61c4878aSAndroid Build Coastguard Workereither it can be configured where the audio PLL gets enabled, or it can be 189*61c4878aSAndroid Build Coastguard Workerconfigured in bypass mode. 190*61c4878aSAndroid Build Coastguard Worker 191*61c4878aSAndroid Build Coastguard WorkerThe first example shows where :cpp:class:`ClockMcuxpressoAudioPll` enables the audio PLL 192*61c4878aSAndroid Build Coastguard Workerand uses the ClkIn pin clock source as OSC clock source that feeds into the audio PLL 193*61c4878aSAndroid Build Coastguard Workerlogic. Since the audio PLL requires that the ``FRO_DIV8`` clock source is enabled when 194*61c4878aSAndroid Build Coastguard Workerenabling the audio PLL, the :cpp:func:`AcquireWith` needs to be used that ensures 195*61c4878aSAndroid Build Coastguard Workerthat the ``FRO_DIV8`` clock is enabled when enabling the audio PLL. 196*61c4878aSAndroid Build Coastguard Worker 197*61c4878aSAndroid Build Coastguard Worker.. mermaid:: 198*61c4878aSAndroid Build Coastguard Worker 199*61c4878aSAndroid Build Coastguard Worker flowchart LR 200*61c4878aSAndroid Build Coastguard Worker subgraph PLL [Audio PLL logic] 201*61c4878aSAndroid Build Coastguard Worker B(audio_pll_selctor) -.-> C(PLL) 202*61c4878aSAndroid Build Coastguard Worker C -.-> D(Phase Fraction divider) 203*61c4878aSAndroid Build Coastguard Worker end 204*61c4878aSAndroid Build Coastguard Worker A(clk_in) -->|as osc_clk| PLL 205*61c4878aSAndroid Build Coastguard Worker PLL --> E(audio_pfd_bypass_selector) 206*61c4878aSAndroid Build Coastguard Worker 207*61c4878aSAndroid Build Coastguard Worker style A fill:#f0f,stroke:#333,stroke-width:2px 208*61c4878aSAndroid Build Coastguard Worker style E fill:#f0f,stroke:#333,stroke-width:2px 209*61c4878aSAndroid Build Coastguard Worker 210*61c4878aSAndroid Build Coastguard WorkerDefinition of clock tree: 211*61c4878aSAndroid Build Coastguard Worker 212*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 213*61c4878aSAndroid Build Coastguard Worker :language: cpp 214*61c4878aSAndroid Build Coastguard Worker :linenos: 215*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-ClockTreeDef] 216*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-ClockTreeDef] 217*61c4878aSAndroid Build Coastguard Worker 218*61c4878aSAndroid Build Coastguard WorkerDefinition of audio PLL related clock tree elements: 219*61c4878aSAndroid Build Coastguard Worker 220*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 221*61c4878aSAndroid Build Coastguard Worker :language: cpp 222*61c4878aSAndroid Build Coastguard Worker :linenos: 223*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-ClkTreeElemDefs-ClockSourceNoOp] 224*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-ClkTreeElemDefs-ClockSourceNoOp] 225*61c4878aSAndroid Build Coastguard Worker 226*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 227*61c4878aSAndroid Build Coastguard Worker :language: cpp 228*61c4878aSAndroid Build Coastguard Worker :linenos: 229*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-ClockTreeElemDefs-AudioPll] 230*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-ClockTreeElemDefs-AudioPll] 231*61c4878aSAndroid Build Coastguard Worker 232*61c4878aSAndroid Build Coastguard WorkerDefinition of ``FRO_DIV8`` clock tree element: 233*61c4878aSAndroid Build Coastguard Worker 234*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 235*61c4878aSAndroid Build Coastguard Worker :language: cpp 236*61c4878aSAndroid Build Coastguard Worker :linenos: 237*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-ClockTreeElementDefs-fro_div8] 238*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-ClockTreeElementDefs-fro_div8] 239*61c4878aSAndroid Build Coastguard Worker 240*61c4878aSAndroid Build Coastguard WorkerAudio PLL clock tree element gets enabled and disabled. We use :cpp:func:`AcquireWith` 241*61c4878aSAndroid Build Coastguard Workerto ensure that ``FRO_DIV8`` is enabled prior to configuring the audio PLL to a 242*61c4878aSAndroid Build Coastguard Workernon-``FRO_DIV8`` clock source. 243*61c4878aSAndroid Build Coastguard Worker 244*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 245*61c4878aSAndroid Build Coastguard Worker :language: cpp 246*61c4878aSAndroid Build Coastguard Worker :linenos: 247*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-Use-AudioPll] 248*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-Use-AudioPll] 249*61c4878aSAndroid Build Coastguard Worker 250*61c4878aSAndroid Build Coastguard WorkerThe second example shows where :cpp:class:`ClockMcuxpressoAudioPll` bypasses the audio PLL 251*61c4878aSAndroid Build Coastguard Workerand uses ``FRO_DIV8 pin`` clock source. 252*61c4878aSAndroid Build Coastguard Worker 253*61c4878aSAndroid Build Coastguard Worker.. cpp:namespace-pop:: 254*61c4878aSAndroid Build Coastguard Worker 255*61c4878aSAndroid Build Coastguard Worker.. mermaid:: 256*61c4878aSAndroid Build Coastguard Worker 257*61c4878aSAndroid Build Coastguard Worker flowchart LR 258*61c4878aSAndroid Build Coastguard Worker A(fro_div_8) --> B(audio_pfd_bypass_selector) 259*61c4878aSAndroid Build Coastguard Worker style A fill:#0ff,stroke:#333,stroke-width:2px 260*61c4878aSAndroid Build Coastguard Worker style B fill:#0ff,stroke:#333,stroke-width:2px 261*61c4878aSAndroid Build Coastguard Worker 262*61c4878aSAndroid Build Coastguard Worker.. literalinclude:: examples.cc 263*61c4878aSAndroid Build Coastguard Worker :language: cpp 264*61c4878aSAndroid Build Coastguard Worker :linenos: 265*61c4878aSAndroid Build Coastguard Worker :start-after: [pw_clock_tree_mcuxpresso-examples-ClockTreeElemDefs-AudioPllBypass] 266*61c4878aSAndroid Build Coastguard Worker :end-before: [pw_clock_tree_mcuxpresso-examples-ClockTreeElemDefs-AudioPllBypass] 267*61c4878aSAndroid Build Coastguard Worker 268*61c4878aSAndroid Build Coastguard WorkerAPIs 269*61c4878aSAndroid Build Coastguard Worker==== 270*61c4878aSAndroid Build Coastguard Worker 271*61c4878aSAndroid Build Coastguard Worker------------------ 272*61c4878aSAndroid Build Coastguard WorkerClockMcuxpressoFro 273*61c4878aSAndroid Build Coastguard Worker------------------ 274*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::clock_tree::ClockMcuxpressoFro 275*61c4878aSAndroid Build Coastguard Worker :members: 276*61c4878aSAndroid Build Coastguard Worker 277*61c4878aSAndroid Build Coastguard Worker-------------------- 278*61c4878aSAndroid Build Coastguard WorkerClockMcuxpressoLpOsc 279*61c4878aSAndroid Build Coastguard Worker-------------------- 280*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::clock_tree::ClockMcuxpressoLpOsc 281*61c4878aSAndroid Build Coastguard Worker :members: 282*61c4878aSAndroid Build Coastguard Worker 283*61c4878aSAndroid Build Coastguard Worker------------------- 284*61c4878aSAndroid Build Coastguard WorkerClockMcuxpressoMclk 285*61c4878aSAndroid Build Coastguard Worker------------------- 286*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::clock_tree::ClockMcuxpressoMclk 287*61c4878aSAndroid Build Coastguard Worker :members: 288*61c4878aSAndroid Build Coastguard Worker 289*61c4878aSAndroid Build Coastguard Worker-------------------- 290*61c4878aSAndroid Build Coastguard WorkerClockMcuxpressoClkIn 291*61c4878aSAndroid Build Coastguard Worker-------------------- 292*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::clock_tree::ClockMcuxpressoClkIn 293*61c4878aSAndroid Build Coastguard Worker :members: 294*61c4878aSAndroid Build Coastguard Worker 295*61c4878aSAndroid Build Coastguard Worker------------------ 296*61c4878aSAndroid Build Coastguard WorkerClockMcuxpressoFrg 297*61c4878aSAndroid Build Coastguard Worker------------------ 298*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::clock_tree::ClockMcuxpressoFrg 299*61c4878aSAndroid Build Coastguard Worker :members: 300*61c4878aSAndroid Build Coastguard Worker 301*61c4878aSAndroid Build Coastguard Worker----------------------- 302*61c4878aSAndroid Build Coastguard WorkerClockMcuxpressoSelector 303*61c4878aSAndroid Build Coastguard Worker----------------------- 304*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::clock_tree::ClockMcuxpressoSelector 305*61c4878aSAndroid Build Coastguard Worker :members: 306*61c4878aSAndroid Build Coastguard Worker 307*61c4878aSAndroid Build Coastguard Worker---------------------- 308*61c4878aSAndroid Build Coastguard WorkerClockMcuxpressoDivider 309*61c4878aSAndroid Build Coastguard Worker---------------------- 310*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::clock_tree::ClockMcuxpressoDivider 311*61c4878aSAndroid Build Coastguard Worker :members: 312*61c4878aSAndroid Build Coastguard Worker 313*61c4878aSAndroid Build Coastguard Worker----------------------- 314*61c4878aSAndroid Build Coastguard WorkerClockMcuxpressoAudioPll 315*61c4878aSAndroid Build Coastguard Worker----------------------- 316*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::clock_tree::ClockMcuxpressoAudioPll 317*61c4878aSAndroid Build Coastguard Worker :members: 318*61c4878aSAndroid Build Coastguard Worker 319*61c4878aSAndroid Build Coastguard Worker------------------ 320*61c4878aSAndroid Build Coastguard WorkerClockMcuxpressoRtc 321*61c4878aSAndroid Build Coastguard Worker------------------ 322*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::clock_tree::ClockMcuxpressoRtc 323*61c4878aSAndroid Build Coastguard Worker :members: 324*61c4878aSAndroid Build Coastguard Worker 325*61c4878aSAndroid Build Coastguard Worker---------------------- 326*61c4878aSAndroid Build Coastguard WorkerClockMcuxpressoClockIp 327*61c4878aSAndroid Build Coastguard Worker---------------------- 328*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::clock_tree::ClockMcuxpressoClockIp 329*61c4878aSAndroid Build Coastguard Worker :members: 330