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