18c2ecf20Sopenharmony_ci* Amlogic AXG Audio Clock Controllers 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciThe Amlogic AXG audio clock controller generates and supplies clock to the 48c2ecf20Sopenharmony_ciother elements of the audio subsystem, such as fifos, i2s, spdif and pdm 58c2ecf20Sopenharmony_cidevices. 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciRequired Properties: 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci- compatible : should be "amlogic,axg-audio-clkc" for the A113X and A113D, 108c2ecf20Sopenharmony_ci "amlogic,g12a-audio-clkc" for G12A, 118c2ecf20Sopenharmony_ci "amlogic,sm1-audio-clkc" for S905X3. 128c2ecf20Sopenharmony_ci- reg : physical base address of the clock controller and length of 138c2ecf20Sopenharmony_ci memory mapped region. 148c2ecf20Sopenharmony_ci- clocks : a list of phandle + clock-specifier pairs for the clocks listed 158c2ecf20Sopenharmony_ci in clock-names. 168c2ecf20Sopenharmony_ci- clock-names : must contain the following: 178c2ecf20Sopenharmony_ci * "pclk" - Main peripheral bus clock 188c2ecf20Sopenharmony_ci may contain the following: 198c2ecf20Sopenharmony_ci * "mst_in[0-7]" - 8 input plls to generate clock signals 208c2ecf20Sopenharmony_ci * "slv_sclk[0-9]" - 10 slave bit clocks provided by external 218c2ecf20Sopenharmony_ci components. 228c2ecf20Sopenharmony_ci * "slv_lrclk[0-9]" - 10 slave sample clocks provided by external 238c2ecf20Sopenharmony_ci components. 248c2ecf20Sopenharmony_ci- resets : phandle of the internal reset line 258c2ecf20Sopenharmony_ci- #clock-cells : should be 1. 268c2ecf20Sopenharmony_ci- #reset-cells : should be 1 on the g12a (and following) soc family 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciEach clock is assigned an identifier and client nodes can use this identifier 298c2ecf20Sopenharmony_cito specify the clock which they consume. All available clocks are defined as 308c2ecf20Sopenharmony_cipreprocessor macros in the dt-bindings/clock/axg-audio-clkc.h header and can be 318c2ecf20Sopenharmony_ciused in device tree sources. 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ciExample: 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciclkc_audio: clock-controller@0 { 368c2ecf20Sopenharmony_ci compatible = "amlogic,axg-audio-clkc"; 378c2ecf20Sopenharmony_ci reg = <0x0 0x0 0x0 0xb4>; 388c2ecf20Sopenharmony_ci #clock-cells = <1>; 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci clocks = <&clkc CLKID_AUDIO>, 418c2ecf20Sopenharmony_ci <&clkc CLKID_MPLL0>, 428c2ecf20Sopenharmony_ci <&clkc CLKID_MPLL1>, 438c2ecf20Sopenharmony_ci <&clkc CLKID_MPLL2>, 448c2ecf20Sopenharmony_ci <&clkc CLKID_MPLL3>, 458c2ecf20Sopenharmony_ci <&clkc CLKID_HIFI_PLL>, 468c2ecf20Sopenharmony_ci <&clkc CLKID_FCLK_DIV3>, 478c2ecf20Sopenharmony_ci <&clkc CLKID_FCLK_DIV4>, 488c2ecf20Sopenharmony_ci <&clkc CLKID_GP0_PLL>; 498c2ecf20Sopenharmony_ci clock-names = "pclk", 508c2ecf20Sopenharmony_ci "mst_in0", 518c2ecf20Sopenharmony_ci "mst_in1", 528c2ecf20Sopenharmony_ci "mst_in2", 538c2ecf20Sopenharmony_ci "mst_in3", 548c2ecf20Sopenharmony_ci "mst_in4", 558c2ecf20Sopenharmony_ci "mst_in5", 568c2ecf20Sopenharmony_ci "mst_in6", 578c2ecf20Sopenharmony_ci "mst_in7"; 588c2ecf20Sopenharmony_ci resets = <&reset RESET_AUDIO>; 598c2ecf20Sopenharmony_ci}; 60