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