18c2ecf20Sopenharmony_ciDevice tree binding for NVIDIA Tegra DPAUX pad controller
28c2ecf20Sopenharmony_ci========================================================
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ciThe Tegra Display Port Auxiliary (DPAUX) pad controller manages two pins
58c2ecf20Sopenharmony_ciwhich can be assigned to either the DPAUX channel or to an I2C
68c2ecf20Sopenharmony_cicontroller.
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciThis document defines the device-specific binding for the DPAUX pad
98c2ecf20Sopenharmony_cicontroller. Refer to pinctrl-bindings.txt in this directory for generic
108c2ecf20Sopenharmony_ciinformation about pin controller device tree bindings. Please refer to
118c2ecf20Sopenharmony_cithe binding document ../display/tegra/nvidia,tegra20-host1x.txt for more
128c2ecf20Sopenharmony_cidetails on the DPAUX binding.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ciPin muxing:
158c2ecf20Sopenharmony_ci-----------
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciChild nodes contain the pinmux configurations following the conventions
188c2ecf20Sopenharmony_cifrom the pinctrl-bindings.txt document.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ciSince only three configurations are possible, only three child nodes are
218c2ecf20Sopenharmony_cineeded to describe the pin mux'ing options for the DPAUX pads.
228c2ecf20Sopenharmony_ciFurthermore, given that the pad functions are only applicable to a
238c2ecf20Sopenharmony_cisingle set of pads, the child nodes only need to describe the pad group
248c2ecf20Sopenharmony_cithe functions are being applied to rather than the individual pads.
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciRequired properties:
278c2ecf20Sopenharmony_ci- groups: Must be "dpaux-io"
288c2ecf20Sopenharmony_ci- function: Must be either "aux", "i2c" or "off".
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciExample:
318c2ecf20Sopenharmony_ci--------
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci	dpaux@545c0000 {
348c2ecf20Sopenharmony_ci		...
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci		state_dpaux_aux: pinmux-aux {
378c2ecf20Sopenharmony_ci			groups = "dpaux-io";
388c2ecf20Sopenharmony_ci			function = "aux";
398c2ecf20Sopenharmony_ci		};
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci		state_dpaux_i2c: pinmux-i2c {
428c2ecf20Sopenharmony_ci			groups = "dpaux-io";
438c2ecf20Sopenharmony_ci			function = "i2c";
448c2ecf20Sopenharmony_ci		};
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci		state_dpaux_off: pinmux-off {
478c2ecf20Sopenharmony_ci			groups = "dpaux-io";
488c2ecf20Sopenharmony_ci			function = "off";
498c2ecf20Sopenharmony_ci		};
508c2ecf20Sopenharmony_ci	};
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci	...
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci	i2c@7000d100 {
558c2ecf20Sopenharmony_ci		...
568c2ecf20Sopenharmony_ci		pinctrl-0 = <&state_dpaux_i2c>;
578c2ecf20Sopenharmony_ci		pinctrl-1 = <&state_dpaux_off>;
588c2ecf20Sopenharmony_ci		pinctrl-names = "default", "idle";
598c2ecf20Sopenharmony_ci	};
60