1*c66ec88fSEmmanuel Vadot* Amlogic AXG Audio Clock Controllers 2*c66ec88fSEmmanuel Vadot 3*c66ec88fSEmmanuel VadotThe Amlogic AXG audio clock controller generates and supplies clock to the 4*c66ec88fSEmmanuel Vadotother elements of the audio subsystem, such as fifos, i2s, spdif and pdm 5*c66ec88fSEmmanuel Vadotdevices. 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel VadotRequired Properties: 8*c66ec88fSEmmanuel Vadot 9*c66ec88fSEmmanuel Vadot- compatible : should be "amlogic,axg-audio-clkc" for the A113X and A113D, 10*c66ec88fSEmmanuel Vadot "amlogic,g12a-audio-clkc" for G12A, 11*c66ec88fSEmmanuel Vadot "amlogic,sm1-audio-clkc" for S905X3. 12*c66ec88fSEmmanuel Vadot- reg : physical base address of the clock controller and length of 13*c66ec88fSEmmanuel Vadot memory mapped region. 14*c66ec88fSEmmanuel Vadot- clocks : a list of phandle + clock-specifier pairs for the clocks listed 15*c66ec88fSEmmanuel Vadot in clock-names. 16*c66ec88fSEmmanuel Vadot- clock-names : must contain the following: 17*c66ec88fSEmmanuel Vadot * "pclk" - Main peripheral bus clock 18*c66ec88fSEmmanuel Vadot may contain the following: 19*c66ec88fSEmmanuel Vadot * "mst_in[0-7]" - 8 input plls to generate clock signals 20*c66ec88fSEmmanuel Vadot * "slv_sclk[0-9]" - 10 slave bit clocks provided by external 21*c66ec88fSEmmanuel Vadot components. 22*c66ec88fSEmmanuel Vadot * "slv_lrclk[0-9]" - 10 slave sample clocks provided by external 23*c66ec88fSEmmanuel Vadot components. 24*c66ec88fSEmmanuel Vadot- resets : phandle of the internal reset line 25*c66ec88fSEmmanuel Vadot- #clock-cells : should be 1. 26*c66ec88fSEmmanuel Vadot- #reset-cells : should be 1 on the g12a (and following) soc family 27*c66ec88fSEmmanuel Vadot 28*c66ec88fSEmmanuel VadotEach clock is assigned an identifier and client nodes can use this identifier 29*c66ec88fSEmmanuel Vadotto specify the clock which they consume. All available clocks are defined as 30*c66ec88fSEmmanuel Vadotpreprocessor macros in the dt-bindings/clock/axg-audio-clkc.h header and can be 31*c66ec88fSEmmanuel Vadotused in device tree sources. 32*c66ec88fSEmmanuel Vadot 33*c66ec88fSEmmanuel VadotExample: 34*c66ec88fSEmmanuel Vadot 35*c66ec88fSEmmanuel Vadotclkc_audio: clock-controller@0 { 36*c66ec88fSEmmanuel Vadot compatible = "amlogic,axg-audio-clkc"; 37*c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x0 0xb4>; 38*c66ec88fSEmmanuel Vadot #clock-cells = <1>; 39*c66ec88fSEmmanuel Vadot 40*c66ec88fSEmmanuel Vadot clocks = <&clkc CLKID_AUDIO>, 41*c66ec88fSEmmanuel Vadot <&clkc CLKID_MPLL0>, 42*c66ec88fSEmmanuel Vadot <&clkc CLKID_MPLL1>, 43*c66ec88fSEmmanuel Vadot <&clkc CLKID_MPLL2>, 44*c66ec88fSEmmanuel Vadot <&clkc CLKID_MPLL3>, 45*c66ec88fSEmmanuel Vadot <&clkc CLKID_HIFI_PLL>, 46*c66ec88fSEmmanuel Vadot <&clkc CLKID_FCLK_DIV3>, 47*c66ec88fSEmmanuel Vadot <&clkc CLKID_FCLK_DIV4>, 48*c66ec88fSEmmanuel Vadot <&clkc CLKID_GP0_PLL>; 49*c66ec88fSEmmanuel Vadot clock-names = "pclk", 50*c66ec88fSEmmanuel Vadot "mst_in0", 51*c66ec88fSEmmanuel Vadot "mst_in1", 52*c66ec88fSEmmanuel Vadot "mst_in2", 53*c66ec88fSEmmanuel Vadot "mst_in3", 54*c66ec88fSEmmanuel Vadot "mst_in4", 55*c66ec88fSEmmanuel Vadot "mst_in5", 56*c66ec88fSEmmanuel Vadot "mst_in6", 57*c66ec88fSEmmanuel Vadot "mst_in7"; 58*c66ec88fSEmmanuel Vadot resets = <&reset RESET_AUDIO>; 59*c66ec88fSEmmanuel Vadot}; 60