18c2ecf20Sopenharmony_ciI/O channel multiplexer bindings
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciIf a multiplexer is used to select which hardware signal is fed to
48c2ecf20Sopenharmony_cie.g. an ADC channel, these bindings describe that situation.
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciRequired properties:
78c2ecf20Sopenharmony_ci- compatible : "io-channel-mux"
88c2ecf20Sopenharmony_ci- io-channels : Channel node of the parent channel that has multiplexed
98c2ecf20Sopenharmony_ci		input.
108c2ecf20Sopenharmony_ci- io-channel-names : Should be "parent".
118c2ecf20Sopenharmony_ci- #address-cells = <1>;
128c2ecf20Sopenharmony_ci- #size-cells = <0>;
138c2ecf20Sopenharmony_ci- mux-controls : Mux controller node to use for operating the mux
148c2ecf20Sopenharmony_ci- channels : List of strings, labeling the mux controller states.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciFor each non-empty string in the channels property, an io-channel will
178c2ecf20Sopenharmony_cibe created. The number of this io-channel is the same as the index into
188c2ecf20Sopenharmony_cithe list of strings in the channels property, and also matches the mux
198c2ecf20Sopenharmony_cicontroller state. The mux controller state is described in
208c2ecf20Sopenharmony_ci../mux/mux-controller.txt
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciExample:
238c2ecf20Sopenharmony_ci	mux: mux-controller {
248c2ecf20Sopenharmony_ci		compatible = "gpio-mux";
258c2ecf20Sopenharmony_ci		#mux-control-cells = <0>;
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci		mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>,
288c2ecf20Sopenharmony_ci			    <&pioA 1 GPIO_ACTIVE_HIGH>;
298c2ecf20Sopenharmony_ci	};
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	adc-mux {
328c2ecf20Sopenharmony_ci		compatible = "io-channel-mux";
338c2ecf20Sopenharmony_ci		io-channels = <&adc 0>;
348c2ecf20Sopenharmony_ci		io-channel-names = "parent";
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci		mux-controls = <&mux>;
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci		channels = "sync", "in", "system-regulator";
398c2ecf20Sopenharmony_ci	};
40