Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f273c0d authored by Codrin Ciubotariu's avatar Codrin Ciubotariu Committed by Stephen Boyd
Browse files

dt-bindings: clk: at91: add an I2S mux clock



The I2S mux clock can be used to select the I2S input clock. The
available parents are the peripheral and the generated clocks.

Signed-off-by: default avatarCodrin Ciubotariu <codrin.ciubotariu@microchip.com>
Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
parent ce397d21
Loading
Loading
Loading
Loading
+35 −0
Original line number Original line Diff line number Diff line
@@ -91,6 +91,9 @@ Required properties:
		at91 audio pll output on AUDIOPLLCLK that feeds the PMC
		at91 audio pll output on AUDIOPLLCLK that feeds the PMC
		and can be used by peripheral clock or generic clock
		and can be used by peripheral clock or generic clock


	"atmel,sama5d2-clk-i2s-mux" (under pmc node):
		at91 I2S clock source selection

Required properties for SCKC node:
Required properties for SCKC node:
- reg : defines the IO memory reserved for the SCKC.
- reg : defines the IO memory reserved for the SCKC.
- #size-cells : shall be 0 (reg is used to encode clk id).
- #size-cells : shall be 0 (reg is used to encode clk id).
@@ -507,3 +510,35 @@ For example:
			atmel,clk-output-range = <0 83000000>;
			atmel,clk-output-range = <0 83000000>;
		};
		};
	};
	};

Required properties for I2S mux clocks:
- #size-cells : shall be 0 (reg is used to encode I2S bus id).
- #address-cells : shall be 1 (reg is used to encode I2S bus id).
- name: device tree node describing a specific mux clock.
	* #clock-cells : from common clock binding; shall be set to 0.
	* clocks : shall be the mux clock parent phandles; shall be 2 phandles:
	  peripheral and generated clock; the first phandle shall belong to the
	  peripheral clock and the second one shall belong to the generated
	  clock; "clock-indices" property can be user to specify
	  the correct order.
	* reg: I2S bus id of the corresponding mux clock.
	  e.g. reg = <0>; for i2s0, reg = <1>; for i2s1

For example:
	i2s_clkmux {
		compatible = "atmel,sama5d2-clk-i2s-mux";
		#address-cells = <1>;
		#size-cells = <0>;

		i2s0muxck: i2s0_muxclk {
			clocks = <&i2s0_clk>, <&i2s0_gclk>;
			#clock-cells = <0>;
			reg = <0>;
		};

		i2s1muxck: i2s1_muxclk {
			clocks = <&i2s1_clk>, <&i2s1_gclk>;
			#clock-cells = <0>;
			reg = <1>;
		};
	};