162306a36Sopenharmony_ci* Amlogic AXG Audio Clock Controllers 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciThe Amlogic AXG audio clock controller generates and supplies clock to the 462306a36Sopenharmony_ciother elements of the audio subsystem, such as fifos, i2s, spdif and pdm 562306a36Sopenharmony_cidevices. 662306a36Sopenharmony_ci 762306a36Sopenharmony_ciRequired Properties: 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci- compatible : should be "amlogic,axg-audio-clkc" for the A113X and A113D, 1062306a36Sopenharmony_ci "amlogic,g12a-audio-clkc" for G12A, 1162306a36Sopenharmony_ci "amlogic,sm1-audio-clkc" for S905X3. 1262306a36Sopenharmony_ci- reg : physical base address of the clock controller and length of 1362306a36Sopenharmony_ci memory mapped region. 1462306a36Sopenharmony_ci- clocks : a list of phandle + clock-specifier pairs for the clocks listed 1562306a36Sopenharmony_ci in clock-names. 1662306a36Sopenharmony_ci- clock-names : must contain the following: 1762306a36Sopenharmony_ci * "pclk" - Main peripheral bus clock 1862306a36Sopenharmony_ci may contain the following: 1962306a36Sopenharmony_ci * "mst_in[0-7]" - 8 input plls to generate clock signals 2062306a36Sopenharmony_ci * "slv_sclk[0-9]" - 10 slave bit clocks provided by external 2162306a36Sopenharmony_ci components. 2262306a36Sopenharmony_ci * "slv_lrclk[0-9]" - 10 slave sample clocks provided by external 2362306a36Sopenharmony_ci components. 2462306a36Sopenharmony_ci- resets : phandle of the internal reset line 2562306a36Sopenharmony_ci- #clock-cells : should be 1. 2662306a36Sopenharmony_ci- #reset-cells : should be 1 on the g12a (and following) soc family 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciEach clock is assigned an identifier and client nodes can use this identifier 2962306a36Sopenharmony_cito specify the clock which they consume. All available clocks are defined as 3062306a36Sopenharmony_cipreprocessor macros in the dt-bindings/clock/axg-audio-clkc.h header and can be 3162306a36Sopenharmony_ciused in device tree sources. 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ciExample: 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciclkc_audio: clock-controller@0 { 3662306a36Sopenharmony_ci compatible = "amlogic,axg-audio-clkc"; 3762306a36Sopenharmony_ci reg = <0x0 0x0 0x0 0xb4>; 3862306a36Sopenharmony_ci #clock-cells = <1>; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci clocks = <&clkc CLKID_AUDIO>, 4162306a36Sopenharmony_ci <&clkc CLKID_MPLL0>, 4262306a36Sopenharmony_ci <&clkc CLKID_MPLL1>, 4362306a36Sopenharmony_ci <&clkc CLKID_MPLL2>, 4462306a36Sopenharmony_ci <&clkc CLKID_MPLL3>, 4562306a36Sopenharmony_ci <&clkc CLKID_HIFI_PLL>, 4662306a36Sopenharmony_ci <&clkc CLKID_FCLK_DIV3>, 4762306a36Sopenharmony_ci <&clkc CLKID_FCLK_DIV4>, 4862306a36Sopenharmony_ci <&clkc CLKID_GP0_PLL>; 4962306a36Sopenharmony_ci clock-names = "pclk", 5062306a36Sopenharmony_ci "mst_in0", 5162306a36Sopenharmony_ci "mst_in1", 5262306a36Sopenharmony_ci "mst_in2", 5362306a36Sopenharmony_ci "mst_in3", 5462306a36Sopenharmony_ci "mst_in4", 5562306a36Sopenharmony_ci "mst_in5", 5662306a36Sopenharmony_ci "mst_in6", 5762306a36Sopenharmony_ci "mst_in7"; 5862306a36Sopenharmony_ci resets = <&reset RESET_AUDIO>; 5962306a36Sopenharmony_ci}; 60